CentOS Stream 9 をデスクトップ用途に使う人は多くないでしょうが、主に日本語にかかわるカスタマイズと、キー入力絡みのトラブルへの対処を紹介していきます。
CentOS Stream 9 は時期によって 9.0, 9.1, 9.2, ... と微妙に変化していきます。初期には整備不足も見受けられました。また、Stream 9 はキー入力に問題をいくつも抱えています。
レポジトリの追加とカスタマイズツールの導入
初期状態ではレポジトリがまったく足りませんので、以下のコマンドで追加します。crb
というのは CodeReady Linux Builder の省略形で、絶対に必要です。epel
は追加パッケージを提供して、日本語関連には必須です。epel-next
は RHEL には不要で CentOS Stream には必要なようです。
初期(CentOS Stream 9.1 あたりまで?)は最初の2行は不要であったと思います。RHEL には必要だったのですが、CentOS にも混入したのでしょうか。
sudo dnf remove -y subscription-manager
sudo dnf config-manager --set-enabled crb
sudo dnf install -y epel-release epel-next-release
そして tweaks などのカスタマイズツールを導入しておきます。標準の設定ツールでは省略された項目の操作ができます。
sudo dnf install -y gnome-tweaks dconf-editor gnome-extensions-app
日本語関連の設定
nkf
は必須です。日本語入力は anthy
が標準ですが、EPEL で配布される mozc
に入れ替えるほうがいいでしょう。
sudo dnf install -y nkf mozc ibus-mozc vl-gothic-fonts-all
今では不要ですが、初期には xrefresh
パッケージが用意されてなくて、mozc
の導入に失敗するので、Fedora から借用する必要がありました。その際は次のコマンドでした。
sudo dnf install -y https://kojipkgs.fedoraproject.org/packages/xrefresh/1.0.7/3.fc38/x86_64/xrefresh-1.0.7-3.fc38.x86_64.rpm
そして個人設定です。「設定」→「Keyboard」の入力ソースの「+」をクリックして追加します。「日本語 (Mozc)」を選べばいいでしょう。
いつの頃からか「日本語 (Mozc:A_)」「日本語 (Mozc:あ)」の選択肢も増えました。
:A_
や:あ
は初期(ログイン直後?)の入力モードを表しているようです。「日本語 (Mozc)」は、選択肢が増える前は:あ
の動きをしていた記憶がありますが、今は:A_
の動きと同じです。(他に違いがあるのかはわかりません。)
vl-gothic-fonts
は gnome-tweaks
コマンドで tweaks を起動して、「フォント」→「等幅フォント」に「VL ゴシック regular」を登録するのがよいと思うのですが、好みがあると思います。
Gnome Terminal では、「設定」のプロファイルの「互換性」で、「曖昧幅の文字」を「全角」にしておくと、矢印などの記号が全角幅になります。日本語にはこのほうが都合良いでしょう。
キーボード・マウス関連のカスタマイズ
Caps Lock を Ctrl に
gnome-tweaks
コマンドで tweaks を起動して、「キーボードとマウス」→「追加のレイアウトオプション」→「Ctrl position」の「Caps Lock」をCtrlとして扱う」にチェックを入れます。
すぐ上のオプションに、同じ効果のありそうな「Caps Lock behavior」→「Make Caps Lock an additional Ctrl」がありますが、チェック状態は連動してないようです。どちらがよいのかわかりません。
効果が現れるのは、次にログインするときです。
Ctrl と Caps Lock を入れ替える人も多いとは思いますが、私は Caps Lock がなくなって困ったことはないので、両方とも Ctrl にしています。
変換・無変換 も Ctrl に
私は emacs キーバインドに魂を売ったので、^P や ^N を片手で打つために、変換・無変換も Ctrl に割り当てたいのですが、さすがに tweaks にもこのカスタマイズ項目はありません。そこで、システムファイルを書き換えてしまいます。上の Caps Lock のカスタマイズが、レイアウトの差分として定義されているので、これに便乗することにします。
--- /usr/share/X11/xkb/symbols/ctrl.cent9
+++ /usr/share/X11/xkb/symbols/ctrl
@@ -2,7 +2,9 @@
partial modifier_keys
xkb_symbols "nocaps" {
replace key <CAPS> { [ Control_L, Control_L ] };
- modifier_map Control { <CAPS>, <LCTL> };
+ replace key <MUHE> { [ Control_L, Control_L ] };
+ replace key <HENK> { [ Control_R, Control_R ] };
+ modifier_map Control { <CAPS>, <LCTL>, <RCTL>, <HENK>, <MUHE> };
};
// Make the left Ctrl key a left Meta.
効果が現れるのは、次にログインするときです。
IME の切り替えを確定的にする
半角/全角
キーは、IME (Input Method Editor) のオンオフをトグル動作で切り替えますから、例えばID・パスワードのように、今からアスキー文字を入力するとわかっていても、半角/全角
を押すのかは状況次第、画面を見なければわかりません。
この点で ひらがな
キーは確定的と言えます。それまでの状況とは無関係に、確実に IME がオン(ひらがな入力)になります。Mozc だけでなく、Windows のGoogle日本語入力などでも同じ動きをしますから、日本語変換したいときには無意識に ひらがな
を押す習慣をつけておいてもよさそうです。
それならアスキー文字を入力する場面では、無条件に ひらがな
半角/全角
の2つを順に押してもいいのですが、個人的には 半角/全角
をカスタマイズして IME OFF にしています。
mouse の sloppy focus と不具合対策
マウスによるフォーカス移動の挙動を、伝統的な X11 の手法に戻している人も多いでしょう。tweaks の「ウィンドウ」→「ウィンドウフォーカス」を「ホバーでフォーカスを当てる」です。日本語訳は hover になっていますが、sloppy の単語もよく見かけます。クリックせずに(つまり最前面にウィンドウが来なくても)マウスの移動だけでフォーカスが切り替わります。
Windows や、近頃の Gnome のディフォルトは「クリックでフォーカスを当てる」です。これだと、半分隠れているウィンドウにはどうやってもキー入力ができないので、不便だと思うのですが、見た目のわかりやすさが優先されているのでしょうか。
ちなみに、「モーダルダイアログを親ウィンドウに結び付ける」も、Windowsの挙動を Gnome のディフォルトが真似をしたように見えて、不便になったと感じています。
ところが sloppy にしていると、今度はキー操作でのフォーカス移動が(ほぼ)役立たなくなります。本来は、Alt
+Tab
でウィンドウを切り替えると、sloppy にしていても、止まっているマウスにはフォーカス移動しません。マウスを操作して、初めてフォーカス移動が起こりました。しかしバグ(?)のため、マウス操作をせずとも、数秒のうちにフォーカスが移動してしまいます。(直後でないところが、いやらしいところです。)
このことは Gnome のバグレポート Alt+Tab broken for 'sloppy' focus mode on Wayland に報告があって、Gnome 46 では直りそうです。それまでの回避策には、次の Gnome 拡張が役立ちます。
- https://github.com/buzztaiki/gnome-shell-extension-alt-tab-move-mouse から ZIP をダウンロードして、展開して、make install を実行します。
- ログインしなおします。
-
gnome-extensions
コマンドで拡張機能
を起動して、「Alt-Tab Move Mouse」を有効にします。
これでフォーカス移動したウィンドウの中心に、マウスカーソルが強制的に移動して、それ以上のフォーカス移動が起こらなくなります。JS で数行の簡単なものですが、マウスを見失わないので、却って便利かもしれません。
トラックボールのスクロール
TrackMan Marble というトラックボールを愛用しています。左右対称で、スクロールボタンもついているモデルです。
数年前までは入手できていました が、2024年には本当に販売終了したようです。
Linux でスクロールの機能を使うには、昔は X11 の設定ファイルを書き換える必要がありましたが、今は Gnome の設定変更ですみます。dconf editor を起動して
org.gnome.desktop.peripherals.trackball
のscroll-wheel-emulation-button
を探して、「ディフォルト値を使用する」を無効にしてから、「カスタム値」に 8
(左小ボタン=右手用)か 9
(右小ボタン=左手用)を選びます。動作には即座に反映されます。
キー入力のトラブル
対処方法が完全にわかっているわけではありませんが、直せる場合もあります。
Ctrl
の押しっぱなし
不意に、Ctrl
を押してないのに、常に Ctrl
を押しているかのような動きになることがあります。ログインしなおせば直ります。頻度が高い(1日1回程度)ので、ログアウトせずに直したいところですが、まだ対処しきれていません。Shift
キーでも起こったこともありますが、何度も dnf update をしてきて、頻度が下がったような気もしています。
右Alt
が効かない
右Alt
は、Alt
+←
でブラウザの戻るボタンに相当しますから、利用頻度が高いと思います。これが無反応になることがあります。このコンビネーションだけでなく、右Alt
自体が反応しなくなります。(キーボードによっては省略されていて、使っていない人も一定数いそうですが。)
元に戻すには、gnome-tweaks
コマンドで tweaks を起動して、「キーボードとマウス」→「追加のレイアウトオプション」→「Key to choose the 3rd level」で 右Alt
が選ばれているはずなので、チェックを外して、ログインしなおします。(ただし、恒久対策としては弱点があります。)
なぜこんなことになるか、ですが、https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/918 で「GUI設計バグ」と指摘があります。2ヶ所のGUIの設定項目が、裏でつながっていて、そのその片方が簡略化されすぎていています。
- 「設定」→「Keyboard」→「代替文字キー」の設定では、割当なしにはできない。
- tweaks→「キーボードとマウス」→「追加のレイアウトオプション」→「Key to choose the 3rd level」では複数のキーが選べるし、割当なしにもできる。
- 上記の 1. と 2. は連動している。そして、この設定が反映されるのは次にログインしたとき。
- 上記の 1. のディフォルトは
右Alt
だが、この項目を表示したときに設定されて、表示してないうちは割当なしの動作をする。
つまり、元々割当なしだったところに、1. の設定を見てしまうと 右Alt
が設定され、次にログインしたときに発動していたのです。不用意に「設定」→「Keyboard」を見てはいけないということになりますが、それでは危険すぎます。恒久対策としては、使わないキーがあれば(右Super
= 右Windows
でも)無駄に割り当てておくほうが安全でしょう。
Linux(X11? Gnome?)では
Windows
キーはSuper
キーと表記されるのだそうです(https://help.gnome.org/users/gnome-help/stable/keyboard-key-super.html.ja)。
GNOME 3.35 から始まった、簡単に直せる不具合が 40.4.0 にもなって放置されているのが解せません。
Windows
キーでアクティビティにならない
アクティビティは Gnome でも重要な機能ですから、常に右上隅にボタンがあったり、マウスを右上隅に移動するだけで発動するなど、複数の手段があります。Windows
キーもそのひとつですが、不意に効かなくなることがあります。頻度は低いのですが、個人設定として記憶され、ログアウト→ログインしなおしても戻らないこともあります。
「設定」→「アクセシビリティ」→「タイピング支援」→①「固定キー」がオンになっていると効かないのは仕様のようです。その上の項目に②「キーボードから有効化できるようにする」があることから、特定のキーコンビネーションでオンになることも仕様のようです。初期設定では、①②どちらもオフですが、バグか何かで固定キー機能が(不十分に?)発動しているのでしょうか、①「固定キー」を「オン」「オフ」と切り替えると、元に戻ったことがあります。
ちなみに、アクティビティをどのキーで呼び出すかは「設定」→「Keyboard」→「Customize Shortcuts」→「システム」でカスタマイズできて、ディフォルトは Alt
+F1
になっています。しかし、単独の Windows
(Super
と表記される)はここには見当たらず、どこかでハードコーディングされている雰囲気です。