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
[참고: Linux 시스템에 설치된 것을 봤습니다 . ]
답변1
"해킹" 솔루션: 지정된 지오메트리 없이 vncserver 시작
vncserver :1
그런 다음 vnc에 연결하고 Fedora에서 설정 > 디스플레이 > 알 수 없는 0으로 이동하여 해상도를 이와 같이 동적으로 변경합니다. (DX)를 입력하는 대신 클릭만 하면 되지만 쉽습니다.
답변2
Fedora에 대한 위의 답변은 나(RedHat Enterprise)에게는 효과가 없었습니다. 다음 단계를 통해 필요한 것을 달성할 수 있었습니다.
1) VNC 세션(기존)에 로그인합니다.
2) 터미널을 열고 다음을 입력합니다: xrandr -s 1920x1080(또는 기타 지원되는 기하학/디스플레이*)
Randr이 지원하는 모니터/해상도를 보려면 다음을 입력하세요.
xrandr(매개변수 없음)
아주 간단하고, 화려할 것도 없습니다!
답변3
systemd 구성 파일(또는 기타 적용 가능한 시작 스크립트)에서 기하학 옵션을 설정하십시오. ~ 이 예는 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
답변4
$HOME/.vnc/xstartup
당신이 찾고 있는 파일입니다. 예, 거기에서 형상을 설정할 수 있습니다. 세션을 파괴하지 않고 다시 연결할 때 조정되어야 합니다(100% 확실하지는 않지만 꽤 확실합니다).