提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
有些操作需要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档位。
3.安装x11vnc
这个软件包是Ubuntu软件仓库自带的,使用apt安装就行了。
sudo apt updatesudo 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=simpleExecStart=/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
状态是running而且日志没有其他的错误,并不代表完全可以用了,还需要实际使用测试下。
4.测试
这里建议使用VNV Viewer来测试,这个软件是我使用的最好用的软件了,支持远程命令,可以放大缩小桌面,对于有些字体偏小的或者分辨率很高的桌面有奇效。当然最重要的“免费”。
注意:下载VNC Viewer,不要下载VNC Server,刚才我们配置的就是Server
VNC Viewer可以说支持的设备很全了,Windows(支持11)、MacOs、Linux、Android、IOS、树莓派。基本上涵盖了我们日常接触的所有设备了。
1.使用方法
使用方法其实很简单,默认Server就是5900端口,不要去改动它。
file里面有个New connection打开就是下面的页面,只要填VNC Server和Name就行了,VNC Server就是你刚才的设备局域网IP(WIFI也行,不限于有线),不用带端口,默认是5900,Name其实是一个标志,为了更好辨认,随便填什么都行。
填好之后选OK进入下面的认证阶段
如果出来这个页面说明网络通了,Server有回应了,接下来就进入密码认证了。选Continue继续
输入刚才设置的密码选择Remember password即可,点击OK进入下一步。这个时候你应该就能进入远程桌面了。
2.重要补充
刚才漏了一个重要的地方,这种方法必须要账号Login才行,否则/run/user/下面没有1000这个文件夹,我们都知道1000是我们安装系统创建的除了root以外的第一个账户的ID,其实就是我们日常使用的那个ID,你只要吧这个账户设置auto login进去就行了。
但是这样会引发一个安全问题,如果用显示器直接接进去就会看到你的操作,我能想到的解决方案是每次退出都锁屏,一定不要Logout,一旦Logout就会导致/run/user下面这个账户文件夹消失了。
这个问题先保存着吧,后续有解决方法再说,毕竟对于我来说远程桌面的机会很少,基本不存在这个问题。
总结
方法还是挺简单的,当然也存在一些局限,相比于远程连接软件的好处还是很明显的,比如向日葵免费用户限制300kb,teamviewer等面对不付费的用户使各种绊子,还是自食其力不求人吧。
来源地址:https://blog.csdn.net/jiexijihe945/article/details/126222983