1. 前言
在笔记本电脑作为Ubuntu服务器使用时,大部分时候是不需要使用桌面(图形界面)的。但是,某些软件是必须要图形界面的,比如自带的浏览器,比如办公软件等等。
我们当然可以打开笔记本,直接使用桌面,但是这样就失去了笔记本电脑作为服务器的初衷。我们想要的是,服务器固定在一个位置,不需要再变动,一切操作都可以远程。
2. 远程控制Ubuntu桌面概述
远程控制Ubuntu桌面,常用的方法包括:
- 使用VNCServer:安装配置VNCServer,通过VNC远程
- 使用自带的远程控制功能:开启Ubuntu22自带的远程控制,通过RDP或VNC远程
- 使用专业的远程控制软件:安装使用专业的远程控制软件,比如向日葵和RustDesk
3. 使用VNCServer
3.1. 安装配置VNCServer
1、安装图形化界面gnome
1 | apt-get update && apt-get upgrade -y |
2、安装vncserver并运行
1 | apt-get install -y vnc4server # Ubuntu18/Ubuntu20 |
3、修改vncserver配置
1 | cp -p ~/.vnc/xstartup ~/.vnc/xstartup.bak |
写入内容为:
1 |
|
4、重启vnc会话
1 | vncserver -kill :1 |
参考文档:
- 百度智能云 - Ubuntu18.04安装图形化界面并使用VNCViewer连接
- 阿里云 - 通过VNC搭建Ubuntu 18.04和20.04图形界面
- 在 Ubuntu 22.04 上安装和配置 VNC 远程桌面
3.2. 使用VNCViewer远程
1、本地安装VNCViewer
2、启动VNCViewer,新建连接
参数包括:
- 主机的IP和端口(5901)
- VNC连接密码
3.3. 问题:VNC连接灰屏
问题描述:在使用VNCViewer连接Ubuntu22中安装的vncserver时,第一次连接正常,第二次连接出现了灰屏。
解决办法:修改 xstartup 配置,然后重启vnc会话
1 |
|
参考文档:Ubuntu 安装 TightVNCServer 时灰屏
3.4. 问题:弹窗prevents Wi-Fi scans
问题描述:在使用VNCViewer连接Ubuntu22中安装的vncserver时,正常连接,但是会不停弹窗提示输入密码。
弹窗提示内容为:
1 | System policy prevents Wi-Fi scans |
输入密码后,还会继续弹窗,无限循环。
解决办法:wifi scan授权。
1 | vim /etc/polkit-1/localauthority/50-local.d/wifi.scan.pkla |
写入如下内容:
1 | [Allow Wifi Scan] |
参考文档:解决Ubuntu”Authentication required. System policy prevents WiFi scans”问题
4. 使用自带的远程控制功能
4.1. 开启Ubuntu22自带的远程控制
【安装配置VNC Server】一节中的方法,同样适用Ubuntu22。
除此之外,Ubuntu22内置了远程控制功能,可以直接开启RDP和VNC。因此,在使用Ubuntu22时,这种方法更加简单。
图形界面操作:Settings -> Sharing -> Remote Desktop
- 开启 Remote Desktop:支持Windows的Remote Desktop Connection远程连接
- 开启 Remote Control:支持使用远程连接软件进行操作控制
- 开启 Enable Legacy VNC Protocol:支持使用VNC客户端连接和操作,同时建议选择 Require a password
- 设置 Password:在Authentication部分设置密码,用于VNC连接
这种方法开启的VNC服务,端口默认为 5900
参考文档:
4.2. 问题:VNC连接报错bad rectangle
在使用VNCViewer连接Ubuntu22自带的VNC时,可能会报错:
1 | Attempting to reconnect to VNC Server... |
解决办法:在VNCViewer中的Properties配置中,把Options中的 Picture quality 从 Automatic 调成 High
参考文档:
4.3. 问题:Ubuntu22自带的远程控制重启失效
问题描述:Ubuntu22自带的远程控制功能,在重启后会失效。
具体来说:
- 原生的登录功能,需要我们的设备连接显示器,并解锁登录才能够使用。
- 原生的桌面共享,设置的用于连接的用户密码,会随着系统重启而使用随机字符串填充,影响我们登录。
解决办法:使用脚本自动对系统远程控制相关功能进行配置。
1 | wget https://github.com/soulteary/ubuntu-remote-control-helper/raw/main/example/installer.sh |
参考文档:
5. 使用专业的远程控制软件
5.1. 安装配置向日葵
配置了VNC,为什么还需要向日葵?答:使用向日葵的好处是不用考虑vnc配置问题,直接连Ubuntu原生桌面。
1、参考向日葵官方文档,安装向日葵
安装过程可能报错:
1 | dpkg: dependency problems prevent configuration of sunloginclient: |
解决办法:安装 libgconf-2-4
1 | apt-get install libgconf-2-4 |
安装过程可能报错报错缺少 libwebkit2gtk-xxx
解决办法:安装 libwebkit2gtk ,修改并重新打包 deb
参考文档:
- Linux安装向日葵解决libgconf-2-4依赖问题
- Ubuntu-24.10无法安装Sunlogin-15.2的解决方案
- ubuntu24.04缺少libwebkit2gtk-4.0-37 依赖
- pkgs.org - Search Results for libwebkit2gtk
2、安装 lightdm ,并重启主机
1 | apt install -y lightdm |
3、查看向日葵服务状态
1 | systemctl status runsunloginclient |
4、运行向日葵
图形界面运行(推荐):
图形界面启动向日葵,登录个人账号,并设置开机自动启动。
命令行运行:
1 | sudo /usr/local/sunlogin/bin/sunloginclient |
参考文档:
5.2. 问题:向日葵连接卡住或黑屏
问题描述:使用向日葵远程,可能会卡在 正在建立远程连接… ,或者登录后黑屏。
问题原因:向日葵要求显示管理器使用 lightdm,或者 gdm 不开启 wayland。
解决办法:显示管理器切换 lightdm,或者 gdm 关闭 wayland。
切换lightdm:
1 | cat /etc/X11/default-display-manager |
gdm 关闭 wayland:
1 | cat /etc/X11/default-display-manager |
参考文档:《Ubuntu22安装使用安卓模拟器Waydroid》