前回のポストでは、ラズパイの次世代軽量デスクトップ環境(になる予定らしい)labwcについて書きました。
- 現行のwaylandコンポジタであるwayfireは将来的にlabwcに入れ替えられるらしい。
- labwcは先日ラズパイbookwormのリポジトリに加えられたばかり。まだテストパッケージの位置づけ。
- apt install labwcで簡単にインストールでき、既存のwayfire or X11環境を破壊することもない。labwcはraspi-configで既にサポート済みで、他の環境から簡単に切り替えて利用できる。
labwcに関する設定ファイルは
/etc/xdg/labwc
に用意されています。ですが、その中の設定ファイルrc.xmlなどの短さを見ても分かるとおり
設定ファイルは発展途上
まだまだ荒削り
です。現状、ラズパイのエンジニアはとりあえずlabwcをラズパイで動かすことに注力しているようで、細かい設定はこれから行うという方針なのではないかと推測します。
ただ、labwcはX11のウインドウマネージャopenboxに寄せて作られたシステムで、openboxは歴代のラズパイのX11環境で採用されていたウインドウマネージャでもあります。ラズパイのX11で設定をいじっていたユーザーにとっては、labwcはとても扱いやすいシステムです。
今回はlabwcで日本語と、ワークスペースを設定してみました。
最初の注意、labwc -m(マージモード)に注意
まず、前回の記事を眺めて、とりあえずlabwcでログインできるところまで持っていってください(5分もあればできる簡単な作業です。既存のwayfire or X11環境が壊れることもありません)
labwcは、起動時に
/etc/xdg/labwc 内部の設定ファイル
と
~/.config/labwc 内部の設定ファイル
を読みます。
注意していただきたいのは
labwcが-mオプションで起動しているため、
/etc/xdg/labwc 内部の設定ファイルを必ず読み込み、
その設定を~/.config/labwc 内部のファイルで上書きする
という挙動となります。この手の設定でよくあるのは、~/.config/xxxに設定ファイルがあればそちらが優先されて、/etc/xdg/xxx 以下は無視される(読み込まれない)ということがありますが、 今回はそうではない ことに注意してください。
日本語を設定する
wayfire or X11で日本語が入力できていることを前提とします。まだ設定していない方は、もともとの環境に戻り(sudo raspi-config の Advanced Options > Wayland でlabwc以外を選択)で、日本語環境を設定してください。こちらの記事(特に 「追記」に注意)が参考になるかもしれません。
トラブルシューティング: キー配列が日本語にならない
wayfire or X11で正しく日本語が設定できているのに、labwcに切り替えるとキーボード配列がおかしくなる場合、/etc/xdg/labwc/environment の XKB_DEFAULTLAYOUT=gb が効いてしまい、イギリスのキーボード配列になってしまっている可能性があります。
対処法としては
- ~/.config/labwc/environment ファイルを新たに作成。XKB_DEFAULTLAYOUT=jp の一行を追加。
設定を変えたら
- labwc --reconfigure
で設定を反映(再ログインの必要はありません)で、日本語キーボードの配列になるはずです。
sudo raspi-config で Localization Options > Keyboard を設定すれば、~/.config/labwc/environment を自動的に作成してくれるようです。これでうまく行かない場合は、上記のようにファイルを手動で作成してください。
ワークスペースを設定する
ワークスペース(あるいはバーチャルデスクトップ)とはショートカットで「ワークスペース1」、「ワークスペース2」、「ワークスペース3」…のような画面の切り替えができて、それぞれで別の作業が行える環境のことです。「ワークスペース1」では仕事の作業、「ワークスペース2」ではプライベートの作業のように、一つの画面を瞬時に切り替えて多様的に利用できます。
openbox互換を目指すlabwcですから、当然ワークスペースをサポートしています。早速設定してみましょう。とりあえず4つのワークスペースを用意してみました。
mkdir ~/.config/labwc
nano ~/.config/labwc/rc.xml
としてrc.xmlを以下のように編集後、labwc --reconfigureで設定反映
~/.config/labwc/rc.xmlの内容
<?xml version="1.0" encoding="UTF-8"?>
<labwc_config>
<desktops number="4">
</desktops>
<keyboard>
<keybind key="C-A-1">
<action name="GoToDesktop" to="1" />
</keybind>
<keybind key="C-A-2">
<action name="GoToDesktop" to="2" />
</keybind>
<keybind key="C-A-3">
<action name="GoToDesktop" to="3" />
</keybind>
<keybind key="C-A-4">
<action name="GoToDesktop" to="4" />
</keybind>
</keyboard>
</labwc_config>
上述のように設定を反映(labwc --reconfigure)すれば、Ctrl+Alt+2で「ワークスペース2」に移動できます。
openbox(X11時代のラズパイデスクトップ)時代にできていたことは、labwcでもだいたいできそう
ワークスペースの設定例を見ても分かるとおり、labwcの設定ファイルはシンプルなxmlファイルです。デスクトップのウインドウ操作や、アプリケーション起動のショートカットを作るのは簡単でしょう。コマンドについては下のような丁寧なドキュメントが用意されていますので、設定で躓くことは少ないでしょう。
labwcの設定は、openbox互換のxmlを使って書くこともできて、その場合は
<openbox_config>
openbox互換のxml
</openbox_config>
のように<openbox_config>で囲えばよいようです。
xremapと組み合わせれば最強のデスクトップが作れそう
labwcの採用で、X11時代のラズパイデスクトップ(ウインドウマネージャはopenbox)でできていたことは、マニュアルを見ながらコマンドを少し書き足すぐらいでだいたい実現できるのではないかと思います。
更に以前解説したxremapを組み合わせれば、キーバインドの再配列(capslockとctrlを入れ替えるなど)に加えて、アプリケーションごとのキーバインド切り替えも可能です。これだけあれば私個人としてやりたいことはだいたい実現できるだろうという見通しが持てました。
ラズパイにはワークスペースを正式サポートして欲しい
今日記事にした設定で、大まかにはワークスペースに対応できるのですが、細かな部分で「あったら便利だな」と思うことがあります。
例えば、特に初心者向けの機能として、タスクバーにガジェットを登録してデスクトップをguiで切り替えられれば分かりやすいです(ページャー)。また、タスクバーにリストされるアプリをワークスペースごとに切り替えてもらいたいということもあります(上に載せたスクリーンショットでは、アプリが起動していないワークスペース2にいるにも関わらず、ワークスペース1のアプリがタスクバーにリストされてしまっている。)
これには上部タスクバー(wf-panel-pi)の改変が必要です。が、ラズパイはbullseye時代にワークスペースをサポートしないことを正式表明した過去があって、これに私はひどく失望させられたという話を以前書きました。最低限のデスクトップしか供給できないラズパイ財団の現状の開発能力からして、今回も悲観的な観測しか持ちえません。
ただ、いまどきワークスペースもサポートできないようなデスクトップってありえるのでしょうか?windowsにだってかっこいいワークスペースサポートがあり、その有用性は証明済みです。そもそもワークスペースはラズパイのような非力なマシンを最大限に活かす工夫の最たるものです。ぜひlabwcの採用を期に、財団には前向きな対応を考えていただきたいと願います。
コメント