Linux에서 randr없이 vncserver의 화면 해상도 / 형상 변경


9

VNC 세션 내에서 실행되는 프로그램에 영향을주지 않고 VNC 세션의 해상도 / 지오메트리를 동적으로 변경하고 싶습니다.

나는 linux에서 VNC 세션의 해상도를 변경했다 . 최신 vncserver 버전을 업데이트 할 수있는 루트 권한이 없으므로 현재 다음 명령이 작동하지 않습니다.

vncserver -geometry 1280x1024 -randr 1280x1024,1280x800

지금은 한 모니터에서 다른 모니터로 화면 크기를 변경할 때마다 세션을 종료하고 수정 된 -geometry옵션으로 다시 시작합니다 . 이로 인해 내부의 프로그램을 풀어야합니다.

지오메트리를 저장하고 해상도를 변경하기위한 값을 변경하는 파일을 해킹하는 방법이 있습니까? 그런 파일을 찾을 수 없습니다. 내 홈 폴더에 아래 파일이 있습니다.

mgandhi@starbase:~/.vnc$ ll
total 12
-rwxr-xr-x 1 mgandhi bc  334 Jun 25 10:32 xstartup
-rw------- 1 mgandhi bc    8 Jun 25 10:32 passwd
-rw-r--r-- 1 mgandhi bc    6 Jun 25 11:08 starbase.radisys.com:23.pid
-rw-r--r-- 1 mgandhi bc 1664 Jun 25 11:08 starbase.radisys.com:23.log

xstartup파일 의 내용이 도움이되지 않습니다 :

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &

... 여기선 xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &은 모든 해상도에 대해 일정하게 유지됩니다.

[참고 : xrandr리눅스 머신에 설치되어 있습니다.]

답변:


4

"해킹"솔루션 : 지정된 지오메트리없이 vncserver 시작

vncserver :1

그런 다음 vnc에 연결하고 Fedora에서는 설정> 디스플레이> 알 수없는 0 "으로 이동하여 다음과 같이 즉시 해상도를 변경합니다. (DX)를 입력하는 대신 클릭하는 것이 쉽지만 간단합니다.


1
이 옵션은 "xrandr 버전을 결정할 수 없습니다"라는 결과를 낳지 만 더 이상 :-/ (Debian 8)이지만 흥미로워 보입니다.
m3nda

1

시스템 구성 파일 (또는 기타 적용 가능한 시작 스크립트)에서 geometry 옵션을 설정하십시오.이 예제는 Fedora 28에서 작동합니다 (selinux 파일 설명자가 고정되어 있다고 가정).

USERNAME을 실제 사용자 이름으로 바꾸십시오.

cat /etc/systemd/system/vncserver@\:1.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=USERNAME

# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1280x1024
PIDFile=/home/USERNAME/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

1

Fedora에 대한 위의 답변이 저에게 효과적이지 않았습니다 (RedHat Enterprise).이 단계에서 필요한 것을 달성 할 수있었습니다.

1) VNC 세션에 로그인 (기존)

2) 터미널을 열고 xrandr -s 1920x1080 (또는 지원되는 다른 지오메트리 / 디스플레이 *)을 입력하십시오.

지원되는 디스플레이 / 해상도를 보려면 다음을 입력하십시오.

xrandr (인수없이)

쉽고 멋진 것은 없습니다!


0

$HOME/.vnc/xstartup찾고있는 파일이며 예, 여기에서 지오메트리를 설정할 수 있습니다. 세션을 중단시키지 않고 다시 연결을 조정해야합니다 (100 % 확실하지는 않지만 확실합니다).


1
말하는 것보다 보여주는 것이 더 도움이 될 것입니다.
scottlittle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.