「KMSCON」の版間の差分
細 (kmsconのリンク先がAURになっているのを修正。) |
(同期) |
||
28行目: | 28行目: | ||
その名前にかかわらず、KMS は kmscon に絶対必要というわけではありません。Kmscon は次のビデオバックエンドをサポートしています: fbdev (Linux fbdev ビデオバックエンド), drm2d (Linux DRM ソフトウェアレンダリングバックエンド), drm3d (Linux DRM ハードウェアレンダリングバックエンド)。あなたの環境でこの中のどれかひとつでも利用できるようにしてください。 |
その名前にかかわらず、KMS は kmscon に絶対必要というわけではありません。Kmscon は次のビデオバックエンドをサポートしています: fbdev (Linux fbdev ビデオバックエンド), drm2d (Linux DRM ソフトウェアレンダリングバックエンド), drm3d (Linux DRM ハードウェアレンダリングバックエンド)。あなたの環境でこの中のどれかひとつでも利用できるようにしてください。 |
||
− | + | {{Pkg|kmscon}} をインストールしてください。もしくは、[[Arch User Repository|AUR]] から開発版の {{AUR|kmscon-git}} をインストールすることも可能です。 |
|
TTY1 で kmscon を使えるようにするには、以下を実行してください: |
TTY1 で kmscon を使えるようにするには、以下を実行してください: |
||
66行目: | 66行目: | ||
== トラブルシューティング == |
== トラブルシューティング == |
||
− | + | === Xorg と kmscon の切り替えに問題が発生する === |
|
+ | |||
+ | [[Xorg]] と kmscon の切り替えに問題が発生する場合は ExecStart に {{ic|--hwaccel --drm}} を追加するとよいかもしれません。 |
||
ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --font-name Terminus --font-size 12 --hwaccel --drm |
ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --font-name Terminus --font-size 12 --hwaccel --drm |
||
+ | |||
− | * バージョン 7 で、オーディオをコントロールできない場合、ユーザーを '''audio''' [[ユーザーとグループ#グループ管理|グループ]]に追加してください。ただしグループに追加すると[[Advanced Linux Sound Architecture#インストール|問題]]が発生します。 |
||
+ | === 音声を制御できない === |
||
+ | |||
+ | バージョン 7 で、オーディオをコントロールできない場合、ユーザーを '''audio''' [[ユーザーとグループ#グループ管理|グループ]]に追加してください。ただしグループに追加すると[[Advanced Linux Sound Architecture#インストール|問題]]が発生します。 |
||
+ | |||
+ | === Vim で端末の出力が消去されない === |
||
+ | |||
+ | Vim を開いたときに端末の出力が消えない場合があります。ファイルの編集は可能ですがテキストが変更するまで表示されません。回避策として、{{ic|1=TERM=vt220}} [[環境変数]]を設定してみてください。もしくは、{{Pkg|vi}} や [[Neovim]] などの vi ライクなテキストエディタを使ってください。 |
||
+ | {{Note|{{ic|TERM}} を {{ic|vt220}} に設定した場合、カラーのサポートが利用できません。}} |
2018年12月12日 (水) 19:09時点における版
- Kmscon は linux のカーネルモードセッティング (KMS) を使ったシンプルなターミナルエミュレータです。カーネルの VT 実装をユーザスペースのコンソールで置き換えようという試みです。
目次
機能
Kmscon はカーネル内蔵の linux コンソールの互換品として機能します。以下の機能が存在します:
- vt220 から vt510 までの完全な実装。
- 国際化の完全サポート:
- Kmscon は CJK を含む、Unicode 文字を全て表示できます。
- Kmscon は libxkbcommon を使って国際化キーボードを扱えるため、X キーボードでサポートされている全てのキーボードレイアウトを利用することが可能です。
- ハードウェアアクセラレーションを使ったレンダリング。
- Multi-seat 可能。
インストール
その名前にかかわらず、KMS は kmscon に絶対必要というわけではありません。Kmscon は次のビデオバックエンドをサポートしています: fbdev (Linux fbdev ビデオバックエンド), drm2d (Linux DRM ソフトウェアレンダリングバックエンド), drm3d (Linux DRM ハードウェアレンダリングバックエンド)。あなたの環境でこの中のどれかひとつでも利用できるようにしてください。
kmscon をインストールしてください。もしくは、AUR から開発版の kmscon-gitAUR をインストールすることも可能です。
TTY1 で kmscon を使えるようにするには、以下を実行してください:
# rm /etc/systemd/system/getty.target.wants/getty@tty1.service # systemctl enable kmsconvt@tty1.service
Getty (agetty) を置き換える
root で、以下を実行してください:
# ln -s /usr/lib/systemd/system/kmsconvt\@.service /etc/systemd/system/autovt\@.service
これで systemd がそれぞれの VT で agetty の代わりに kmscon を起動するようになります。より正確に言うと、このコマンドは systemd-logind が新しい VT で getty@.service の代わりに kmsconvt@.service を使うようにさせます。getty@.service を使っている他のユニットやスクリプトにはこの変更が適用されません。
何らかの理由で kmscon が実行できないときは、代わりに getty@.service が起動されます。そのため問題が生じても動作を継続するためのフォールバックが常に存在します。さらに、VT が利用できない場合、このユニットは何も起動しません。
CJK サポート
Kmscon はデフォルトのフォントエンジン pango を通して CJK 文字のレンダリングをサポートしています。ただし、モノスペースフォントのエイリアスを適切な CJK フォントにマップするよう fontconfig を設定する必要があります。日本語ユーザーは、以下のテンプレートで日本語を表示できます:
/etc/fonts/conf.d/99-kmscon.conf
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <match> <test name="family"><string>monospace</string></test> <edit name="family" mode="prepend" binding="strong"> <string>DejaVu Sans Mono</string> <string>IPAGothic</string> </edit> </match> </fontconfig>
ttf-dejavu と otf-ipafont をインストールしてください。両方とも公式リポジトリに含まれています。
トラブルシューティング
Xorg と kmscon の切り替えに問題が発生する
Xorg と kmscon の切り替えに問題が発生する場合は ExecStart に --hwaccel --drm
を追加するとよいかもしれません。
ExecStart=/usr/bin/kmscon "--vt=%I" --seats=seat0 --no-switchvt --font-name Terminus --font-size 12 --hwaccel --drm
音声を制御できない
バージョン 7 で、オーディオをコントロールできない場合、ユーザーを audio グループに追加してください。ただしグループに追加すると問題が発生します。
Vim で端末の出力が消去されない
Vim を開いたときに端末の出力が消えない場合があります。ファイルの編集は可能ですがテキストが変更するまで表示されません。回避策として、TERM=vt220
環境変数を設定してみてください。もしくは、vi や Neovim などの vi ライクなテキストエディタを使ってください。