在 Linux 中無需 randr 即可變更 vncserver 的螢幕解析度/幾何形狀

在 Linux 中無需 randr 即可變更 vncserver 的螢幕解析度/幾何形狀

我想動態更改 VNC 會話的分辨率/幾何形狀,而不影響其中運行的程式。

我提到:更改 Linux 中 VNC 會話的分辨率。我沒有 root 權限來更新較新的 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

一個「Hack」解決方案:在沒有任何指定幾何圖形的情況下啟動 vncserver

vncserver :1

然後我將連接到vnc,在Fedora 中,我只需進入“設定”>“顯示”>“未知0”,然後像這樣動態更改解析度。這很容易。

答案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% 確定,但非常確定)。

相關內容