当前位置: 首页>>技术教程>>正文


linux – 如何在Ubuntu上更改虚拟屏幕分辨率(通过VNC连接而不连接实际显示)?

, , ,

问题描述

我有一个Ubuntu服务器,仅通过ssh /vnc无法对其进行物理访问。

它停留在1680×1050分辨率上,并且由于未连接检测到的实际显示器,因此在系统显示设置中禁用了菜单。

我需要将分辨率降低到800×600。

当我尝试:

$ 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

有任何想法吗?

最佳思路

听起来您正在使用vino服务器通过VNC共享桌面。尽管我认为您可以更改/etc/X11/xorg.conf或任何X配置文件,但我还有另一个建议。保留X配置,并为vnc创建另一个会话。


安装vnc

$ sudo apt-get install vnc4server

创建vnc启动和停止脚本

#!/bin/sh

vncserver :12 -name "My-Server" -geometry 1600x1100

#!/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服务器。我不希望服务器在根上下文下运行。当然,请更换”YourUserName”。另外,您无需将其放在此处,您可以ssh并手动运行”vnc.sh”脚本。你的来电。

设置您的vnc密码

(这与其他vnc桌面密码分开)

$ vncpasswd

编辑您的vnc会话文件

$ vi ~/.vnc/xstartup

注释掉所有内容并将其结尾

gnome-session &

测试一下

运行vnc.sh脚本并从另一台计算机连接。

vncviewer.exe -connect Server:12

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8797.html,未经允许,请勿转载。