Как я управляю опциями сессии (звук в моем случае) при запуске программы с xinit?

Я попробовал, но не удался найти надлежащую информацию о xinit для понимания отчего получается, что то, когда начальная загрузка в Единицу и затем запускают приложение (xbmc) все, хорошо, но когда я пытаюсь использовать/etc/init сценарий для автоматического запуска той же программы, я не получаю звука. (Я ранее задал более общий вопрос о своей 'никакой звуковой' проблеме, но так как я еще не получил ответа, я пытаюсь сделать некоторое расследование самостоятельно.)

Насколько я могу понять, сценарий (здесь полностью) в основном изменяет пользователя в ПОЛЬЗОВАТЕЛЯ и затем запускает программу (xbmc):

script   
 exec su -c "xinit /usr/bin/xbmc --standalone -- -nocursor :0" $USER   
end script

Кто-либо, который желающий и в состоянии объяснить мне, что мои возможности для управления звуком при начальной загрузке 'непосредственно' в программу как это? Я могу пойти на пути виртуальный терминал, ssh или что имеет Вас и проверяет то, что продолжается? Весь совет (включая то, как далее разъяснить вопрос, в случае необходимости), ценивший.

Править: Я предполагаю, что потенциальный источник проблемы мог бы быть то, если сценарий работает слишком скоро в процессе запуска, так, чтобы программа запустилась, прежде чем звуковая карта инициализируется или что-то.

В этом случае эта часть полного сценария могла бы быть важна для моей проблемы:

start on (filesystem and stopped udevtrigger)
stop on runlevel [016]

Но я не знаю, как проверить, могло ли это быть причиной.

0
задан 13 April 2017 в 05:24

2 ответа

Я нашел обходное решение, которое решает проблему для меня, в том смысле, что это:

  1. позволяет мне автоматически запускать в xbmc
  2. перезапуски xbmc, если программа отказывает
  3. это полностью функционирование: существует звук, и видео работает отлично.

То, что я принял решение сделать, должно было автоматически запустить Ubuntu в моего 'xbmc' пользователя 'нормальный' GUI путь путем выбора опции в Единице. Затем я добавил сценарий монитора процесса для перепорождения программы для меня.

Вот то, как: После этого ответа я добавил следующий сценарий к корневому каталогу пользователя 'xbmc', назвав это 'process_monitor.sh':

#!/bin/bash

if [[ -z "$1" ]];then
    echo "ERROR: must specify program"
    exit 1
fi

while (( 0 == 0 ));do
    $@ &
    pid=`jobs -l | awk '{print $2}'`
    wait $pid
done

После создания исполняемого файла сценария

chmod a+x ~/process_monitor.sh

Я добавил, следующая строка в "Приложениях запуска" для пользователя 'xbmc' (получил доступ через Тире или, в 12,04, по крайней мере, верхняя правая панель):

/bin/bash ~/process_monitor.sh /usr/bin/xbmc

Таким образом, я могу теперь автоматически запустить в xbmc с идеальной звуковой и видео функциональностью и затем иметь сценарий монитора, удостоверяются, что xbmc повторно мечет икру, когда это отказывает. Возможно, не самое красивое из решений, но это работает!

0
ответ дан 6 October 2019 в 16:27

Попытайтесь иметь что-то вроде:

start on stopped rc RUNLEVEL=[2345]
stop on starting rc RUNLEVEL=[016]

, Который является грубым эквивалентом $all в LSB init сценарии. Если это действительно будет проблема упорядочивания, то это, вероятно, зафиксирует его.

, Но сначала, устанавливает xbmc задание на "руководство", тогда запускают его после того, как начальная загрузка закончена, чтобы видеть, является ли это проблема упорядочивания (если Вы все еще не получаете звука тогда, запуск и остановка прекрасны).

0
ответ дан 6 October 2019 в 16:27

Другие вопросы по тегам:

Похожие вопросы: