ubuntu搭建vnc实现windows端控制linux桌面

vnc-server和vnc4server

ubuntu18.04

为了实现远程监控服务器,我决定利用vnc端口配合路由器的端口转发,在大型局域网内进行服务器管理,包括windows和linux,于是我就百度搜索了vncserver,得到了一些方法

sudo apt-get install vnc-server

这个是安装不了的,为什么呢,反正就是安装不了

sudo apt-get update
sudo apt-get upgrade

输入之后再进行上边的指令,也是不行的,vnc4server同理,就是失败,纳闷得我直接把ubuntu18.04重装了一次,换成ubuntu20.04(大概是这个版本吧)

ubuntu20.04

之前安装的话,终端会告诉我,这个软件需要很多依赖包,我查了一下,原因大概是安装什么软件不彻底的话,就会引起这种问题,那我要是去卸载呢,系统告诉我,我没有安装这个玩意,那我要是安装呢,也是装不了那个依赖包的,我不知道为啥,毕竟我只是个小白啊!于是折腾了几天的我终于放弃了

x11vnc

安装

安装很简单,为什么选择这个vnc,因为你用

sudo apt-cache search vncserver

就会出现很多vnc软件,只有这个是带有中文解释的
据说ubuntu软件中心也有这个东西,叫做x11vnc服务器,怎么下载随便你

sudo apt-get update
sudo apt-get install x11vnc

设置登录密码

安装完成,接下来设置密码,这是是登陆密码

sudo x11vnc -storepasswd

这里是有引导创建的,第一次输入和再次输入以及确认
会出现的界面

设置一个通用密码文件/etc/x11vnc.pass,然后复制到桌面的.vnc下的passwd里去

sudo x11vnc -storepasswd in /etc/x11vnc.pass
sudo cp ~/.vnc/passwd /etc/x11vnc.pass

~/.vnc/passwd这个密码文件我用gedit打开是一堆中文乱码,管他的,反正能用,总之这个文件就是x11vnc通用的密码存储位置

启用服务

启用指令很长,内容分为如下:

  1. -rfbport:指定启动端口
  2. -rfbauth:指定密码文件路径
  3. -o:日志文件路径
  4. -forever:一直连接

方法一:失败

sudo /usr/bin/x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900

说是这么说,我就没成功启用过,每次netstat -aptn都没有5900端口

方法二

x11vnc -forever -shared

这我盲猜不行,因为一般会报错说没有x11vnc这个指令

方法三

x11vnc -forever -shared -rfbauth ~/.vnc/passwd

猜不行,理由同上

方法四:失败

sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/xx/.vnc/passwd -rfbport 5900 -shared

我觉得这个应该可以,我用cd到x11vnc文件夹下用service x11vnc start启动,然后service x11vnc status查看状态时也会出现这一行,但是netstat -aptn仍然没有5900端口
方法源址

方法五:失败

x11vnc -rfbport 5903 -rfbauth ~/.vnc/passwd  -display :0 -forever -bg -repeat -nowf -o ~/.vnc/x11vnc.log

也许也能试试这个吧
方法源址

方法六:成功

cd到/bin里去,然后输入命令

sudo service x11vnc start

简单粗暴,我自己想的

检测启动是否成功

查看所有开放的端口

sudo netstat -aptn

查看进程

ps -aux|grep x11vnc
netstat -nap|grep 5903

端口5903就灵活查看了

然后就是自启动的设置,目前我还没成功设置自启动

自启动设置

设置自启动一:失败

sudo gedit /etc/init/x11vnc.config

内容:

start on login-session-start
script
/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes
-noxdamage -rfbauth /etc/x11vnc.pass -forever -bg -rfbport 5900 -o
/var/log/x11vnc.log
end script

结果:无法开机自启动
方法源地址

设置自启动二:失败

sudo gedit /etc/init/x11vnc.conf 

内容:

start on login-session-start 
 
script 
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900 
end script 

结果:无法开机自启动
方法源地址

设置自启动三:失败

sudo gedit /lib/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 /etc/x11vnc.pass -rfbport 5900 -shared 
 
[Install] 
WantedBy=multi-user.target

指令:
有的有这个,看ubuntu版本吧

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

下面的都要,不看版本

sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service

结果:无法开机自启动,别说什么reboot之后,服务器reboot三次了,每次netstat -aptn都没有5900,已经看吐了

设置自启动四

sudo gedit /etc/init/x11vnc.conf

内容:

 # description "Start x11vnc on system boot"
 
  description "x11vnc"
  
  start on runlevel [2345]
  stop on runlevel [^2345]
  
  console log
  
  respawn
  respawn limit 20 5

  exec /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth 
  /home/xx/.vnc/passwd -rfbport 5900 -shared

方法源址
我感觉可以用这个

处理服务指令

启动服务

systemctl start nginx.service

开机自启动

systemctl enable nginx.service

停止开机自启动

systemctl disable nginx.service

查看当前状态

systemctl status nginx.service

重新启动服务

systemctl restart nginx.service

查看所有已启动服务

systemctl list-units --type=service
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值