ttyを閉じる方法


14

いくつかのttyを開きましたが、ttyを閉じるために使用するキーの組み合わせがわかりません。Arch Linuxを使用しています。


2
あなたはそれらを開かなかった、彼らは開いている。VTを変更しました。それらのいずれかからログアウトする場合は、を使用しますexit。ログインしていない場合でも心配しないでください。それは前にありました、あなたはそれを見ていませんでした。
goldilocks

1
@ goldilocks、VTは動的に割り当てられ、閉じられます。最初のコンソールはコンソールがオンのときに常に割り当てられinit、Xは通常次のコンソールを割り当てますが、さらに割り当てることができます。/dev/ttyxデバイスを開くだけで、デバイスを割り当てることができます。
ステファンシャゼル

@StephaneChazelas:結構です。「キーの組み合わせを使用する」ことから、ngwdanielは実際にはinitがまだ生成していないものを何も開始しなかったと推測していました。もしそうなら、それらを閉じる必要はありません(そしてあなたの答えで指摘しているように、それはとにかくそう簡単には行われません)。
-goldilocks

使用可能なttyの数を減らすつもりですか?
デイジー

@goldilocksありがとう、これは私が探していた答えです。私は愚かな初心者で、<Alt> + <F2>などで
tty

回答:


10

TTYを「閉じる」

  • が使用されてsystemdいない場合init、これ役に立ちません。
  • sysvinitされ、もはやによってサポートされていないアーチのLinux

systemdsystemctl使用しservice unitsて、システム上のすべてを制御します。詳細については、を参照してくださいman systemd.unitgetty目的のサービスを停止するttyと、問題のタスクが実行されます。以下は、このアクションを実行するコマンドです。また、結果を確認できるようにテストも追加しました。

# systemctl stop getty@ttyX.service

  • 置き換えXttyあなたが近いしたいです
    • 場合は[F4]は、スイッチに使用されたtty後、サービスが命名されますgetty@tty4.service
  • このプロシージャ、指定されttyたから実行されたすべてのアプリケーション/クライアントも閉じます。

テスト

  1. 切り替えてtty4、あなたを入力usernameしてpassword
    • <CTRL>+<ALT>+[F4]
  2. お気に入りのテキストエディターを 起動する
    • vim foo.bar
  3. 元の状態tty1またはtty元の状態に 切り替えます
    • <CTRL>+<ALT>+[F1]
  4. ターミナルウィンドウを開き、vim実行中 かどうかを確認します
    • pgrep vim
      • pgrep指定されたアプリケーションのシグナルプロセス番号を返します。同じアプリケーションのインスタンスが複数ある場合、複数の番号が返されます
        • (4つのターミナルウィンドウが開いている場合、pgrep4つのプロセス番号が出力されます)
  5. ルートとしてサービスを停止gettyますtty4
    • # systemctl stop getty@tty4.service
  6. 開いて編集vimしたtty4場所でまだアクティブかどうかを再確認しますfoo.bar
    • pgrep vim (ステップ4よりも出力がない/出力が少ない場合、プロセスはありません)
  7. getty@.servicefor のステータスを再確認しますtty4
    • systemctl status getty@tty4.service | grep -i "Active"
      • 出力をパイピングgrep -i "Active"すると、無効になったことを確認するために観察する必要がある必要な行のみが出力gettyされます
        • Active: inactive (dead)

whoコマンドを使用して、現在ログに記録されているユーザーとtty番号をリストできます。
ジョロ

5

私はそれがdeallocvtあなたが探しているコマンドだと信じています。

まず、VTが使用されていないことを確認してください。たとえば、そのコンソールgettyリスポーンが開始さinitれた場合、その割り当てを解除しようとしても意味がありません。inittab最初からそのttyを削除しinit、その設定をリロードするように指示する必要があります。シェルがある場合は、シェルを終了するなど。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.