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


9

我想动态更改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机器中。]

Answers:


4

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

vncserver :1

然后,我将连接到vnc,在Fedora中,我将直接进入“设置”>“显示”>“未知0”,并像这样即时更改分辨率。只需单击一下即可,而不用键入(DX),但这很简单。


1
这个选项的结果是“无法确定xrandr版本”,仅此而已:-/(Debian 8),但看起来很有趣。
m3nda

1

在systemd配置文件(或其他适用的启动脚本)中设置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(或其他受支持的几何图形/显示*)

要查看randr支持的显示/分辨率,请输入:

xrandr(不带参数)

简单,没有花哨!


0

$HOME/.vnc/xstartup是您要查找的文件,是的,您可以在此处设置几何。它应该在不中断会话的情况下重新连接时进行调整(不是100%肯定,但可以肯定)。


1
展示比说要有用。
scottlittle
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.