「Linux コンソール」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(コンソールでのキーボード設定 に修正)
(同期)
 
(3人の利用者による、間の18版が非表示)
1行目: 1行目:
[[Category:Linux console]]
+
[[Category:Linux コンソール]]
 
[[en:Linux console]]
 
[[en:Linux console]]
 
[[es:Linux console]]
 
[[es:Linux console]]
 
[[pt:Linux console]]
 
[[pt:Linux console]]
  +
[[ru:Linux console]]
 
[[zh-hans:Linux console]]
 
[[zh-hans:Linux console]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|コンソールでのキーボード設定}}
 
{{Related|コンソールでのキーボード設定}}
{{Related|スクリーンショットの取得#仮想端末}}
+
{{Related|スクリーンショットの取得#仮想コンソール}}
 
{{Related|コンソールのカラー出力}}
 
{{Related|コンソールのカラー出力}}
 
{{Related|getty}}
 
{{Related|getty}}
13行目: 14行目:
 
[[Wikipedia:Linux console|Wikipedia]] より:
 
[[Wikipedia:Linux console|Wikipedia]] より:
   
:'''Linux コンソール'''は、[[カーネル|Linux カーネル]] に内蔵されているシステムコンソールです。Linux コンソールは、カーネルや他のプロセスがテキスト出力をユーザに送信したり、ユーザからのテキスト入力を受信したりするための方法を提供します。ユーザは通常、コンピュータのキーボードでテキストを入力し、出力されたテキストをコンピュータのモニタで読みます。Linux カーネルは仮想コンソールをサポートしています - コンソールは論理的に分離されていますが、同じ物理キーボードとディスプレイにアクセスします。
+
:'''Linux コンソール'''は、[[カーネル|Linux カーネル]] に内蔵されているシステムコンソールです。Linux コンソールは、カーネルや他のプロセスがテキスト出力をユーザに送信したり、ユーザからのテキスト入力を受信したりするための方法を提供します。ユーザは通常、コンピュータのキーボードでテキストを入力し、出力されたテキストをコンピュータのモニタで読みます。Linux カーネルは仮想コンソールをサポートしています コンソールは論理的に分離されていますが、同じ物理キーボードとディスプレイにアクセスします。
   
 
この記事では、Linux コンソールの基本とフォント表示の設定方法について説明します。キーボードの設定は、[[コンソールでのキーボード設定]] サブページで説明しています。
 
この記事では、Linux コンソールの基本とフォント表示の設定方法について説明します。キーボードの設定は、[[コンソールでのキーボード設定]] サブページで説明しています。
   
== Implementation ==
+
== 実装 ==
   
  +
コンソールは、ユーザーと直接対話するほとんどのサービスとは異なり、カーネルに実装されています。これは、通常のアプリケーションとしてユーザースペースに実装される、[[Xterm]] などの端末エミュレーションソフトウェアとは対照的です。コンソールは常に、リリースされた Linux カーネルの一部でしたが、その歴史中で変化を遂げてきました。最も特出すべきなのは、[[Wikipedia:Linux framebuffer|フレームバッファ]]の使用と、[[Wikipedia:ja:Unicode|Unicode]] のサポートへの移行です。
{{Expansion|In what ways is the Linux console limited compared to terminal emulators?}}
 
   
  +
コンソールには多くの改良が施されていますが、レガシーハードウェアとの完全な後方互換性があるため、グラフィカルターミナルエミュレータと比較すると制限があります。
The console, unlike most services that interact directly with users, is implemented in the kernel. This contrasts with terminal emulation software, such as [[Xterm]], which is implemented in user space as a normal application. The console has always been part of released Linux kernels, but has undergone changes in its history, most notably the transition to using the [[Wikipedia:Linux framebuffer|framebuffer]] and support for [[Wikipedia:Unicode|Unicode]].
 
   
  +
=== 仮想コンソール ===
Despite many improvements in the console, its full backward compatibility with legacy hardware means it is limited compared to a graphical terminal emulator.
 
   
  +
コンソールは、一連の[[Wikipedia:ja:仮想コンソール|仮想コンソール]]としてユーザーに表示されます。これらの仮想コンソールは、複数の独立したターミナルが並列に動作しているような印象です。それぞれの仮想コンソールは、異なるユーザーでログインし、独自のシェルを実行し、独自のフォント設定を持つことができます。仮想コンソールはそれぞれ {{ic|/dev/ttyX}} デバイスを使用し、{{ic|Alt+F''x''}} ({{ic|''x''}} は仮想コンソール番号と同じで、1 から始まります) を押すことで切り替えが可能です。デバイス {{ic|/dev/console}} は自動的にアクティブな仮想コンソールにマップされます。
=== Virtual consoles ===
 
   
  +
{{man|1|chvt}}、{{man|1|openvt}}、{{man|1|deallocvt}} も参照してください。
The console is presented to the user as a series of [[Wikipedia:Virtual console|virtual consoles]]. These give the impression that several independent terminals are running concurrently; each virtual console can be logged in with different users, run its own shell and have its own font settings. The virtual consoles each use a device {{ic|/dev/ttyX}}, and you can switch between them by pressing {{ic|Alt+F''x''}} (where {{ic|''x''}} is equal to the virtual console number, beginning with 1). The device {{ic|/dev/console}} is automatically mapped to the active virtual console.
 
   
  +
=== テキストモード ===
See also {{man|1|chvt}}, {{man|1|openvt}} and {{man|1|deallocvt}}.
 
   
  +
Linux はもともと PC ハードウェア用のカーネルとして始まったため、コンソールは標準的な IBM [[Wikipedia:ja:Video Graphics Array|CGA/EGA/VGA]] グラフィックスを使用して開発されました (当時、すべての PC はこれをサポートしていました)。グラフィックは、16 色のシンプルな 80x25 キャラクタディスプレイを提供する VGA テキストモードで動作しました。このレガシーなモードは、[[Wikipedia:ja:VT100|DEC VT100]] などのような専用のテキストターミナルの機能に似ています。現在でも、システムのハードウェアがサポートしていれば ({{ic|1=vga=0 nomodeset}} を使って) テキストモードで起動できますが、最近のディストリビューションのほぼすべて (Arch Linux を含む) でフレームバッファコンソールが代わりに使用されます。
=== Text mode ===
 
   
  +
=== フレームバッファーのコンソール ===
{{Expansion|How do you boot in text mode?}}
 
   
  +
Linux が他の非 PC アーキテクチャに移植されたとき、より良いソリューションが必要になりました。他のアーキテクチャでは VGA 互換グラフィックスアダプタを使用しませんし、さらにテキストモードを全くサポートしていない場合があるからです。フレームバッファコンソールは、すべてのプラットフォームで標準的なコンソールを提供するために実装され、基盤となるグラフィックスハードウェアに関係なく同じ VGA スタイルのインターフェイスを提供します。そのため、Linux コンソールはターミナルエミュレータではなく、それ自体でターミナルなのです。コンソールはターミナルタイプ {{ic|linux}} を使用し、VT100 と幅広く互換性があります。
Since Linux originally began as a kernel for PC hardware, the console was developed using standard IBM [[Wikipedia:VGA|CGA/EGA/VGA]] graphics, which all PCs supported at the time. The graphics operated in VGA text mode, which provides a simple 80x25 character display with 16 colours. This legacy mode is similar to the capabilities of dedicated text terminals, such as the [[Wikipedia:VT100|DEC VT100]] series. It is still possible to boot in text mode if the system hardware supports it, but almost all modern distributions (including Arch Linux) use the framebuffer console instead.
 
   
  +
== キーボードショートカット ==
===Framebuffer console===
 
As Linux was ported to other non-PC architectures, a better solution was required, since other architectures do not use VGA-compatible graphics adapters, and may not support text modes at all. The framebuffer console was implemented to provide a standard console across all platforms, and so presents the same VGA-style interface regardless of the underlying graphics hardware. As such, the Linux console is not a terminal emulator, but a terminal in its own right. It uses the terminal type {{ic|linux}}, and is largely compatible with VT100.
 
 
== Keyboard shortcuts ==
 
   
 
{| class="wikitable"
 
{| class="wikitable"
  +
! キーボードショートカット
! Keyboard Shortcut
 
  +
! 説明
! Description
 
 
|-
 
|-
 
| {{ic|Ctrl+Alt+Del}}
 
| {{ic|Ctrl+Alt+Del}}
| Reboots the system (specified by the symlink {{ic|/usr/lib/systemd/system/ctrl-alt-del.target}})
+
| システムを再起動します (シンボリックリンク {{ic|/usr/lib/systemd/system/ctrl-alt-del.target}} で指定されています)
 
|-
 
|-
 
| {{ic|Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ...
 
| {{ic|Alt+F1}}, {{ic|F2}}, {{ic|F3}}, ...
  +
| ''n'' 番目の仮想コンソールに切り替えます
| Switch to ''n''-th virtual console
 
 
|-
 
|-
| {{ic|Alt+ ←}}
+
| {{ic|Alt+Left}}
  +
| 前の仮想コンソールに切り替えます
| Switch to previous virtual console
 
 
|-
 
|-
| {{ic|Alt+ →}}
+
| {{ic|Alt+Right}}
  +
| 次の仮想コンソールに切り替えます
| Switch to next virtual console
 
 
|-
 
|-
 
| {{ic|Scroll Lock}}
 
| {{ic|Scroll Lock}}
  +
| Scroll Lock が有効化されると、入力/出力がロックされます
| When Scroll Lock is activated, input/output is locked
 
 
|-
 
|-
 
| {{ic|Ctrl+c}}
 
| {{ic|Ctrl+c}}
  +
| 現在のタスクをキルします
| Kills current task
 
 
|-
 
|-
 
| {{ic|Ctrl+d}}
 
| {{ic|Ctrl+d}}
  +
| EOF を挿入します
| Inserts an EOF
 
 
|-
 
|-
 
| {{ic|Ctrl+z}}
 
| {{ic|Ctrl+z}}
  +
| 現在のタスクをポーズします
| Pauses current Task
 
 
|}
 
|}
   
See also {{man|4|console_codes}}.
+
{{man|4|console_codes}} も見てください。
   
== Fonts ==
+
== フォント ==
   
  +
{{Note|このセクションの説明は [[Wikipedia:Linux console|Linux コンソール]]におけるものです。(ユニコードフォントや最新のグラフィックアダプタのサポートなど) より多くの機能が備わっているコンソールについては [[KMSCON]] や似たプロジェクトのページを見て下さい。}}
{{Expansion|Mention kernel's builtin VGA 8x16 font ({{ic|CONFIG_FONT_8x16}}) and Terminus 16x32 font ({{ic|CONFIG_FONT_TER16x32}}), and how to use them. Link to [[HiDPI#Linux console]].}}
 
   
  +
[[Wikipedia:Linux console|Linux コンソール]]はデフォルトで UTF-8 エンコードを使用しますが、標準の VGA 互換フレームバッファが使用されるため、コンソールフォントはグリフ数が標準的な 256 あるいは 512 のいずれかに制限されます。フォントのグリフ数が 256 より多い場合、色の数は 16 から 8 に減少します。与えられた Unicode 値に正しい記号を割り当てるには、特殊な変換マップ (しばしば ''unimap'' と呼ばれます) が必要です。最近ではほとんどのコンソールフォントに ''unimap'' が組み込まれていますが、歴史的に、これは個別に読み込む必要があります。
{{Note|This section is about the [[Wikipedia:Linux console|Linux console]]. For alternative console solutions offering more features (full Unicode fonts, modern graphics adapters etc.), see [[KMSCON]] or similar projects.}}
 
   
  +
デフォルトでは、[[Wikipedia:ja:仮想コンソール|仮想コンソール]]はカーネル組み込みのフォントと [[Wikipedia:ja:コードページ437|CP437]] 文字セットを使用します [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/vt/Makefile#n5] が、これは簡単に変えることができます。カーネルは大体 15 個の組み込みフォントを提供しており、[[カーネル#公式サポートカーネル|公式にサポートされているカーネル]]はこれらの中から 2 つを提供しています: VGA 8x16 フォント ({{ic|CONFIG_FONT_8x16}}) と Terminus 16x32 フォント ({{ic|CONFIG_FONT_TER16x32}}) です。カーネルは、画面解像度の評価に基づいて1つを選んで使用します。もう一つの組み込みフォントは、{{ic|1=fbcon=font:TER16x32}} のように[[カーネルパラメータ]]を設定することで強制的に使用することができます。
By default, the [[Wikipedia:Virtual console|virtual console]] uses the kernel built-in font with a [[Wikipedia:CP437|CP437]] character set,<sup>[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/vt/Makefile#n4]</sup> but this can be easily changed.
 
   
  +
{{Pkg|kbd}} パッケージは、カーネルによって設定された仮想コンソールの設定をオーバーライドするためのツールを提供します。利用可能なフォントは {{ic|/usr/share/kbd/consolefonts/}} ディレクトリ内に提供されています。''.psfu'' か ''.psfu.gz'' で終わるファイルには Unicode 変換マップが組み込まれています。
The [[Wikipedia:Linux console|Linux console]] uses UTF-8 encoding by default, but because the standard VGA-compatible framebuffer is used, a console font is limited to either a standard 256, or 512 glyphs. If the font has more than 256 glyphs, the number of colours is reduced from 16 to 8. In order to assign correct symbol to be displayed to the given Unicode value, a special translation map, often called ''unimap'', is needed. Nowadays most of the console fonts have the ''unimap'' built-in; historically, it had to be loaded separately.
 
   
  +
キーマップ (コンピュータによって使用される、押されたキーと文字との関係) は、{{ic|/usr/share/kbd/keymaps/}} のサブディレクトリにあります。詳細は [[コンソールでのキーボード設定]] を見てください。
The {{Pkg|kbd}} package provides tools to change virtual console font and font mapping. Available fonts are saved in the {{ic|/usr/share/kbd/consolefonts/}} directory, those ending with ''.psfu'' or ''.psfu.gz'' have a Unicode translation map built-in.
 
   
  +
{{Note|フォントを置き換えると、標準的な VGA スタイルのフォントを期待するプログラム (線画グラフィックスを使用するものなど) で問題が発生する可能性があります。}}
Keymaps, the connection between the key pressed and the character used by the computer, are found in the subdirectories of {{ic|/usr/share/kbd/keymaps/}}, see [[/Keyboard configuration]] for details.
 
   
  +
{{Tip|ラテン/ギリシャ文字で書かれたヨーロッパ系言語の場合、{{ic|eurlatgr}} フォントを使うことができます。幅広いラテン/ギリシャ文字と特殊文字が収録されています [https://lists.altlinux.org/pipermail/kbd/2014-February/000439.html]。}}
{{Note|Replacing the font can cause issues with programs that expect a standard VGA-style font, such as those using line drawing graphics.}}
 
   
  +
=== プレビューと一時的な変更 ===
{{Tip|For European based languages written in Latin/Greek letters you can use {{ic|eurlatgr}} font, it includes a broad range of Latin/Greek letter variations as well as
 
special characters [https://lists.altlinux.org/pipermail/kbd/2014-February/000439.html].}}
 
   
  +
{{Tip|フォントプレビューのための画像のライブラリが利用できます: [https://adeverteuil.github.io/linux-console-fonts-screenshots/ Linux console fonts screenshots].}}
=== Preview and temporary changes ===
 
   
  +
フォントで利用できる記号・文字は {{ic|showconsolefont}} コマンドでテーブル表示できます:
{{Tip|An organized library of images for previewing is available: [https://alexandre.deverteuil.net/pages/consolefonts/ Linux console fonts screenshots].}}
 
   
 
$ showconsolefont
 
$ showconsolefont
   
  +
{{ic|setfont}} ユーティリティを使うことで一時的にフォントを変えることができます。フォントの名前 ({{ic|/usr/share/kbd/consolefonts/}} にあります) を指定してください:
shows a table of glyphs or letters of a font.
 
 
{{ic|setfont}} temporarily change the font if passed a font name (in {{ic|/usr/share/kbd/consolefonts/}}) such as
 
   
 
$ setfont lat2-16 -m 8859-2
 
$ setfont lat2-16 -m 8859-2
   
  +
フォント名は大文字と小文字を区別します。パラメータを渡さなかった場合、{{ic|setfont}} はコンソールをデフォルトのフォントに戻します。
Font names are case-sensitive. With no parameter, {{ic|setfont}} returns the console to the default font.
 
  +
  +
'''small 8x8''' フォントを設定するには、以下のようにフォントがインストールされている状態で、例えば以下のコマンドを使用してください:
   
So to have a '''small 8x8''' font, with that font installed like seen below, use e.g.:
 
 
 
$ setfont -h8 /usr/share/kbd/consolefonts/drdos8x8.psfu.gz
 
$ setfont -h8 /usr/share/kbd/consolefonts/drdos8x8.psfu.gz
   
To have a '''bigger''' font, the Terminus font ({{Pkg|terminus-font}}) is available in many sizes, such as {{ic|ter-132n}} which is large.
+
'''より大きい'''フォントを設定したい場合は、Terminus フォント ({{Pkg|terminus-font}}) は多くのサイズで利用可能です (例えば {{ic|ter-132b}} など)。
   
  +
{{Tip|フォントを変更するコマンドはすべて「ブラインド」でタイプ可能です。}}
{{Tip|All font changing commands can be typed in "blind".}}
 
   
  +
{{Note|''setfont'' は現在使われているコンソールだけで機能することを覚えておいて下さい。(アクティブだろうとそうでなかろうと)他のコンソールには影響しません。}}
{{Note|''setfont'' only works on the console currently being used. Any other consoles, active or inactive, remain unaffected.}}
 
   
=== Persistent configuration ===
+
=== 永続的な設定 ===
   
  +
{{ic|/etc/vconsole.conf}} の {{ic|FONT}} 変数は、起動時にフォントを設定するために使用されます。この設定は永続的で、すべてのコンソールで反映されます。詳細は {{man|5|vconsole.conf}} を見てください。
The {{ic|FONT}} variable in {{ic|/etc/vconsole.conf}} is used to set the font at boot, persistently for all consoles. See {{man|5|vconsole.conf}} for details.
 
   
For displaying characters such as ''Č, ž, đ, š'' or ''Ł, ę, ą, ś'' using the font {{ic|lat2-16.psfu.gz}}:
+
''Č, ž, đ, š'' ''Ł, ę, ą, ś'' などの文字を表示するために {{ic|lat2-16.psfu.gz}} フォントを使うとします:
   
 
{{hc|/etc/vconsole.conf|2=
 
{{hc|/etc/vconsole.conf|2=
128行目: 123行目:
 
}}
 
}}
   
  +
これで ISO/IEC 8859 の第2部がサイズ16で使われます。他の値にすればフォントサイズを変えられます (例: {{ic|lat2-08}})。8859 によって定められている地域については、[[wikipedia:ja:ISO/IEC_8859#ISO 8859の部|Wikipedia の表]]を見て下さい。
It means that second part of ISO/IEC 8859 characters are used with size 16. You can change font size using other values (e.g. {{ic|lat2-08}}). For the regions determined by 8859 specification, look at the [[Wikipedia:ISO/IEC 8859#The parts of ISO/IEC 8859]].
 
   
  +
[https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio/-/blob/v33/mkinitcpio.conf#L52 mkinitcpio v33] から、{{ic|/etc/vconsole.conf}} で指定されているフォントは {{ic|consolefont}} フックによってデフォルトで初期ユーザ空間の間に自動的にロードされるようになりました。これにより、フォントが initramfs に追加されます。詳細は [[Mkinitcpio#HOOKS]] を参照してください。
To use the specified font in early userspace, use the {{ic|consolefont}} hook in {{ic|/etc/mkinitcpio.conf}}. See [[Mkinitcpio#HOOKS]] for more information.
 
   
  +
また、{{ic|/etc/vconsole.conf}} を変更した後は、{{ic|systemd-vconsole-setup.service}} を[[再起動]]する必要がある場合があります。
If the fonts appear to not change on boot, or change only temporarily, it is most likely that they got reset when graphics driver was initialized and console was switched to framebuffer. To avoid this, load your graphics driver earlier. See for example [[Kernel mode setting#Early KMS start]], [https://bbs.archlinux.org/viewtopic.php?id=145765] or other ways to setup your framebuffer before {{ic|/etc/vconsole.conf}} is applied.
 
  +
  +
フォントが起動時に変更されなかったり、一時的にしか変更されない場合、グラフィックスドライバが初期化されてコンソールがフレームバッファに切り替わった時にフォントがリセットされているのでしょう。デフォルトでは、全ての in-tree なカーネルドライバは早い段階でロードされますが、NVIDIA ユーザは {{ic|/etc/vconsole.conf}} が適用される前に NVIDIA グラフィックスドライバをロードする必要があります ([[NVIDIA#早期ロード]] の記事を確認してください)。
   
 
== HiDPI ==
 
== HiDPI ==
138行目: 135行目:
 
[[HiDPI#Linux コンソール]] を参照。
 
[[HiDPI#Linux コンソール]] を参照。
   
== Audible tones ==
+
== 可聴音 ==
   
 
[[PC スピーカー#Beep]] を参照。
 
[[PC スピーカー#Beep]] を参照。
   
== See also ==
+
== 参照 ==
   
 
* [https://www.linusakesson.net/programming/tty/ The TTY demystified – Linus Åkesson]
 
* [https://www.linusakesson.net/programming/tty/ The TTY demystified – Linus Åkesson]
  +
  +
{{TranslationStatus|Linux console|2023-06-21|778095}}

2023年6月21日 (水) 17:09時点における最新版

関連記事

Wikipedia より:

Linux コンソールは、Linux カーネル に内蔵されているシステムコンソールです。Linux コンソールは、カーネルや他のプロセスがテキスト出力をユーザに送信したり、ユーザからのテキスト入力を受信したりするための方法を提供します。ユーザは通常、コンピュータのキーボードでテキストを入力し、出力されたテキストをコンピュータのモニタで読みます。Linux カーネルは仮想コンソールをサポートしています — コンソールは論理的に分離されていますが、同じ物理キーボードとディスプレイにアクセスします。

この記事では、Linux コンソールの基本とフォント表示の設定方法について説明します。キーボードの設定は、コンソールでのキーボード設定 サブページで説明しています。

実装

コンソールは、ユーザーと直接対話するほとんどのサービスとは異なり、カーネルに実装されています。これは、通常のアプリケーションとしてユーザースペースに実装される、Xterm などの端末エミュレーションソフトウェアとは対照的です。コンソールは常に、リリースされた Linux カーネルの一部でしたが、その歴史中で変化を遂げてきました。最も特出すべきなのは、フレームバッファの使用と、Unicode のサポートへの移行です。

コンソールには多くの改良が施されていますが、レガシーハードウェアとの完全な後方互換性があるため、グラフィカルターミナルエミュレータと比較すると制限があります。

仮想コンソール

コンソールは、一連の仮想コンソールとしてユーザーに表示されます。これらの仮想コンソールは、複数の独立したターミナルが並列に動作しているような印象です。それぞれの仮想コンソールは、異なるユーザーでログインし、独自のシェルを実行し、独自のフォント設定を持つことができます。仮想コンソールはそれぞれ /dev/ttyX デバイスを使用し、Alt+Fx (x は仮想コンソール番号と同じで、1 から始まります) を押すことで切り替えが可能です。デバイス /dev/console は自動的にアクティブな仮想コンソールにマップされます。

chvt(1)openvt(1)deallocvt(1) も参照してください。

テキストモード

Linux はもともと PC ハードウェア用のカーネルとして始まったため、コンソールは標準的な IBM CGA/EGA/VGA グラフィックスを使用して開発されました (当時、すべての PC はこれをサポートしていました)。グラフィックは、16 色のシンプルな 80x25 キャラクタディスプレイを提供する VGA テキストモードで動作しました。このレガシーなモードは、DEC VT100 などのような専用のテキストターミナルの機能に似ています。現在でも、システムのハードウェアがサポートしていれば (vga=0 nomodeset を使って) テキストモードで起動できますが、最近のディストリビューションのほぼすべて (Arch Linux を含む) でフレームバッファコンソールが代わりに使用されます。

フレームバッファーのコンソール

Linux が他の非 PC アーキテクチャに移植されたとき、より良いソリューションが必要になりました。他のアーキテクチャでは VGA 互換グラフィックスアダプタを使用しませんし、さらにテキストモードを全くサポートしていない場合があるからです。フレームバッファコンソールは、すべてのプラットフォームで標準的なコンソールを提供するために実装され、基盤となるグラフィックスハードウェアに関係なく同じ VGA スタイルのインターフェイスを提供します。そのため、Linux コンソールはターミナルエミュレータではなく、それ自体でターミナルなのです。コンソールはターミナルタイプ linux を使用し、VT100 と幅広く互換性があります。

キーボードショートカット

キーボードショートカット 説明
Ctrl+Alt+Del システムを再起動します (シンボリックリンク /usr/lib/systemd/system/ctrl-alt-del.target で指定されています)
Alt+F1, F2, F3, ... n 番目の仮想コンソールに切り替えます
Alt+Left 前の仮想コンソールに切り替えます
Alt+Right 次の仮想コンソールに切り替えます
Scroll Lock Scroll Lock が有効化されると、入力/出力がロックされます
Ctrl+c 現在のタスクをキルします
Ctrl+d EOF を挿入します
Ctrl+z 現在のタスクをポーズします

console_codes(4) も見てください。

フォント

ノート: このセクションの説明は Linux コンソールにおけるものです。(ユニコードフォントや最新のグラフィックアダプタのサポートなど) より多くの機能が備わっているコンソールについては KMSCON や似たプロジェクトのページを見て下さい。

Linux コンソールはデフォルトで UTF-8 エンコードを使用しますが、標準の VGA 互換フレームバッファが使用されるため、コンソールフォントはグリフ数が標準的な 256 あるいは 512 のいずれかに制限されます。フォントのグリフ数が 256 より多い場合、色の数は 16 から 8 に減少します。与えられた Unicode 値に正しい記号を割り当てるには、特殊な変換マップ (しばしば unimap と呼ばれます) が必要です。最近ではほとんどのコンソールフォントに unimap が組み込まれていますが、歴史的に、これは個別に読み込む必要があります。

デフォルトでは、仮想コンソールはカーネル組み込みのフォントと CP437 文字セットを使用します [1] が、これは簡単に変えることができます。カーネルは大体 15 個の組み込みフォントを提供しており、公式にサポートされているカーネルはこれらの中から 2 つを提供しています: VGA 8x16 フォント (CONFIG_FONT_8x16) と Terminus 16x32 フォント (CONFIG_FONT_TER16x32) です。カーネルは、画面解像度の評価に基づいて1つを選んで使用します。もう一つの組み込みフォントは、fbcon=font:TER16x32 のようにカーネルパラメータを設定することで強制的に使用することができます。

kbd パッケージは、カーネルによって設定された仮想コンソールの設定をオーバーライドするためのツールを提供します。利用可能なフォントは /usr/share/kbd/consolefonts/ ディレクトリ内に提供されています。.psfu.psfu.gz で終わるファイルには Unicode 変換マップが組み込まれています。

キーマップ (コンピュータによって使用される、押されたキーと文字との関係) は、/usr/share/kbd/keymaps/ のサブディレクトリにあります。詳細は コンソールでのキーボード設定 を見てください。

ノート: フォントを置き換えると、標準的な VGA スタイルのフォントを期待するプログラム (線画グラフィックスを使用するものなど) で問題が発生する可能性があります。
ヒント: ラテン/ギリシャ文字で書かれたヨーロッパ系言語の場合、eurlatgr フォントを使うことができます。幅広いラテン/ギリシャ文字と特殊文字が収録されています [2]

プレビューと一時的な変更

ヒント: フォントプレビューのための画像のライブラリが利用できます: Linux console fonts screenshots.

フォントで利用できる記号・文字は showconsolefont コマンドでテーブル表示できます:

$ showconsolefont

setfont ユーティリティを使うことで一時的にフォントを変えることができます。フォントの名前 (/usr/share/kbd/consolefonts/ にあります) を指定してください:

$ setfont lat2-16 -m 8859-2

フォント名は大文字と小文字を区別します。パラメータを渡さなかった場合、setfont はコンソールをデフォルトのフォントに戻します。

small 8x8 フォントを設定するには、以下のようにフォントがインストールされている状態で、例えば以下のコマンドを使用してください:

$ setfont -h8 /usr/share/kbd/consolefonts/drdos8x8.psfu.gz

より大きいフォントを設定したい場合は、Terminus フォント (terminus-font) は多くのサイズで利用可能です (例えば ter-132b など)。

ヒント: フォントを変更するコマンドはすべて「ブラインド」でタイプ可能です。
ノート: setfont は現在使われているコンソールだけで機能することを覚えておいて下さい。(アクティブだろうとそうでなかろうと)他のコンソールには影響しません。

永続的な設定

/etc/vconsole.confFONT 変数は、起動時にフォントを設定するために使用されます。この設定は永続的で、すべてのコンソールで反映されます。詳細は vconsole.conf(5) を見てください。

Č, ž, đ, šŁ, ę, ą, ś などの文字を表示するために lat2-16.psfu.gz フォントを使うとします:

/etc/vconsole.conf
...
FONT=lat2-16
FONT_MAP=8859-2

これで ISO/IEC 8859 の第2部がサイズ16で使われます。他の値にすればフォントサイズを変えられます (例: lat2-08)。8859 によって定められている地域については、Wikipedia の表を見て下さい。

mkinitcpio v33 から、/etc/vconsole.conf で指定されているフォントは consolefont フックによってデフォルトで初期ユーザ空間の間に自動的にロードされるようになりました。これにより、フォントが initramfs に追加されます。詳細は Mkinitcpio#HOOKS を参照してください。

また、/etc/vconsole.conf を変更した後は、systemd-vconsole-setup.service再起動する必要がある場合があります。

フォントが起動時に変更されなかったり、一時的にしか変更されない場合、グラフィックスドライバが初期化されてコンソールがフレームバッファに切り替わった時にフォントがリセットされているのでしょう。デフォルトでは、全ての in-tree なカーネルドライバは早い段階でロードされますが、NVIDIA ユーザは /etc/vconsole.conf が適用される前に NVIDIA グラフィックスドライバをロードする必要があります (NVIDIA#早期ロード の記事を確認してください)。

HiDPI

HiDPI#Linux コンソール を参照。

可聴音

PC スピーカー#Beep を参照。

参照

翻訳ステータス: このページは en:Linux console の翻訳バージョンです。最後の翻訳日は 2023-06-21 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。