X11vnc连接客户端:
连接工具推荐(仅为up本人推荐): MobaXterm_Personal
官方链接:MobaXterm free Xserver and tabbed SSH client for Windows (mobatek.net)
X11VNC安装(这里推荐两种sudo apt 和 sudo yum安装):
sudo yum 附图,sudo apt未附图,但是操作图像一样,up本人是yum命令所以未附图,还请见谅!
Linux发行版查询(命令行查询):
可以通过查看所使用的 Linux 发行版来确定您是在使用 sudo yum 还是 sudo apt 命令。
- Ubuntu 或基于 Debian 的系统:
如果系统是 Ubuntu 或基于 Debian 的系统,将使用 sudo apt 命令。
一些常见的基于 Debian 的系统包括:Ubuntu、Linux Mint、Debian 等。
- Red Hat、CentOS 或基于 Fedora 的系统:
如果系统是 Red Hat、CentOS 或基于 Fedora 的系统,您将使用 sudo yum 命令。
一些常见的基于 Red Hat 的系统包括:CentOS、Fedora、Oracle Linux 等。
- 命令查询:
可以尝试在终端中输入 lsb_release -a 命令来获取关于您的 Linux 发行版的详细信息。输出中的 "Distributor ID" 字段将告诉您所使用的发行版。
基于 Debian 或 Ubuntu 的 Linux 系统:
- 更新系统中的软件包到最新版本 更新期间等待即可,无需任何操作等待更新完成
sudo apt -y update
- 输入命令安装命令安装 x11vnc (-y表示直接同意安装,等待安装完成即可):
sudo apt install -y x11vnc
-
初始化 x11vnc 并 创建密码文件 (注意密码文件路径;密码路径文件可以自定义)
-
输入完成后会让输入密码和确认输入密码 输入完成后 y 即可完成密码文件的创建
sudo x11vnc -storepasswd /etc/x11vnc.pass
-
启动x11vnc 指定密码文件的路径 (路径替换为自己设置的密码文件路径):
-
输入完成后会初始化x11vnc,等待初始化完成后即可 在这里不需要任何操作
sudo x11vnc -rfbauth /etc/x11vnc.pass
-
修改映射端口(可选) 在这里已经可以启动了 默认vnc端口为 5900:
-
可不选此步骤
# 可选 修改vnc映射端口方法 x11vnc 默认端口 5900
vim /usr/lib/systemd/system/x11vnc.service
# 在文件中找到包含 -rfbport 5900 的行,将 5900 更改为你想要使用的端口(比如 8000)。
# 保存并关闭文件。
# 重新加载 systemd 配置:
vim /usr/lib/systemd/system/x11vnc.service
# 保存并退出
# 重新加载 systemd 配置
sudo systemctl daemon-reload
在 Vim 中关闭并保存文件可以使用以下步骤:
----> 保存退出:
确保处于正常模式(Normal mode)下。如果当前处于其他模式,请按下 Esc 键返回到正常模式。
输入 :w 并按下回车键,这将保存文件。
输入 :q 并按下回车键,这将关闭 Vim 编辑器。
----> 不保存退出:
如果文件有更改并且尚未保存,Vim 将不会关闭并给出警告。可以通过以下几种方式处理这种情况:
若要强制关闭并放弃更改,请输入 :q! 并按下回车键。
若要保存更改并关闭,请输入 :wq 或 :x 并按下回车键。
若要保存更改但不立即关闭,请输入 :w 并按下回车键,然后继续编辑或执行其他操作。
-
启动 x11vnc 服务 在这里不会提示任何信息
sudo systemctl start x11vnc
-
查看 x11vnc 是否启动(可查看启动端口):
sudo systemctl status x11vnc
-
关闭 x11vnc服务
sudo systemctl stop x11vnc
-
挂载服务为自启动 (可选)
sudo systemctl enable x11vnc
基于 Red Hat、CentOS 和 Fedora 的 Linux 系统:
-
更新系统中的软件包到最新版本 更新期间等待即可,无需任何操作等待更新完成
sudo yum -y update
-
输入命令安装命令安装 x11vnc (-y表示直接同意安装,等待安装完成即可):
sudo yum install -y x11vnc
-
初始化 x11vnc 并 创建密码文件 (注意密码文件路径;密码路径文件可以自定义)
-
输入完成后会让输入密码和确认输入密码 输入完成后 y 即可完成密码文件的创建
sudo x11vnc -storepasswd /etc/x11vnc.pass
-
启动x11vnc 指定密码文件的路径 (路径替换为自己设置的密码文件路径):
-
输入完成后会初始化x11vnc,等待初始化完成后即可 在这里不需要任何操作
x11vnc -rfbauth /etc/x11vnc.pass
-
修改映射端口(可选) 在这里已经可以启动了 默认vnc端口为 5900:
-
可不选此步骤
# 可选 修改vnc映射端口方法 x11vnc 默认端口 5900
vim /usr/lib/systemd/system/x11vnc.service
# 在文件中找到包含 -rfbport 5900 的行,将 5900 更改为你想要使用的端口(比如 8000)。
# 保存并关闭文件。
# 重新加载 systemd 配置:
vim /usr/lib/systemd/system/x11vnc.service
# 保存并退出
# 重新加载 systemd 配置
sudo systemctl daemon-reload
在 Vim 中关闭并保存文件可以使用以下步骤:
----> 保存退出:
确保处于正常模式(Normal mode)下。如果当前处于其他模式,请按下 Esc 键返回到正常模式。
输入 :w 并按下回车键,这将保存文件。
输入 :q 并按下回车键,这将关闭 Vim 编辑器。
----> 不保存退出:
如果文件有更改并且尚未保存,Vim 将不会关闭并给出警告。可以通过以下几种方式处理这种情况:
若要强制关闭并放弃更改,请输入 :q! 并按下回车键。
若要保存更改并关闭,请输入 :wq 或 :x 并按下回车键。
若要保存更改但不立即关闭,请输入 :w 并按下回车键,然后继续编辑或执行其他操作。
-
启动 x11vnc 服务 在这里不会提示任何信息
sudo systemctl start x11vnc
-
查看 x11vnc 是否启动(可查看启动端口):
sudo systemctl status x11vnc
-
关闭 x11vnc服务
sudo systemctl stop x11vnc
-
挂载服务为自启动 (可选)
sudo systemctl enable x11vnc
错误分析:
错误1 x11vnc 无法连接到 X DISPLAY:
-
错误原因分析:
1. X Server 未运行: 在启动 x11vnc 之前,请确保 X Server(显示器)正在运行。x11vnc 不会启动 X Server,它依赖于一个正在运行的 X Server。您可以通过执行 startx 或 systemctl start lightdm(或其他显示管理器)来启动 X Server。
2. 权限问题: 确保您有足够的权限连接到 X DISPLAY。通常,您需要以正在运行 X 会话的用户身份运行 x11vnc。请确保使用 x11vnc 的用户与 X 会话的用户相同。
3. MIT-MAGIC-COOKIE 文件: 如果有用户已登录 X 会话,x11vnc 需要访问 MIT-MAGIC-COOKIE 文件。确保 x11vnc 的用户有读取 MIT-MAGIC-COOKIE 文件的权限。您可以使用 -auth 选项显式指定 cookie 文件的位置。
-
错误详细日志:
15/01/2024 10:12:50 XOpenDisplay(":0") failed.
15/01/2024 10:12:50 Trying again with XAUTHLOCALHOSTNAME=localhost ...
15/01/2024 10:12:50 ***************************************
15/01/2024 10:12:50 *** XOpenDisplay failed (:0)
*** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
*** There may be "Xlib:" error messages above with details about the failure.
-
错误修复:
启动 显示器管理器
sudo systemctl start lightdm
查看是否启动成功
sudo systemctl status lightdm
错误2 端口占用:
- 错误分析(使用以下命令查看当前系统上的端口占用情况 找到5900端口占用):
sudo netstat -tulpn | grep LISTEN
- 关闭端口占用程序或者是修改x11vuc映射端口
参照我上述安装方式,修改映射端口
在安装其他服务的时候避免端口冲突,x11vnc安装默认端口为 5900 端口 应避免