두 개의 물리적 모니터가 연결된 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
다음을 시도해 볼 수 있습니다.
하드웨어 가속을 비활성화하고
/etc/X11/xorg.conf
아래 줄로 이동하여 추가 할 수 있습니다.Device
옵션 "UseSHM" "거짓"
옵션 "UseDamage" "false"
그런 다음 다시 시작하십시오.
원하는 화면 해상도를 사용하십시오. 이를 위해서는 먼저 실행하여
xrandr
사용 가능한 해상도를 확인한 후 다음과 같은 해상도를 선택해야 합니다.xrandr --output <output-name> --mode <desired-resolution>
올바른 디스플레이로 VNC 서버를 시작해 보세요. 잘못된 디스플레이를 사용하고 있을 수도 있습니다. 다음 중 하나를 선택하세요.
x0vncserver -display :0 -localhost=0 -PasswordFile $HOME/.vnc/passwd
그래도 작동하지 않으면 nVidia용으로 설계된 TurboVNC와 같은 다른 VNC 클라이언트를 사용해 볼 수 있습니다.