Ubuntu 22.04 LTS(Intel NUC)XFCE桌面环境下可远程访问登录界面的安全稳定GUI远程桌面方案配置问询
Ubuntu 22.04 LTS(Intel NUC)XFCE桌面环境下可远程访问登录界面的安全稳定GUI远程桌面方案配置问询
嘿,我完全懂你这种需求——毕竟要远程维护设备,没法物理接触的时候连登录界面都进不去真的太闹心了。结合你的Ubuntu 22.04 LTS + XFCE + Intel NUC的环境,我给你一套从头配置的稳定方案,重点解决登录界面远程访问、稳定性和安全性这几个核心点:
一、基础环境准备(重装后第一步)
- 先确保系统更新到最新状态:
sudo apt update && sudo apt upgrade -y - 安装XFCE桌面环境(如果重装时没选的话):
sudo apt install xfce4 xfce4-goodies -y - 设置XFCE为默认桌面环境(避免后续冲突):
echo "xfce4-session" > ~/.xsession sudo cp ~/.xsession /etc/skel/.xsession
二、安装并配置支持登录界面访问的远程桌面工具(xrdp + lightdm)
我们选择xrdp,它轻量、兼容XFCE,而且可以配置为在系统启动时就运行,甚至能访问登录界面:
- 安装xrdp和依赖组件:
sudo apt install xrdp lightdm -y - 配置xrdp服务,让它能在登录界面阶段启动:
- 编辑xrdp的配置文件:
sudo nano /etc/xrdp/xrdp.ini - 在文件末尾添加以下内容,确保使用XFCE并允许登录界面访问:
[Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=0.0.0.0 port=-1 code=20 - 保存并退出(按
Ctrl+O,回车,再Ctrl+X)
- 编辑xrdp的配置文件:
- 调整lightdm配置,允许远程登录请求:
sudo nano /etc/lightdm/lightdm.conf- 找到
[Seat:*]section,添加或修改以下行:allow-guest=false greeter-show-manual-login=true xserver-allow-tcp=true
- 找到
- 重启相关服务,确保设置生效:
sudo systemctl enable --now xrdp lightdm sudo systemctl restart xrdp lightdm
三、安全性强化配置
远程访问安全是重中之重,我们做这几个关键设置:
- 限制xrdp服务仅监听内网IP(如果你的NUC在局域网内,不需要公网直接访问的话):
编辑/etc/xrdp/sesman.ini,找到ListenAddress,设置为你的NUC内网IP,比如:
然后重启xrdp:ListenAddress=192.168.1.100sudo systemctl restart xrdp - 配置防火墙规则,仅允许信任的IP访问xrdp端口(默认3389):
这里sudo ufw allow from 192.168.1.0/24 to any port 3389 sudo ufw enable192.168.1.0/24是你的内网网段,如果你需要从特定公网IP访问,替换成对应的IP即可。 - 禁用xrdp的明文密码传输(强制使用加密连接):
编辑/etc/xrdp/xrdp.ini,找到security_layer,设置为:
保存后重启xrdp服务。security_layer=tls
四、测试验证
- 现在重启你的NUC:
sudo reboot - 用另一台设备的远程桌面客户端(Windows自带的“远程桌面连接”、Linux的Remmina、macOS的Microsoft Remote Desktop)连接NUC的IP,应该能看到XFCE的登录界面,输入用户名密码后就能进入桌面了。
- 测试几次重启,确认每次都能正常远程访问登录界面,桌面运行稳定。
备选方案(如果xrdp出现兼容性问题)
如果xrdp在你的Intel NUC上有奇怪的兼容性问题,可以试试VNC配合x11vnc:
- 安装x11vnc:
sudo apt install x11vnc -y - 设置开机自动启动x11vnc并绑定登录界面:
写入以下内容:sudo x11vnc -storepasswd /etc/x11vnc.pass sudo nano /etc/systemd/system/x11vnc.service[Unit] Description=Start x11vnc at startup. After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -forever -bg -o /var/log/x11vnc.log [Install] WantedBy=multi-user.target - 启用服务:
然后同样配置防火墙规则,允许5900端口访问,测试远程连接即可。sudo systemctl enable --now x11vnc
备注:内容来源于stack exchange,提问作者Ashu
相关产品推荐
相关产品推荐

