SSHを介してXアプリケーションを起動するとlibGLエラーが発生します。

SSHを介してXアプリケーションを起動するとlibGLエラーが発生します。

仮想KVMシステムでDebian Stretch x64サーバーを実行しています。 Windows 7 Pro x64にCygwinをインストールし、WindowsシステムのCygwin Xサーバーを使用してDebianシステムでXアプリケーションを実行したいと思います。

これは私のサーバー側のSSHデーモン構成です(Debian側)。

AcceptEnv LANG LC_*
AllowAgentForwarding no
AllowTcpForwarding no
AllowStreamLocalForwarding no
ChallengeResponseAuthentication no
Ciphers [email protected],[email protected],aes256-ctr
Compression no
DebianBanner no
HostKeyAlgorithms [email protected],[email protected],ssh-rsa,ssh-ed25519
KbdInteractiveAuthentication no
KexAlgorithms curve25519-sha256,[email protected],diffie-hellman-group-exchange-sha256
ListenAddress 192.168.20.12:22
LoginGraceTime 20
MACs [email protected],[email protected]
PasswordAuthentication no
PermitUserRC no
Protocol 2
PubkeyAcceptedKeyTypes ssh-rsa,ssh-ed25519
RekeyLimit 100M 20m
Subsystem sftp /usr/lib/openssh/sftp-server
TCPKeepAlive no
X11Forwarding yes
X11UseLocalhost yes

これはkonsole、サーバー(Windows側)で起動するために使用するバッチファイルです。

set CYG=c:\cygwin64

%CYG%\bin\run.exe XWin -multiwindow -resize -clipboard -listen inet :1
SET DISPLAY=:1
SET LANG=en_US.UTF-8
%CYG%\bin\ssh.exe -f -Y [email protected] "LANG=en_US.UTF-8 konsole"
"C:\Program Files (x86)\cmdow\cmdow.exe" X-Morn-multiwindow /HID
exit

原則として、これはうまくいきます。このバッチファイルを実行すると、konsoleWindowsデスクトップのウィンドウで起動します。ただし、ウィンドウに2つのエラーメッセージが表示されますcmd

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

最後の手段konsoleとして(必要な他のアプリケーションと一緒に)明らかに実際に動作するので、これらのエラーを取ることができますが、実際にはそこで何が起こっているのか(つまり、エラーメッセージの原因が何であるか)知りたいのです。

nvidia上記の他の質問/スレッド/ブログエントリを読んで、問題が欠落しているか欠落しているコンポーネントに関連している可能性があるという印象を受けましたmesa。それで、私はDebianサーバーに次のコンポーネントのいくつかをrootとしてインストールしました:

aptitude install libgl1-mesa-glx libgl1-glvnd-nvidia-glx

実際、上記のバッチファイルを実行してもlibGLエラーは発生しません。しかし残念ながら今はkonsoleそのウィンドウがWindowsデスクトップに表示されなくなりました。

両方のパッケージを再度アンインストールした後にkonsoleバッチファイルを実行すると、ウィンドウが再び表示され、libGLエラーメッセージも表示されます。

私は両方の現象を理解したいと思います。もしそうならlibGL、エラーメッセージの原因は何ですかmesa??nvidiakonsole

答え1

私のため

apt install libgl1-mesa-glx

20.0.8-0ubuntu1〜20.04.1に違いはありますか?両方のエラーメッセージが消えた。

答え2

次のパッケージをインストールした後、問題は消えました(apt一緒にインストールされました)。

  • dbus-x11
  • libglib2.0-テスト
  • libdbus-glib-1-2
  • libgee-0.8-2
  • libmoonshot1

これらのパッケージ(またはそれらの組み合わせ)のどれが問題を解決しているのかを判断することはできません。このマシンはこれまで本番サーバーになったので、もう確認しません。

しかし、私は次のような根拠のある推測ができると思います。

  • libgee-0.8-2そして、libmoonshot1低レベルX11やUI部分と直接的な関係がないため、ゲームから除外されたことが確実です。
  • libglib2.0-tests(名前からわかるように)は単なるテストスイートなので、GLibこれがゲームの範囲外であると確信しています。
  • 残りの2つの候補のうち、誰がこの問題を解決できるのかわかりません。私はこの質問がGLibそれよりもそれと関連していると思うので、X11私が一番好きなものですlibdbus-glib-1-2。でもそれは本当に気持ちだけで…。

同じ状況(たとえば、Debian Stretch Serverの設定とSSHを介してXアプリケーションを実行する)の誰かがこれを確認できると思います。しかし、そうでなくても、この質問は他の場所で何十回も要求されましたが(私が知っている限り)解決策がなかったので、この答えは役に立つと思います。

関連情報