Bootstrap

使用X11VNC远程连接统信UOS

原文链接:使用X11VNC远程连接统信UOS
hello,大家好!继我们之前介绍了使用xrdp远程连接统信UOS桌面操作系统后,今天我要带大家了解另一种远程连接方法——使用X11VNC。通过在统信UOS上安装X11VNC服务,您可以轻松地实现从MACOS、Linux、Windows等不同操作系统进行远程连接。
X11VNC是一个基于X11的VNC(Virtual Network Computing)服务器软件,它允许您通过网络远程访问和控制您的统信UOS桌面。与xrdp相比,X11VNC提供了不同的功能和优势,尤其是在与现有X会话的交互方面。

本文将分为四个部分,逐步指导您如何在统信UOS上安装和配置X11VNC,以及如何从其他操作系统远程连接到UOS。
1、安装X11VNC远程连接测试 - 首先,我们将介绍如何在统信UOS上安装X11VNC,并进行初步的远程连接测试。
2、设置X11VNC密码远程连接测试 - 为了保障安全性,接下来我们会讲解如何为X11VNC设置密码,并测试带密码的远程连接。
3、后台运行X11VNC远程连接测试 - 此部分将展示如何配置X11VNC在后台运行,这对于长时间远程控制尤其重要。
4、设置X11VNC后台服务远程连接测试 - 最后,我们将指导您如何将X11VNC设置为后台服务,确保它在系统启动时自动运行,以便于持续远程访问。

一、安装X11VNC远程连接测试
1.查看系统信息

pdsyw@pdsyw-PC:~/Desktop$ cat /etc/os-version 
[Version] 
SystemName=UOS Desktop
SystemName[zh_CN]=统信桌面操作系统
ProductType=Desktop
ProductType[zh_CN]=桌面
EditionName=Professional
EditionName[zh_CN]=专业版
MajorVersion=20
MinorVersion=1060
OsBuild=11014.100.100
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ uname -a
Linux pdsyw-PC 4.19.0-arm64-desktop #6030 SMP Tue Jun 27 15:28:10 CST 2023 aarch64 GNU/Linux
pdsyw@pdsyw-PC:~/Desktop$

image.png

2.更新系统源

pdsyw@pdsyw-PC:~/Desktop$ sudo apt update 
命中:2 https://pro-driver-packages.uniontech.com eagle InRelease                              
命中:1 https://professional-packages.chinauos.com/desktop-professional eagle InRelease        
命中:4 https://cdn-professional-security.chinauos.com eagle/1060 InRelease                    
命中:3 https://professional-packages.chinauos.com/printer eagle InRelease                     
命中:5 https://app-store-files.uniontech.com/240123132047921/appstore eagle-pro InRelease     
正在读取软件包列表... 完成                                     
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
有 188 个软件包可以升级。请执行 ‘apt list --upgradable’ 来查看它们。
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

3.安装X11VNC

pdsyw@pdsyw-PC:~/Desktop$ sudo apt install x11vnc -y
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  squashfs-tools x11-apps x11-session-utils xinit
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
  libtk8.6 libvncserver1 tcl tk tk8.6 x11vnc-data xterm
建议安装:
  xfonts-cyrillic
下列【新】软件包将被安装:
  libtk8.6 libvncserver1 tcl tk tk8.6 x11vnc x11vnc-data xterm
升级了 0 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 188 个软件包未被升级。
需要下载 2,918 kB 的归档。
解压缩后会消耗 7,859 kB 的额外空间。
获取:1 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libtk8.6 arm64 8.6.9-2 [728 kB]
获取:2 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 libvncserver1 arm64 0.9.11+dfsg-1.3.3-deepin1 [200 kB]
获取:3 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 tcl arm64 8.6.9+1 [5,636 B]
获取:4 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 tk8.6 arm64 8.6.9-2 [72.1 kB]
获取:5 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 tk arm64 8.6.9+1 [5,676 B]
获取:6 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 x11vnc-data all 0.9.13.2-1+dde [227 kB]
获取:7 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 x11vnc arm64 0.9.13.2-1+dde [934 kB]
获取:8 https://professional-packages.chinauos.com/desktop-professional eagle/main arm64 xterm arm64 344.2-1+security [746 kB]
已下载 2,918 kB,耗时 2(1,526 kB/s)
正在选中未选择的软件包 libtk8.6:arm64。
(正在读取数据库 ... 系统当前共安装有 198268 个文件和目录。)
准备解压 .../0-libtk8.6_8.6.9-2_arm64.deb  ...
正在解压 libtk8.6:arm64 (8.6.9-2) ...
/var/cache/apt/archives/libtk8.6_8.6.9-2_arm64.deb
正在选中未选择的软件包 libvncserver1:arm64。
准备解压 .../1-libvncserver1_0.9.11+dfsg-1.3.3-deepin1_arm64.deb  ...
正在解压 libvncserver1:arm64 (0.9.11+dfsg-1.3.3-deepin1) ...
/var/cache/apt/archives/libvncserver1_0.9.11+dfsg-1.3.3-deepin1_arm64.deb
正在选中未选择的软件包 tcl。
准备解压 .../2-tcl_8.6.9+1_arm64.deb  ...
正在解压 tcl (8.6.9+1) ...
/var/cache/apt/archives/tcl_8.6.9+1_arm64.deb
正在选中未选择的软件包 tk8.6。
准备解压 .../3-tk8.6_8.6.9-2_arm64.deb  ...
正在解压 tk8.6 (8.6.9-2) ...
/var/cache/apt/archives/tk8.6_8.6.9-2_arm64.deb
正在选中未选择的软件包 tk。
准备解压 .../4-tk_8.6.9+1_arm64.deb  ...
正在解压 tk (8.6.9+1) ...
/var/cache/apt/archives/tk_8.6.9+1_arm64.deb
正在选中未选择的软件包 x11vnc-data。
准备解压 .../5-x11vnc-data_0.9.13.2-1+dde_all.deb  ...
正在解压 x11vnc-data (0.9.13.2-1+dde) ...
/var/cache/apt/archives/x11vnc-data_0.9.13.2-1+dde_all.deb
正在选中未选择的软件包 x11vnc。
准备解压 .../6-x11vnc_0.9.13.2-1+dde_arm64.deb  ...
正在解压 x11vnc (0.9.13.2-1+dde) ...
/var/cache/apt/archives/x11vnc_0.9.13.2-1+dde_arm64.deb
正在选中未选择的软件包 xterm。
准备解压 .../7-xterm_344.2-1+security_arm64.deb  ...
正在解压 xterm (344.2-1+security) ...
/var/cache/apt/archives/xterm_344.2-1+security_arm64.deb
正在设置 libtk8.6:arm64 (8.6.9-2) ...
正在设置 libvncserver1:arm64 (0.9.11+dfsg-1.3.3-deepin1) ...
正在设置 x11vnc-data (0.9.13.2-1+dde) ...
正在设置 tcl (8.6.9+1) ...
正在设置 xterm (344.2-1+security) ...
正在设置 tk8.6 (8.6.9-2) ...
正在设置 tk (8.6.9+1) ...
正在设置 x11vnc (0.9.13.2-1+dde) ...
正在处理用于 desktop-file-utils (0.23-4) 的触发器 ...
正在处理用于 mime-support (3.62) 的触发器 ...
正在处理用于 hicolor-icon-theme (0.17-2) 的触发器 ...
正在处理用于 libc-bin (2.28.23-deepin1) 的触发器 ...
正在处理用于 man-db (2.8.5-2) 的触发器 ...
正在处理用于 bamfdaemon (0.5.4.1-1+eagle) 的触发器 ...
Rebuilding /usr/share/applications/bamf-2.index...
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

4.启动X11VNC

pdsyw@pdsyw-PC:~/Desktop$ x11vnc -display :0

image.png

5.客户端连接
image.png

6.连接成功
image.png

二、设置X11VNC密码远程连接测试
1.设置密码

pdsyw@pdsyw-PC:~/Desktop$ x11vnc -storepasswd
Enter VNC password: 
Verify password:    
Write password to /home/pdsyw/.vnc/passwd?  [y]/n y
Password written to: /home/pdsyw/.vnc/passwd
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

2.启动X11VNC

pdsyw@pdsyw-PC:~/Desktop$ x11vnc -usepw -forever -display :0
解释:
-usepw:使用之前设置的密码。
-forever:使服务器在客户端断开连接后继续运行。
-display :0:指定服务器应连接到的显示屏(:0是主显示屏)。

image.png

3.客户端连接
image.png

4.输入密码
image.png

5.连接成功
image.png

三、后台运行X11VNC远程连接测试
1.后台启动X11VNC

pdsyw@pdsyw-PC:~/Desktop$ nohup x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared &
[1] 9871
pdsyw@pdsyw-PC:~/Desktop$ nohup: 忽略输入并把输出追加到'nohup.out'

pdsyw@pdsyw-PC:~/Desktop$ ps -aux | grep 9871
pdsyw     9871  0.0  0.0  23076  6848 pts/0    S    16:46   0:00 x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/pdsyw/.vnc/passwd -rfbport 5900 -shared
pdsyw    10112  0.0  0.0  13596   648 pts/0    S+   16:47   0:00 grep 9871
pdsyw@pdsyw-PC:~/Desktop$ 
解释:
-auth guess:尝试自动找到正确的X11授权文件。
-forever:使服务器在客户端断开后继续运行。
-loop:在网络连接断开时重新尝试。
-noxdamage:提高与某些桌面环境的兼容性。
-repeat:处理某些键盘重复问题。
-rfbauth:指定密码文件。
-rfbport:指定VNC监听的端口。
-shared:允许多个客户端连接。

image.png

2.关闭终端窗口
image.png

3.客户端连接
image.png

4.输入密码
image.png

