距离上次更新已经过了 691 天,文中部分内容可能已经过时,如有疑问,请在下方留言。

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

环境

Linux Mint 21.1

安装所需软件

sudo apt install x11vnc
sudo apt install xrdp
Bash

配置vnc密码

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

x11vnc -storepasswd
Bash

设置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
Bash

设置启动并自启动

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

修改xrdp选项

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

sudo vim /etc/xrdp/xrdp.ini
Bash

在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
Bash

使用

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

问题修复

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

sudo systemctl status xrdp
Bash

输出有个错误如下:

[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
Bash

解压

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

安装所需依赖

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

编译安装

./bootstrap
./configure
sudo make install 
Bash

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

重启服务

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