menu Chancel's blog
rss_feed
Chancel's blog
有善始者实繁,能克终者盖寡。

Linux远程桌面VNC设置

作者:Chancel Yang, 创建:2023-01-11, 字数:1200, 已阅:48, 最后更新:2023-01-11

这篇文章更新于 469 天前,文中部分信息可能失效,请自行甄别无效内容。

Linux桌面众多,主流的Gnome/KDE都支持VNC远程协议,VNC全称Virtual Network Computing,与RDP协议类似都支持实现远程桌面

使用Linux发行版作为日常办公,时常需要远程操作,在Windows上我们可以选择的远程桌面非常丰富,Teamviewer是非常好用的,Linux VNC也能实现类似Teamviewer的效果,即远程物理会话效果

远程桌面的实现通常包含2种,分别是物理会话(单用户)与虚拟会话(多用户),常用的VNC服务配置程序包括TigerVNCTurboVNCRealVNC,这三种都比较通用,在大部分的Linux发行版都适用

对于X11桌面而言有着专用的X11VNC,X11是一种协议,GnomeKDE Plasma均实现了X11协议

The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.

接下来在Manjaro KDE Plasma安装VNC Server并启动物理会话

Bash
sudo pacman -S x11vnc
x11vnc -display :0

以上会创建一个没有密码的物理会话,通过任意的VNC客户端连接到[ip]:5900都可以控制这台机器,并在会话结束之后结束运行

要在后台保持运行且考虑到安全问题,我们首先创建密码认证文件

Bash
x11vnc -usepw

第一次运行会要求输入密码,然后生成一个密码文件位于$HOME/.vnc/passwd中,接下来我们使用supervisor持久化VNC远程服务

INI
[program:x11vnc]
command=/usr/bin/x11vnc -display :0 -autoport 55900 -usepw -xkb -noxrecord -noxfixes -noxdamage -forever
environment=HOME=/home/chancel
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
stdout_logfile_maxbytes=10MB
user=chancel

注意,必须设置环境变量HOME否则supervisor无法正常运行VNC Server


[[replyMessage== null?"发表评论":"发表评论 @ " + replyMessage.m_author]]

account_circle
email
web_asset
textsms

评论列表([[messageResponse.total]])

还没有可以显示的留言...
[[messageItem.m_author]] [[messageItem.m_author]]
[[messageItem.create_time]]
[[getEnviron(messageItem.m_environ)]]
[[subMessage.m_author]] [[subMessage.m_author]] @ [[subMessage.parent_message.m_author]] [[subMessage.parent_message.m_author]]
[[subMessage.create_time]]
[[getEnviron(messageItem.m_environ)]]