5.连接成功
image.png

四、设置X11VNC后台服务远程连接测试
1.编辑服务文件

pdsyw@pdsyw-PC:~/Desktop$ sudo vim /etc/systemd/system/x11vnc.service
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ cat /etc/systemd/system/x11vnc.service
[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/pdsyw/.vnc/passwd -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target

pdsyw@pdsyw-PC:~/Desktop$ 

image.png

2.启动服务

pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl restart x11vnc.service 
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl status x11vnc.service 
● x11vnc.service - Start x11vnc at startup.
   Loaded: loaded (/etc/systemd/system/x11vnc.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2024-01-23 16:51:32 CST; 5s ago
 Main PID: 11167 (x11vnc)
    Tasks: 2 (limit: 4915)
   Memory: 8.5M
   CGroup: /system.slice/x11vnc.service
           ├─11167 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home
           └─11179 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home

123 16:51:36 pdsyw-PC x11vnc[11167]: 23/01/2024 16:51:36
123 16:51:36 pdsyw-PC x11vnc[11167]: The VNC desktop is:      pdsyw-PC:0
123 16:51:36 pdsyw-PC x11vnc[11167]: PORT=5900
123 16:51:36 pdsyw-PC x11vnc[11167]: *******************************************************
123 16:51:36 pdsyw-PC x11vnc[11167]: Have you tried the x11vnc '-ncache' VNC client-side pix
123 16:51:36 pdsyw-PC x11vnc[11167]: The scheme stores pixel data offscreen on the VNC viewe
123 16:51:36 pdsyw-PC x11vnc[11167]: retrieval.  It should work with any VNC viewer.  Try it
123 16:51:36 pdsyw-PC x11vnc[11167]:     x11vnc -ncache 10 ...
123 16:51:36 pdsyw-PC x11vnc[11167]: One can also add -ncache_cr for smooth 'copyrect' windo
123 16:51:36 pdsyw-PC x11vnc[11167]: More info: http://www.karlrunge.com/x11vnc/faq.html#faq
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

3.查看端口号

pdsyw@pdsyw-PC:~/Desktop$ ps -ef | grep x11vnc
root     11167     1  0 16:51 ?        00:00:00 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/pdsyw/.vnc/passwd -rfbport 5900 -shared
root     11179 11167  0 16:51 ?        00:00:00 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/pdsyw/.vnc/passwd -rfbport 5900 -shared
pdsyw    11495 10527  0 16:52 pts/0    00:00:00 grep x11vnc
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

4.客户端连接
image.png

5.输入密码
image.png

6.连接成功
image.png

7.停止服务

pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl stop x11vnc.service 
pdsyw@pdsyw-PC:~/Desktop$ 
pdsyw@pdsyw-PC:~/Desktop$ sudo systemctl status x11vnc.service 
● x11vnc.service - Start x11vnc at startup.
   Loaded: loaded (/etc/systemd/system/x11vnc.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

123 16:54:54 pdsyw-PC x11vnc[12288]: retrieval.  It should work with any VNC viewer.  Try it
123 16:54:54 pdsyw-PC x11vnc[12288]:     x11vnc -ncache 10 ...
123 16:54:54 pdsyw-PC x11vnc[12288]: One can also add -ncache_cr for smooth 'copyrect' windo
123 16:54:54 pdsyw-PC x11vnc[12288]: More info: http://www.karlrunge.com/x11vnc/faq.html#faq
123 16:54:55 pdsyw-PC x11vnc[12288]: caught signal: 15
123 16:54:55 pdsyw-PC x11vnc[12288]: 23/01/2024 16:54:55 deleted 32 tile_row polling images.
123 16:54:55 pdsyw-PC systemd[1]: Stopping Start x11vnc at startup....
123 16:54:55 pdsyw-PC systemd[1]: x11vnc.service: Main process exited, code=killed, status=1
123 16:54:55 pdsyw-PC systemd[1]: x11vnc.service: Succeeded.
123 16:54:55 pdsyw-PC systemd[1]: Stopped Start x11vnc at startup..
pdsyw@pdsyw-PC:~/Desktop$ 

image.png

8.查看端口号

pdsyw@pdsyw-PC:~/Desktop$ ps -ef |grep x11
pdsyw     2083  1973  0 16:35 ?        00:00:09 kwin_x11 -platform dde-kwin-xcb:appFilePath=/usr/bin/kwin_no_scale
pdsyw    12652 10527  0 16:55 pts/0    00:00:00 grep x11
pdsyw@pdsyw-PC:~/Desktop$ 

image.png通过本文的指南,无论您的技术水平如何,都能轻松掌握使用X11VNC进行远程连接的技巧。这将为您在远程工作、学习或系统管理中提供更多的灵活性和便利。

请不要忘记分享和转发这篇文章,点击关注我们的公众号,并点赞“在看”。我们将继续带来更多关于统信UOS的技术分享和实用教程。

非常感谢大家的阅读,期待在评论区看到您的反馈和交流!

;