Ubuntu Weekly Recipe

第794回Ubuntu Sway Remixで日本語入力を整える

今回はWaylandコンポジターでありタイル型ウィンドウマネージャーであるSwayを採用したUbuntu Sway RemixにFcitx5をインストールし、動作させる方法を紹介します。

SwayとUbuntu Sway Remix

Swayはウィンドウマネージャーです。Waylandコンポジターであり、GNOMEのようにXセッションとの切り替えができるわけではありません。つまりは常にWaylandセッションを使用することになります。そしてタイル型ウィンドウマネージャーとして有名なi3を置き換えられるとのことで、強力なタイルサポートがあります。

Ubuntu Sway RemixはそんなSwayを採用したリミックス(非公式派生版)です。インストール「は」簡単に行なえます。

今回はUbuntu Sway RemixにFcitx5をインストールし、日本語入力環境を整えます。Waylandの最前線を体験できるとともに、混沌に飛び込むことにもなります。

Ubuntu Sway Remixのダウンロード、インストールとログイン

Ubuntu Sway Remixはトップページではなくダウンロードページから、最新の23.10をダウンロードできます。誤って23.04をダウンロードしないように気をつけましょう。そろそろサポートが切れます。

インストールにあたっては注意が必要です。まずはNVIDIA社製GPUには非対応です。実機にインストールする場合はIntelないしAMD社製GPUを搭載したPCにしてください。

仮想マシンの場合も注意が必要で、今回の例であるVirtualBoxの場合は「3Dアクセラレーションを有効化」が必須ですので、インストール前に設定を変更してください図1⁠。また、マウスの動作が多少もたつきます。

図1 3Dアクセラレーションを有効化にチェックを入れる。ついでに差し支えなければビデオメモリーも増やしておこう
図1

起動すると図2の画面になります。左側にはチートシートが表示されています。

図2 Ubuntu Sway Remixをisoイメージから起動したところ。実のところインストール後との差はない
図2

インストールする場合は「Run Calamaes Installer」をクリックし、インストーラーを起動してください図3⁠。インストーラーはKubuntuやLubuntuと同じなので、あまり困ることはないでしょう。

図3 インストーラーはCalamaes
図3

デスクトップマネージャーは味も素っ気もないものです図4⁠。ちなみにロック画面も同様で、とにかくパスワードを入力するとロックを解除できます。

図4 これ以上はちょっと考えられないくらいシンプルなデスクトップマネージャ
図4

次の図5図6はインストールされているアプリケーション一覧です。図7はチートシートです。この画像を印刷するなりスマートデバイスで表示するなりして、Swayを活用してください。例えば端末(Foot)の起動はWindowsキー+エンターキーで、Ubuntuで一般的なCtrl+Alt+Tキーとは異なります。

図5 インストールされているアプリケーション(1)
図5
図6 インストールされているアプリケーション(2)
図6
図7 チートシート
図7

キーボード設定に学ぶSwayの設定

図6をよく見ると「Sway Input Configurator」があります。これを起動するとキーボードの設定ができるのですが、日本語キーボードを追加しても反映されません。設定ファイルを書く必要がありますので、詳しく見ていきましょう。

Wikiの設定紹介を見ると、設定はシステム全体とユーザーに分かれています。Wikiにはシステム全体のキーボード設定を変更する方法が記述されていますが、今回はユーザーでの設定方法を紹介します。

基本的な設定は~/.config/sway/configに書かれています。そしてキーボード設定のサンプルはconfig.d/XX-keyboad.conf.exampleにあります。まずは後者をJP-keyboard.confとしてコピーします。次のコマンドを実行してください。

$ cd ~/.config/sway/config.d
$ cp XX-keyboard.conf.example JP-keyboard.conf

中身は次のように修正します。

# input "*" equals all input methods
# to specify settings for a specific input method, use its identifier instead.
# query the connected input methods: `swaymsg -t get_inputs`

input * {
    # toggles through configured layouts via caps-lock 
    # (中略)
    xkb_options ctrl:nocaps
    
    # query the available layouts: `localectl list-x11-keymap-layouts`
    xkb_layout "jp"

    # query the available variants for a given layout: `localectl list-x11-keymap-variants de`
    # list in the same order as the layouts - empty equals the default layout
    xkb_variant ","
}

上記の例ではキーボードを日本語にしているだけではなく、xkb_layoutオプションでCaps LockキーをCtrlキーにしています。不要であればコメントアウトしてください。

このように、Swayの設定には独特の作法があります。

Fcitx5をインストールする前に

あとはFcitx5をインストールすれば完了……といきたいところですが、事前にFcitx5のWikiを確認しましょう。

重要なポイントを箇条書きにします。

  • 環境変数GTK_IM_MODULEQT_IM_MODULEを指定する必要がある
    • QT_QPA_PLATFORMも必要だが、/etc/environment.d/90ubuntu-sway.confにて設定済
  • 候補ウィンドウを表示するにはtext-input-v3クライアント(≒GTK3/4アプリケーション)Pull Requestされているパッチを適用しなくてはならない
  • zwp_input_method_v2は部分サポート

環境変数はなんとかするとして、驚くべきことに素のSwayでは候補ウインドウが表示されません。これでは使い勝手が極めて悪いです。またパッチを適用したとしても候補ウィンドウが表示されないアプリケーションがあるとのことです。

Fcitx5のインストール

Fcitx5のインストールは端末から次のコマンドを実行します。ここでは例として変換エンジンはMozcとします。

$ sudo apt install fcitx5-mozc

環境変数の設定

Ubuntu Sway Remixもim-configで設定できれば色々楽なのですが、残念ながら有効になりません。したがって手動で設定することになります。

方法はいくつかありますが、環境変数の設定は~/.config/environment.d/以下に設定ファイルを作るのが簡単でしょう。まずはフォルダーを作成します。

$ mkdir ~/.config/environment.d/

中身は以下のようにします。

$ cat ~/.config/environment.d/fcitx5.conf 
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx

自動実行には次のような設定ファイルを作成します。

$ cat ~/.config/sway/config.d/fcitx5.conf 
exec fcitx5 -dr

詳しい設定方法やマニュアルの確認方法は~/.config/sway/configに書かれているので、事前に確認しておきましょう。

これでログアウトして再ログインすればFcitx5が起動します。

Swayにパッチを当てる

SwayにPull Requestで提出されているパッチを適用する必要がありますが、現在のパッチはUbuntu Sway RemixのSway 1.8.1には適用できません。そこでArch Linuxに適用されているパッチの少し古いリビジョンを適用することになるのですが、ビルド方法を紹介するのも何なのでPPAを用意しました。こちらからインストールしてください。コマンドは次のとおりです。

$ sudo add-apt-repository ppa:ikuya-fruitsbasket/sway
$ sudo apt upgrade

一度ログアウトして再ログインすれば、候補ウィンドウが表示されるようになります図8⁠。

図8 候補ウィンドウ(正確には予測変換)が表示されるようになった
図8

終わりに

このように、少しSwayに触れただけでもWaylandの混沌に触れることとなってしまいました。年末年始、さらに理解を深めてWaylandの混沌に飛び込むにはいい機会でしょう。また、タイル型ウィンドウマネージャーに慣れるのにもいい機会です。筆者にはちょっとなかなか覚えられなさそうですが、タイル型ウィンドウマネージャーのよさはよくわかりました。

おすすめ記事

記事・ニュース一覧