запуск программы python при запуске в tty4


0

Я хочу настроить программу, которая будет автоматически запускаться в tty4 (если это возможно, если нет, то может быть запущена в любом другом tty) при запуске системы.
Мой скрипт на python находится по адресу /home/vakus/main.py
У меня нет графического интерфейса, только консоли.
Я не мог найти ничего, что могло бы решить мою проблему

Извините за мой английский.


какая версия убунту? lsb_release -r
meuh

Ubuntu версия 15.04
vakus

вы используете systemd или upstart? если systemctl status говорит много вещей, это systemd. если ps alx|grep upstart перечисляет несколько процессов, которые выскочил.
meuh

это не имеет ps alx|grep upstart, но у нее много раз слово systemd, Если это может помочь, я использую virtualbox для Ubuntu
vakus

Ответы:


0

У меня нет убунту с Systemd , но у меня есть Fedora 20 с ним, поэтому я при условии, что они похожи. Возможно, вам придется немного изменить имена файлов.

Сначала создайте файл службы systemd. Вы должны найти много таких файлов в /lib/systemd/system/ или похожие.

sudo bash <<\!eof
cat > /lib/systemd/system/mystuff.service <<\!
[Unit]
Description=Run my stuff from systemd
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/python /home/vakus/main.py <>/dev/tty4
Restart=no
[Install]
WantedBy=multi-user.target
!
!eof

Я использовал <> сделать оболочку открытой / dev / tty4 для stdin и stdout. Проверьте, что нет Гетти запустить на tty4 и остановить и отключить, если есть.

systemctl status getty@tty4.service
sudo systemctl stop getty@tty4.service
sudo systemctl disable getty@tty4.service

Затем включите службу при загрузке и заставьте systemd обратить на это внимание сейчас:

sudo systemctl enable mystuff.service
sudo systemctl daemon-reload

Активируйте сервис сейчас, чтобы увидеть, работает ли он, и проверьте статус:

sudo systemctl start mystuff.service
systemctl status mystuff.service
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.