Установка и настройка Skype (chroot-окружение).

Сама установка «Skype» не должна вызывать затруднений, но так как это делается в «песочнице», есть некоторые нюансы.  Это касается, в первую очередь, настройки звука и микрофона. Как Вы знаете, наверное, «Microsoft» отказался от прямого вывода звука через «Alsa» в новой версии «Skype» и приходится изгаляться с «PulseAudio».

Предполагается что «chroot-окружение» у Вас уже установлено и настроено.

Система, на примере, которой все это показано, построена на базе «AMD E-350» (с интегрированной графикой), поэтому возможны незначительные отличия в настройках Вашего оборудования.

 

Для начала включим микрофон. Действия проводятся на основной системе в терминале:

аlsamixer

У большинства систем на «AMD» первым устройством идет «HDMI», поэтому нажимаем «F6» чтобы выбрать «аналог».

И «F5» чтобы отобразить все устройства воспроизведения (playback) и захвата (capture).

Здесь, чтобы не ошибиться, включаем все, что связано с микрофоном и выставляем уровни. Включение – клавиша «M», вверх/вниз – добавляет или уменьшает уровень.

Также необходимо включить устройство «Capture». Это делается клавишей «Пробел».

Параметры «Boost» (усиление микрофона) не следует выставлять до конца.

После сделанных изменений нажимаем «Esc» и сохраняем настройки:

alsactl store -f /storage/.config/sound.conf

 

PulseAudio & Alsa.

Установим нужные пакеты (в терминале «песочницы», порт – 2222) :

apt install alsa pulseaudio pavucontrol -y

Удаляем файл «/storage/ubuntu/sys/etc/asound.conf» и переименовываем « /storage/ubuntu/sys/etc/asound.conf.skype_sample» в «/storage/ubuntu/sys/etc/asound.conf».

Файл «asound.conf» (бывший asound.conf.skype_sample) выглядит так:

pcm.!default {

        type asym

        playback.pcm {

                type plug

                slave.pcm "hw:1,9"

        }

        capture.pcm {

                type plug

                slave.pcm "hw:0,0"

        }

}

Вам необходимо подставить свои значения «slave.pcm» для «playback.pcm» (устройство воспроизведения) и «capture.pcm» (микрофон) в формате “hw:карта,устройство”.

С устройством воспроизведения – понятно. Значения “карта/устройство” Вы можете получить на вкладке «Настройки ТВ» -> «Звук» -> «Тест звуковых устройств». Чтобы выяснить эти значения для микрофона, используйте команду:

arecord -l

root@alexelec:~# arecord -l

**** List of CAPTURE Hardware Devices ****

card 1: SB [HDA ATI SB], device 0: ALC887-VD Analog [ALC887-VD Analog]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

card 1: SB [HDA ATI SB], device 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]

  Subdevices: 1/1

  Subdevice #0: subdevice #0

Второй вход (card 1, device 2)это разъем передней панели корпуса. Я точно не знал, какой номер устройства у микрофонного входа задней панели (к нему я подключил микрофон), но по логике вещей должно быть так. Если у Вас не заработает – впишите следующее устройство или включите микрофон в другой разъем. У меня получилось так (вывод звука по HDMI и микрофон):

pcm.!default {

        type asym

        playback.pcm {

                type plug

                slave.pcm "hw:0,3"

        }

        capture.pcm {

                type plug

                slave.pcm "hw:1,0"

        }

Перейдем к редактированию файлов «PulseAudio».

Откройте файл «/storage/ubuntu/sys/etc/pulse/system.pa» и замените строку

load-module module-native-protocol-unix

на

load-module module-native-protocol-unix auth-anonymous=1

В конец этого файла добавьте строки:

load-module module-alsa-sink

load-module module-alsa-source

Проверим работу «PulseAudio».

В терминале «песочницы» дайте команду:

chmod 0666 /dev/snd/*

Это нужно для нормальной работы «PulseAudio».

Запустим  «PulseAudio»:

pulseaudio —system

* длинное тире перед "system": на самом деле это два маленьких (и так дальше по тексту).

Если программа не завершилась с ошибкой – все нормально, не закрывайте.

Откройте еще один терминал «песочницы» и там:

pactl list

Будет выдан длинный список существующих объектов («pulseaudio» — можно закрыть: Ctrl+C).

Среди них должны быть: устройство вывода звука «Sink» и устройство захвата «Source». Это означает, что «pulseaudio» видит устройства и может с ними работать.

Продолжаем.

В файле «/storage/ubuntu/sys/etc/init.d/pulseaudio» замените строку

PULSEAUDIO_SYSTEM_START=0

На

PULSEAUDIO_SYSTEM_START=1

В файле «/storage/ubuntu/sys/etc/chroot-init.sh» раскомментируйте строки:

## PulseAudio server start

chmod 0666 /dev/snd/*

/etc/init.d/pulseaudio start

В результате последних действий «pulseaudio» будет автоматически стартовать при загрузке системы.

Пока же, запустим его вручную (из «песочницы»):

service pulseaudio start

 

Skype.

Устанавливаем «Skype»:

apt install skype -y

и запускаем в терминале «хоста»:

xbmc_close

/storage/ubuntu/sys/usr/sbin/chroot /storage/ubuntu/sys/ skype

Сделайте необходимые настройки и проверьте звук. 

Теперь давайте сделаем так чтобы «Skype» стартовал автоматически, и мы могли бы совершать/отвечать на звонки из «XBMC».

Для того чтобы организовать такой функционал нам потребуется программа-посредник (я выбрал «xterm»). Поясню, зачем это нужно.

Когда мы переключимся на «Skype» из «XBMC» у нас не будет возможности вернуться обратно (в XBMC) пока мы не закроем «Skype». Но, «Skype» мы закрывать не хотим, он должен продолжать работать. Из «chroot-окружения» мы не можем дать команду «xbmc_start» потому что «песочница» не имеет доступа к файловой системе «хоста». Вот для этого и нужна «программа-посредник». Система будет реагировать на ее закрытие и снова запускать «XBMC». Какая именно это будет программа – значения не имеет (лишь бы что-то маленькое).

Устанавливаем «xterm»:

apt install xterm -y

Даем права на выполнение для файла «/storage/ubuntu/autorun/20_skype»:

chmod +x /storage/ubuntu/autorun/20_skype

и добавляем «Skype» (/storage/ubuntu/progs/Skype) в «Advanced Launcher».

Перезагрузим систему и убедимся, что «Skype» работает, так как нам хотелось.

При входящем звонке или когда нам захочется позвонить – запускаем «Skype». Фактически, как Вы понимаете,  «Skype» уже работает (если Вы выбрали вариант с автозагрузкой, если нет — «Skype» будет запущен), мы запускаем программу-посредник (xterm). При этом «XBMC» будет закрыт и мы сможем управлять «Skype». 

После закрытия терминала «xterm» мы снова в «XBMC».

По аналогии это можно проделать и с «VDR». Для этого нужно написать скрипт и добавить команду в «/storage/.config/vdr/commands.conf».

Партнеры

Декабрь 2016
Пн Вт Ср Чт Пт Сб Вс
« Ноя    
 1234
567891011
12131415161718
19202122232425
262728293031