TTYを理解しようとすると、いくつかの暗い部分にぶつかりました。
私のシステムにこれらの文字デバイスが作成されていますか
/dev/tty[1-63]
?udev
どのようにアクセスします(たとえば、Ctrl + Alt + F2を使用するtty2)。/dev/tty40
たとえば、どのようにアクセスしますか?私が理解しているように、にアクセスすると呼び出され、次に
/dev/tty1
呼び出さagetty
れますlogin
。agetty
呼び出し外の実際の効果は何ですかlogin
?
答え1
これらはすべて仮想コンソール、Linuxで呼び出されました仮想端末(VT)。ハードウェアコンソールは1つ(画面とキーボード)ですが、Linuxは複数(最大63)あるようです。ある時点で単一VTはポジティブ;キーボード入力は対応するコンソールにルーティングされ、画面にはそのコンソールが表示する内容が表示されます。
次のコマンドを使用できます。chvt
VTを切り替えます(リモートでログインするかXで実行している場合は、利用できない現在の仮想コンソールに直接アクセスする必要があります)。loadkeys
Xサーバーからロードされたキーマップを介して設定されたキーバインディングを使用することもできます。デフォルトでは、X外ではAlt+がコンソール番号に切り替わります。FnN++AltはShiftコンソール番号に切り替えます。FnN+12; Alt+LeftとAlt+はRight前/次のコンソールに切り替わります。
コンソールが必要です割り当てられたそれに切り替えるには。あなたはそれを使用することができますopenvt
コンソールを割り当て(ルートが必要)deallocvt
割り当てをキャンセルします。
プログラムゲッティ仮想コンソールと直接的な関係はなく、特にVTの割り当てとは関係ありません。 gettyがすることは、コンソールを準備し(シリアルポートパラメータの設定、画面の空白、ウェルカムメッセージの表示など)、コンソールを呼び出してログインセッションが終了login
して繰り返されるのを待つことです。簡単に言えば、gettyの機能はlogin
ループを呼び出すことです。
コンソールを使用するためにgettyを実行する必要はありません。たとえば、コンソールですべてのプログラム起動を使用できますopenvt
。を使用して新しいコンソールからXサーバーを起動できますstartx
。