Запуск службы до входа пользователя в систему

Вопрос Noob впереди. Я запускаю debian 4.8.4-1 x64 vanilla на виртуальной виртуальной машине VM на хосте Win 7 x64. Цель установки – служить сервером для службы дозвуковой потоковой передачи музыки, которая предлагает веб-интерфейс на порту 4040. Служба работает как пользовательский «дозвуковой», который является стандартным пользователем, который может войти в систему и иметь домашний каталог (не конечно, если это имеет значение.)

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

Очевидно, что дозвуковая служба запускается только после входа пользователя в систему, а apache запускается до входа в систему. В чем разница, и как установить дозвуковое обслуживание для запуска до входа в систему? Это даже правильный подход, или я должен автоматически регистрировать пользователя?

Я ищу способ, который работает, и предпочтительнее идиоматично для философии Linux. Спасибо за помощь!

One Solution collect form web for “Запуск службы до входа пользователя в систему”

Предполагая, что имя службы является subsonic , если вы запустили systemctl status subsonic.service и ошибок нет, то subsonic служба запускается как системная служба, и в этом случае этот ответ не поможет.

Однако, если вы получаете ошибку там, но вместо этого запустите systemctl --user status subsonic.service и не получите никаких ошибок, значит это означает, что служба запускается под экземпляром пользователя systemd , а первая строка вывода указывает, где файл службы хранится. Это означает, что для запуска службы пользователь должен сначала войти в систему.

Если вы хотите, чтобы служба запускалась для всех пользователей, независимо от того, зарегистрирован ли фактический пользователь или нет, переместите файл службы в /etc/systemd/system (см. man systemd.unit для списка системных путей). Кроме того, если вы хотите, чтобы служба запускалась под определенным пользователем (а не под root ), вам нужно добавить User=subsonic в раздел [Service] файла (см. man systemd.service ).

После перемещения этого файла при запуске systemctl status subsonic.service должен привести к некоторому выводу (возможно, что служба неактивна, но загружена) и запущена система systemctl --user status subsonic.service должна привести к ошибке.

  • Не удалось получить доступ к systemd --user из-за разрешений доступа DBus
  • PID-файл /var/run/named/named.pid не читается (еще?) После запуска
  • Обрезка времени загрузки системы
  • Отправка сигнала в системуd, чтобы остановить появление сообщений на консоли
  • Моя система не загружается
  • Как заблокировать экран при закрытии крышки с помощью systemd?
  • Как получить доступ к корневому журналу для systemd?
  • Intel Wireless 8260 slow
  • Невозможно установить адрес mac для вызова интерфейса с помощью systemd-networkd
  • Показать ip на boot - centos 7
  • Какие традиционные Linux-установки / конфигурации были включены systemd?
  • Interesting Posts

    Как создать скрипт, который автоматически вводит пароль?

    Как изменить порядок /etc/resolv.conf во время загрузки

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

    ImportError: libavcodec.so.56: невозможно открыть файл общих объектов: нет такого файла или каталога

    Могу ли я остановить IPv6 «Router Advertisement», заполняя syslog без отключения IPv6?

    Как список пакетов в файле .deb?

    Каково определение шрифта, используемого для консоли Solaris в текстовом режиме?

    Не удается открыть .php-страницы в любом браузере.

    Сценарий Bash для извлечения идентификатора сообщения и отправки силы

    Может ли строка использоваться как индекс в массиве массивов в gawk?

    Как подключить USB-порты к USB-контроллерам

    Найти команду, связанную с файлом конфигурации

    Удаленная служба аудита (например, append-only pastebin)

    Какое имя модуля ядра в настоящий момент является правильным «usb-storage» или «usb_storage»?

    альтернатива крупномасштабной трекеру для серверных файловых систем

    Linux и Unix - лучшая ОС в мире.