RealVNC

2022-06-23 14:51:13 字數 2252 閱讀 3879

使用linux伺服器,在一般情況下是不太用桌面環境的。不過現在我想著開發用linux,如使用pycharm這種ide,還是很方便的。這樣還是需要桌面環境的,然而我們位置不多,就將伺服器的螢幕摘下了,那麼就想著用vnc來搞下遠端桌面連線。

這個部落格主要說到想用vnc來做遠端連線,然而遇到各種問題,最終選擇了teamviewer的區域網連線方式。在實際使用中,長時間,如半天一天的連線會導致teamviewer的顯示出現問題,表現為某些標題欄消失,輸入法顯示不出來,在主機上新增螢幕,發現桌面環境已經出現問題,需要重啟才行。另外一個問題,就是無法多使用者連線。所以需要類似虛擬桌面的這種效果,能每個人都連線過去,各自使用一份桌面。機緣巧合,我發現樹莓派是有vnc的,開啟之後,連線訪問完全無問題。這個讓我很苦惱,因為原來搞這個花了不少時間卻以失敗告終,而在樹莓派只需enable,簡單無腦。通過ps命令看下其vnc程序:

這裡看到的是vncserver-x11-serviced,和以前搞得不太一樣啊,以前的x11vnc或者tiger vnc什麼的。後來瞭解了下,樹莓派用的是real vnc的服務。real vnc是目前最成功的vnc解決方案,以前用的vnc viewer就是real vnc的產品。所以就轉移到了real vnc上來試試,發現真的就實現了ubuntu系統遠端vnc的訪問,下面會記錄主要操作步驟。

安裝成功後,根據文件指導,在命令列輸入vnclicensewiz即可調出許可證設定,如下:

目前個人使用,註冊個real vnc的賬號以繼續後面的步驟。本來安裝的過程中已經顯示生成key了,不過一時沒找到,先用個企業版的新增進去,命令為:sudo vnclicense -add whjrk-uxy7v-q34m9-czu8l-8kgfa。效果如下:

因為需要虛擬模式,所以輸入如下命令啟用開機啟動:

sudo systemctl enable vncserver-virtuald.service

然後輸入如下命令開啟服務:

sudo systemctl start vncserver-virtuald.service

這樣連線總是提示沒有許可證,因為這個命令列啟動服務,許可證總是不會在命令重啟後生效。而且最關鍵的一點是,設定好許可證,連線上, 但立即就退出了。

可能對新手來說,尤其是這種兼職運維,沒第二個人諮詢的,很容易被一點小問題絆倒。而我還有很多“主航道”工作,不能在此花費太多時間精力,或者說這種工作也可以變成迭代式的,以後沒事就再試試,說不定就解決了。因此也就換成了server模式,雖然這樣不能多個人一同用桌面了。改為這種方式,我發現直接:

sudo service vncserver-x11-serviced start

就會在角落出現vnc的托盤,這種是在虛擬模式中沒有的。

之前的沒許可證的問題這裡會有提示,在托盤中設定後就可以了,所以原來用命令列方式設定可能不會被識別到。這裡使用的是6.3的vnc connect,直接通過雲連線。

實際上我是想要通過區域網連線的,但是輸入區域網ip,連線無任何反應。新的ubuntu18.04lts應該是沒有防火牆的,檢視發現5900埠好像都沒被佔用:

這樣搞得我都懷疑如何雲連線到這臺機器的了,不過萬幸的是現在已經可以遠端了,先見好就收。為什麼這麼慫呢?這是一臺主要開發用的機器,上面配置了深度學習環境還用了許久。為了遠端桌面,不小心搞得差點崩潰,還有本來fstab中的/dev/sde自動掛載不知道為何變成了/dev/sdc導致無法開機。也難怪很多人是能不動就不動,有時候一點點配置問題讓系統崩潰都是很棘手的。

總結我當前遠端桌面效果就是,不能本地區域網連線,只能server模式下通過雲連線。通過windows的vnc viewer連線到ubuntu,速度很快,無卡頓。