Автор: Рудюк С.А.
Замена Windows Server на Linux Ubuntu - выгодное и полезное решение. Такое решение может получиться более стабильно работающим и главное, масштабируемым и более защищенным. Но, есть в решениях Linux всегда ложка дегтя. Прежде всего, это работа с аппаратурой. Ряд аппаратных средств работает только с Windows. И даже гордятся этим, выставляя на своем корпусе лейбочку мелко-софтовской компании...
Так же, возникает вопрос настройки звука для XRDP в Linux Ubuntu. По умолчанию, звук в XRDP отключен и чтоб его настроить, нужно провести ряд действий. Данная статья рассказывает, как это сделать.
Итак, устанавливаем необходимые нам пакеты:
[code language="bash"] sudo apt-get build-dep xserver-xorg-core [/code]
[code language="bash"] apt-get install autoconf libtool pkg-config [/code]
[code language="bash"] 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 [/code]
Устанавливаем Git, чтоб иметь возможность брать исходные коды прямо из репозитариев:
[code language="bash"] apt-get install git [/code]
Клонируем проект XRDP в текущую папку:
[code language="bash"] git clone git://github.com/FreeRDP/xrdp.git [/code]
Можно так же просто закачать zip-архив по адресу: https://github.com/FreeRDP/xrdp
Компилируем XRDP:
[code language="bash"] ./bootstrap [/code]
[code language="bash"] ./configure --enable-jpeg --enable-simplesound [/code]
С некоторых пор, разработчик убрал опцию --enable-simplesound, поэтому, не пугайтесь, если у вас выдастся сообщение о отсутствующей опции. Сейчас она не особо нужна, т.к. автоматически определяется подключен звук или нет.
[code language="bash"] make [/code]
[code language="bash"] make install [/code]
Компилируем X11RDP.
Для этого, заходим в каталог xorg/X11R7.6 и вводим команду:
[code language="bash"] ./buildx.sh /opt/X11rdp [/code]
Создаем ссылку:
[code language="bash"] ln -s /opt/X11rdp/bin/X11rdp /usr/local/bin/X11rdp [/code]
Добавляем в загрузку:
[code language="bash"] cp /etc/xrdp/xrdp.sh /etc/init.d/ [/code]
[code language="bash"] update-rc.d xrdp.sh defaults [/code]
Копируем ключ rsa для шифрации:
[code language="bash"] sudo cp ../xrdp/rsakeys.ini /etc/xrdp [/code]
Компилируем пакеты, необходимые для переадресации звука:
[code language="bash"] sudo apt-get install libjson0-dev libsndfile1-dev libspeex-dev libspeexdsp-dev [/code]
Закачиваем исходные коды пакета pulseaudio из http://freedesktop.org/software/pulseaudio/releases/:
[code language="bash"] tar -zxvf pulseaudio-3.0.tar.gz [/code]
Входим в каталог и выполняем:
[code language="bash"] ./configure [/code]
Если возникли проблемы при компиляции, то возможно вы закачали не тот пакет pulseaudio.
Переходим в каталог xrdp/sesman/chansrv/pulse.
Вам необходимо прокомпилировать библиотеку для передачи звука по XRDP.
Отредактируйте переменную PULSE_DIR на путь к исходным кодам pulseaudio.
После этого, выполните:
[code language="bash"] make [/code]
Скопируем библиотеку в pulse (пути могут отличаться в зависимости от версии pulseaudio):
[code language="bash"] sudo cp module-xrdp-sink.so /usr/lib/pulse-3.0/modules/ [/code]
Теперь, необходимо подредактировать ряд конфигурационных файлов.
Редактируем (или добавляем) файл /etc/asound.conf:
[code language="bash"] pcm.pulse { type pulse } ctl.pulse { type pulse } pcm.!default { type pulse } ctl.!default { type pulse } [/code]
Редактируем файл /etc/pulse/default.pa:
[code language="bash"] .nofail .fail load-module module-augment-properties load-module module-xrdp-sink load-module module-native-protocol-unix [/code]
Перезагружаемся. После этого, если все правильно настроено у Вас должен передаваться звук по RDP.
0 комментариев