前回のポストで「私にとって、ラズパイへのxrdpによるリモートデスクトップ接続はマスト」であることを力説しましたが、私にとってマストなものがもう一つあります。それが仮想デスクトップです(つまり「xrdp + 仮想デスクトップ」が私のマストなのです)。
xrdpを利用する場合や、raspi-configでwaylandではなくX11を選択した場合、デスクトップはX11環境となりopenboxが起動します。今回はこのopenboxで仮想デスクトップを有効にする方法を解説します。
新OS BookwormではRPI 4,5でwayfire(waylandの3Dコンポジタ)を使ったデスクトップを利用できるようになりました。ビジュアルエフェクトの効いた綺麗なデスクトップなのですが、wayland環境でのchromiumの利用はまだいろいろ課題がありそうです。Waylandをオン・オフするのは簡単なので、waylandをオフにして、bookwormでも旧来からのX11環境を選択するユーザーは少なくないしょう。そのようなユーザーにも今回解説する仮想デスクトップはおすすめです。
昔はラズパイでも使えた仮想デスクトップ
ラズパイのデスクトップはLXDEから派生したものです。LXDEはopenboxによる仮想デスクトップをサポートしていて、ラズパイでもOSがstretchの時ぐらいまでは普通に使えた記憶があります。ところがある時からラズパイ財団は、仮想デスクトップを使わないと決定してしまったようで、その後は仮想デスクトップに関するUIを隠匿する方向に開発を進めてきたように見えます。
私は、これは非常に間違った決定だったと思っています。仮想デスクトップを実現するのにパワフルなCPUやGPUは必要なく、gnomeやkde以前の古(いにしえ)のウィンドマネージャでも仮想デスクトップはサポートされていました。ラズパイのような非力なハードのためにこそある技術なのに、それをわざわざ無効にする意図が理解できません。
Bullseyeがリリースされた直後、ラズパイのフォーラムで、「仮想デスクトップはサポートしてない」と明言するラズパイのエンジニア(上のリンク参照)。「仮想デスクトップは動くかもしれないが、こちらではサポートしないし、テストもしない」と説明。これには深く失望した。
仮想デスクトップでラズパイの真の力をunlock!
とはいえ、もともとopenboxに用意されていた仮想デスクトップは隠匿されているだけで、削除されているわけではありません。Bullseyeの頃はmutterが中途半端に導入されたあおりで利用しにくくなっていたのですが、bookwormではmutterが削除されたおかげで、簡単に復活できるようになりました。
wayland環境をX11環境に切り替えてopenboxを有効にする
先に述べた通り、今回の記事はX11環境でのopenboxについて解説しています。wayland環境でラズパイが動いている場合は、以下のようにwaylandをオフにして、X11環境を有効にしてください。
sudo raspi-config
Advanced Options > Wayland に移動して、waylandのオフに設定。
xcompmgrを無効にするため、以下を実行することを推奨(必須ではない)
rm -f /etc/xdg/autostart/xcompmgr.desktop
設定を有効にするため
sudo reboot
xcompmgrを無効にすることによりX11環境でのyoutube再生時の画質が向上します。設定後はリブートしてください。
obconfで仮想デスクトップを設定
ターミナルからopenboxの設定ツール、obconfを実行すると、openboxの管理ツールが起動します。仮想デスクトップの欄で、必要な数の仮想デスクトップをプラスします。
上部パネルにデスクトップの切り替えツールを追加
上部パネル(lxpanel)を右クリックして「アイテムの追加・削除」を選択。仮想デスクトップに関するツールをパネルに追加します。
「デスクトップ番号/ワークスペースの名前」というツールを追加します。追加されたツールをクリックするとデスクトップが切り替わります。
「デスクトップページャ」という仮想デスクトップ用のツールもあるのですが、こちらは残念ながら現在のlxpanelでは正常に動作しないようです(パネルの表示が壊れてしまいます)
デスクトップ切り替えのショートカットを設定する
「デスクトップ番号/ワークスペースの名前」は使いやすいとはいえないので、切り替えのショートカットキーをopenboxに追加しましょう。
~/.config/openbox/lxde-pi-rc.xmlのバックアップを取って、以下の設定を追加してください。
<keybind key="S-A-Down">
<action name="SendToDesktopDown">
<dialog>no</dialog>
<wrap>no</wrap>
</action>
</keybind>
<!-- ここから -->
<keybind key="C-A-1">
<action name="GoToDesktop"><to>1</to></action>
</keybind>
<keybind key="C-A-2">
<action name="GoToDesktop"><to>2</to></action>
</keybind>
<keybind key="C-A-3">
<action name="GoToDesktop"><to>3</to></action>
</keybind>
<keybind key="C-A-4">
<action name="GoToDesktop"><to>4</to></action>
</keybind>
<!-- ここまで -->
<keybind key="C-A-d">
<action name="ToggleShowDesktop"/>
</keybind>
編集後はターミナルでopenbox --reconfigure (recofigureの前はハイフン2つ)すると設定を有効にできます。ctrl+alt+2とすればデスクトップ2に移動します。同様に1〜4までのデスクトップにショートカットによる一発移動が可能になります。
まとめ
いかがだったでしょうか? 今更X11環境の話をするのもどうかと思ったのですが、先のポストで書いたとおり、choromiumのwayland対応はまだ中途半端です。私は、今後しばらくはbookwormをX11環境で使う方向に気持ちが傾いてきています。そういうユーザーには需要がある話かなと思って書いてみました。
Wayland環境のwayfireでは仮想デスクトップの代わりにworkspaceと言われるものをサポートしているのですが、これはworkspaceごとにデスクトップがきっちり切り替わるというものではなくて、巨大なスクリーンを3×3のグリッドに分けて、表示する場所を移動しているだけというイメージです。そのあたりも仮想デスクトップマストな私には不満で、waylandはしばらく待ちかなーという判断に繋がっています。waylandを諦めたわけではなく、alt-tabなどwaylandで使いづらい部分をなんとか自分好みにカスタマイズする方法を開拓中で、仮想デスクトップについてもよい解決策がないか考えています。うまくいくようでしたらまた報告します。
仮想デスクトップの2番めの端に置いておくと便利。ラズパイに完全対応した無料のファイル転送サービスSoqAlbum
本サイトではSoqAlbumというファイル転送サービスを開発しています。これは、だれでもどこでも1分で、準備なしアカウントなしインストールなしで送れるファイル転送サービスで、ラズパイの新OS bookwormでもブラウザ一本ですぐに利用できます。ラズパイでnearby shareやairdropのような、スマホ対応のファイル転送サービスをお探しの方は、一度お試しください。
24時間連続可動させても電気代が気にならないラズパイは、SoqAlbumに最適なハードです。私はxrdpで立ち上げたリモートデスクトップの、仮想デスクトップの2番めのスクリーンの端に常にSoqAlbumを立ち上げています。毎日の生活で、雑誌や印刷資料で気になる記事を見つけたら、スマホ(iPhone, Android)をSoqAlbumのQRコードを使って瞬時にリンク。スマホのカメラからラズパイに、資料を直接撮影・転送しています。撮影した資料はラズパイ側の大きなディスプレイでリアルタイムにフルスクリーン表示できますから、資料の確認も楽々です。
コメント