https://blog.csdn.net/qq_22370409/article/details/88914093
很多情況下,有必要的使用Windows 遠程登錄Ubuntu系統繼續學習以及工作。主要分為兩種。
第一種:通過SSH服務(使用xshell/SecureCrt等工具)來遠程訪問,編寫終端命令,不過這個是無界面的,很多人也喜歡這種方式,因為快捷方便,但是不足的地方沒有可視化圖形界面。如果工作或者學習當中需要圖形界面的操作,則選擇第二種
第二種:通過可視化界面遠程訪問,像Windows下的自帶的遠程工具一樣,能夠以圖形化的界面遠程操作完成以下使用SSH連接無法實現的操作。
該文章只講述第二種,如有看客需要第一種,請自行百度或者留言。
在Ubuntu這一端,在終端執行以下指令:
1.
sudo apt-get install xrdp
2.
sudo apt-get install vnc4server // Ubuntu 20.04 則 sudo apt install tightvncserver
3.
sudo apt-get install xubuntu-desktop
安裝完畢后:
4. 繼續執行 echo "xfce4-session" >~/.xsession
5. 進入系統-》首選項-》桌面共享,或者直接搜索桌面共享,如圖所示
將【允許其他人查看您的桌面】這一項勾上,如圖所示:
6. 在終端執行:
sudo service xrdp restart
7. 最后查詢Ubuntu的 IP地址
在終端下執行 ifconfig 指令獲得ip地址
以上就是在Ubuntu的基本設置。
下面操作請在Windows下執行
按win+r 跳出如下窗口,並輸入mstsc,回車
然后輸入 Ubuntu的ip 地址 如:192.168.0.103,回車即可
然后將按以下圖片所示:
Module : 默認不變
username: 輸入ubuntu的用戶名
password: 輸入 ubuntu用戶的對應密碼即可。
以上是完成基本遠程連接的操作。
以下是各種錯誤的解決方案:
如果你按上面執行后還是無法遠程連接,請多次檢查設置后,再看下文:
第一步: ping ubuntu電腦的對應ip,來排除是否網絡問題:
ping 192.168.0.103
PING 192.168.0.103 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=8.91 ms
說明網絡不是問題,如果不是如上顯示請檢查網絡問題
第二步: 在Ubuntu電腦上或者ssh進入
執行 /etc/init.d/xrdp restart //啟動 xrdp 服務
Stopping xrdp: sesman xrdp.
Starting xrdp: It looks like xrdp is allready running,
if not delete the xrdp.pid file and try again xrdp sesman.
結果出錯
解決方案:
查看是否還有xrdp 進程在運行
root@healer:~# ps -A | grep sesman
13244 pts/3 00:00:00 sesman
root@healer:~# ps -A | grep xrdp
顯示沒有xrdp 進程在運行,啟動 xrdp 進程
root@healer:~# /etc/init.d/xrdp start //依然出錯
Starting xrdp: It looks like xrdp is allready running,
if not delete the xrdp.pid file and try again
刪除 xrdp.pid 文件再啟動
root@healer:~# rm /var/run/xrdp/xrdp.pid
root@healer:~# # /etc/init.d/xrdp start
Starting xrdp: xrdp sesman.
root@healer:/var/run/xrdp# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3350 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5910 0.0.0.0:* LISTEN
最后:
啟動xrdp服務,
sudo /etc/init.d/xrdp restart
此時會啟用相應端口,配置方面默認即可。
通過命令:
netstat -tnl
查看 3350 3389 5910 這三個端口處於LISTEN,一般就沒問題了。
再重新在windows電腦上遠程連接。
如果還是遠程連接不上:請執行以下操作
sudo vim /etc/xrdp/sesman.ini,添加如下兩行:
param8=-SecurityTypes
param9=None
接着執行
rm /var/run/xrdp/xrdp.pid
sudo /etc/init.d/xrdp restart
最后windows那端繼續執行遠程鏈接即可。
運行一段時間后,出現xrdp_mm_process_login_response: login failed
問題原因:遠程桌面沒有正確關閉,雖然在windows 系統關閉遠程桌面連接,但是在里linux上的進程還在運行,導致連接數量達到上限,出現問題。
解決:通過設置sesman.in文件內的參數,解決。
root@healer:~# cat /etc/xrdp/sesman.ini
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
[Sessions]
X11DisplayOffset=10
MaxSessions=50
KillDisconnected=1
IdleTimeLimit=0
DisconnectedTimeLimit=0
[Logging]
LogFile=/var/log/xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG
[X11rdp]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp
[Xvnc]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp
param5=-localhost
param6=-dpi
param7=96
可以修改會話設置 :將最大會話限制該大 MaxSessions=50
將KillDisconnected=1;則每次斷開連接時,linux都會關閉會話進程。
然后重啟/etc/init.d/xrdp restart 就可解決問題
————————————————
版權聲明:本文為CSDN博主「Healer_S」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_22370409/article/details/88914093