Idealisan

使用x11vnc和lightdm建立ubuntu 20上的vnc server

一直以来感觉linux上配置vnc server好麻烦,安装一堆软件包同时还要编辑配置文件,主要是linux下配置文件编写起来很复杂,没有统一的格式。

这里是用的是ubuntu 20.04.3 LTS desktop。安装好ubuntu后,需要安装lightdm,取代系统自带的gdm3(gnome desktop manager 3),这并不会给桌面体验带来差别,只是自带的gdm3不能配合x11vnc轻易建立服务,所以采用lightdm。

使用如下的命令安装这两个软件包。

sudo apt install -y x11vnc lightdm

接下来需要配置x11vnc的密码,我们把密码存储在/etc/x11vnc.pass文件当中,通过下面的命令配置,密码将会被自动加密存储。

sudo x11vnc -storepasswd /etc/x11vnc.pass

上边的命令执行后会提示输入vnc专用的密码,不必与用户密码一致。

不出意外的话,可以启动x11vnc服务,然后放开5900端口即可连接。使用下面的命令开放防火墙。

sudo ufw allow 5900

如果遇到密码问题,可以检查服务配置文件/lib/systemd/system/x11vnc.service是否与下面的一致,如果不一致,可以考虑使用下面的内容替换。

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target

vnc客户端方面,我使用的是realVNC,一个免费的客户端,适用于macOS和windows。windows上的客户端有很多,不过macOS上免费可用的并不多。macOS上其实自带有一个可用的vnc客户端,在/System/Library/CoreServices/Applications/Screen Sharing.app不过实测体验下来不算好用,其中的缩放功能不如realVNC,不能指定端口号所以不适合某些VNC server配置,而扩展的剪贴板等功能仅适用于server为macOS的情况。

分类

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注