随笔 - 27  文章 - 16  评论 - 1  阅读 - 36892

Windows 远程桌面连接Ubuntu操作以及各种问题解决(zz)

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

posted on   medsci  阅读(2301)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示