Linux에서 randr없이 vncserver의 화면 해상도 / 형상 변경 세션을 종료하고 수정 된 -geometry옵션으로

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리눅스 머신에 설치되어 있습니다.]



답변

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

vncserver :1

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


답변

시스템 구성 파일 (또는 기타 적용 가능한 시작 스크립트)에서 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

답변

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

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

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

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

xrandr (인수없이)

쉽고 멋진 것은 없습니다!


답변

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