Ubuntu Linux에서 실행되는 X 가상 프레임 버퍼 서버가 있고 VNC를 통해 해당 화면에 액세스하고 싶습니다.
내 단계는 다음과 같습니다.
Xvfb :1.0 -screen 0 1024x768x16 &
암호를 설정하세요:
x11vnc -storepasswd
.x11vnc -display :1.0 -usepw -forever -ncache 10 -autoport 5900 &
Using X display :1.0 rootwin: 0x1a9 reswin: 0x200001 dpy: 0x174f920 ... Default visual ID: 0x21 Read initial data from X display into framebuffer. initialize_screen: fb_depth/fb_bpp/fb_Bpl 16/16/2048 rfbNewFramebuffer(0x1797f20, 0x0, 1024, 9216, 5, 1, 2) ... X display :1.0 is 16bpp depth=16 true color
그런 다음 다음을 통해 macOS에서 VNC 서버에 액세스했습니다.
open vnc://my-vnc-ip:5901/
1024x9216
그러나 동시에 표시되는 화면이 12개 더 있는 것처럼 프레임 버퍼가 너무 넓습니다( ). 이상적으로는 1024x768
화면이 있는 모니터 하나만 갖고 싶습니다 .
예상 해상도로 보이는 화면을 볼 수 있도록 어떻게 수정하나요?
답변1
-ncache
(실험적) 옵션으로 인해 문제가 발생한 것 같습니다 . 제거하면 문제가 해결됩니다.
기본적으로 활성화된 경우 를 사용하여 비활성화해 보세요 -noncache
.
활성화되면 기본적으로 더 빠른 검색을 위해 VNC 뷰어 측의 화면 외부에 픽셀 데이터를 저장하는 클라이언트 측 캐싱 체계가 활성화되며 모든 VNC 뷰어에서 작동해야 합니다. 그러나 일부 클라이언트에서는 제대로 작동하지 않는 것 같습니다.
따라서 올바른 명령은 다음과 같습니다.
x11vnc -display :1.0 -usepw -forever -autoport 5900
ncache가 아닌 다른 경우에는-clip
옵션도움이 될 수도 있습니다.
~에 따르면우분투 포럼 주제, 이것이 -ncache
작동하는 방식입니다.
데스크탑을 일반 것보다 10배 더 크게 만들고 추가 프레임 버퍼를 사용하여 창과 해당 저장 장치를 캐시합니다.
KRDC가 해당 영역을 표시하지 않도록 할 수 없는 경우(예: 창 크기 조정) KRDC와 함께 사용할 수 없습니다
x11vnc -ncache
.따라서 현재 유일한
-ncache
"지원"은 시청자가 스크롤 막대를 갖고 자동 스크롤을 비활성화할 수 있는 것입니다. 또는 unix/macosx 에서 사용하세요ssvnc
.
바라보다:x11vnc가 픽셀 데이터의 클라이언트 측 캐싱을 수행할 수 있습니까?더 많은 정보를 알고 싶습니다.
n은
-ncache n
캐싱에 사용되는 기본 프레임 버퍼 크기의 증가 요소입니다. 이는 짝수이며 좋은 응답을 위해서는 6~12로 상당히 커야 합니다. 이를 위해서는 일반적으로 클라이언트와 서버 측 모두에 약 50-100MB의 추가 RAM이 필요합니다. 예를 들어 n=6인 경우 1280x1024 모니터는 1280x7168의 프레임 버퍼를 사용합니다. 라인 1024 아래의 모든 항목은 픽셀 버퍼 캐시입니다.