PrimeTime 图形界面起不来:primetime -gui 报 Can't open display 速查
更新时间:2026-10-22。FAQ 速查页,属于 EDA 工具排错系列。PrimeTime(简称 PT,Synopsys 的静态时序分析与签收工具)既能跑纯命令行的
pt_shell,也能用primetime -gui(或pt_shell -gui)拉起图形界面看时序报告、路径波形和交叉探针。GUI 起不来时,十次有九次不是 PT 装坏了——它是一个「在服务器上算、在你屏幕上画」的 X11 程序,断点在 DISPLAY 变量、SSH X11 转发、服务端开关、虚拟显示或 GLX 驱动这条图形通道上。综合侧同款事故见 Design Compiler 图形界面起不来,机理相通,本篇只讲 PrimeTime 签收场景特有的分叉与退路。PT 的正常签收方法论见 静态时序分析与 PrimeTime 签收。
本文要回答的问题
- 报
Can't open display、couldn't connect to display是什么意思,DISPLAY 该设成什么? pt_shell -f批处理一切正常,为什么一加-gui就起不来?- SSH 连服务器跑 GUI,
-X和-Y有什么区别,被 wrong authentication 拒绝怎么办? - 窗口进程起来了却报 GLX、
BadValue、libGL swrast,是显卡问题还是 VNC 的问题? - 无显卡、无显示器的纯计算节点,怎么给 PrimeTime GUI 凑一个显示出来?
一、报错原文与现象
最典型的形态是进程刚起就退出,报错直指显示器连不上,DISPLAY 值为空或指向一个不存在的显示号:
$ primetime -gui
Error: Can't open display:
Error: Couldn't connect to display ":0". Exiting.第二种形态发生在 SSH 远程会话:DISPLAY 被 SSH 自动设成了 localhost:10.0 一类的值,但转发通道本身没打通,或 X11 票据认证失败:
$ echo $DISPLAY
localhost:10.0
$ primetime -gui
X11 connection rejected because of wrong authentication.
Error: Unable to initialize DISPLAY. Exiting.第三种形态最迷惑:启动横幅都打印了,最后倒在图形库初始化上,报 GLX 扩展缺失或 BadValue。这类在 VNC 会话、无显卡计算节点、Wayland 桌面下最常见:
Xlib: extension "GLX" missing on display "localhost:10.0".
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)第四种形态与图形栈无关,是授权里没有图形特性,报错通常带 LIC 前缀:
Error: License feature 'PrimeTime-GUI' is not available. (LIC-105)现象先分两堆再动手:批处理也起不来(pt_shell -f run.tcl 同样报错退出)是安装或 license 问题;批处理正常、只有 GUI 起不来则锁定图形通道,别去重装 PrimeTime。
二、可能原因速查表
| 报错/现象 | 最可能原因 | 一条命令确认 | 处置 |
|---|---|---|---|
| Can't open display(空值) | DISPLAY 未设置 | echo $DISPLAY | 用 ssh -X/-Y 重连,不手设服务器地址 |
| DISPLAY 有值仍被拒 | xauth 票据失效或串号 | xauth list | 删 ~/.Xauthority 后重连 |
| ssh -X 后 DISPLAY 仍为空 | 服务端 X11Forwarding 关闭 | `ssh -v -X host 2>&1 | grep -i x11` |
| 登录时提示 xauth not found | 服务端未装 xauth | which xauth | 管理员安装 xauth 包 |
| GLX missing / BadValue | 无 GLX 间接渲染或无显卡 | `glxinfo | grep render` |
| 纯计算节点无显示 | 机器压根没有 X server | ls /tmp/.X11-unix/ | xvfb-run 起虚拟帧缓冲 |
| LIC 前缀 feature 不可用 | license 不含 GUI 特性 | 查 lmstat 占用 | 换席位或退回 pt_shell -f |
| 界面方块字、菜单乱码 | locale 与中文字体缺失 | locale; fc-list :lang=zh | 装中文字体并设 UTF-8 locale |
| GNOME/Wayland 下报连不上 | 缺 XWayland 兼容层 | echo $WAYLAND_DISPLAY | 切 Xorg 会话或装 XWayland |
| 本地能开、跨地域卡死 | X11 对高延迟敏感 | 拖动窗口测延迟 | 改在 VNC 会话里跑 GUI |
三、逐条排查展开
先做关键分叉:批处理到底正不正常。
pt_shell -f <(echo 'puts "PT-OK"; exit')能打印 PT-OK 干净退出,说明二进制、license 主特性、环境脚本都通,问题被压缩在图形通道;连这步都失败,先转 PrimeTime license 签出失败 或命令找不到篇处理,本篇后面的 X11 动作一个都不用做。这个分叉能省掉九成无效排查——GUI 只是 pt_shell 外面的一层壳,壳起不来不代表内核有问题。
第一刀查 DISPLAY,而且不要手工设。
echo $DISPLAY输出为空,X11 程序无处可画,必报 Can't open display。人在 SSH 会话里时,DISPLAY 应由 SSH 转发自动分配(通常是 localhost:10.0),正确动作是退出后用 ssh -X <user>@<server> 重连;-X 仍被安全扩展拦截的老站点改用 ssh -Y(信任转发,省掉 SECURITY 扩展限制)。切忌手工 export DISPLAY=:0——服务器登录节点自己的 :0 要么不属于你,要么根本不存在,设了只会把报错从「空」变成「connection refused」。
有值还被拒,查 xauth 票据与 sshd 开关。 X11 connection rejected because of wrong authentication 是认证问题:多次 -X 登录串了票据、.Xauthority 损坏、家目录配额满导致新票据写不进去,都可能触发。处置顺序:
ls -l ~/.Xauthority
rm -f ~/.Xauthority
df -h ~删文件后断开重连让 SSH 重新发票据,再用 xauth list 应当能看到一条 localhost:10 类的 cookie。若重连后 DISPLAY 始终为空,问题在服务端:sshd 配置了 X11Forwarding no,或机器上没装 xauth(SSH 登录调试日志里会出现 xauth: command not found)。用 ssh -v -X host 连一次,看调试输出里有没有 Requesting X11 forwarding 与 Remote: xauth ...,两者都没有就是服务端关闭,需要管理员改 /etc/ssh/sshd_config 并安装 xauth,用户态绕不过去。
先用小工具验证通道,再启动 PrimeTime。 通道疑似修好后不要直接拉 PT GUI——它启动要读库、签 license、几十秒才报错。用秒开的 X11 小工具试探:
xclock本地屏幕上能弹出一个时钟,说明转发、认证、本地 X server 全通,此时再上 primetime -gui。xclock: command not found 是 xorg 应用包没装,可换 xeyes;本地这一端也必须有 X server——macOS 装 XQuartz(系统大版本升级后常静默失效,先确认进程活着),Windows 装 VcXsrv 或 MobaXterm。
通道通了但倒在 GLX/BadValue,方向转到渲染与虚拟显示。 PT GUI 基于 Motif/OpenGL 技术栈,需要 GLX。无显卡的纯计算节点、默认禁掉间接 GLX 的新版 Xorg、以及只带基础 X 扩展的 VNC 会话里,会报 GLX missing 或 BadValue。两条路:计算节点上用 Xvfb 虚拟帧缓冲凑一个显示,配合 Mesa 软渲染;有长期图形需求的站点则在 VNC 会话里跑 GUI:
xvfb-run -a primetime -gui-a 让 xvfb-run 自动挑空闲显示号,不用自己数 :99。VNC 下仍报 libGL swrast 加载失败,是 Mesa 软件渲染库缺失,报管理员装 mesa-dri-drivers 一类包即可,与 PT 本身无关。Wayland 桌面(较新 GNOME 的默认)下 X11 程序走 XWayland 兼容层,兼容层缺失时表现同样是连不上 display——注销后选「GNOME on Xorg」会话是最快的验证手段。
LIC 前缀的报错单独走授权线。 License feature 'PrimeTime-GUI' is not available 意味着授权文件里这个席位只含命令行特性,没有图形特性;报错文案与「席位占满」相近,但日志带 all licenses in use、checkout denied 字样的是占满,等人释放即可,特性真缺失才需要找 CAD 管理员。区分口诀:LIC 开头的错,一个 DISPLAY 命令都不用敲。
界面起来了但方块字、菜单乱码,是 locale 与字体问题,别和启动失败混为一谈。 窗口能弹出就证明图形通道全通;中文注释、路径显示成方块是缺中文字体,LANG 设成 C 或 POSIX 时 Tcl 层还可能对 UTF-8 文件名报 couldn't set locale correctly。处置见 PrimeTime 中文乱码与编码 locale,核心是装字体包(如 wqy / Noto CJK)并把 LANG 设为 en_US.UTF-8 或 zh_CN.UTF-8。
读图抓住「红色入口、蓝色分叉与验证、橙色修复、紫色绕行、绿色收尾」:第一刀必须是批处理分叉,LIC 支线从这里就被切走;X11 通道修完用 xclock 验证而不是直接重启 PT;GLX 类报错不再纠缠转发,直接走虚拟显示或 VNC 绕行。跳过分叉直接重装 PrimeTime,十次有九次白忙。
四、预防与纪律
- 把连接方式写进上机手册:统一
ssh -Y登录或固定 VNC 会话,禁止各自手试 DISPLAY;新账号开通即由管理员确认 sshd 的X11Forwarding与 xauth 齐备。 - 无显示节点默认批处理,不硬凑 GUI:签收流程本来就该脚本化——
pt_shell -f signoff.tcl不依赖任何显示,可进 LSF/cron,GUI 只留给交互式调试路径分析,这是最重要的退路。 - 计算节点统一装 Xvfb 与 Mesa:需要截图、出图的自动化场景用
xvfb-run,比给每台机器配显卡便宜,也不占本地 X server。 - 跨地域团队默认 VNC:X11 协议对延迟敏感,跨机房转发即使全通也可能卡到不可用;VNC 会话跑在服务器侧、抗断线、可重连。
- license 特性清单留档:向 CAD 管理员确认哪些席位含 GUI 特性、峰值占用多少,看到 LIC 报错一分钟内就能判断是等席位还是换授权。
这一篇在知识体系里的位置
本篇是 EDA 排错速查簇中「PrimeTime 图形环境」节点的 FAQ 页,与 PrimeTime license 签出失败(LIC 支线的处置全文)、PrimeTime 中文乱码与编码 locale(界面起来后的字体问题)互为邻居;综合侧图形事故对照见 Design Compiler 图形界面起不来,正常签收流程见 静态时序分析与 PrimeTime 签收,全簇索引在 开源/EDA 工具报错排查总览。
一句话总结
PrimeTime 图形界面起不来,先跑一次 pt_shell -f 做分叉:批处理也报 LIC 就转 license 线,批处理正常则锁定图形通道——echo $DISPLAY 为空就用 ssh -X/-Y 重连且不手设 DISPLAY,有值仍被拒就删 ~/.Xauthority 重连并查服务端 X11Forwarding 与 xauth,用 xclock 验证通道后再启动 GUI;倒在 GLX/BadValue 的无显卡节点用 xvfb-run 或 VNC 加 Mesa 软渲染绕行,方块字归字体与 locale,跨地域高延迟直接换 VNC;什么都不通时记住退路:签收本来就该用 pt_shell -f 批处理,GUI 从来不是必需品。