Ubuntu18.04~Ubuntu22.04安装并配置VNC

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、VNC是什么?
  • 二、系统环境
    • 1.前提
    • 2.打开Share开关
    • 3.安装x11vnc
    • 4.测试
      • 1.使用方法
      • 2.重要补充
  • 总结


前言

有些操作需要Desktop环境而又不方便去现场看的这个方法能够满足你的需求,就是使用VNC实现远程桌面,这个方法理论上只适用于局域网环境,如果是互联网可能需要配代理什么的,这里不详细讨论。


一、VNC是什么?

当你决定配置VNC的时候你肯定已经知道什么是VNC了。当然除了VNC以外还有RDP、向日葵、Teamviewer等等,这里只讲VNC。

二、系统环境

我在Ubuntu18.04、Ubuntu20.04、Ubuntu22.04上配置成功过,架构的话aarch64和x86都是可以的,理论上risc和mips等也是可以的,只不过我没有那些设备,所以就没具体测试过。

1.前提

一切的前提都是建立在Desktop环境上的,就是你必须有桌面,Server环境我没有研究过,或许可以,请大家自行研究。

2.打开Share开关

这个是前提,打开了这个你才能在不外接显示器的场景下开启远程桌面,这里以Ubuntu18.04为例,Ubuntu22.04之前重装了,开关和Ubuntu18.04略微不一样,但是大同小异。打开settings并找到sharing选项,先把按钮调到ON档位,再把Remote Login调到ON档位。

Ubuntu18.04~Ubuntu22.04安装并配置VNC_第1张图片

3.安装x11vnc

这个软件包是Ubuntu软件仓库自带的,使用apt安装就行了。

sudo apt update
sudo apt-get install x11vnc -y

安装完成给它设置个密码保证安全性需要。

sudo x11vnc -storepasswd /etc/x11vnc.pass 

注意密码一定要记住,忘了就连不上了,就需要执行以上命令重新设置。设置完之后需要重启下x11vnc。

sudo systemctl restart x11vnc

安装完x11vnc之后需要给它配置个service,让它可以自动重启。创建service文件。

sudo vim /etc/systemd/system/x11vnc.service

将下面的内容写入上面创建的service文件,并保存。注意这个地方默认都是Ubuntu系统自带的组件,如果你的桌面不是gdm,下面的命令就可能不生效,所以维持操作系统原样就行。

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target

配置好service之后还需要手动启动下,或者重启操作系统,这里我们选择手动启动。

sudo systemctl start x11vnc

启动之后去看下状态,如果美有报错就是成功了,可以使用软件测试了。查看状态不需要sudo权限,普通权限就行了。

systemctl status x11vnc

Ubuntu18.04~Ubuntu22.04安装并配置VNC_第2张图片

状态是running而且日志没有其他的错误,并不代表完全可以用了,还需要实际使用测试下。

4.测试

这里建议使用VNV Viewer来测试,这个软件是我使用的最好用的软件了,支持远程命令,可以放大缩小桌面,对于有些字体偏小的或者分辨率很高的桌面有奇效。当然最重要的“免费”。

注意:下载VNC Viewer,不要下载VNC Server,刚才我们配置的就是Server

VNC Viewer

VNC Viewer可以说支持的设备很全了,Windows(支持11)、MacOs、Linux、Android、IOS、树莓派。基本上涵盖了我们日常接触的所有设备了。

1.使用方法

使用方法其实很简单,默认Server就是5900端口,不要去改动它。

Ubuntu18.04~Ubuntu22.04安装并配置VNC_第3张图片
file里面有个New connection打开就是下面的页面,只要填VNC Server和Name就行了,VNC Server就是你刚才的设备局域网IP(WIFI也行,不限于有线),不用带端口,默认是5900,Name其实是一个标志,为了更好辨认,随便填什么都行。

Ubuntu18.04~Ubuntu22.04安装并配置VNC_第4张图片
填好之后选OK进入下面的认证阶段

Ubuntu18.04~Ubuntu22.04安装并配置VNC_第5张图片
如果出来这个页面说明网络通了,Server有回应了,接下来就进入密码认证了。选Continue继续

Ubuntu18.04~Ubuntu22.04安装并配置VNC_第6张图片
输入刚才设置的密码选择Remember password即可,点击OK进入下一步。这个时候你应该就能进入远程桌面了。

2.重要补充

刚才漏了一个重要的地方,这种方法必须要账号Login才行,否则/run/user/下面没有1000这个文件夹,我们都知道1000是我们安装系统创建的除了root以外的第一个账户的ID,其实就是我们日常使用的那个ID,你只要吧这个账户设置auto login进去就行了。

但是这样会引发一个安全问题,如果用显示器直接接进去就会看到你的操作,我能想到的解决方案是每次退出都锁屏,一定不要Logout,一旦Logout就会导致/run/user下面这个账户文件夹消失了。

这个问题先保存着吧,后续有解决方法再说,毕竟对于我来说远程桌面的机会很少,基本不存在这个问题。


总结

方法还是挺简单的,当然也存在一些局限,相比于远程连接软件的好处还是很明显的,比如向日葵免费用户限制300kb,teamviewer等面对不付费的用户使各种绊子,还是自食其力不求人吧。

你可能感兴趣的:(ubuntu,linux,安卓,ubuntu,linux,bash,运维,服务器)