なぜそんなに多くの仮想コンソールなのか?


26

仮想コンソールが非常に多い理由は何ですか?

GUIがクラッシュした場合に1つがあった場合、デフォルト以外に6つあった場合は理解できますか?それらは何のため?GUIがフリーズする場合を除いて、それらのいずれにも使用法はありません。


以下のMateoの回答に同意します。なぜもっとないのですか?6つすべてを開いて、さらに多くのものを望んでいます(そして、ログイン画面でGUIが「シャットオフ」されたままになることがよくあります)。
haziz

回答:


16

短い答え:なぜですか?(暗黙の笑顔をお願いします)

もっと長いもの:それはほとんど歴史的なものだと思う。gettyVCサポートで起動した最初のLinuxには6つの仮想コンソールが設定されていましたが、いつ(1990年頃だったと思います)本当に忘れていました。次に、グラフィカル環境を(手動startx)起動すると、最初の無料VCで自動的に開きました。これはたまたま#7でした。そして、当時私はまだVCでほとんどの仕事をしていました:エディターははるかに高速で、時には標準6よりも多くのVCを使用しました、そして私のラップトップはグラフィックモンスターではありませんでした ...

たとえば、私は3つのエディター(プログラム、その入力データ、それを説明するTeXファイル)を実行し、1つはコンパイル用のVC、もう1つはマニュアルを読み、もう1つはTelnetを介してメールサーバーに接続していました。

まだ6つの仮想コンソールを使用する理由は、すべてのユーザーに#7のグラフィックVCを許可することであると思われるため、Ctrl-Alt-F7「最初の無料VC Ctrl-Alt-Fxがどこに xあるのか」ではなく、マニュアル「」で書くことができます。

副次的な注意事項として、VCをトリムダウンできます(試したことがないと思います)。単純に

sudo bash -c "echo 'manual' >> /etc/init/tty6.override"

アップスタートマニュアルに従って VC#6を停止します


アクティブな ttyの数を減らすことはできますが、デバイスファイル自体を減らすことはできません(人々がカーネルを再コンパイルしたい場合を除きます)。以下の私の答えを参照してください
セルギーKolodyazhnyy

9

なぜこれ以上ないのですか?実行topまたはhtop1つ(CPU /メモリ使用量を静的にする)、ssh2または3の他のシステムに、別の自動化されたタスクを実行し、万が一に備えて1つを空け、さらに複数のユーザーにログインしcmatrix、1つで実行して、別のGUI-

startx -- :1

(一部のグラフィックスにはバグがあります)

http://mostlylinux.wordpress.com/troubleshooting/ttysessions/

この機能を実際に使用し始めると、7 tty(7番目がデフォルト)になりますが、さらに追加することができます。

数を減らすには:TTYの数を減らすにはどうすればよいですか?


8

Unixの哲学によれば、/dev/tty*エントリはすべてとして知られているものdevice fileです。これらは、ユーザーと実際のデバイス間のリンクとして機能しますが、目的は若干異なる場合があります。

仮想コンソール

のようなデバイスファイル/dev/tty123は、通常のシェルを介してシステムと対話するために使用できます。これらは仮想端末です。Ubuntuシステムは、デフォルトでTTY 1〜6で開くように設定されていますが、さらに手動で開くこともできます。例:

sudo openvt -c 9 -s "bash"

これはbash/ dev / tty9でrootとして開き、すぐにそのTTYに切り替えます(ローカル端末で行う場合、ただし、リモートsshセッション経由で行う場合chvt 9/dev/tty9、この例では9 を使用する必要があります)。sudo非root なしで同じことを行うには、開きたいttyの所有権を変更する必要があります。例えば、

$ sudo chown xieerqi:tty /dev/tty8 
$ openvt -c 8 -l 

これにより、tty8でデフォルトのシェルを使用してログインできます。しかし、私のテストでは、これはTTYを介してのみ動作するようですので、ターミナルエミュレータを介してそれを行っている場合、動作しない可能性があります(Couldn't get a file descriptor referring to the console エラーが発生し、sudo openvt -c 8 -lエミュレータからのみ動作しました)

歴史的な見地から、すべての派手なターミナルマルチプレクサーが作成される前は、これは便利な機能でした。これらのコンソール上で最大62個のコマンド(多分server)を生成し、63番目で作業しながら実行できます。最近では、それほど必要ではないかもしれません。

デフォルトで作成されるデバイスファイルは複数あります。アクティブなものは1〜6ですが、特にこの部分を編集することで番号を変更できます/etc/default/console-setup

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

ttyS *デバイス

これらは、シリアルコンソール、別名UART(RS-232とも呼ばれます)に使用されるデバイスファイルです。過去には、多くのコンピューターシステムにシリアルポートが搭載されていました。現在、これは主にサーバータイプのコンピューターで見られます。複数のttySデバイスは、USBまたはイーサネット経由で管理される複数のデバイスの接続を可能にするRS-232ハブで役立ちます。

電気技術者(大学で専攻しているもの)の場合、シリアルポートを使用して、マイクロコントローラーや開発ボード(Arduinoなど)とやり取りします。Raspberry Piなどのシングルポートコンピューターも使用します。最近では、シリアル接続はUSB-UARTケーブルを使用して確立され、次のscreenように端末でコンソールを開きます。

screen /dev/ttyUSB0 115200 # the number is baud rate or speed

ArduinoとRaspberryがシリアル接続用の独自のデバイスファイルを作成することに注意してください、/dev/ttyUSB0または/dev/ttyACM0

vcs *デバイス

man vcsこれらによると、コンソールメモリデバイスです。簡単に言えば、そうすると、少なくともその端末の最大行数までのsudo cat /dev/vcs1画面に表示されます/dev/tty1

コンソールの数を減らす

実際のデバイスファイルの数を減らすことは、tty.hライブラリを変更し、カーネルを再コンパイルすることなしには不可能です(Reference and another one)。ただし、これらのデバイスの削除は、次のコマンドを使用して手動で実行できます。

sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'

ただし、これはいくぶん無意味です。デバイスファイルはスペースを占有せず、システムパフォーマンスに影響しません。


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
テルドン

6

実用性は本物です。真のマルチユーザーLinuxシステムでは、複数のプログラムを同時に実行できます。各プログラムが独自の仮想端末で実行されている場合は、ドロップダウンして各プログラムをチェックできます。それぞれにログインすると、必要に応じて異なるユーザーとしてログインできます。当然のことながら、多くの人々がシングルユーザーの視点でLinuxに到達しましたが、Linuxはマルチユーザーとして生まれたため、その機能は決して廃棄されませんでした。

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