Pulseaudio и XDMCP
Речь, конечно, пойдет не только об XDMCP, но и о любых удаленных сеансах X. Основная мысль состоит в следующем: если просто запустить удаленный сеанс через XDMCP (скажем, с тонкого клиента), оказывается, что звук не туннелируется по сети. А так как pulseaudio позволяет передавать звук по сети, то надо исправить сие упущение.
Для этого нужно, во-первых, разрешить на “клиентской” машине передачу звука по сети (предполагается, что pulseaudio уже установлен на обе машины). Об этом уже говорилось, например, здесь.
Во-вторых, сделать так, чтобы при запуске сессии Х переменная окружения $PULSE_SERVER выставлялась в соответствии с переменной $DISPLAY (которая, помимо, собственно, номера дисплея, так же может содержать и ip-адрес тонкого клиента)
Если с первым все уже обсуждалось и подробно рассматривается в официальном руководстве, то второй решается тоже весьма просто и изящно. Всего-навсего надо дописать в /etc/profile (это, по сути, bash скрипт, исполняемый при запуске любой сессии) следующие строки:
PULSE_SERVER=`echo $DISPLAY | sed -r s/:.*$//`
if [ "$PULSE_SERVER" ] ; then
export PULSE_SERVER
fi
Это нехитрое дополнение будет устанавливать PULSE_SERVER на тот адрес, на котором запущен сервер X.
Так же можно записать этот текст в отдельный файл в /etc/profile.d/
Нехитро, но, на мой вкус, изящно и эффективно.