klink0v (klink0v) wrote,
klink0v
klink0v

Category:

Маленькие извращения с systemd

Допустим, нам хочется на работающей системе автоматически иметь в одном из терминалов (tty) какую-нибудь неинтерактивную софтину, запущенную независимо от факта логина пользователя в системе. В старые добрые времена мы бы запихнули её вызов в inittab. Сейчас же везде systemd, там inittab-а уже нетути. Что же делать?

Ответ: создавать свой собственный service-файл для systemd и запихивать его в "/etc/systemd/system/". Содержание примерно следующее (может варьироваться в зависимости от конкретных потребностей). Я чисто для примера взял утилиту "top".

/etc/systemd/system/top.service


[Unit]
Description=top on tty1

[Service]
Type=simple
ExecStart=/usr/bin/top
StandardInput=tty
StandardOutput=tty
TTYPath=/dev/tty1

[Install]
WantedBy = multi-user.target

После этого надо сделать "systemctl enable top.service", дабы активировать данный конфиг на автостарт.

Если же мы "до кучи" хотим, чтобы софтина могла бы работать интерактивно, то надо сделать так, чтобы она не дралась с logind. Для этого в "/etc/systemd/logind.conf" выставляем значение параметра "NAutoVTs" в какую-нибудь небольшую разумную величину. Например, "NAutoVTs=2" будет означать, что logind займёт два первых виртуальных терминала. А наш сервис мы будем запускать на третьем терминале ("TTYPath=/dev/tty1"). Тогда пользователь сможет даже понажимать на кнопочки.

Естественно, надо быть весьма осторожным, т.к. по умолчанию вся эта радость будет выполняться из-под root-а.

Tags: linux, systemd, администрирование
Subscribe

  • Зависть

    На работу взяли совсем-совсем молоденькую девочку-юристку. Оная зашла к нам в админскую комнату. В это время PM (менеджер проектов) собирается…

  • Проблемы связности

    Случилось тут ситуация на работе. Один из наших контрагентов пожаловался, что нет доступа к сервису. Посмотрели — и вправду нет. После…

  • Телемедицина

    В павильоне "Здоровая Москва" помимо прочего мне назначили онлайн-консультацию с терапевтом при помощи новомодного сервиса…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments