Debianとconsole-setup

Debianとconsole-setup

注:1ヶ月前にスーパーユーザーにこのような質問を投稿しました。

キーボードのescキーとcaps_lockキーを変更したいです。setxkbmap -option caps:swapescape作業を完了してください。しかし、Xでのみ可能です。キーストロークはデフォルトで仮想コンソールで機能します。 VCで自分が好きな方法で実行できるようにするにはどうすればよいですか?

ベストアンサー1

Debianとconsole-setup

Debian Linux と Debian FreeBSD では、X サーバーとカーネル仮想端末が一連の構成情報を共有するように設計されています。このconsole-setupパッケージは、Xサーバーのキーボード/フォント構成をインポートして変換し、それを使用してカーネル仮想端末を構成するためのツールと起動スクリプトを提供します。

具体的には、サービスは、udevの規則に従って、カーネル仮想端末デバイスに対して実行される翻訳されたキーボードとフォント設定の指示を含むスクリプトを生成するコマンドをconsole-setup呼び出します。キーマップはXKBからformatに変換され、udevルールで呼び出されたビルドスクリプトが実行されます。setupcon --save/etc/console-setuploadkeysckbcomploadkeys

したがって、Debian Linux および Debian FreeBSD では、、、変数があることを確認する必要がありますXKBMODEL。特に、あなたの場合は変数があることを確認する必要があります。その後、パッケージが正しくインストールされていることを確認する必要があります。 。XKBLAYOUTXKBVARIANTXKBOPTIONS/etc/default/keyboardXKBOPTIONScaps:swapescapeconsole-setup

Linuxシステム

システムオペレーティングシステムでは、統合はDebianよりも少し悪いです。名前付き設定ファイル/etc/vconsole.confとシステムが起動するとsystemd-vconsole-setup.service(カーネル内の仮想端末サブシステムの存在を知らせるudevルールに応答して)、ファイルを処理するサービスがあります。ただし、これは X サーバー構成とまったく統合されません。

このファイルには に渡されたキーマップを表す設定がvconsole.confあり、独自に明示的に実行する必要もありません。しかし、KEYMAPloadkeysそれは完全にあなた次第です(カスタム)キーマップを作成して交換し、Caps Lock見つけられるEscape場所に配置します。loadkeys

より統合された設定を得るには、2つの異なるサービスsystemd-localedとデスクトップバスを関連付ける必要があります。例えば一人で走る場合

localectl set-x11-keymap pl pc105 "" "caps:swapescape"
ロケールD-BUSサービスは、/etc/vconsole.conf最良の推測に基づいて書き換えられます。最も近い同等物カーネル仮想端末マップ。この最も近い同等物は次のようにすることはできません。正確にしかし、オプションなどを完全に無視することがわかります。

もちろん、ckbcompDebianを使用して直接XKBキーマップを手動で変換することもできます。 ☺

追加読書

おすすめ記事