web-dev-qa-db-ja.com

Ubuntu 16.04で/etc/init/tty?.confが無視されるのはなぜですか?

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
Dmitriusan

Ubuntu 16.04には、upstartサブシステムと並んでsystemdが含まれていることを理解しています。

デフォルトの16.04におけるUpstartの唯一の役割は、userセッション用です。 systemdによって完全に処理されるシステムの初期化とは関係ありません。 Upstartを強制的にinitにすることも可能ですが、サポートされていません。

したがって、/etc/init/*.confは無視されます(おそらく単なる残余ファイルです)。 TTY2を構成する場合は、systemdサービスを編集する必要があります。 buntuサーバー16.04自動ログインの作成方法 および systemdサービスをオーバーライドまたは構成するにはどうすればよいですか?

2
muru

受け入れられた回答の指示のおかげで、/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

警告:

  • %として%%としてエスケープする必要がありました。そうでない場合は、systemd変数に置き換えられました

  • Standard*[Service]ステートメントなしで入出力ストリームを取得しませんでした

1
Dmitriusan