ubuntu系統共享桌面的使用和配置

zfb132發表於2021-02-27

內容轉載自我的部落格

1. ubuntu共享桌面

在ubuntu桌面發行版開啟螢幕共享功能,步驟如下:

設定-->共享-->螢幕共享
    開啟總開關
    允許連線控制螢幕
    需要密碼(自己設定密碼,最多8位)
    網路開啟
設定-->共享-->遠端登入
    開啟總開關

檢視當前使用者佔用的共享桌面埠lsof -i:5900

zfb@my-Server:~/build$ lsof -i:5900
COMMAND    PID USER  FD   TYPE   DEVICE SIZE/OFF NODE NAME
vino-serv 4308 zfb   11u  IPv6 12350285      0t0  TCP *:5900 (LISTEN)
vino-serv 4308 zfb   12u  IPv4 12350286      0t0  TCP *:5900 (LISTEN)

本使用者只能看到自己佔用的埠,一般從5900開始,一個使用者佔用一個,只有開啟共享的使用者才佔用。例如,使用者root1和使用者zfb都開啟了共享,則使用者zfb執行命令lsof -i:5900lsof -i:5901lsof -i:5902,只有一個命令有返回結果,即自己佔用的那個埠。但是,使用命令ss -lnt可以看到5900-5902埠都在被佔用,只是無法看到具體程式和使用者

2. 區域網登入遠端桌面

2.1 ubuntu使用remmina登入遠端桌面

開啟軟體remmina,選擇VNC協議,輸入要連線的機器的地址192.168.10.11:5900(附帶埠),然後會提示輸入密碼,這裡要輸入5900埠對應的那個使用者的密碼(共享桌面密碼,不是使用者密碼),即可成功看到桌面。

2.2 在windows登入遠端桌面

下載vnc viewer並安裝,開啟軟體,根據提示輸入ip地址192.168.10.11:5900,如果提示加密策略不一致。那麼需要回到開啟桌面共享的ubuntu機器上,輸入以下命令關閉加密即可
gsettings set org.gnome.Vino require-encryption false
或者安裝dconf-editor工具進行配置,輸入以下命令即可安裝:
sudo apt-get install dconf-editor
然後桌面搜尋dconf-editor開啟,依次展開org->gnome->desktop->remote-access,然後取消requlre-encryption的勾選即可

2.3 Android使用RD Client登入遠端桌面

下載安裝Microsoft Remote Desktop軟體,開啟軟體新增Desktop,設定PC name192.168.10.11:5900Additional Options根據需要設定,然後儲存,單擊即可連線

3. 外網登入遠端桌面

3.1 方法一

前提:

  • 可以在外網使用ssh訪問內網的ubuntu機器(比如使用frp進行內網穿透,公網雲主機的ip為56.78.12.34,這臺內網伺服器的frpc.ini檔案中配置的遠端ssh埠為7001
  • 內網ubuntu伺服器已經開啟桌面共享

使用如下程式碼通過公網雲主機ssh遠端連線到內網的ubuntu伺服器,並且把伺服器的5901埠對映到使用者本地的8080埠
ssh -p 7001 -NL localhost:8080:localhost:5900 zfb@56.78.12.34
此命令無回顯輸出,使用者直接使用支援vnc的軟體在本地開啟即可,遠端地址填寫為127.0.0.1:8080,根據提示輸入密碼(內網ubuntu機器開啟桌面共享時設定的密碼)
特點: 此方法可以使用zfb的使用者名稱和密碼檢視其他使用者(例如root)的遠端桌面,命令如下
ssh -p 7001 -NL localhost:8080:localhost:5901 zfb@56.78.12.34
相比上一條命令,只是修改為5901埠(root使用者的監聽埠)

3.2 方法二

使用frp轉發此埠(遠端桌面監聽的埠,一般從5900開始),具體方法為:

  • 若已配置過frp轉發ssh內網穿透,則雲主機的frps.ini不需要任何變化
  • 此方法的所有修改僅限於內網機器的frpc.ini檔案,在檔案中新增以下內容:
[rdp]
type = tcp
local_ip = 127.0.0.1
# 假如只需要轉發佔用5901埠的使用者的桌面
local_port = 5900
# 可以任意設定公網雲主機的埠,不要與其他服務衝突即可
remote_port = 9901
  • 公網雲主機安全策略要放通9901埠

使用者直接使用支援vnc的軟體在本地開啟即可,遠端地址填寫為56.78.12.34:9901,根據提示輸入密碼(內網ubuntu機器開啟桌面共享時設定的密碼)
注意: 2、3和4都只能在使用者登入之後(螢幕上的桌面為該使用者時)才能顯示畫面,否則不行

4. 安裝xrdp實現多使用者登入遠端桌面

根據教程,下載壓縮包解壓得到指令碼,(最好在root使用者)執行即可。然後登出桌面環境,此時即可通過3389埠利用rdp協議登入xorg桌面,多個使用者都可以登入,且可以同時登入,但是物理機器要保留在登入介面
注意: 同一個使用者,本地和遠端同時只能登入一個

此步驟與前面不衝突,是一種新的方法(也許依賴第一步),VNC仍然需要登入才可用

使用frp對本地3389埠進行內網穿透,只需要修改frp客戶端配置

[rdp]
type = tcp
local_ip = 127.0.0.1
# 假如只需要轉發佔用3389埠的使用者的桌面
local_port = 3389
# 可以任意設定公網雲主機的埠,不要與其他服務衝突即可
remote_port = 6689

在遠端桌面遇到終端報錯Transport endpoint is not connected,且看到桌面有thinclient_drives驅動器時的解決辦法
可以使用程式碼sudo umount -f thinclient_drives來解決,但是此時共享剪下板和跨裝置複製貼上檔案就不能用了
最好可以重新登陸一次,也許就正常了

相關文章