Univention Bugzilla – Bug 18866
Sound-Weiterleitung für RDP-Anmeldung
Last modified: 2023-03-25 06:40:10 CET
rdesktop verwendet jetzt per Default alsa für die Sound-Weiterleitung. Das funktioniert auch, wenn artsd als Soundserver verwendet wird, allerdings nicht wenn pulseaudio als Soundserver gestartet wird: ALSA lib pcm_dmix.c:996:(snd_pcm_dmix_open) unable to open slave ERROR: snd_pcm_open: Das Gerät oder die Ressource ist belegt ALSA lib pcm_dmix.c:996:(snd_pcm_dmix_open) unable to open slave ERROR: snd_pcm_open: Das Gerät oder die Ressource ist belegt ALSA lib pcm_dmix.c:996:(snd_pcm_dmix_open) unable to open slave ERROR: snd_pcm_open: Das Gerät oder die Ressource ist belegt
Die Meldung sieht danach aus, als ob rdesktop dann auch versucht, daß ALSA-Hardware-Device parallel zu PulseAudio zu nutzen. Letzteres greift dabei direkt auf das Hardware-Device zu und umgeht damit das eingerichtete dmix-Device; was ja auch sinn mach, da PulseAudio eine ähnliche Funktion wie dmix erfüllt, nur eben noch viel mehr kann und macht. Wenn man sowieso Pulseaudio verwendet, sollte man ALSA so umkonfigurieren, daß alle ALSA-Anwendungen ihre Ausgabe standardmäßig an PulseAudio weiterleiten und nur dieses dann (per ALSA) auf das Hardware-Device zugreift. Siehe http://www.pulseaudio.org/wiki/PerfectSetup#ALSAApplications
Die Alsa Umleitung aus comment#1 wird ja schon für die TS Session verwendet, aber eben nur dort (rdesktop läuft ja lokal auf dem TC). Aber ist es wirklich sinnvoll auf dem TC zwischen Alsa und rdesktop noch einen Sound Server zu schalten (wenn rdesktop doch Alsa unterstützt)? Könnte man nicht wie in etc/gdm/PostSession/scripts/030_univention-sound-kill.sh in der TC Umgebung beim Start der rdesktop Session alle Sound Server beenden und dann direkt Alsa verwenden?
Ebenfalls zu beachten: Soll der padsp anstatt des alsadsp verwendet werden, so ist das Paket pulseaudio-utils nachzuinstallieren. Für Pulseaudio werden zudem die Alsa-Libs benötigt, die im Paket libasound2-plugins enthalten sind. Die Umstellung wie in dem comment#1 beschrieben sind möglich, durch Hinzufügen der /etc/asound.conf sind in einer Kundenumgebung testweise möglich gewesen. Die Weiterleitung der Soundausgabe eines Citrix-Clients zu Pulseaudio war hingegen bisher erfolglos.
Siehe auch Bug #18905 Man sollte bei einer RDP-Sitzung möglichst keinen Sound-Server/-Wrapper gestartet haben/nutzen.
Mit der UCR Richtlinie thinclient/sound/daemon=none wird keine Sound-Daemon über /etc/gdm/PreSession/scripts/030_univention-sound-daemon.sh gestartet. etc/univention/rdesktop.Session macht bereist standardmäßig alsa.
(In reply to comment #5) > Mit der UCR Richtlinie thinclient/sound/daemon=none wird keine Sound-Daemon > über /etc/gdm/PreSession/scripts/030_univention-sound-daemon.sh gestartet. > > etc/univention/rdesktop.Session macht bereist standardmäßig alsa. Das Beschriebene funktioniert so. Allerdings ist das eingangs erwähnte Problem hierdurch nicht behoben - wird pulseaudio als Soundserver verwendet, startet das rdesktop Session Skript dennoch rdesktop mit der Option sound:local alsa - was wie eingangs beschrieben nicht funktioniert. Das Skript prüft an dieser Stelle lediglich, ob der Sound am TC generell deaktiviert ist, oder die Variable rdp/alsa/disbaled gesetzt ist - nur für diese Fälle wird rdesktop ohne Alsa Weiterleitung gestartet. reopen
padsp ist i.M. keine Option, das rdesktop NUR alsa Sound unterstützt: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507654
(In reply to comment #7) > padsp ist i.M. keine Option, das rdesktop NUR alsa Sound unterstützt: > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507654 Im nächsten TCS-Release will man das mit freerdp machen, siehe Bug #22977
Pulseaudio Support für rdesktop (bzw. wenn nötig für freerdp) ist wie folgt möglich: --- etc/univention/rdesktop.Session.o 2012-06-11 23:35:24.000000000 +0200 +++ etc/univention/rdesktop.Session 2012-06-11 23:35:33.000000000 +0200 @@ -99,6 +99,15 @@ fi if [ -n "$univentionSoundEnabled" -a "$univentionSoundEnabled" = "1" ] && [ -z "$rdp_alsa_disabled" ]; then + if [ -n "$thinclient_sound_daemon" -a "$thinclient_sound_daemon" = "pulseaudio" ]; then + config=$(mktemp) + echo "pcm.!default { type pulse }" >> $config + echo "ctl.!default { type pulse }" >> $config + echo "pcm.pulse { type pulse }" >> $config + echo "ctl.pulse { type pulse }" >> $config + export PULSE_SERVER=localhost + export ALSA_CONFIG_PATH=$config + fi params="$params -r sound:local:alsa" fi rdesktop macht hier nun ALSA, ALSA selbst wird aber dann auf pulseaudio umgelenkt.
*** Bug 13301 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of bug 28466 ***
OK, ein Duplikat.