我有一台无头 Ubuntu 机器,我通过 ssh 和 vnc 的组合来连接它。
当我连接了显示器(这种情况很少见)时,vnc 连接是所连接显示器的完整分辨率(当然)。
但是,当我在没有连接显示器的情况下使用 vnc 进行连接时,我得到的连接分辨率比我想要的要低得多。就好像计算机连接了一个小显示器一样。
我查看了“设置”,并没有发现任何有用的信息(没有连接显示器,分辨率就会变灰)。
如何更改使用 VNC 连接时获得的“虚拟分辨率”?
更新:
我现在对其他 vnc 软件的推荐不感兴趣,我只想知道如何使用内置 vnc 服务器执行上述操作。
谢谢。
答案1
通过使用默认的 Gnome vino-server,我们只能使用正在运行的 X-Server 几何图形。如果出于任何原因我们确实需要运行 vino-server,我们只能通过定义自定义X-Session对于此 VNC 用法或实时更改几何形状,例如使用兰德尔原则上如所述这个答案。
然而这样做有一些需要考虑的缺点:
- 如果预定义,当连接另一个监视器时,我们将无法运行此自定义会话。
- 其他 X 设备可能也需要定义。
- 远程更改 VNC 会话的几何形状无法轻易完成。
- 如果我们破坏了 X 设置,我们可能会没有显示
如果我们确实需要调整屏幕几何形状,那么最好安装除 vino 之外的能够改变几何形状的 VNC 服务器包。
如果我们使用虚拟网络服务器/虚拟主机从紧密型VNC服务器 , 或者vnc4服务器 我们可以通过在调用时简单地添加选项来定义一个虚拟的XServer几何-geometry <width>x<height>
。
在远程安装了上面的一个软件包之后,我们可以通过以下方式启动它:
vncserver :1 -geometry 1024x720
在此示例中,创建了编号为 1 的显示器,其像素为 1024x720(输入连接密码后)。可以通过以下方式从本地计算机访问该显示器:
vncviewer <remote_ip>:1
-via
使用 SSH 会话连接时使用选项。
答案2
您是否考虑过尝试 NX 技术?例如 FreeNX 或 NXnoMachine?它可以更加友好且可配置
答案3
我不知道这在 Ubuntu 中是否也是一个简单的解决方案,但我在 Linux Mint 18.2(ubuntu 衍生产品)上遇到了同样的问题,并且在 Linux、Windows 和 Android 上使用 VNC 查看器
经过一些测试后我得出了以下解决方案(至少适合我的情况):
我制作了一个脚本文件(例如名为“SetResolution1280x1024.sh”),其中包含以下行:
/bin/bash $ #!/bin/bash
$ xrandr --fb 1280x1050
并将其保存在其中一个用户文件夹中。然后使其可执行(右键单击>属性>权限并选中“允许将文件作为程序执行”框)
然后我让它在启动时执行:
菜单 -> 系统设置 -> 启动与关机 -> 自动启动
点击:“添加脚本”
搜索我放置脚本文件的文件夹,然后单击“确定”
然后我选择了“Pre KDE”来启动它
(仅在“启动时”执行它无法正常工作,所以我想必须在桌面启动之前设置分辨率,否则您最终会在大屏幕上看到一个小桌面。从活动桌面执行脚本时也会发生最后一件事!)
这对我有用,并且不会破坏我的系统(我尝试使用“虚拟驱动程序”:)
希望这能帮助其他人
杰伦