我正在使用带有 64 位 raspbian 内核分支的 Ubuntu 18.04 x64 的 RaspberryPI 3。没有显示器连接到 Raspberry。我安装了 xfce 桌面环境,以便在需要时运行一些图形应用程序。为了使用 x 服务器,我安装了 xrdp。但是,我确实只想使用一个 x 会话,并且每次连接时 xrdp 都会打开一个新桌面。所以我安装了 x11vnc。但我仍然想通过 Windows rdp 连接。所以我最终做的是创建一个通过 systemd 启动 x11vnc 的服务,只接受来自 localhost 的连接(因此禁用 ssl 是可以的):
/etc/systemd/system/x11vnc.service:
[Unit]
Description=VNC Server
Requires=lightdm.service
After=lightdm.service
[Service]
Environment=UNIXPW_DISABLE_SSL=1
Type=simple
ExecStart=/usr/local/bin/x11vnc -unixpw -display :0 -auth /var/run/lightdm/root/:0 -rfbport 5900 -no6 -shared -localhost -loop2000 -solid #000044 -oa /var/log/vncserver.log -wait 50 -xdamage -ncache 10 -ncache_cr
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
RestartSec=10
[Install]
WantedBy=graphical.target
然后我将其添加到 /etc/xrdp/xrdp.ini,允许我通过 rdp 连接到 x11vnc 服务器
[LocalVNC]
name=LocalVNC
lib=libvnc.so
ip=127.0.0.1
port=5900
但是当我连接时屏幕分辨率固定为 656x414,我无法通过系统设置更改它。我怎样才能将屏幕分辨率增加到更合理的值,比如至少 800x600?
编辑:
我认为是 VNC 服务器干扰了分辨率,因为 XRDP 会话选择具有高分辨率。我查看了 x11vnc 手册,找到了 -geometry WxH 参数。但是它只是缩放小屏幕,因此我得到的不是更高的分辨率,而是一片模糊。