RDP连接Ubuntu远程桌面

ops/2024/9/20 3:58:48/ 标签: ubuntu, linux, 运维

之前一直用vncviewer,效果不佳,Microsoft Remote Desktop连ubuntu上的win虚机很好,多了几个工作环境,于是再度试一下用RDP连Ubuntu远程桌面。

几点注意事项

先安装xrdp: apt install xrdp

  • 踢掉ubuntu上的登录用户,例如你远程桌面用user1登录,则pkill掉user1其它会话
  • 修改一下端口,在/etx/xrdp/xrdp.ini, address=tcp://:3390,以免和已存在的windows虚机冲突
  • 修改/etc/xrdp/startwm.sh,加入下面的两个unset
if test -r /etc/profile; then. /etc/profile
fiunset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIRtest -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession

此举防止黑屏

  • 打开防火墙端口:sudo ufw allow from any to any port 3390 proto tcp
  • 添加配置文件, vim ~/.xsessionrc
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg

声音问题

主要是安装好两个包:pulseaudio和pulseaudio-module-xrdp,后者作为前者的模块。

安装pulseaudio

直接安装: apt install pulseaudio
也可以源码安装:

sudo apt install build-essential dpkg-dev libpulse-dev
sudo apt install pulseaudio
sudo apt build-dep pulseaudio
sudo apt source pulseaudio
cd pulseaudio-XXX
sudo ./configure

安装pulseaudio-module-xrdp

检查一下/usr/lib/pulse-<版本>/modules下是否存在module-xrdp-sink.so和module-xrdp-source.so两个文件,如果没有,则
下载源码编译安装:

apt install build-essential dpkg-dev
apt install libpulse-dev
apt build-dep pulseaudiogit clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
cd pulseaudio-module-xrdp
## scripts/install_pulseaudio_sources_apt_wrapper.sh 
./bootstrap && ./configure PULSE_DIR=你下载的pulseaudio目录路径(例:/home/linuxuser/pulseaudio-12.2.6)
make
make install## 手工拷贝动态库到pulse下面
sudo cp module-xrdp-sink.so /usr/lib/pulse-14.2.2/modules/
sudo cp module-xrdp-source.so /usr/lib/pulse-14.2.2/modules/## 检查
ls $(pkg-config --variable=modlibexecdir libpulse)reboot
## 最后执行,开启声音传输:
pulseaudio -k

http://www.ppmy.cn/ops/6928.html

相关文章

自动化测试Selenium(3)

目录 WebDriver相关API 打印信息 打印title 打印url 浏览器的操作 浏览器最大化 设置浏览器的宽,高 操作浏览器的前进, 后退, 刷新 控制浏览器滚动条 键盘事件 键盘单键用法 键盘组合按键用法 鼠标事件 WebDriver相关API 打印信息 打印title 即打印该网址的标题.…

Nginx解决跨域访问难题:轻松实现跨域资源共享!

点击下方关注我&#xff0c;然后右上角点击...“设为星标”&#xff0c;就能第一时间收到更新推送啦~~~ 跨域资源共享&#xff08;CORS&#xff0c;Cross-Origin Resource Sharing&#xff09;是一种网络浏览器的安全功能&#xff0c;它限制了一个源&#xff08;域、协议和端口…

我与C++的爱恋:类和对象(四)

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 ​ 朋友们大家好&#xff01;本篇是类和对象的最后一个部分。 一、static成员 声明为static的类成员称为类的静态成员&#xff0c;用static修饰的成员变量&#xff0c;称之…

Element——组件

element官网 https://element.eleme.cn/#/zh-CN/component/layout vscode格式化快捷键&#xff1a;shiftaltf table表格 <template><el-table:data"tableData"style"width: 100%"><el-table-columnprop"date"label"日期…

geolife笔记/python笔记:trackintel.io.read_geolife

此函数解析 geolife_path 目录中可用的所有 geolife 数据 trackintel.io.read_geolife(geolife_path, print_progressFalse) 参数&#xff1a; geolife_path (str) 包含 geolife 数据的目录路径 print_progress (Bool, 默认为 False)如果设置为 True&#xff0c;则显示每个…

qt 元对象系统及属性系统

Qt元对象系统(QMetaObject) Qt 的元对象系统叫 Meta-Object-System&#xff0c;提供了对象之间通信的信号与槽机制、运行时类型信息和动态属性系统。即使编译器不支持RTTI&#xff08;RTTI的实现耗费了很大的时间和存储空间&#xff0c;这就会降低程序的性能&#xff09;&…

探索数据结构:顺序串与链式串的深入理解

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 串的定义 串是一种特殊的顺序表&#xff0c;即每一个元素都是单独一…

软考 - 系统架构设计师 - Web 应用真题(2)

问题 1&#xff1a; 淘汰策略&#xff1a;遗留系统技术含量低&#xff0c;业务价值也低&#xff0c;所以需要全面重新开发一个系统来替代遗留系&#xff1b;&#xff08;一般是企业的业务发生了根本变化&#xff0c;遗留系统已经基本不再适应企业运作的需要&#xff1b;或者是遗…

一文掌握面阵相机

机器视觉应用中常见的面阵工业相机&#xff0c;其应用比较广泛&#xff0c;它主要是采用连续的、面状扫描光线来获取完成的目标图像&#xff0c;并能即使进行图像采集的相机&#xff0c;最终实现产品的检测。 面阵相机分类: 按照芯片类型&#xff1a;CCD相机和CMOS相机。 按…

2024年4月13日美团春招实习试题【第一题:好子矩阵】-题目+题解+在线评测【模拟】

2024年4月13日美团春招实习试题【第一题:好子矩阵】-题目题解在线评测【模拟】 题目描述&#xff1a;输入描述输出描述样例 解题思路一&#xff1a;模拟解题思路二&#xff1a;思路二解题思路三&#xff1a;直接判断 题目描述&#xff1a; 塔子哥定义一个矩阵是”好矩阵”&…

Qwen1.5大语言模型微调实践

在人工智能领域&#xff0c;大语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;的兴起和广泛应用&#xff0c;为自然语言处理&#xff08;NLP&#xff09;带来了前所未有的变革。Qwen1.5大语言模型作为其中的佼佼者&#xff0c;不仅拥有强大的语言生成和理…

05节-51单片机-模块化编程

1.两种编程方式的对比 传统方式编程&#xff1a; 所有的函数均放在main.c里&#xff0c;若使用的模块比较多&#xff0c;则一个文件内会有很多的代码&#xff0c;不利于代码的组织和管理&#xff0c;而且很影响编程者的思路 模块化编程&#xff1a; 把各个模块的代码放在不同的…

Docker构建Golang项目常见问题

Docker构建Golang项目常见问题 1 Dockerfile1.1 dockerfile报错&#xff1a;failed to read expected number of bytes: unexpected EOF1.2 go mod tidy: go.mod file indicates go 1.21, but maximum supported version is 1.171.3 是否指定启动文件问题 2 构建及部署 1 Docke…

双向链表的实现(详解)

目录 前言初始化双向链表的结构为双向链表的节点开辟空间头插尾插打印链表尾删头删查找指定位置之后的插入删除pos节点销毁双向链表 前言 链表的分类&#xff1a; 带头 不带头 单向 双向 循环 不循环 一共有 (2 * 2 * 2) 种链表 带头指的是&#xff1a;带有哨兵位节点 哨兵位&a…

MyCat 数据库中间件

一、介绍 1、单数据库进行数据存储的问题&#xff1a; IO瓶颈&#xff1a;热点数据太多&#xff0c;数据库缓存不足以容纳这些热点数据&#xff0c;产生大量磁盘IO&#xff0c;效率较低。 CPU瓶颈&#xff1a;排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源。 2、…

【Linux 开发第一篇】如何在安装中完成自定义配置分区

安装配置自定义配置分区 在安装Centos的过程中&#xff0c;我们可以在安装位置部分手动配置分区 选择我要配置分区&#xff0c;点击完成&#xff1a; 我们自动分区分为三个分区&#xff1a;boot分区&#xff08;引导分区&#xff09;&#xff0c;swap&#xff08;交换分区&…

解决Git 不相关的分支合并

可以直接调到解决方案,接下来是原因分析和每步的解决方式 问题原因: 我之前在自己本机创建了一个初始化了Git仓库,后来有在另一个电脑初始化仓库,并没有clone自己在本机Git远程仓库地址,导致Git历史版本不相关 错误信息 From https://gitee.com/to-uphold-justice-for-other…

lv_table

通过点击lv_table的某一行来选中这一行&#xff0c;以及通过点击另外创建的按钮来删除选中的这一行数据。在table_event_cb回调函数中&#xff0c;我们通过检测点击事件发生的行和列来确定被点击的行&#xff0c;然后在按钮的事件处理器btn_event_cb中&#xff0c;根据之前保存…

Linux命令学习—DHCP 服务器

1.1、DHCP 服务器 ①、DHCP&#xff08;dynamic host configure protocol&#xff09;动态主机配置协议 最大的功能就是向客户端提供 TCP/IP 信息&#xff0c;使用的是 UDP:67 端口 ②、手动设定适合&#xff1a;适用小型网络 ③、手动输入 IP 地址和自动获取比较优缺点 ④…

如何在群晖NAS部署office系统办公服务并实现无公网IP远程编辑文件

文章目录 本教程解决的问题是&#xff1a;1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是&#xff1a; 1.Word&#xff0c;PPT&#xff0c;Excel等重要文件存在本地环境&#xff0c;如何在编…