linux 源码安装 xrdp

2023-05-16

前言

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux 源码安装 xrdp 的相关文章

随机推荐

  • Johnson算法PlantSimulation解决两机器多作业排版问题

    生产系统仿真应用教程PlantSimulation 周金平Johnson算法代码写错了的源代码 xff1a is i j m n y integer do y 61 Jobs ydim m 61 1 n 61 y for i 61 1 to
  • 组成原理---补码加减法,原码一两位乘法,补码一两位乘法,754标准

    翻转课堂 xff0c 学生讲课 xff0c 笔记顺便贴上来吧 万一有人需要呢 这里754标准其实可以看https blog csdn net xingqingly article details 18981671 xff0c 我没有把尾数规
  • POSIX 网络API原理

    1 POSIX 网络API 网络编程常用的API xff1a 2 IO函数的内部过程分析 2 1 Socket socket作为网络编程的第一个函数 xff0c 主要作用是用于创建句柄和对应的TCB控制块 xff1b 建立起文件描述符和内部
  • 卷积神经网络(CNN)的平移不变性和旋转不变性。

    文章目录 不变性的介绍不变性的原理 不变性的介绍 不变性意味着即使目标的外观发生了某种变化 xff0c 但是你依然可以把它识别出来 旋转不变性和平移不变性 xff1a 通俗的讲 xff0c 我给你一张图片 xff0c 你识别出来这是只狗 x
  • ubuntu22.04版本APPimage启动报错问题解决

    文章目录 前言 xff1a 报错信息解决方法结果展示你以为就完了 xff1f 天真 xff01 结果展示2结语 前言 xff1a 因为个人比较喜欢提前使用一些较新的软件 系统之类的东西 xff0c 所有在ubuntu22刚发行就选择了升级
  • 音视频封装原理简介

    1 什么是数据化封住和解封装 xff1f 2 视频数据的封装 3 什么是音视频的封装格式 4 封装格式
  • wsl 配置 java 环境以及使用 vscode 调试

    wsl 配置 java 环境以及使用 vscode 调试 原文 xff1a https blog csdn net huiruwei1020 article details 107775782 按照原文我无法运行 xff0c 按照Stack
  • L13. hrtimer使用实例(高精度定时器)

    1 简介 随着内核不断更新演进 xff0c 内核对定时器的分辨率要求越来越高 硬件的高速发展也逐渐能够满足内核的这一要求 xff0c 因此内核针对硬件提供的便利 xff0c 开始设计了更高分辨率的定时器 xff08 hrtimer xff0
  • 鸿蒙操作系统下载

    简介 华为最近开源了自产的操作系统 Harmony 凑一波热闹 xff0c 下载源码看看 横看成岭侧成峰 xff0c 远近高低各不同 由于目前水平有限 xff0c 所以不对鸿蒙操作系统做出过多评价 xff0c 只是下载来学习一下 愿景是希望
  • 5. C++ 抽象类

    1 简介 抽象类往往用来表征对问题领域进行分析 设计中得出的抽象概念 xff0c 是对一系列看上去不同 xff0c 但是本质上相同的具体概念的抽象 通常在编程语句中用 abstract 修饰的类是抽象类 在C 43 43 中 xff0c 含
  • C++并发编程 - 互斥锁(lock_guard和unique_lock)

    C 43 43 并发编程 互斥锁 在多线程的编程中 xff0c 共享数据的修改限制是必不可少的环节 期望的是 当一个线程访问共享数据期间 xff0c 此数据不应该被其他线程修改 xff1b 当某个线程修改了共享数据 xff0c 应通知其他线
  • CMake搭建编译环境总结

    前言 交叉编译算是每个嵌入式开发者都会经历的一道坎吧 xff0c 通俗的描述就是搭建Arm板代码编译环境 xff0c 让代码能够在Arm板子上跑起来 常用到的编译工具为Makefile和CMake xff0c 本篇记录下CMake的常用技巧
  • C++ lambda表达式

    lambda表达式 目录 一 开篇二 lambda初识三 lambda基本用法四 lambda表达式捕获列表五 总结六 参考 一 开篇 lambda表达式是C 43 43 11引进的一个新特性 xff0c 其写法比较新颖 xff0c 经常被
  • 网络编程 - Linux socket编程

    前言 socket 套接字 是网络编程编程的一种技巧 通过socket不仅可以实现跨进程通信 xff0c 还可以实现跨主机的网络通信 使用这种技术 xff0c 就可以实现全国各地的通讯 例如 xff1a 深圳的一台电脑接收来自北京一台电脑发
  • 记一次STM32F3单片机无法下程序解决方法

    不知道什么操作导致keil5下载STM32F3的程序时报以下错误 xff1a JLink info DLL V4 90 compiled Jul 28 2014 10 35 20 Firmware J Link OB STM32F072 C
  • SpringBoot集成MyBatis-Plus代码生成器(V3.5.1)

    1 说明 MyBatis Plus在3 5 1版本之后 xff0c 改变了代码生成器的用法 xff0c 由于对历史版本的不兼容 xff0c 这次重新梳理一份新的用法 3 5 1版本之前的代码生成器请参考 xff1a SpringBoot集成
  • 插上串口设备导致鼠标乱飘

    今天再一次遇见这种怪事 xff0c 屏幕上鼠标到处乱飘不受控制 xff0c 之前也遇到过 xff0c 没仔细研究 最终在网上搜寻答案发现是插上串口设备导致的问题 xff0c 因为串口一直不停的发送数据 xff0c 会导致电脑将其误识别成鼠标
  • openstack(queens)部署Zun服务

    zun安装手册 Zun是Openstack中提供容器管理服务的组件 xff0c 本文使用的是centos7上的openstack xff08 queens xff09 环境 目录 zun安装手册 3 在controller节点上安装zun服
  • Supervisor 定期重启指定进程

    简介 supervisor 是用 Python 开发的一套通用的进程管理程序 xff0c 能将一个普通的命令行进程变为后台 daemon xff0c 并监控进程状态 xff0c 异常退出时能自动重启 它是通过 fork exec 的方式把这
  • linux 源码安装 xrdp

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