linux设置远程桌面(基于x11vnc和xrdp)

环境

Linux Mint 21.1

安装所需软件

sudo apt install x11vnc
sudo apt install xrdp

配置vnc密码

输入密码,这个密码是vnc的连接密码,可以独立于用户密码,其他配置可以保留默认。

x11vnc -storepasswd

设置x11vnc开机自启动

cat << EOF | sudo tee -a /lib/systemd/system/x11vnc.service
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
#ExecStart=/usr/bin/x11vnc -forever -rfbauth $HOME/.vnc/passwd -rfbport 5900 -shared
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth $HOME/.vnc/passwd -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target
EOF

设置启动并自启动

sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service

修改xrdp选项

因为远程连接后,默认是xorg选项,需要把vnc的选项提前,并配置默认选项。

sudo vim /etc/xrdp/xrdp.ini

在xorg配置前添加如下配置

[myvnc]
name=myvnc
lib=libvnc.so
ip=ask127.0.0.1
port=ask5900
username=na
password=ask

[Xorg]
name=Xorg
lib=libxup.so
...

重启xrdp

sudo systemctl restart xrdp

使用

可以用微软远程桌面连接(注意选择myvnc或者vnc-any),或者用vnc软件直接连接。

问题修复

当远程连接时,输入密码后点击ok,发现没反映,查看日志如下:

sudo systemctl status xrdp

输出有个错误如下:

[ERROR] xrdp_wm_log_msg: error loading libvnc.so specified in xrdp.ini, please add a valid entry like 

这是仓库版本的bug,这里测试,编译安装这个版本正常。v0.9.20链接

首先下载好该版本文件

mkdir tmp
cd tmp
wget https://github.com/neutrinolabs/xrdp/releases/download/v0.9.20/xrdp-0.9.20.tar.gz

解压

tar xf xrdp-0.9.20.tar.gz
cd xrdp-0.9.20/

安装所需依赖

sudo apt install -y libtool autoconf libssl-dev libpam0g-dev libxfixes-dev libxrandr-dev nasm

编译安装

./bootstrap
./configure
sudo make install 

参照修改xrdp选项部分修改配置文件

重启服务

sudo systemctl daemon-reload
sudo systemctl restart xrdp
sudo systemctl enable xrdp
文章作者: PercyC
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 percy家园
Linux linux
喜欢就支持一下吧