Rocky Linux 8.10にVNCで接続し、Cadence Xcelium 26.03などのEDAツールを使っていると、メニューやツールバーの描画が崩れることがありました。ウィンドウの最大化・全画面化・サイズ変更をきっかけに表示がおかしくなり、操作に支障が出る状態です。
結論から言うと、VNCで起動するデスクトップ環境をGNOME系からXfce4へ変更したところ解消しました。ホストマシン上でGNOMEを直接操作した場合は再現しなかったため、GNOMEそのものではなく「GNOME系デスクトップ+VNC経由の描画」の組み合わせに起因する現象と考えています。
English version is available here.
発生した環境
- OS:Rocky Linux 8.10
- VNCサーバー:Rocky Linux側のTigerVNCで確認
- VNCクライアント:Windows 11のUltraVNC Viewer
- デスクトップ環境:GNOME系セッション
- EDAツール:Cadence Xcelium 26.03で確認
なお、VNCサーバーを別のものに変更しても改善しませんでした。一方、VNCを使わずRocky Linuxのホストマシンを直接操作した場合は、同じGNOME系デスクトップでも症状は再現しませんでした。
具体的な症状
- Xceliumのツールバーやメニューを開くと、表示の一部が欠ける・重なる
- ウィンドウを最大化または全画面表示にすると描画が崩れる
- ウィンドウサイズを変更すると、古い描画が残ったような状態になる
- アプリケーションを操作できても、画面が正しく再描画されず実用上つらい
最初はXcelium側のGUI不具合やVNCサーバー固有の問題を疑いました。しかし、接続方法とデスクトップ環境を変えながら比較すると、次の結果になりました。
| 条件 | 結果 |
|---|---|
| GNOME系+VNC接続 | 表示崩れが発生 |
| GNOME系+ホストで直接操作 | 再現しない |
| VNCサーバーを変更 | 改善しない |
| Xfce4+VNC接続 | 表示崩れが解消 |
原因の切り分け
この結果から、少なくとも今回の環境ではXcelium単体やTigerVNC単体が原因とは考えにくく、GNOME系デスクトップの描画処理とVNCセッションの相性が問題だった可能性が高いです。
ただし、GNOME Shell、ウィンドウマネージャー、コンポジター、X11のどの層で問題が起きていたかまでは特定していません。そのため「GNOMEの特定コンポーネントのバグ」と断定するのではなく、実測上はGNOME系をVNC経由で使用した場合にだけ発生し、Xfce4へ切り替えると解消した、というのが正確な結論です。
対処法:VNCセッションをXfce4へ変更する
以下はRocky Linux 8系でXfceを追加する一般的な手順です。実行前に、利用中のリポジトリ構成とVNC設定をバックアップしてください。
1. EPELとPowerToolsを有効にする
sudo dnf config-manager --set-enabled powertools
sudo dnf install -y epel-release
Rocky Linux 8では、Xfce関連パッケージの取得にEPELを利用します。PowerToolsはRocky Linux 8での名称で、Rocky Linux 9以降のCRBとは名称が異なります。
2. Xfceをインストールする
sudo dnf grouplist
sudo dnf groupinstall -y "Xfce"
dnf grouplistの結果にXfceが表示されることを確認してからインストールします。Rocky Linux公式ドキュメントでも、Rocky Linux 8向けにEPEL・PowerToolsを有効化し、Xfceグループをインストールする手順が案内されています。
3. TigerVNCで起動するセッションをXfceにする
今回の環境では、ユーザーごとのVNC起動スクリプト ~/.vnc/xstartup を編集し、GNOME系セッションの代わりにXfce4を起動するよう変更しました。
既存ファイルをバックアップしてから編集します。
cp -a ~/.vnc/xstartup ~/.vnc/xstartup.bak
vi ~/.vnc/xstartup
~/.vnc/xstartupの内容を、Xfce4を起動するよう次のようにします。
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
編集後、実行権限を確認します。
chmod +x ~/.vnc/xstartup
その後、使用中のディスプレイ番号に対応するVNCセッションを停止・再起動し、Windows 11のUltraVNC Viewerから再接続します。サービス名や再起動コマンドはTigerVNCの導入方式とディスプレイ番号によって異なるため、現在の設定を確認してから実行してください。
Xfce4へ変更した結果
Xfce4のVNCセッションへ切り替えた後、Xceliumでツールバーやメニューを開いても描画が崩れなくなりました。全画面表示やウィンドウサイズの変更でも症状は再現せず、通常どおり操作できるようになりました。
EDAツールはGUIが複雑で、波形ビューアーや各種パネルを頻繁に開閉します。VNCサーバーやクライアントの設定を延々と変更する前に、デスクトップ環境を軽量なXfceへ切り替えて比較するのは有効な切り分け方法です。
まとめ
- Rocky Linux 8.10のGNOME系デスクトップをVNC経由で使うと、XceliumのGUI表示が崩れた
- GNOME系でもホストマシンを直接操作した場合は再現しなかった
- VNCサーバーを変更しても改善しなかった
- VNCセッションをXfce4へ変更すると解消した
- 内部の原因箇所までは未特定だが、GNOME系デスクトップとVNC描画の組み合わせ問題と考えるのが妥当
同じようにLinux上のEDAツールで、メニュー・ツールバー・最大化・リサイズ時の表示崩れに悩んでいる場合は、まずXfce4のVNCセッションを試してみてください。
