当前位置: 首页 > backend >正文

ubuntu使用VNC实现远程桌面

2022.11更新
目前我已经放弃VNC了,虽然局域网连着画面还行,但是太容易出bug了。
现在更推荐向日葵或Todesk这些远程控制软件,虽然画面糊一点,但是稳定,而且不受局域网限制。


前言

我是在树莓派4B上安装的Ubuntu20.10,想通过VNC实现远程桌面连接,进行接下来的试验。
但是在网上搜索了许多关于VNC连接的博客,也尝试了各种方法,但总是出现各种问题,要么连接不上,要么连接上了就黑屏灰屏,总之出现了各种问题,重装了n次系统,最终找到了一种实现的方法。
注:已经试验过Ubunt18.04、Ubuntu20.04与Ubuntu20.10,均正常实现

Windows端

安装VNC Viewer,进入其VNC Viewer官网下载安装。
在这里插入图片描述

Ubuntu端

进行VNC设置之前,需要有图形界面,没有的可以执行以下代码安装图形界面

sudo apt install ubuntu-desktop
apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
sudo reboot #重启即可看到图形界面
1. 安装x11vnc程序
sudo apt-get install x11vnc
2. 安装lightdm

因为使用的是gnome图形界面,为了保证x11vnc与图形界面的兼容性,这里需要安装lightdm

sudo apt-get install lightdm

安装过程中会跳出一个界面,选择lightdm即可
在这里插入图片描述

3. 创建配置目录
sudo mkdir -pv /home/【USERNAME】/.vnc

其中的**【USERNAME】**替换成你的用户名

4. 生成当前用户的VNC连接密码
sudo x11vnc -storepasswd 【Password】 /home/【USERNAME】/.vnc/passwd

其中的**【Password】处设置连接VNC时的密码,【USERNAME】**替换成你的用户名
在这里插入图片描述

5. 生成VNC配置文件
cat>x11vnc.service<<EOF
[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 [Install] 
WantedBy=multi-user.target
EOF

配置文件生成后将其移动到/lib/systemd/sydtem/目录下

sudo mv x11vnc.service /lib/systemd/system/x11vnc.service

修改权限为root

sudo chown root:root /lib/systemd/system/x11vnc.service
6. 重新加载服务配置文件
sudo systemctl daemon-reload

执行以下命令可以查看服务开启情况

sudo systemctl list-unit-files | grep x11vnc

在这里插入图片描述

7. 开机启动VNC服务
sudo systemctl enable x11vnc.service
8. 重启系统

因为之前安装了lightdm图形管理程序,所以需要重启一下系统

sudo reboot
9. 查看一下监听端口
sudo ss -tunlp

可以看到x11vnc的监听端口已经打开了
在这里插入图片描述

远程连接

打开windows端的VNC Viewer,输入IP地址:5900即192.168.6.6:5900进行远程连接,密码是之前设置的密码。
在这里插入图片描述

在这里插入图片描述

http://www.xdnf.cn/news/11441.html

相关文章:

  • android drawtext 方法,8.2.13 drawText方法:绘制字符串
  • Windows系统字体优化方案(系统字体替换)
  • AAV相关研究最新进展(2023年5月)
  • 针对centos(Linux)多网卡bond绑定模式及其操作
  • LinearLayout
  • 29 | 分布式高可靠之流量控制:大禹治水,在疏不在堵
  • 【Android OpenGL开发】OpenGL ES与EGL介绍
  • ContentProvider的相关知识总结
  • 新加坡云服务器推荐 - 适合跨境外贸等业务
  • 2 v11补丁安装_老款macbook机型欺骗补丁强制安装macOS11 Big Sur图文详解
  • Linux下权限的修改-JDK的配置-文件的常见操作
  • Java学习 布局管理器之GridLayout(网格布局)
  • 企业最新几种好用的数据同步工具对比
  • Qt 多线程的几种实现方式
  • Linux系统三步安装QQ
  • C/C++网络编程
  • JSTL-核心标签库
  • 动态域名内网穿透(永久免费)
  • 设计模式七大原则-迪米特法原则
  • 安全小课堂丨什么是暴力破解?如何防止暴力破解
  • 谷歌浏览器、Yandex浏览器使用体验分享
  • 光流法(optical flow)简介
  • 13800138000来电?手机管家:小心诈骗
  • Windows 10 离线安装 .NET Framework 3.5 的方法和技巧
  • WISP模式
  • waterdrop介绍
  • CreateThread()函数及_beginthreadex()函数
  • C++ ofstream和ifstream详细用法
  • 使用Latex制作分享,演讲,Presentation用的Slides,PPT——Beamer教程
  • .htaccess语法讲解