參考:
https://blog.csdn.net/weixin_41803874/article/details/81233789
一共兩台電腦,分别為服務端和用戶端,為與場景聯系友善,我們将需要被顯示桌面的電腦稱為移動端,将顯示移動端桌面并進行遠端操控的電腦成為遙控端。
一、遙控端準備
直接下載下傳VNC Viewer,網址為:https://www.realvnc.com/en/connect/download/viewer/
根據系統的不同選擇不同版本,由于部落客遙控端為Ubuntu,是以選擇Linux-DEB X64
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR9keFRkT0kFROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwkzMwATMyMjM0AzNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
下載下傳完成後輕按兩下安裝或者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的情況,第二條為打開以後的情況,第三條也為打開以後的情況,第四條為關閉以後的情況。那麼如何關閉呢?
[email protected]:~$ 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
[email protected]:~$ 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
[email protected]:~$ ps -e|grep -i vnc
7106 ? 00:00:00 x11vnc
16496 ? 00:00:21 x11vnc
16651 ? 00:00:00 x11vnc <defunct>
[email protected]:~$ 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過來,而是相當于複制了一套系統,這套系統開程式什麼的并不在移動端顯示。