런타임 시 Xvfb 프레임 버퍼 해상도 변경

런타임 시 Xvfb 프레임 버퍼 해상도 변경

난 달린다wxya사용 명령:

Xvfb :1 -screen 0 100x100x16 -fbdir /tmp

그리고 그것은 훌륭하게 작동합니다. VNC를 통해 연결할 수 있으며 이제 /tmp디렉터리에 Xvfb_screen0바이너리 가 있습니다.

이렇게 될 줄 알았는데 /dev/fb0설정을 바꿔봤는데FB 세트좋다:

sudo fbset -fb /tmp/Xvfb_screen0 -xres 500 -yres 500

하지만 명령 끝에 오류가 발생합니다.

ioctl FBIOGET_VSCREENINFO: 장치의 ioctl이 부적절합니다.

실행 중인 Xvfb 서버의 해상도를 변경할 수 있는 방법이 있습니까?

답변1

Xvfb가 크기 조정을 지원하는지 잘 모르겠습니다. 귀하의 주요 관심이 VNC라면 아마도 시도해 보아야 할 것입니다.타이거 VNC. RandR 및 Xinerama를 지원하는 최신 VNC 서버입니다. 화면 크기 조정 및 다중 모니터는 TigerVNC에서 잘 작동합니다.

답변2

지정하여−fbdir범위, 생성 중입니다.프레임버퍼 메모리를 포함하는 메모리 매핑 파일, 프레임 버퍼 장치가 아닙니다.

~에 따르면fbset수동, -fb메모리 매핑 파일이 아닌 프레임 버퍼 장치 노드만 허용합니다. 따라서 올바른 구문은 다음과 같습니다.

fbset -fb /dev/fb0 500x500

/dev/fb0프레임 버퍼 장치(예: /dev/fb/0또는 /dev/fb0)는 어디에 있습니까?

X가 프레임버퍼 장치를 인식하도록 하려면 FRAMEBUFFER변수를 정의하십시오.

export FRAMEBUFFER=/dev/fb0

당신은 또한 볼 수 있습니다man fbdev자세한 내용은.

읽으려면 다음과 같은 명령을 /tmp/Xvfb_screen0사용해야 합니다 .xwud

xwud -in /var/tmp/Xvfb_screen0

그러면 서버의 화면 0이 표시됩니다.


기존 X 서버에서는 해상도를 변경할 수 없기 때문에 Xvfb 서버를 다시 실행하거나 다른 해상도로 다른 화면을 불러와야 할 수도 있습니다.

관련 정보