ubuntu 设置x11vnc服务

Ubuntu 18.04 设置x11vnc服务

自带的vino-server也可以用但是不好用,在ubuntu论坛上看见推荐的x11vnc(ubuntu关于vnc的帮助页面),使用设置一下,结果发现有一些坑需要填,所以写下来方便下次使用

转载请说明出处,谢谢配合😆

下载并安装x11vnc

shell 复制代码
apt update -y
apt install -y x11vnc

配置开启自启动

shell 复制代码
#让x11vnc在任何环境下通过systemd自动启动
vim /lib/systemd/system/x11vnc.service

#将下方内容填写到/lib/systemd/system/x11vnc.service文件中,USERNAME换成你自己环境中的用户,也可以使用x11vnc -storepasswd 指定认证密码存储位置
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared -display :0

[Install]
WantedBy=multi-user.target

#重载 systemd 管理的单元文件,使配置生效(没有权限的话使用root用户或sudo)
systemctl daemon-reload

#开机自启设置
systemctl enable x11vnc.service

#启动x11vnc
systemctl start x11vnc.service

#重启x11vnc
systemctl restart x11vnc.service

#关闭x11vnc
systemctl stop x11vnc.service

#查看x11vnc状态
systemctl status x11vnc.service

问题与解决方案

  1. x11vnc连接黑屏
shell 复制代码
#查看ubuntu的桌面管理环境是否是GDM3,x11vnc 在 GDM3 中不起作用,因此需要使用lightdm桌面管理环境

#安装lightdm(权限不够使用root用户或sudo)
apt install -y lightdm

#切换至lightdm
dpkg-reconfigure lightdm
#选择lightdm,如下图
  1. x11vnc使用-auth guess无法启动
shell 复制代码
#使用guess可能会出现问题
#也可以通过下面的命令查看auth指定lightdm Xauthority文件的路径
ps aux | grep auth
  1. 不使-display :0会出现如下问题
bash 复制代码
 xauth:  unable to generate an authority file name 
xauth:  unable to generate an authority file name
-auth guess: using default XAUTHORITY for display='unset' XOpenDisplay("") failed.
Trying again with XAUTHLOCALHOSTNAME=localhost ...
XOpenDisplay failed. No -display or DISPLAY.
Trying ":0" in 4 seconds.  Press Ctrl-C to abort.

查看x11vnc进程与防火墙

shell 复制代码
#查看进程是否存在,
netstat -ntlup | grep x11vnc

#查看防火墙是否允许允许vnc指定的端口访问

shell 复制代码
#允许5900端口访问
iptables -A INPUT -p tcp --dport 5900-j ACCEPT
#或直接使用iptables -F

#没有iptables查看ufw状态
ufw status

#禁用ufw
ufw disable
相关推荐
欧云服务器4 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI4 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
The️5 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年5 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys2005 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟5 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬5 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
老师用之于民5 天前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code
小虾爬滑丫爬5 天前
Ubuntu 上设置防火墙
ubuntu·防火墙
林开落L5 天前
解决云服务器内存不足:2 分钟搞定 Ubuntu swap 交换区配置(新手友好版)
运维·服务器·ubuntu·swap交换区