TigerVNC는 현재 X11 세션을 처리할 수 없습니다.

TigerVNC는 현재 X11 세션을 처리할 수 없습니다.

두 개의 물리적 모니터가 연결된 Fedora 36에 RTX600 GPU 및 nVidia 드라이버가 있는 원격 PC가 있습니다. 현재 X11 세션에 원격으로 액세스하려고 하는데 이상한 동작이 발생합니다.

저는 TigerVNC, 특히 x0vncserver 명령을 사용하고 있습니다. 다음과 같이 서버를 시작하면:

x0vncserver -display :1 -localhost=0 -PasswordFile $HOME/.vnc/passwd

즉각적인 결과는 다음과 같습니다.

Geometry:    Desktop geometry is set to 7680x2160+0+0
XDesktop:    Using evdev codemap
XDesktop:    
XDesktop:    XTest extension present - version 2.2
Main:        Listening for VNC connections on all interface(s), port 5900

다른 컴퓨터에서 성공적으로 연결할 수 있지만 그렇게 하면 서버 PC에 연결된 물리적 화면이 플래시백된 다음 모니터 2에 현재 X11 세션의 낮은 해상도 버전이 표시됩니다. 이 저해상도 데스크탑은 클라이언트 PC의 VNC에도 표시됩니다. VNC 서버 출력은 다음과 같습니다.

Connections: accepted: 172.23.86.235::60395
 SConnection: Client needs protocol version 3.8
 SConnection: Client requests security type VeNCrypt(19)
 SVeNCrypt:   Client requests security type TLSVnc (258)

Thu Mar 30 17:54:11 2023
 XDesktop:    Enabling 8 buttons of X pointer device
 XDesktop:    Allocated shared memory image

Thu Mar 30 17:54:12 2023
 VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
 Geometry:    Desktop geometry is set to 7680x2160+0+0
 Geometry:    Desktop geometry is set to 7680x2160+0+0
 Geometry:    Desktop geometry is set to 1280x800+0+0
 ComparingUpdateTracker: 66.3552 Mpixels in / 1.44073 Mpixels out
 ComparingUpdateTracker: (1:46.0567 ratio)
 Geometry:    Desktop geometry is set to 1280x800+0+0

또한 -geometry 매개변수를 설정하려고 하면 클라이언트가 연결할 때 x0vncserver가 충돌합니다.

x0vncserver -display :1 -geometry 1920x1080+0+0 -localhost=0 -PasswordFile $HOME/.vnc/passwd

Thu Mar 30 17:57:15 2023
 Geometry:    Desktop geometry is set to 1920x1080+0+0
 XDesktop:    Using evdev codemap
 XDesktop:    
 XDesktop:    XTest extension present - version 2.2
 Main:        Listening for VNC connections on all interface(s), port 5900

Thu Mar 30 17:57:27 2023
 Connections: accepted: 172.23.86.235::51010
 SConnection: Client needs protocol version 3.8
 SConnection: Client requests security type VeNCrypt(19)
 SVeNCrypt:   Client requests security type TLSVnc (258)

Thu Mar 30 17:57:33 2023
 XDesktop:    Enabling 8 buttons of X pointer device
 XDesktop:    Allocated shared memory image
 VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888

Thu Mar 30 17:57:34 2023
 Geometry:    Desktop geometry is set to 1920x1080+0+0
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  130 (MIT-SHM)
  Minor opcode of failed request:  4 (X_ShmGetImage)

내가 놓친 것이 있나요? nVidia 드라이버가 설치된 현재 X11 세션을 표시하도록 VNC 서버를 올바르게 설정하려면 어떻게 해야 합니까?

답변1

다음을 시도해 볼 수 있습니다.

  1. 하드웨어 가속을 비활성화하고 /etc/X11/xorg.conf아래 줄로 이동하여 추가 할 수 있습니다.Device

    옵션 "UseSHM" "거짓"

    옵션 "UseDamage" "false"

그런 다음 다시 시작하십시오.

  1. 원하는 화면 해상도를 사용하십시오. 이를 위해서는 먼저 실행하여 xrandr사용 가능한 해상도를 확인한 후 다음과 같은 해상도를 선택해야 합니다.xrandr --output <output-name> --mode <desired-resolution>

  2. 올바른 디스플레이로 VNC 서버를 시작해 보세요. 잘못된 디스플레이를 사용하고 있을 수도 있습니다. 다음 중 하나를 선택하세요.x0vncserver -display :0 -localhost=0 -PasswordFile $HOME/.vnc/passwd

  3. 그래도 작동하지 않으면 nVidia용으로 설계된 TurboVNC와 같은 다른 VNC 클라이언트를 사용해 볼 수 있습니다.

관련 정보