在 Linux 中无需 randr 即可更改 vncserver 的屏幕分辨率/几何形状

iam*_*ind 10 linux vnc

我想在不影响其中运行的程序的情况下动态更改 VNC 会话的分辨率/几何形状。

我提到:在 linux 中更改 VNC 会话的分辨率。我没有更新较新 vncserver 版本的 root 权限,因此以下命令目前不起作用:

vncserver -geometry 1280x1024 -randr 1280x1024,1280x800
Run Code Online (Sandbox Code Playgroud)

现在,每当我想将屏幕大小从一台显示器更改为另一台显示器时,我都会终止会话并使用修改后的-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
Run Code Online (Sandbox Code Playgroud)

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 &
Run Code Online (Sandbox Code Playgroud)

...这里的xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &线对于任何分辨率都保持不变。

[注意:我看到它xrandr安装在 linux 机器上。]

小智 6

“黑客”解决方案:在没有任何指定几何图形的情况下启动 vncserver

vncserver :1
Run Code Online (Sandbox Code Playgroud)

然后我将连接到 vnc,在 Fedora 中,我将进入“设置”>“显示”>“未知 0”并像这样即时更改分辨率。点击一些而不是键入(DX),但这很容易。

  • 此选项导致“无法确定 xrandr 版本”,仅此而已 :-/ (Debian 8) 但看起来很有趣。 (2认同)

bra*_*rad 0

$HOME/.vnc/xstartup是您正在寻找的文件,是的,您可以在那里设置几何图形。它应该在重新连接时进行调整,而不会中断您的会话(不是 100% 确定,但非常确定)。

  • 展示比讲述更有帮助。 (3认同)