2

У меня есть сервер Ubuntu с установленным XBMC и сервер, подключенный к телевизору через кабель HDMI. Для запуска XBMC я запускаю команду:

sudo init xbmc

Используя ssh для удаленного доступа к серверу, а затем выполнив команду таким образом. Кажется, в то время это работало нормально, и я смогу посмотреть фильм или сериал. Через несколько часов XBMC, кажется, перестает работать, независимо от того, играет ли он что-то или нет, а это значит, что каждый раз, когда я хочу посмотреть что-то, мне нужно ssh на сервер и выполнить эту команду.

Моим идеальным решением было бы выполнить эту команду только один раз, чтобы я мог выключить телевизор и уйти на неопределенное время, но когда я вернусь, я смогу использовать XBMC без необходимости входа в систему и выполнения этой команды.

Я считаю, что, должно быть, неправильно запускаю XBMC или, может быть, в настройках есть что-то, что я не настроил правильно, кто-нибудь может помочь?

3 ответа3

1

Есть несколько способов сделать это, в зависимости от того, как этот сервер используется (то есть, если это выделенный HTPC или нет), сценарий upstart может быть наиболее подходящим для вас. Эта статья из той же вики- статьи XBMC, на которую мы ссылались ранее:

# xbmc-upstart
# starts XBMC on startup by using xinit.
# by default runs as xbmc, to change edit below.
env USER=xbmc

description     "XBMC-barebones-upstart-script"
author          "Matt Filetto"

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

# tell upstart to respawn the process if abnormal exit
respawn

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

Вы также можете отключить автозапуск службы, чтобы по-прежнему иметь возможность удаленного входа через ssh и запуска XBMC.

0

Вы можете запустить программу в фоновом режиме, добавив в команду амперсанд.

sudo init xbmc --standalone -- -nocursor :0 &

Это гарантирует, что xbmc не будет уничтожен тайм-аутом без использования экрана.

0

Вы также можете использовать обходной путь: пусть cron-job проверяет каждые несколько минут, если XMBC все еще работает, и запускает его снова, если это не так. Соответствующий bash может выглядеть так:

#!/bin/bash

if [ `ps u | grep xmbc | wc -l` != "2" ]; then
    screen -dm init xmbc
fi

Возможно, вам придется настроить количество строк (часть "2" ), если xmbc порождает дочерние процессы. В зависимости от вашей настройки, он также может работать без screen .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .