「Getty」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版を元に章立てを修正)
(→‎tty1 にブートメッセージを残す: 英語版を元に修正および飜訳)
92行目: 92行目:
 
=== tty1 にブートメッセージを残す ===
 
=== tty1 にブートメッセージを残す ===
   
デフォルトで、Arch では {{ic|getty@tty1}} サービスが有効になっています。サービスファイルは既に {{ic|--noclear}} を使うようになっているので、agetty が画面をクリアすることはありません。しかしながら [[systemd]] 起動する前に画面をクリアしてまいます。この動を無効にするには、ドロップインディレクトリ {{ic|/etc/systemd/system/getty@tty1.service.d/}} を作成して、その中に {{ic|noclear.conf}} ファイルを作ってください:
+
デフォルトで、Arch では {{ic|getty@tty1}} サービスが有効になっています。サービスファイルは既に {{ic|--noclear}} を使うようになっているので、agetty が画面をクリアすることはありません。しかし[[systemd]] 起動する前に画面をクリアします。この動を無効にするには、[[ドロップインファイル]]を作成します。
  +
 
{{hc|1=/etc/systemd/system/getty@tty1.service.d/noclear.conf|2=
 
{{hc|1=/etc/systemd/system/getty@tty1.service.d/noclear.conf|2=
 
[Service]
 
[Service]
98行目: 99行目:
 
}}
 
}}
   
  +
{{Note|
上記の設定で TTY1 の agetty の {{ic|TTYVTDisallocate}} だけが上書きされます。グローバルなサービスファイル {{ic|/usr/lib/systemd/system/getty@.service}} に手は加えられません。これは [[Systemd#ユニットファイルの編集|systemd のユニットファイル]]を編集するときに推奨される方法です。
 
  +
* [[カーネルパラメータ]]から {{ic|quiet}} を必ず削除してください。
 
KMS が後から起動すると最初のブートメッセージがクリアされしまうことがありますこのような場合は、[[KMS#Early KMS start|KMS起動]]するようにしてください。
+
* KMS 起動が遅い最初の数回のブートメッセージがクリアされないかもせん。[[KMS#Early KMS start]] か [[KMS#モードセッティング無効する]]を参照してください。
  +
}}
 
おそらく、画面にブートメッセージが溢れてしまうほど表示されますが、Shift+PgUp/PgDow でスクロールできます。スクロールしても表示されないほど多くのブートメッセージが出力される場合、[[スクロールバックバッファ]]のサイズを増やしてみて下さい。
 
   
 
==参照==
 
==参照==

2023年1月11日 (水) 14:50時点における版

関連記事

getty はターミナルのラインと接続されたターミナルを管理するプログラムの総称です。getty の目的は権限のないアクセスからシステムを保護することにあります。通常、getty のプロセスは systemd によって起動され、ターミナルのラインを管理します。

インストール

Arch Linux におけるデフォルトの getty プログラムは agetty であり、util-linux パッケージの一部です。

代替手段は次の通りです。

  • mingetty — 自動ログインができる最小主義の getty。
https://aur.archlinux.org/packages/mingetty/ || mingettyAUR
  • mgetty — Unix でモデムを使うのに適した汎用プログラム。
http://mgetty.greenie.net/ || mgettyAUR

ヒントとテクニック

Staircase effect

agetty modifies the TTY settings while waiting for a login so that the newlines are not translated to CR-LFs. This tends to cause a "staircase effect" for messages printed to the console.

It is entirely harmless, but in the event it persists once logged, you can fix this behavior with:

$ stty onlcr

See this forums discussion on the subject.

仮想コンソールの追加

/etc/systemd/logind.conf ファイルを開いて NAutoVTs=6 オプションを使って好きな数の仮想コンソールを起動できます。

一時的に起動したい場合、以下を入力することで適当な TTY で getty サービスが起動します:

$ systemctl start getty@ttyN.service

仮想コンソールに自動ログイン

agetty に渡されるデフォルトパラメータを上書きする systemd のドロップインファイルを使って設定を行います。

設定は仮想コンソールとシリアルコンソールで異なります。ほとんどの場合、設定するのは仮想コンソールの自動ログインでしょう。デバイス名は ttyN で、N が数字です。シリアルコンソールのデバイス名は ttySN のようになり、N は同じく数字になります。

仮想コンソール

手動で以下のドロップインファイルを作成してユニットファイルを編集するか、systemctl edit getty@tty1 を実行して以下の内容を記述してください:

/etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
ヒント: オプション Type=idle は全てのジョブ (ユニットの状態変更リクエスト) が完了するまでサービスの起動を遅らせます。Type=simple を使うと、サービスはすぐに実行されますが、ブートアップメッセージがログインプロンプトに残るかもしれません。このオプションは X を自動的に起動する場合に特に有用です。このオプションを使うには、Type=simple をドロップインファイルに追加してください。init システムと startx のメッセージはどちらも表示しないようにすることができます。

tty1 以外の tty を使いたい時は Systemd FAQ を見て下さい。

シリアルコンソール

以下のファイル (とディレクトリ) を作成してください:

/etc/systemd/system/serial-getty@ttyS0.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username -s %I 115200,38400,9600 vt102

Nspawn コンソール

systemd-nspawn コンテナに自動ログインするには、console-getty サービスを上書きしてください:

/etc/systemd/system/console-getty.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud console 115200,38400,9600 $TERM

Prompt only the password for a default user in virtual console login

Getty can be used to login from a virtual console with a default user, typing the password but without needing to insert the username. For instance, to prompt the password for username on tty1:

/etc/systemd/system/getty@tty1.service.d/skip-username.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- username' --noclear --skip-login - $TERM

and then enable getty@tty1.

tty1 にブートメッセージを残す

デフォルトで、Arch では getty@tty1 サービスが有効になっています。サービスファイルは既に --noclear を使うようになっているので、agetty が画面をクリアすることはありません。しかし、systemd は起動する前に画面をクリアします。この動作を無効にするには、ドロップインファイルを作成します。

/etc/systemd/system/getty@tty1.service.d/noclear.conf
[Service]
TTYVTDisallocate=no
ノート:

参照