2

Я пытаюсь запустить некоторое программное обеспечение (VLC), когда мой сервер Debian загружается. Я попробовал несколько способов, которые я нашел в разных источниках (изменив /etc/rc.local , создав скрипт в /etc/init.d/ и добавив его с помощью update-rc.d rc.d или rcconf), но в конце после перезагрузки Я никогда не вижу запущенного процесса VLC.

Итак, мой вопрос:

  • я сделал что-то не так в скрипте запуска (показано ниже)? rcconf отображает звездочку перед именем файла, поэтому я предполагаю, что скрипт связан с правильными уровнями выполнения?
  • Есть ли способ узнать, произошла ли ошибка при попытке системы запустить VLC? Я смотрел в разные /var/log/ файлы без какой-либо удачи ...

Скрипт запуска:

#! /bin/sh

case "$1" in
    start)
        su - shtong -c "vlc -I http --http-album-art --http-host=0.0.0.0:8000 --no-playlist-autostart --configlcrc ~/default.xspf"
        exit 0;
        ;;
    restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
    stop)
        ;;
    *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

2 ответа2

0

Благодаря DerfK я смог включить ведение журнала загрузки и увидеть, что моя команда показала некоторые сообщения об ошибках при запуске системой (она работала нормально при запуске вручную).

Подводя итог, я изменил файл /etc/default/bootlogd строку:

BOOTLOGD_ENABLE=Yes

После этого ошибки были видны в /var/log/boot .

(также, для полноты картины, проблема заключалась в том, что аргумент --configlcrc был недопустим, и по какой-то причине VLC не жаловался, когда я тестировал команду непосредственно в командной строке, но делает это при выполнении во время загрузки ...)

0

Я хотел бы, чтобы это был комментарий, а не ответ, но мне не хватает уровня, чтобы сделать это.

У меня была такая же проблема при определении действий, связанных с crontab. Короче говоря, он выполняется в другой среде (по соображениям безопасности, я думаю), я бы предложил использовать абсолютные пути для таких команд, как "vlc", и практически для каждой команды.

Вы можете найти пути с

which command

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

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

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