ubuntu系統共享桌面的使用和配置
內容轉載自我的部落格
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:5900
、lsof -i:5901
和lsof -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 name
為192.168.10.11:5900
,Additional 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 [email protected]
此命令無回顯輸出,用戶直接使用支援vnc的軟體在本地打開即可,遠程地址填寫為127.0.0.1:8080
,根據提示輸入密碼(內網ubuntu機器開啟桌面共享時設置的密碼)
特點: 此方法可以使用zfb
的用戶名和密碼查看其他用戶(例如root
)的遠程桌面,命令如下
ssh -p 7001 -NL localhost:8080:localhost:5901 [email protected]
相比上一條命令,只是修改為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
來解決,但是此時共享剪切板和跨設備複製粘貼文件就不能用了
最好可以重新登陸一次,也許就正常了