Ubuntu 安装 XRDP,替代系统自带RDP远程桌面

news/2024/8/30 21:57:00 标签: linux, 服务器, 运维, ubuntu, RDP

起因,Ubuntu的自带RDP远程桌面很好用,但很傻卵,必须登录。

而设置了自动登录也不能解开KEYRING,必须必须必须用GUI手动登录

(我远程我用头给你坐机子面前开显示器先登录??)

 比起VNC的话XRDP不需要专用客户端,而且完美兼容windows和一帮用RDP协议的远程软件,开搞!

1.安装桌面(二选一,已安装可跳过)

如果使用GNOME桌面(Ubuntu默认已安装) 

sudo ​​apt install gnome
sudo apt install gnome-session gdm3

如果使用xfce桌面

sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4
sudo apt install xfce4-session

2.安装xrdp

sudo apt-get -y install xrdp
sudo systemctl enable xrdp

3.向 xrdp 用户授予证书访问权限

sudo adduser xrdp ssl-cert

4.配置桌面环境

依据自己使用的桌面选。

注意路径 ~/ 此步写入家目录中.xsession文件,请正确切换命令行使用的用户

<例如你要远程登录ABC这个用户,这个文件得写到ABC用户的home目录底下。别因为终端命令行中的当前用户是root,而写到了root家目录中>

(听不懂的去自己家目录创建个.xsession文件然后在里面写xfce4-session或者gnome-session就完事了)

如果使用xfce4桌面
echo xfce4-session >~/.xsession
如果使用gnome桌面
echo gnome-session >~/.xsession

 4.1又到了喜闻乐见的权限时间!

和上面一样,需要远程的用户是ABC,那就把刚刚在ABC家目录中创建的.xsession属组和属组都改成ABC。

注意点同上,别稀里糊涂的写到root家目录或是用root用户创建文件就行。所以如果上面步骤做的都很正确,这步可以省略。

chown <登录用户>:<登录用户的组> ~/.xsession

5.重载配置 

systemctl restart xrdp

6.完成设置,使用远程桌面应用登录(随便个能用3389端口的都行)

Ubuntu自带的RDP是要设定单独用户名和密码的,和smb,ftp服务类似。

而XRDP使用linux系统用户直接登录(可以理解为直接登录linux系统)

7.问题解决

登录成功立马断开?检测日志没有错误?

查看xrdp日志
与.xsession同一目录(家文件夹下)

cat .xsession-errors

我完全没有显示任何错误,最下面一行是 已终结 

原因

不像windows的远程桌面可以互相顶,linux上同一个用户不能同时登录两个图形界面,如果你已经登录了,去把登录的注销,再去使用xrdp远程登录。

这条命令可以看登录的用户

w


http://www.niftyadmin.cn/n/5561111.html

相关文章

Elasticsearch 批量更新

Elasticsearch 批量更新 准备条件查询数据批量更新 准备条件 以下查询操作都基于索引crm_flow_info来操作&#xff0c;索引已经建过了&#xff0c;本文主要讲Elasticsearch批量更新指定字段语句&#xff0c;下面开始写更新语句执行更新啦&#xff01; 查询数据 查询指定shif…

C/C++ 开源库选型依据

文章目录 在C中选择XML、JSON等开源库时&#xff0c;可以考虑以下几个依据&#xff1a; 支持的C标准&#xff1a; 确定库是否支持你使用的C标准&#xff08;如C11、C14、C17等&#xff09;。 性能&#xff1a; 评估库在解析和生成XML或JSON时的性能&#xff0c;包括内存使用和…

Elasticsearch与其他系统的集成(如Logstash、Kibana、Beats等):构建强大的数据处理与分析平台

在当今的数据驱动时代&#xff0c;Elasticsearch以其强大的搜索和分析能力&#xff0c;成为了众多企业和项目中的核心组件。然而&#xff0c;Elasticsearch的强大并不止于其本身&#xff0c;其与其他系统的紧密集成&#xff0c;如Logstash、Kibana、Beats等&#xff0c;共同构建…

React学习记录 ---第六章

在b站尚硅谷学习React过程中&#xff0c;记录的学习笔记&#xff0c;希望能够帮到和我一样的前端热爱者&#xff01; 094_尚硅谷_react教程_antd的基本使用_哔哩哔哩_bilibili 前五章笔记在这里&#xff1a;React学习记录 ---第一章-CSDN博客 React学习记录 ---第二章-CSDN博…

43.池化层Pooling

在卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;中&#xff0c;池化层&#xff08;Pooling Layer&#xff09;是继卷积层之后的关键组成部分。它的主要作用是通过降采样来压缩信息&#xff0c;从而使网络结构更加紧凑。本篇文章将详细介绍池化层的原…

Golang | Leetcode Golang题解之第231题2的幂

题目&#xff1a; 题解&#xff1a; func isPowerOfTwo(n int) bool {const big 1 << 30return n > 0 && big%n 0 }

易保全参与起草的两项区块链全国团体标准正式发布

在数字化转型浪潮席卷全球的今天&#xff0c;区块链技术以其去中心化、透明性、不可篡改等独特优势&#xff0c;正逐步成为重塑各行各业信任机制与业务流程的关键力量。 近日&#xff0c;中国通信工业协会正式发布了《区块链服务 基于区块链的去中心化标识符技术要求》与《区块…

Perl语言之标量

Perl对于变量的定义&#xff0c;分为三种类型&#xff1a;标量、数组和哈希。   标量是 Perl 语言中最简单的一种数据类型。标量中可以存储整数、字符串、浮点数、字符等&#xff0c;数据格式不做严格区分。在使用标量时需要再变量前面加$&#xff0c;如&#xff1a; #! /us…