You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.7 KiB

  1. #!/bin/sh
  2. status=0
  3. if [ -n "$XRDP_SESSION" -a -n "$XRDP_SOCKET_PATH" ]; then
  4. # These values are not present on xrdp versions before v0.9.8
  5. if [ -z "$XRDP_PULSE_SINK_SOCKET" -o \
  6. -z "$XRDP_PULSE_SOURCE_SOCKET" ]; then
  7. displaynum=${DISPLAY##*:}
  8. displaynum=${displaynum%.*}
  9. XRDP_PULSE_SINK_SOCKET=xrdp_chansrv_audio_out_socket_$displaynum
  10. XRDP_PULSE_SOURCE_SOCKET=xrdp_chansrv_audio_in_socket_$displaynum
  11. fi
  12. # Don't check for the presence of the sockets, as if the modules
  13. # are loaded they won't be there
  14. # Unload modules
  15. pactl unload-module module-xrdp-sink >/dev/null 2>&1
  16. pactl unload-module module-xrdp-source >/dev/null 2>&1
  17. # Reload modules
  18. if pactl load-module module-xrdp-sink \
  19. xrdp_socket_path=$XRDP_SOCKET_PATH \
  20. xrdp_pulse_sink_socket=$XRDP_PULSE_SINK_SOCKET
  21. then
  22. echo "- pulseaudio xrdp-sink loaded"
  23. if pacmd set-default-sink xrdp-sink; then
  24. echo "- pulseaudio xrdp-sink set as default"
  25. else
  26. echo "? Can't set pulseaudio xrdp-sink as default"
  27. fi
  28. else
  29. echo "? Can't load pulseaudio xrdp-sink"
  30. status=1
  31. fi
  32. if pactl load-module module-xrdp-source \
  33. xrdp_socket_path=$XRDP_SOCKET_PATH \
  34. xrdp_pulse_source_socket=$XRDP_PULSE_SOURCE_SOCKET
  35. then
  36. echo "- pulseaudio xrdp-source loaded"
  37. if pacmd set-default-source xrdp-source; then
  38. echo "- pulseaudio xrdp-source set as default"
  39. else
  40. echo "? Can't set pulseaudio xrdp-source as default"
  41. fi
  42. else
  43. echo "? Can't load pulseaudio xrdp-source"
  44. status=1
  45. fi
  46. fi
  47. exit $status