web-dev-qa-db-ja.com

デスクトップで6つのgettyプロセスが実行されているのはなぜですか?

私のデスクトップシステムは:

$ uname -a
Linux xmachine 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:25:36 UTC 2011 i686 i686 i386 GNU/Linux

ps a | grep gettyを実行すると、次の出力が得られます。

  900 tty4     Ss+    0:00 /sbin/getty -8 38400 tty4
  906 tty5     Ss+    0:00 /sbin/getty -8 38400 tty5
  915 tty2     Ss+    0:00 /sbin/getty -8 38400 tty2
  917 tty3     Ss+    0:00 /sbin/getty -8 38400 tty3
  923 tty6     Ss+    0:00 /sbin/getty -8 38400 tty6
  1280 tty1     Ss+    0:00 /sbin/getty -8 38400 tty1
  5412 pts/1    S+     0:00 grep --color=auto getty

TtyXプロセスは入力/出力デバイス用だと思いますが、よくわかりません。これに基づいて、なぜ6つのttyXプロセスが実行されているのでしょうか。入力デバイス(キーボード)は1つだけです。

23
xanpeng

これは、tty1tty6の間の各仮想コンソール(VC)で1つのgettyプロセスが実行されているためです。を使用してアクティブな仮想コンソールを変更することで、これらにアクセスできます。 Alt-F1 使って Alt-F6Ctrl-Alt-F1 そして Ctrl-Alt-F6 現在X内にいる場合).

TTYの詳細については この質問 を、仮想コンソールの情報については このWikipediaの記事 を参照してください。

25
Chris Down

Linuxマシン(SystemVで実行)は、実行する* gettyプロセスの数とそれに対応する端末を(だけでなく)宣言する特別なファイル/etc/inittabを定義します。例えば。これは、私のGentoo Linuxマシンでのinittabの抜粋です。

# TERMINALS
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
# Wanting only four terminals!
#c5:2345:respawn:/sbin/agetty 38400 tty5 linux
#c6:2345:respawn:/sbin/agetty 38400 tty6 linux

たとえば、最初の端末にagettyが表示されるのは、agettyに渡されるtty1引数です。ログインを入力できるコンソールの数を制限するには、inittabの対応する行をコメント化します。つまり、行の先頭にハッシュ(#)記号を付けます。

私のマシンでは、ログインできるコンソールを4つだけに減らしました。グラフィックログインマネージャーで問題が発生した場合に備えて、少なくともこれらの1つをアクティブにしておくことをお勧めします(ある場合)。

6
user86969