Настройка звука в XRDP для Linux Ubuntu

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Замена Windows Server на Linux Ubuntu — выгодное и полезное решение. Такое решение может получиться более стабильно работающим и главное, масштабируемым и более защищенным. Но, есть в решениях Linux всегда ложка дегтя. Прежде всего, это работа с аппаратурой. Ряд аппаратных средств работает только с Windows. И даже гордятся этим, выставляя на своем корпусе лейбочку мелко-софтовской компании…

Так же, возникает вопрос настройки звука для XRDP в Linux Ubuntu. По умолчанию, звук в XRDP отключен и чтоб его настроить, нужно провести ряд действий. Данная статья рассказывает, как это сделать.

Итак, устанавливаем необходимые нам пакеты:

sudo apt-get build-dep xserver-xorg-core

 

apt-get install autoconf libtool pkg-config

 

apt-get install libssl-dev libpam0g-dev libjpeg-dev libx11-dev libxfixes-dev flex bison libxml2-dev intltool xsltproc xutils-dev python-libxml2 xutils libpulse-dev

 

Устанавливаем Git, чтоб иметь возможность брать исходные коды прямо из репозитариев:

apt-get install git

Клонируем проект XRDP в текущую папку:

git clone git://github.com/FreeRDP/xrdp.git

Можно так же просто закачать zip-архив по адресу: https://github.com/FreeRDP/xrdp

Компилируем XRDP:

./bootstrap

 

./configure --enable-jpeg --enable-simplesound

С некоторых пор, разработчик убрал опцию —enable-simplesound, поэтому, не пугайтесь, если у вас выдастся сообщение о отсутствующей опции. Сейчас она не особо нужна, т.к. автоматически определяется подключен звук или нет.

make

 

make install

Компилируем X11RDP.

Для этого, заходим в каталог xorg/X11R7.6 и вводим команду:

./buildx.sh /opt/X11rdp

Создаем ссылку:

ln -s /opt/X11rdp/bin/X11rdp /usr/local/bin/X11rdp

Добавляем в загрузку:

cp /etc/xrdp/xrdp.sh /etc/init.d/

 

update-rc.d xrdp.sh defaults

Копируем ключ rsa для шифрации:

sudo cp ../xrdp/rsakeys.ini /etc/xrdp

Устанавливаем пакеты, необходимые для переадресации звука:

sudo apt-get install libjson0-dev libsndfile1-dev libspeex-dev libspeexdsp-dev

Закачиваем исходные коды пакета pulseaudio из http://freedesktop.org/software/pulseaudio/releases/:

tar -zxvf pulseaudio-3.0.tar.gz

Входим в каталог и выполняем:

./configure

Если возникли проблемы при компиляции, то возможно вы закачали не тот пакет pulseaudio.

Переходим в каталог xrdp/sesman/chansrv/pulse.

Вам необходимо прокомпилировать библиотеку для передачи звука по XRDP.

Отредактируйте переменную PULSE_DIR на путь к исходным кодам pulseaudio.
После этого, выполните:

make

Скопируем библиотеку в pulse (пути могут отличаться в зависимости от версии pulseaudio):

sudo cp module-xrdp-sink.so /usr/lib/pulse-3.0/modules/

Теперь, необходимо подредактировать ряд конфигурационных файлов.

Редактируем (или добавляем) файл /etc/asound.conf:

pcm.pulse {
type pulse
}

ctl.pulse {
type pulse
}

pcm.!default {
type pulse
}

ctl.!default {
type pulse
}

Редактируем файл /etc/pulse/default.pa:

.nofail
.fail
load-module module-augment-properties
load-module module-xrdp-sink
load-module module-native-protocol-unix

Перезагружаемся. После этого, если все правильно настроено у Вас должен передаваться звук по RDP.

 

P.S. Если у Вас возникло желание сменить дорогие решения на Windows на эффективные и хорошо масштабируемые решения на Linux, звоните к автору данной статьи 067 901-63-22 Рудюк Сергей Анатольевич. Или пишите на: rs@corp2.net

Автор: Рудюк С . А. https://corp2.net

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *