Почему /etc/init/tty?.conf игнорируется в Ubuntu 16.04?
При использовании Ubuntu 14.04 у меня был кастом /etc/init/tty2.conf
который запустил программу в этом виртуальном терминале. Но после обновления до Ubuntu 16.04 эти файлы, похоже, игнорируются. Независимо от моих модификаций виртуальный терминал запускает getty после загрузки.
Я понимаю, что Ubuntu 16.04 включает в себя systemd
бок о бок с upstart
подсистема. Но с тех пор /etc/init/tty?.conf
файлы присутствуют по умолчанию в установленной системе, я ожидаю, что они будут соблюдаться.
Должен ли я включить какой-либо сервис systemd для восстановления старого поведения (как это сделано для /etc/rc.local
)?
2 ответа
Я понимаю, что Ubuntu 16.04 включает systemd рядом с подсистемой upstart.
Единственная роль Upstart в 16.04 по умолчанию - для пользовательских сессий. Это не имеет ничего общего с системным init, который полностью обрабатывается systemd. Может быть возможно заставить Upstart быть init
, но это не поддерживается.
/etc/init/*.conf
поэтому игнорируются (и, вероятно, являются просто остаточными файлами). Если вы хотите настроить TTY2, вам придется редактировать сервисы systemd. Смотрите мои посты в разделе Как создать Ubuntu Server 16.04 Autologin? и как мне переопределить или настроить системные сервисы?
Благодаря инструкциям на принятый ответ, выполнил мою цель с /etc/systemd/system/[email protected]/override.conf
[Unit]
Description=Vim for notes on %I
[Install]
WantedBy=graphical.target
[Service]
User=my_user
Group=my_group
ExecStart=
ExecStart=/bin/bash -lc '/usr/bin/vim /media/notes/note_`LC_ALL=us_US.utf8 /bin/date "+%%b%%g"`'
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
Предостережения:
должен был бежать
%
как%%
в противном случае они были заменены на системные переменныене получил потоки ввода / вывода без
Standard*
заявления в[Service]