脱マウス:Ubuntuでi3wmを使いこなすための実践ガイド

Linux tutorial - IT technology blog
Linux tutorial - IT technology blog

「浮動ウィンドウ」がもたらすカオス

Ubuntuの標準デスクトップで複雑なプロジェクトを管理するのは、まるで自分のコンピュータと戦っているような気分になることがあります。かつて私は、27インチのモニター1枚で、3つのターミナルウィンドウ、ドキュメント用のブラウザ、Slack、そしてVS Codeのバランスを取ろうと苦心していました。GNOMEを使っていた頃は、一日の半分をAlt-Tabで重なり合ったウィンドウを切り替えたり、端をドラッグしてサイズ調整したりすることに費やしていました。デスクトップ環境を維持するだけでシステムが1.5GBものメモリを消費しており、画面領域と精神的エネルギーの大きな無駄遣いでした。

従来のデスクトップが作業を遅らせる理由

Ubuntuのデフォルト環境は「スタック型(重ね合わせ)」のパラダイムを採用しています。これは、ウィンドウを机の上の紙のように扱います。ウィンドウは重なり合い、互いに隠れ、常に手動での調整を必要とします。これにより、主に3つの摩擦が生じます。

  • 頻繁なマウス操作: ウィンドウのサイズを変更するたびに、タイピングの流れが中断されます。
  • 認知負荷: 10個も開いているアプリの中から特定のウィンドウを探す作業は、ディープワーク(深い集中状態)を阻害します。
  • リソースの肥大化: GNOMEやKDEのような多機能な環境は、多くの開発者が使わないようなバックグラウンドプロセスを大量に実行しています。

ツールの選択:GNOME、Sway、それともi3wm?

乗り換える前に、いくつかの選択肢を検討しました。GNOMEは安定していますが、機能を削ぎ落として軽量化するのが困難です。SwayはモダンなWaylandベースの選択肢ですが、Nvidiaのドライバや特定の画面共有ツールで苦労することがよくあります。

i3wm(i3 Window Manager)は、今でもX11ディスプレイサーバーにおける「ゴールドスタンダード」です。驚くほど軽量で、プレーンテキストの設定ファイルを使用し、ウィンドウをツリー構造内のタイルとして扱います。フル機能のデスクトップスイートを目指すのではなく、ウィンドウ管理に特化しています。プロフェッショナルなワークフローにおいて、これこそがまさに求めているものです。

安全に移行する方法

まだ現在の環境を消去しないでください。最も賢明な方法は、GNOMEと並行してi3wmをインストールすることです。これにより、設定を微調整している間もバックアップ環境を確保できます。3年間Linuxサーバーの運用管理に携わってきた経験から言えるのは、安全策なしに新しい環境に飛び込むべきではないということです。i3の設定が自分に馴染むまでは、現在のデスクトップを残しておきましょう。

1. 必須ツールのインストール

まずはリポジブラリを更新します。i3のコアに加えて、アプリ起動用のrofi、壁紙設定用のfeh、システムバー表示用のi3statusが必要です。以下のコマンドを実行してください。

sudo apt update
sudo apt install i3 i3status i3lock rofi feh xcompmgr

インストールが完了したらログアウトします。ログイン画面で小さなギアのアイコンをクリックし、パスワードを入力する前に「i3」を選択してください。

2. 設定ファイルを使いこなす

初回起動時に、i3はデフォルト設定を生成するか尋ねられます。許可してください。「Mod」キーの選択を求められたら、Windowsキー(Mod4)を選びましょう。Alt(Mod1)を使用すると、IntelliJやVS CodeなどのIDEのショートカットと競合することが多いからです。

設定ファイル~/.config/i3/config にあります。エディタで開いてみましょう。私は環境をすぐに実用的にするために、以下の調整を行っています。

# Windowsキーをメインの修飾キーに設定
set $mod Mod4

# アプリランチャーとしてrofiを使用
bindsym $mod+d exec rofi -show run

# Vimキー(h, j, k, l)でウィンドウを移動
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right

# グリッド内でウィンドウを移動
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right

# 好みのターミナルを起動
bindsym $mod+Return exec gnome-terminal

3. インターフェースを整える

そのままのi3は、1995年のOSのような見た目です。モダンにするには、透過処理と背景の設定が必要です。ログイン時にコンポジタを自動起動し、壁紙を設定するために、設定ファイルに以下の行を追加してください。

# 影を付けて見た目を良くするためにxcompmgrを起動
exec_always --no-startup-id xcompmgr -c &

# 背景画像を設定
exec_always --no-startup-id feh --bg-fill /home/user/pictures/wallpaper.jpg

プロフェッショナルなワークフローの構築

特定のタスクを専用のワークスペースに割り当てると、本当の魔法が始まります。私はターミナルをワークスペース1に、ブラウザをワークスペース2に、エディタをワークスペース3に配置しています。この構成により、アイドル時のメモリ使用量は1.5GBからわずか320MBにまで減少しました。

# 特定のアプリを特定のワークスペースで開くように強制
assign [class="Firefox"] $ws2
assign [class="code-oss"] $ws3
assign [class="Slack"] $ws10

アプリの正確な「class」名を知るには、ターミナルで xprop を実行し、対象のウィンドウをクリックしてください。

マルチモニターの効率化

i3は、どの従来のデスクトップよりもマルチモニターをうまく処理します。各画面に独立したワークスペースが割り当てられます。ワークスペースをモニター間で瞬時に移動させることも可能です。私は、現在のビューをサブモニターに移動させるために、以下のバインドを使用しています。

# 現在のワークスペースを次のモニターに移動
bindsym $mod+x move workspace to output next

避けるべき間違い

多くのユーザーが、重いブラー(ぼかし)や複雑なバーを使って、i3をmacOSのように見せようとして数日を無駄にします。その罠にはまらないでください。目的はスピードです。まずはキーバインドを体に染み込ませることに集中しましょう。最初の1週間は、デスクに物理的なチートシートを置いておくと良いでしょう。もしアプリがフリーズしたら、「kill」コマンド $mod+Shift+q を思い出してください。どのタスクマネージャーよりも高速です。

結論

i3wmへの切り替えは、集中力を取り戻すためのものです。従来のデスクトップの肥大化した機能を取り除くことで、システムリソースを確保し、マウス操作による集中力の散漫を排除できます。まずはシンプルな設定から始め、Gitリポジトリでバックアップを取りましょう。一度マッスルメモリー(筋肉の記憶)が定着すれば、浮動ウィンドウに戻ることは、ハイキングブーツでマラソンを走るような感覚になるはずです。

Share: