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
相关推荐
石小千3 分钟前
Linux安装OpenProject
linux·运维
柏木乃一11 分钟前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
Lime-309011 分钟前
制作Ubuntu 24.04-GPU服务器测试系统盘
linux·运维·ubuntu
代码or搬砖11 分钟前
Nginx详讲
运维·nginx·dubbo
守城小轩29 分钟前
基于Chrome140的Quora账号自动化——运行脚本(三)
运维·自动化·chrome devtools·指纹浏览器·浏览器开发
百年渔翁_肯肯40 分钟前
Linux 与 Unix 的核心区别(清晰对比版)
linux·运维·unix
胡闹541 小时前
Linux查询防火墙放过的端口并额外增加需要通过的端口命令
linux·运维·windows
lc9991022 小时前
简洁高效的相机预览
android·linux
SongJX_2 小时前
DHCP服务
linux·运维·服务器
流形填表2 小时前
AI如何做SEO?
运维·人工智能·自动化·seo