基本环境说明

我的是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

Linux 非源码安装 xrdp相关推荐

  1. Linux源码安装步骤

    Linux上几乎所有的软件都经过了GPL授权,因此几乎所有的软件都会提供源码.  而一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上 ...

  2. Linux源码安装mysql 5.6.12(cmake编译)

    转载链接:http://www.2cto.com/database/201307/229260.html Linux源码安装mysql 5.6.12(cmake编译) 1.安装make编译器(默认系统 ...

  3. Linux源码安装软件

    Linux源码安装软件 源码安装:最原始最有效的安装方式 三部曲 (1)-./configure xxx 生成makefile文件,随后需要的安装信息都是从这一步中获取 (2)make 根据makef ...

  4. linux怎么用源码安装mysql,Linux源码安装mysql步骤

    创建文件夹: mkdir  /usr/local/webserver 安装必要依赖包 yum -y install gcc gcc-c++ make ncurses-devel 安装cmake包: t ...

  5. linux 源码安装 zip/unzip

    linux 源码安装 zip/unzip 场景说明 Linux服务器,没有root权限 需要使用zip/unzip,但遗憾的是服务器没有安装 解决办法 自己用源码编译 步骤 下载zip/unzip的源 ...

  6. linux 源码安装mysql5.7_linux安装mysql5.7.27

    一.卸载 mysql安装有三种方式,包括二进制包安装(Using Generic Binaries).RPM包安装.源码安装.一般是前两种比较多 二.安装 建议路径设置按照写的来 将下载的压缩包复制到 ...

  7. Linux源码安装Python3.7出现的各种坑

    前言 自己在Linux安装过很多次Python,每次都会由于各种各样的原因出现很多问题,很无奈 安装流程 去这里先看看有哪些可用版本可用下载 下载 sudo wget http://www.pytho ...

  8. Linux源码安装软件包时--prefix的配置建议

    我们知道,使用源码安装软件包时通常会提供一个config或configure脚本对安装进行一些必要的配置,其中最为常见的是–prefix选项,它用于指定软件安装的父级目录,也就是将软件安装在哪个文件夹 ...

  9. linux源码安装浏览器,Linux系统手动安装Firefox浏览器

    大多数Linux发行版都以Firefox作为默认的浏览器,并可以轻松地从软件库中安装.例如: Debian/Ubuntu: sudo apt-get install firefox Fedora: s ...

  10. Linux -nginx-源码安装

    1.wget http://nginx.org/download/nginx-1.14.0.tar.gz 2.tar zxvf nginx-1.14.0.tar.gz 查看源码文件:/nginx/sr ...

最新文章

  1. 11个问题助你彻底搞懂工业互联网
  2. 一个不错的安全站点yehg.net
  3. windows下使用自带certutil工具校验文件MD5、SHA1、SHA256
  4. 神经网络与机器学习 笔记—基本知识点(下)
  5. mat工具MemoryAnalyzer进行分析java内存溢出hprof文件
  6. oracle 查询spid,查看数据库session的sid来查杀对应系统进程号spid
  7. linux下如何启动vsftp服务,如何在Ubuntu 18.04上使用VSFTP快速设置FTP服务器
  8. URI、URL和URN的关系
  9. Python编程基础04:输入与输出
  10. 【Flink】Flink 1.12.2 源码浅析 : TaskExecutor
  11. mysql 服务已经存在_windows下mysql主从同步时从服务器出现表已经存在解决办法
  12. 【零基础学Java】—Calendar类(三十四)
  13. 可视化分析:洞见数据的秘诀
  14. 用到f6的快捷键_让你的办公效率成倍翻得快捷键。
  15. 32个设计非常精美的国外网站作品范例(下篇)
  16. 飞机大战 雷霆战机 打字小游戏 java小游戏设计(提供源代码下载)
  17. PDCA过程模式在信息安全管理体系的应用
  18. 微信群二维码活码工具随时自动切换二维码永不过期?这样实现自动化裂变
  19. Ubuntu 安装微信网页版客户端
  20. CAD等分不显示等分点

热门文章

  1. 火端搜索V2.1原始程序
  2. cpci检索太慢_了解CPCI检索,对自己的好处
  3. 盾神与积木游戏 (贪心典例)
  4. tomcat10 实例化servlet 500错误解决办法
  5. java魔法门1_魔法门之英雄无敌5
  6. 第一个IOS app- 密码管理大师
  7. 答云淡风轻:汉化Rails报错信息,部署发布,NT服务
  8. python爬虫数据可视化豆瓣评分top250_Python数据可视化:豆瓣电影TOP250
  9. 程序员的那些事儿 -- 高级程序员买衣服
  10. 趣图:新手程序员 vs 高级程序员