我有一台 Ubuntu 服务器,无法物理访问,只能通过 ssh/vnc 进行访问。
它卡在 1680x1050 分辨率,并且在系统显示设置中菜单被禁用,因为没有检测到连接的实际显示器。
我需要将分辨率降低到例如 800x600。
当我尝试时:
$ xrandr --output VGA1 --mode 800x600
我越来越:
xrandr: cannot find mode 800x600
即使我第一次尝试,结果也是一样的:
$ xrandr --newmode "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
道具有:
$ xrandr --prop
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 4096 x 4096
VGA1 disconnected 1680x1050+0+0 (normal left inverted right x axis y axis) 593mm x 371mm
1680x1050 (0x43) 146.2MHz
h: width 1680 start 1784 end 1960 total 2240 skew 0 clock 65.3KHz
v: height 1050 start 1053 end 1059 total 1089 clock 60.0Hz
有任何想法吗?
答案1
听起来您正在使用 vino 服务器通过 VNC 共享桌面。虽然我认为您可以更改 /etc/X11/xorg.conf 或现在的 X 配置文件,但我还有另一个建议。不要更改 X 配置,然后为您的 vnc 创建另一个会话。
安装 vnc
$ sudo apt-get install vnc4server
创建 vnc 启动和停止脚本
vnc命令
#!/bin/sh
vncserver :12 -name "My-Server" -geometry 1600x1100
vnc-kill命令
#!/bin/sh
vncserver -kill :12
12 只是一个任意显示数字。您将在连接到服务器时使用它。它可以是除 0 之外的任何数字。这是 vino 服务器默认使用的(我认为)。不要忘记 chmod +x 脚本。
可选:启动时启动 vnc 会话
将 vnc.sh 添加到您的 /etc/rc.local,以便会话在计算机启动时启动。sudo vi /etc/rc.local 并将其添加到“exit 0”之前的末尾
su - YourUserName -c "/home/YourUserName/bin/vnc.sh"
我在这里以用户身份运行 vnc 服务器。我不希望服务器在 root 上下文中运行。当然,替换“YourUserName”。或者,您不需要将其放在这里,您可以 ssh 并手动运行“vnc.sh”脚本。您说了算。
设置 vnc 密码
(这与其他 VNC 桌面密码不同)
$ vncpasswd
编辑您的 vnc 会话文件
$ vi ~/.vnc/xstartup
注释掉所有内容,并将其放在最后
gnome-session &
测试一下
运行您的 vnc.sh 脚本并从另一台计算机连接。
vncviewer.exe -connect Server:12
答案2
您可以考虑更改 VNC 服务器上的分辨率吗?我不确定您的设置,但如果 VNC 服务器位于虚拟机上,您可以检查 vncserver 实例化点并-geometry
在那里更改标志吗?
或者,我会查看 xorg.conf 并添加您正在寻找的模式,因为xrandr
它说它不可用。这本文介绍了 xorg.conf 编辑的基础知识
答案3
我可以使用以下命令随意更改我的 vncserver 分辨率:
vncconfig -set randr=1552x1175 ; xrandr -s 1552x1175
(HT 马特 D.)