web-dev-qa-db-fra.com

Pourquoi /etc/init/tty?.conf est-il ignoré dans Ubuntu 16.04?

Lorsque j'utilisais Ubuntu 14.04, j’avais un /etc/init/tty2.conf personnalisé qui démarrait un programme dans ce terminal virtuel. Mais après la mise à niveau vers Ubuntu 16.04, ces fichiers semblent être ignorés. Quelles que soient mes modifications, le terminal virtuel finit par exécuter getty après le démarrage.

Je comprends qu'Ubuntu 16.04 inclut un sous-système systemd côte à côte avec upstart. Mais comme les fichiers /etc/init/tty?.conf sont présents par défaut sur un système installé, je m'attendrais à ce qu'ils soient respectés.

Devrais-je autoriser un service systemd à restaurer un ancien comportement (comme c'est le cas pour /etc/rc.local)?

2
Dmitriusan

Je comprends qu'Ubuntu 16.04 inclut un sous-système côte à côte avec un sous-système upstart.

Le seul rôle d'Upstart dans une version par défaut de 16.04 est pour les sessions utilisateur . Cela n'a rien à voir avec init système, qui est entièrement géré par systemd. Il pourrait être possible de forcer Upstart à être init, mais cela n’est pas pris en charge.

Les /etc/init/*.conf sont donc ignorés (et ne sont probablement que des fichiers résiduels). Si vous souhaitez configurer TTY2, vous devez modifier les services systemd. Voir mes articles dans Comment créer une connexion automatique au serveur Ubuntu 16.04? et Comment puis-je remplacer ou configurer les services systemd?

2
muru

Merci aux instructions à la réponse acceptée, atteint mon objectif avec /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

Mises en garde:

  • devait échapper à % en tant que %%, sinon ils ont été remplacés par des variables systemd

  • n'a pas obtenu les flux d'entrée/sortie sans les instructions Standard* à [Service]

1
Dmitriusan