回答:
短い答え:なぜですか?(暗黙の笑顔をお願いします)
もっと長いもの:それはほとんど歴史的なものだと思う。getty
VCサポートで起動した最初の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を停止します。
なぜこれ以上ないのですか?実行top
またはhtop
1つ(CPU /メモリ使用量を静的にする)、ssh
2または3の他のシステムに、別の自動化されたタスクを実行し、万が一に備えて1つを空け、さらに複数のユーザーにログインしcmatrix
、1つで実行して、別のGUI-
startx -- :1
(一部のグラフィックスにはバグがあります)
http://mostlylinux.wordpress.com/troubleshooting/ttysessions/
この機能を実際に使用し始めると、7 tty(7番目がデフォルト)になりますが、さらに追加することができます。
数を減らすには:TTYの数を減らすにはどうすればよいですか?
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]"
これらは、シリアルコンソール、別名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
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'
ただし、これはいくぶん無意味です。デバイスファイルはスペースを占有せず、システムパフォーマンスに影響しません。