去评论
海欣资源

如何使用VNC远程桌面

share
2022/05/21 16:22:27
一、遥控端准备
直接下载VNC Viewer,网址为:https://www.realvnc.com/en/connect/download/viewer/
根据系统的不同选择不同版本,由于博主遥控端为Ubuntu,因此选择Linux-DEB X64

下载完成后双击安装或者dpkg -i安装即可。安装完毕后,在终端:
~$ vncviewer

即可打开软件。(忽略下图中已经有的几个ip。。。)


二、移动端准备
博主移动端也为Ubuntu系统。安装x11vnc:
sudo apt-get install x11vnc

值得注意的是,这里有的人推荐使用vncserver,这个东西确实不错,但是用ros的时候会出现rviz打不开等一系列问题。因此这里首先推荐使用x11vnc,本文最后会补充上vncserver的方式。
安装完毕后左上角搜索,单击打开即可。(图来自于参考链接,懒得截新图了。。。)


打开后,首先出现的界面用来设置端口号,默认5900:

单击OK以后,稍等1、2秒,会弹出来第二个界面,用来设置通信密码,注意上面Accept Connections需要勾选:

密码随便设点简单的比如1、2之类的就行,方便。最后单击OK。

三、移动端和遥控端进行连接
在遥控端的VNC Viewer软件中,输入移动端ip和端口号(格式:192.168.43.62:5900),后者即为刚才在x11server中第一个界面内填写的。


然后输入密码即可实现远程桌面:

至于怎么关闭x11vnc,只能在杀死于后台。下述展示的命令,第一行为还没有打开x11vnc的情况,第二条为打开以后的情况,第三条也为打开以后的情况,第四条为关闭以后的情况。那么如何关闭呢?

aaeon@aaeon-desktop:~$  ps -ef|grep -i vnc
root      7106     1  0 22:29 ?        00:00:00 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/aaeon/.vnc/passwd -rfbport 5900 -shared
aaeon    15205 14012  0 22:32 pts/0    00:00:00 grep --color=auto -i vnc
aaeon@aaeon-desktop:~$  ps -ef|grep -i vnc
root      7106     1  0 22:29 ?        00:00:00 /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/aaeon/.vnc/passwd -rfbport 5900 -shared
aaeon    16496 12269  5 22:32 ?        00:00:01 x11vnc -gui tray=setpass -rfbport PROMPT -bg -o %HOME/.x11vnc.log.%VNCDISPLAY
aaeon    16596 16495  0 22:32 ?        00:00:00 /usr/bin/tail -f /tmp/x11vnc.tray.PpLO1S
aaeon    16651 16495  0 22:32 ?        00:00:00 [x11vnc] <defunct>
aaeon    18128 14012  0 22:33 pts/0    00:00:00 grep --color=auto -i vnc
aaeon@aaeon-desktop:~$ ps -e|grep -i vnc
7106 ?        00:00:00 x11vnc
16496 ?        00:00:21 x11vnc
16651 ?        00:00:00 x11vnc <defunct>
aaeon@aaeon-desktop:~$ ps -e|grep -i vnc
7106 ?        00:00:00 x11vnc


kill -9 PID

上述命令的PID用 ps -e|grep -i vnc第一列的数值替换。
至此,x11vnc的方法介绍完毕。下面vncserver的方法并不推荐。
特殊用法:可以在移动端电脑终端直接输入x11vnc,可以绕开界面的使用,直接在遥控端连接相应ip和端口即可控制移动端,这样没有密码是很危险的。
* 补充vncserver使用方法

首先安装
    sudo apt-get install vnc4server
    sudo apt-get install xfce4

然后在终端运行一下vncserver,生成配置文件
vncserver :1
这个过程中需要设置一个密码。

接下来杀掉刚运行的这个vncserver
vncserver -kill :1

接下来修改启动文件/home/【你的】/.vnc/xstartup,将其中的内容改为:
    #!/bin/sh
    unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    startxfce4 &
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    vncconfig -iconic &

网上如下还有这么改的,但是容易出现灰屏、或者不显示桌面图标,不建议:
    #!/bin/sh

    export XKL_XMODMAP_DISABLE=1
    # unset SESSION_MANAGER
    unset DBUS_SESSION_BUS_ADDRESS
    [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
    [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
    xsetroot -solid grey
    vncconfig -iconic &
    gnome-session &
    gnome-panel &
    gnome-settings-daemon &
    metacity &
    nautilus &
    gnome-terminal &

保存推出后,在终端重新启动:
vncserver :1
然后在遥控端使用VNC Viewer,在上面栏目输入:格式:192.168.43.62:1
然后就弹出来了,值得注意的是使用vncserver并不代表把桌面远程copy过来,而是相当于复制了一套系统,这套系统开程序什么的并不在移动端显示。