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 바탕 화면의 창에서 시작됩니다. 그러나 창에 두 가지 오류 메시지가 나타납니다 cmd.

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

최후의 수단으로 konsole(필요한 다른 응용 프로그램과 함께) 분명히 실제로 작동하기 때문에 이러한 오류를 감수할 수 있지만 실제로는 거기에서 무슨 일이 일어나고 있는지(즉, 오류 메시지의 원인이 무엇인지) 알고 싶습니다.

nvidia위에서 언급한 다른 질문/스레드/블로그 항목을 읽으면서 문제가 누락 되거나 누락된 구성 요소 와 관련이 있을 수 있다는 인상을 받았습니다 mesa. 그래서 저는 Debian 서버에 다음 구성요소 중 일부를 루트로 설치했습니다:

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

실제로 위에서 언급한 배치 파일을 실행하면 libGL더 이상 오류가 발생하지 않습니다. 하지만 안타깝게도 지금은konsole해당 창이 더 이상 Windows 바탕 화면에 나타나지 않습니다.

두 패키지를 다시 제거한 후 konsole배치 파일을 실행하면 창이 다시 나타나고 libGL오류 메시지도 나타납니다.

나는 두 현상을 모두 이해하고 싶다. 그렇다면 오류 메시지의 원인은 무엇일 수 있습니까 ( libGLSSH를 통해 X 응용 프로그램을 실행할 때 누락된 mesa드라이버 나 라이브러리가 작동해서는 안 된다는 점을 고려하면 nvidia), 위의 두 패키지를 설치하면 창이 konsole나타나지 않는 이유는 무엇입니까?

답변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이것이 게임의 범위를 벗어난다고 확신합니다.
  • 남은 두 후보 중 누가 이 문제를 해결할 수 있을지 모르겠습니다. 나는 이 질문이 GLib그것보다 그것과 더 관련이 있다고 생각해서 X11그것이 내가 가장 좋아하는 것입니다 libdbus-glib-1-2. 하지만 그건 정말 기분일 뿐이고…

동일한 상황(예: Debian 스트레치 서버 설정 및 SSH를 통해 X 응용 프로그램 실행)에 있는 누군가가 이를 확인할 수 있다면 좋을 것입니다. 그러나 그렇지 않더라도 이 질문은 다른 곳에서 수십 번 요청되었지만 (내가 아는 한) 해결책이 없었기 때문에 이 답변이 유용하다고 생각합니다.

관련 정보