Ubuntu Weekly Recipe

第717回 Ubuntu 22.04 LTSにおける,Waylandとアプリケーションの微妙な関係

この記事を読むのに必要な時間:およそ 2 分

今回はUbuntu 22.04 LTS時点のWayland上で各種アプリケーションを快適に動作させる勘所を紹介します。

WaylandとX Window System

第663回で言及したように,Ubuntu 21.04,すなわち22.04 LTSの2つ前のバージョンからWaylandがデフォルトのセッションになりました図1⁠。セッションというのは簡単に表現するとログイン時点で有効にする設定や自動実行されるプログラムのことです。

図1 ⁠Ubuntu」がWaylandセッション,⁠Ubuntu on Xorg」がXセッション。デフォルトで前者が選択されている

図1

Waylandはディスプレイサーバーと呼ばれる機能で,これまでその役割を担っていたのはX Window System(以下X)です。WaylandとXは互換性がないため,WaylandセッションではXアプリケーションは動作しなくなります。これでは困るのでXWaylandというWaylandクライアント兼Xサーバーが用意されており,要求に応じて起動します。

Xが前提のアプリケーション,ユーティリティ,⁠主に画面共有系)サーバーはたくさんあります。Waylandセッション下ではそれらは良くてXWayland経由で動作し,悪くて動作しません。

正直なところ,多くの場合現段階ではWaylandのメリットがデメリットを上回る状況というのはあまり多くありません。よってWaylandセッションに問題があれば躊躇なくXセッションに戻すのがおすすめですが,今回はあえてそうせず,修羅の道を行きたい(筆者のような)人たちのための記事です。

Waylandとツールキット

Waylandにネイティブで対応しているアプリケーションと,そうでない(Xのみ対応の)アプリケーションの違いはどこにあるかというと,わかりやすく分類するとツールキットです。ツールキットは,簡単にいえばGUIライブラリ集で,UbuntuにあらかじめインストールされているアプリケーションはほぼすべてがGTKのバージョン3です。また他に著名なものとしてはQtがあります。GTKは3以降,Qtは5以降でWaylandにネイティブ対応しています。

アプリケーションが個別の理由で独自のツールキットから開発することもあり,UbuntuにあらかじめインストールされているアプリケーションではFirefox/Thunderbird,LibreOfficeが該当します。

Google Chrome,Microsoft Edge,VivaldiといったWebブラウザーは,Chromiumというオープンソースプロジェクトで開発されているWebブラウザーをベースにしていることはご存知でしょう。さらにこのChromiumとNode.jsを組みわせてフレームワークにしたElectronも広く使われ,さまざまなアプリケーションが開発されています。具体的にはVisual Studio CodeやJoplin,Slackなどが著名です。

例に挙げたツールキット(を採用したアプリケーション)はいずれもWaylandに対応していますが,対応状況はさまざまです。

Waylandとスケーリング

第714回でサラリと言及されていますが,Firefoxは「任意倍率のスケーリング」を使用するとフォントが滲んで表示されるという問題があります。これは別にFirefoxに限ったことではなく,XWayland経由で起動するアプリケーションすべてが該当します詳細な解説⁠。

第715回で紹介したThinkPad X13 Gen2 AMDもそうですが,昨今のノートPCは高DPIディスプレイが採用されているため,現状はWaylandセッションを使用している限りはこの現象から逃れるのは難しいです注1⁠。

注1
幸か不幸か筆者はあまり気になりませんが,感じ方は個人差があるように思います。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamのメンバー。VirtualBoxなどの翻訳を手がける。技術同人サークルteam zpn主宰。ほか原稿執筆を少々。