Replies: 7 comments 3 replies
-
I had a brief Gitter conversation about this with @derekschrock back in October last year. At the time we managed to get something working by running the xrdp session with a separate dbus instance. At the time this wasn't possible with Gnome due to its heavy dependence on Something I was playing with was making the environment variables to the modules parameters instead. Then the PULSE_SCRIPT can use https://github.com/matt335672/pulseaudio-module-xrdp/tree/module_params I've not considered unloading the modules when the session ends yet, or anything like that. |
Beta Was this translation helpful? Give feedback.
-
i've created a login script which loads dynamicly the xrdp-pulse modules:
this way the systemd-stuff doesn't need to be touched and sound works inside the xrdp session! |
Beta Was this translation helpful? Give feedback.
-
Hi @abma That's really interesting - thanks. The modules use environment variables to locate the chansrv endpoints. If these are readable by the pulse audio server, this should work. In your instance, what is the output of |
Beta Was this translation helpful? Give feedback.
-
i basicly just created the file /etc/X11/Xsession.d/99xrdp-pulse:
(its sourced, no +x / shebang required) |
Beta Was this translation helpful? Give feedback.
-
sadly the "pactl load-module" way didn't work stable for me. sometimes i had sound, sometimes not. the pulseaudio service and/or process sometimes seems to stay running after logout. i've reported it upstream, maybe they have an idea: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1271 |
Beta Was this translation helpful? Give feedback.
-
@abma - please take a look at neutrinolabs/pulseaudio-module-xrdp#59 which will (I think) sort everything out for you. Feel free to build it from my repo directly:-
|
Beta Was this translation helpful? Give feedback.
-
pulseaudio-module-xrdp 0.6 has been released which now supports pulseaudio being started by per-user systemd. |
Beta Was this translation helpful? Give feedback.
-
xrdp uses the following environment variables to pass the locations of audio socket files and socket files directory between xrdp session and PulseAudio module. See also https://github.com/neutrinolabs/pulseaudio-module-xrdp/search?q=getenv&type=code.
However, recent GNU/Linux systems use systemd to start the per-user PulseAudio process. Not a child process of
xrdp-sesman
. For example,/etc/systemd/user/default.target.wants/pulseaudio.service
is the target to start PulseAudio process.This is an example of the environment variables
pulseaudio
process started from systems can see. Necessary environment variables are not visible from systemspulseaudio
. As a result, unfortunately, audio redirection does not work.We need to consider how to pass some necessary information from xrdp to the PulseAudio module.
This issue is originally reported by @CyberTrust and @haw.
Beta Was this translation helpful? Give feedback.
All reactions