UbuntuのGNOME Desktopをカスタマイズする:GNOME Tweaks vs Extensions — 開発者にはどちらが効果的?

Ubuntu tutorial - IT technology blog
Ubuntu tutorial - IT technology blog

デフォルトGNOME:使えるが、足りないものも多い

Ubuntuをインストールした後、GNOME Desktopの見た目は悪くない。しかし1日8〜10時間画面と向き合う開発者なら、すぐに物足りなさを感じるはずだ。カスタマイズできるApp Dockがない、トップバーにSystem Monitorが表示されない、ウィンドウスナップが2列だけ、Minimize/Maximizeボタンがデフォルトで非表示……自分もGNOME TweaksとExtensionsを発見するまでの3ヶ月間、そのままで使い続けていた。

問題はGNOMEの性能ではない。便利な機能の多くが隠されているか、追加でインストールしないと使えない仕様になっているだけだ。以下に紹介する3つのアプローチ——最もシンプルなものからフルコントロールまで——を見れば、自分のユースケースに合った方法が見つかるはずだ。

GNOMEカスタマイズの3アプローチ:実際の比較

1. GNOME Tweaks — 隠し設定のロックを解除する

GNOME Tweaksは隠し引き出しを開く鍵のようなものだ。GNOME Settingsは一般ユーザーが必要とするものだけを表示するが、Tweaksはその先を開いてくれる。Font Rendering、Titlebar Buttons、Startup Applications、テーマ、アイコンパックなど……

  • メリット: シンプルなインターフェース、変更が即反映される、クラッシュの心配なし
  • デメリット: GNOMEに既存の設定しか変更できず、まったく新しい機能を追加することはできない

2. GNOME Shell Extensions — まったく新しい機能を追加する

Shell ExtensionsはGNOME Shellに直接組み込まれるJavaScriptプラグインだ。Tweaksとは異なり、既存の設定を変えるだけでなく、Panel Widget、System Stats、Workspace Indicator、Clipboard Historyなどの新機能を丸ごと追加できる。

  • メリット: 非常に柔軟で、コミュニティも大きい(extensions.gnome.orgに1000以上の拡張機能)
  • デメリット: 現在のGNOMEバージョンと互換性のない拡張機能はShellをクラッシュさせる可能性がある。インストール前にバージョンサポートを必ず確認すること

3. dconf/gsettings — パワーユーザー向け

dconfとは、GNOMEがすべての設定を保存する場所だ。KeyBinding、各種トグル、TweaksやExtensionsで変更したものはすべてここに書き込まれる。Tweaksに表示されない設定も含め、あらゆるものを変更できる:

# GNOME desktop interfaceの全設定を表示する
gsettings list-recursively org.gnome.desktop.interface

# 例:アニメーションのオン/オフ(低スペックマシンの動作を軽くするのに有効)
gsettings set org.gnome.desktop.interface enable-animations false

# デフォルトに戻す
gsettings reset org.gnome.desktop.interface enable-animations
  • メリット: フルコントロール、スクリプト化が可能、バックアップ/リストアが簡単
  • デメリット: 正確なキースキーマを知る必要があり、データ型を誤って設定すると設定が壊れる可能性がある

どのアプローチが誰に向いているか?

Ubuntuをメインマシンとして2年使ってきた経験から、こう分類できる:

  • Ubuntuを初めてインストールした場合: GNOME Tweaksから始めよう——安全で速く、クラッシュの心配がない
  • 機能を追加したい場合(固定Dock、System Monitor、Clipboard Historyなど):Extensionsが必須
  • 複数台を自動セットアップする場合(開発チームのオンボーディング、プロビジョニング):dconf dump/loadが唯一の正しい方法

私のチームでは全開発者がUbuntu 22.04を使っている。一人ひとりGUIで案内する代わりに、dconf dumpで設定をエクスポートしてプライベートgitリポジトリにpushしておいた。新しいマシンのセットアップも1コマンドで完了し、初日から全員が同じ環境になる。

インストール手順:ステップごとの具体的な説明

ステップ1:GNOME Tweaksのインストール

sudo apt update
sudo apt install gnome-tweaks -y

# アプリを開く
gnome-tweaks

起動後にすぐ設定すべき項目:

  • Windows → Titlebar Buttons: MinimizeとMaximizeをオンにする——GNOMEはデフォルトでこの2ボタンが非表示で、非常に不便
  • Fonts → Scaling Factor: HiDPIディスプレイ(QHD/4K)の場合は1.1または1.2に上げる
  • Appearance → Themes: Adwaita-darkを選ぶか、外部テーマをインストールする
  • Startup Applications: 不要なアプリを起動時の自動実行リストから削除する

ステップ2:Extensions Managerのインストール

以前はブラウザとホストコネクターを使った拡張機能のインストールがかなり面倒だったが、今はExtensions Managerアプリがデスクトップから直接すべてを処理してくれる:

