RDP连接Ubuntu远程桌面

之前一直用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
bash 复制代码
if test -r /etc/profile; then
        . /etc/profile
fi

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

test -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
bash 复制代码
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

也可以源码安装:

bash 复制代码
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两个文件,如果没有,则

下载源码编译安装:

bash 复制代码
apt install build-essential dpkg-dev
apt install libpulse-dev
apt build-dep pulseaudio

git 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
相关推荐
HAHAXX811 分钟前
低代码 & 无代码 RPA 项目实施:对接大模型接口的部署与运维要点
运维·低代码·rpa
啦啦啦啦啦zzzz16 分钟前
时间轮定时器
linux·服务器·网络·c++·定时器
ITyunwei098721 分钟前
从 ITIL 视角量化-第三集:工单系统如何成为 ITSM 治理抓手?架构+量化
运维·网络·企业微信
paopao_djshddhdj25 分钟前
钉钉培训系统功能与收费详解:企业数字化培训的优选方案
运维·钉钉
神威难绷泪31 分钟前
Linux应用软件编程:目录IO framebuffer
linux
byte轻骑兵42 分钟前
【BlueZ 】BLE 与经典蓝牙的差异:BlueZ 中双模式的源码区分设计
linux·bluez·电脑蓝牙·嵌入式蓝牙
肠畔码农1 小时前
Redis 深度内核解析与高性能运维调优指南
运维·数据库·redis
迪康coolmu1 小时前
当大模型遇上终端安全—AI驱动的智能运维实践
运维·人工智能·安全
小雪崩2 小时前
嵌入式学习 day30:minilog
linux·c语言·学习
遇见小修修2 小时前
黄埔附近维修口碑推荐榜
运维