linux 源码安装 xrdp

前言

xrdp可以做两件事,第一件事就是可以使得linux支持RDP协议,使得linux桌面能够通过mstsc连接,第二件事就是RDP代理,我们能通过xrdp连接到其他人的RDP资源

前者,需要编译xrdp和xorgxrdp两个工程;后者,需要编译xrdp和neutrinordpRDP两个工程,本文偏向后者

前者不建议源码编译,直接yum编译会好些

Linux 非源码安装 xrdp_qq_38781075的博客-CSDN博客

正文

下载基础源码

GitHub - neutrinolabs/xrdp: xrdp: an open source RDP server

下载相关依赖项,并放入源码中(点击中间两个带颜色的文件夹),下载完了之后,要把名字也改为相应的名字(libpainter、librfxcodec)

并修改里面librfxcodec的脚本的权限

chmod 777 librfxcodec/src/nasm_lt.sh

官方安装文档

Home · neutrinolabs/xrdp Wiki · GitHub

点击自己的系统进入安装的步骤界面,下面以Ubuntu为例讲解

Ubuntu安装依赖

sudo apt-get install git autoconf libtool pkg-config gcc g++ make  libssl-dev libpam0g-dev \
             libjpeg-dev libx11-dev libxfixes-dev libxrandr-dev  flex bison libxml2-dev \
             intltool xsltproc xutils-dev python-libxml2 g++ xutils libfuse-dev \
             libmp3lame-dev nasm libpixman-1-dev xserver-xorg-dev

Centos 7

yum update
yum install -y finger cmake patch gcc make autoconf libtool automake pkgconfig openssl-devel gettext file \
pam-devel libX11-devel libXfixes-devel libjpeg-devel libXrandr-devel nasm \
flex bison gcc-c++ libxslt perl-libxml-perl xorg-x11-font-utils xmlto-tex 
# 清理的时候卡住
systemctl stop initial-setup-text

Centos 8

yum install -y  cmake patch gcc make autoconf libtool automake pkgconfig openssl-devel gettext file pam-devel libX11-devel libXfixes-devel libjpeg-devel libXrandr-devel  flex bison gcc-c++ libxslt perl-libxml-perl xorg-x11-font-utils

安装

./bootstrap
./configure
make CFLAGS="-Wno-missing-braces"
make install

开启xrdp,并开机启动

sudo systemctl enable xrdp
sudo service xrdp start

现在可以连接linux上的3389端口试试xrdp了,如果有界面就成功了

题外话

此外,如果想要连接windows的rdp,需要安装libfreerdp-dev的1.0.2版本

安装方法一(目前暂时无法使用)

https://pkgs.org/search/?q=freerdp

上图中,四个都安装

前面configure的时候需要加配置项

./configure --enable-neutrinordp

make安装的时候会报错,找不到代码,只需要找到对应文件,把有问题的代码用双斜线注释即可

freerdp旧版本手动编译很困难,建议用rpm之类的办法安装

编译freerdp-mxcai2005-ChinaUnix博客

安装方法二

下载这个版本的freerdp

GitHub - matt335672/NeutrinoRDP at later-gcc

Ubuntu安装依赖

sudo apt-get install build-essential git-core cmake libssl-dev libx11-dev libxext-dev libxinerama-dev \
libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev \
libxrandr-dev  libavutil-dev libavcodec-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

Centos 7

sudo yum install -y gcc git cmake openssl-devel libX11-devel libXext-devel libXinerama-devel libXcursor-devel \
libXdamage-devel libXv-devel libxkbfile-devel alsa-lib-devel cups-devel ffmpeg-devel libXrandr-devel pam-devel

Centos 8

yum install -y gcc git cmake openssl-devel libX11-devel libXext-devel libXinerama-devel libXcursor-devel libXdamage-devel libXv-devel alsa-lib-devel cups-devel libXrandr-devel pam-devel

Centos 8还需要额外下载安装依赖 

Rpmfind mirror

rpm -ivh libxkbfile-devel-1.1.0-1.el8.x86_64.rpm nasm-2.15.03-3.el8.x86_64.rpm

安装方法

cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON .
make
sudo make install

前面xrdp的configure的时候需要加配置项,xrdp后面安装方法一样,这个安装方法make不会报错

./configure --enable-neutrinordp

如果报错

No package 'freerdp' found

请把上面下载的freerdp目录下的freerdp的pc文件拷贝到pkgconfig目录下,如

cp freerdp.pc /usr/lib64/pkgconfig/

xrdp启动可能找不到库文件

vim /etc/ld.so.conf

后面追加一行

/usr/local/lib/

在命令行输入,重新刷新一下配置就好了

ldconfig

或者

echo /usr/local/lib >> /etc/ld.so.conf.d/neutrinordp.conf 
ldconfig

启动xrdp命令

systemctl start xrdp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值