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

很多情况下,有必要的使用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    就可解决问题

版权声明:本文为博主原创文章,转载请标注文章来源

 

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页