Linux 非源码安装 xrdp

基本环境说明

我的是Centos 7 mini 或者 Ubuntu最小化安装,想通过mstsc连接到xrdp,再通过xrdp连接到 Centos 7 mini,不安装桌面,只打开 xterm

1、安装依赖

Centos

yum install -y epel-release
yum install -y xrdp xorgxrdp xterm

Ubuntu

apt-get install -y xrdp xorgxrdp xserver-xorg-core xterm

2、修改进入xrdp的开机启动项

echo xterm >> ~/.xsession
chmod 777 ~/.xsession

.xsession 是家目录里的,每个用户可以配置自己的默认启动应用

需要显示桌面的,.xsession 这里写的是桌面程序,可能需要做额外配置(如安装桌面,写配置文件等),这里不做深究

比如Centos mini需要安装

yum groupinstall -y "X Window System"
yum groupinstall -y "GNOME Desktop"

Ubuntu mini 需要安装 (貌似最新的Ubuntu没有无桌面版本,mini都是第三方的制作的)

apt install lxde-core

3、启动两个服务,关闭防火墙

systemctl restart xrdp
systemctl restart xrdp-sesman
# Ubuntu 好像没有防火墙
systemctl stop firewalld

现在可以通过mstsc连接到3389端口到 Centos 7 或者 Ubuntu 的xterm程序

4、关于配置文件

# xrdp主程序,核心服务
vim /etc/xrdp/xrdp.ini
# sesman,管理linux用户认证以及X11转发
vim /etc/xrdp/sesman.ini

sesman.ini 可以配置启动Xvnc或者Xorg的参数,比如我想给Xvnc加个5秒钟断连,就是追加(Xvnc的参数可以使用 Xvnc -help 查看)

[Xvnc]
param=-MaxDisconnectionTime
param=5

Xorg的断连配置在

[Sessions]
KillDisconnected=true
DisconnectedTimeLimit=1

xrdp.ini 配置文件里面有个 [Xvnc] 和 [Xorg],[Xorg] 正常是被注释的,我们可以打开它,mstsc连上去界面上就会出现 [Xorg] 的选项

改了配置文件记得重启服务

具体区别我也不是很清楚,只是知道 Xvnc 和 Xorg 都是xrdp需要拉起的程序,Xvnc是TigerVNC团队写的,然后Xorg是xrdp团队写的,xorg的使用需要安装 xorgxrdp

Xorg特征官方机翻

xorgxrdp 支持屏幕大小调整。当 RDP 客户端连接时,屏幕将调整为客户端提供的大小。

xorgxrdp 在内部使用每像素 24 位。xrdp 根据请求为 RDP 客户端转换颜色深度。即使 RDP 客户端使用不同的颜色深度,它们也可以断开连接并重新连接到同一会话。

5、关于日志文件

cat /var/log/xrdp.log
cat /var/log/xrdp-sesman.log
cat ~/.xsession-errors

6、排查故障

a、查看 .xsession-errors 报错

X connection to :21.0 broken (explicit kill or server shutdown).

这个是没有创建 .xsession ,参考步骤2

b、查看 .xsession-errors 报错

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":21.0"
      after 8 requests (8 known processed) with 0 events remaining.
XIO:  fatal IO error 2 (没有那个文件或目录) on X server ":21.0"
      after 11 requests (11 known processed) with 0 events remaining.

这个是 .xsession 没有执行权限 ,参考步骤2

7、环境变量

环境变量可能需要修改

vim /etc/xrdp/startwm.sh

参考

vnc xrdp远程桌面,环境变量未加载的问题_lightliubo的博客-CSDN博客

http://hichenwang.blogspot.com/2014/08/setup-environment-variables-for-xrdp-in.html

8、其他

vnc 断连

Xvnc断连比较麻烦,虽然会话断连,但是tmp的临时文件还在,还需要清理临时文件,不然会占着端口

linux - How to find disconnected xrdp sessions? - Server Fault

vnc - What is the correct way to kill a vncsession in linux? - Super User

还有关于 thinclient_drives 目录

d??????????  ? ?    ?         ?            ? thinclient_drives

这个目录是关于驱动器、剪切板的,不用的话可以直接 

sudo umount $HOME/thinclient_drives

或者修改 xrdp.ini ,将allow_channels 设置为 false ,不允许channel

参考

http://catch22cats.blogspot.com/2018/05/xrdp-creates-strange-directory-called.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值