# 方法1:apt(Ubuntu 22.04以降で利用可能)
sudo apt install gnome-shell-extension-manager -y

# 方法2:Flatpak — 常に最新バージョンが入手できる(推奨)
flatpak install flathub com.mattjakeman.ExtensionManager

アプリを開き、Browseタブで拡張機能を検索・インストールし、Installedタブで個別にオン/オフを切り替える。

ステップ3:開発者向け必須5拡張機能

Ubuntu 22.04(GNOME 42)およびUbuntu 24.04(GNOME 46)で動作確認済み:

Dash to Dock — ActivitiesダッシュをmacOSのような固定Dockに変換する。位置(下/左/右)、アイコンサイズ、自動非表示——すべて設定可能だ。新しいUbuntuマシンで最初にインストールする拡張機能で、このカテゴリで最も人気が高い。

TopHat — CPU/RAM/Networkの使用状況をトップパネルに常時表示する。System Monitorを別途開く必要がなく、パネルをちらっと見るだけでRAMを急激に消費しているプロセスがすぐわかる。

Clipboard Indicator — クリップボードの履歴を保持し、新しくコピーするたびにテキストが失われることがなくなる。ログを操作するときや、ターミナルから複数の設定を同時にコピーする必要があるときに最もよく使う。

Caffeine — ワンクリックでスクリーンセーバーと自動サスペンドを無効にする。長時間のビルドを実行中やログを監視中に、画面が途中で消えてしまうのを防ぐのに便利だ。

GSConnect — AndroidをローカルWiFi経由でLinuxと接続する(KDE Connectに相当)。デスクトップでスマートフォンの通知を受信し、クリップボードを双方向で共有し、ケーブルなしでファイル転送できる。

ステップ4:dconfで設定をバックアップする

セットアップが完了したらすぐバックアップを取ろう——せっかくの作業を無駄にしないために:

# GNOME設定全体をファイルにバックアップする
dconf dump / > ~/gnome-settings-backup.conf

# 新しいマシンにリストアする——1コマンドですべて完了
dconf load / < ~/gnome-settings-backup.conf

# または拡張機能の設定だけをバックアップする(軽量でリスクが低い)
dconf dump /org/gnome/shell/extensions/ > ~/extensions-config.conf
dconf load /org/gnome/shell/extensions/ < ~/extensions-config.conf

このバックアップファイルはdotfilesと一緒にプライベートgitリポジトリにpushしている。新しいマシンのセットアップやUbuntuの再インストールのたびに、1コマンドですべてリストアできる——手動セットアップの約30分を節約できる。

あまり知られていない実践的なTips

ログアウトなしでGNOME Shellを再起動する(X11のみ)

# SIGUSR1シグナルを送ってGNOME Shellをリロードする——セッションを失わない
killall -3 gnome-shell

# X11とWaylandのどちらで動いているか確認する
echo $XDG_SESSION_TYPE
# 「x11」または「wayland」と表示される

WaylandではこのTrickは使えない——Shellをリロードするにはログアウトが必須だ。クラッシュした拡張機能をデバッグする際のWaylandの大きなデメリットといえる。

クラッシュした拡張機能をデバッグする

拡張機能のクラッシュは通知ポップアップが出ず、静かに起きることが多い。最も素早くログを確認する方法:

# GNOME ShellのジャーナルログをリアルタイムでViewする
journalctl -f _COMM=gnome-shell

# 特定の拡張機能UUIDでフィルタリングする
journalctl -f [email protected]

特定のアプリにだけテーマを適用する

GNOMEがライトモードのときに、特定のアプリだけにダークテーマを強制したい場合に便利だ:

# アプリ起動時にダークテーマを強制する
GTK_THEME=Adwaita:dark gedit &

# または.bashrcにエイリアスとして追加する
alias gedit-dark='GTK_THEME=Adwaita:dark gedit'

Ubuntu新規インストール後のワークフロー

何度もインストールと再インストールを繰り返した結果、このフローに落ち着いた:

  1. GNOME Tweaksをインストール → Minimize/Maximizeボタンをオンにし、Font Scalingを調整し、ダークテーマを有効化
  2. Extensions Managerをインストール → 上記5つの拡張機能をインストールし、それぞれ設定
  3. Tweaksでカバーされていない項目(アニメーション、キーバインディングなど)をgsettingsで微調整
  4. dconf dumpで全設定をバックアップし、dotfilesリポジトリにコミット

初回は約45分かかる。2回目以降は?5分——バックアップからリストアすれば完了だ。これこそがdconfを見た目以上に学ぶ価値がある理由だ。パワーユーザー向けのツールというだけでなく、マシンをフォーマットするたびに一からやり直さずに済む唯一の方法なのだから。

Share: