ずっと個人環境はラップトップのWindows機でWSL2を動かして使っていたんだけど、あるときArch Linuxの環境を構築していて、これだったらもう直接Linuxデスクトップを入れた方が早くないかと思ってしまったので久しぶりにLinuxデスクトップを構築することにした。
WSL2を使ってWindows環境と共存させていた理由はそんなに無くて、ブラウザとゲームぐらいなので今どきならLinuxだけでなんとかなるでしょという気持ちもあった。
ディストロは当然Arch Linuxで、これ自体は慣れていることもあってすんなりインストールできた。 ただ今回はGUI込みで環境を構築するためデスクトップ環境を入れる必要があった。
普段ターミナル、ブラウザ、ゲーム(Steam)くらいしか使わないので思い切ってこの3つだけの環境を作ってみることにした。 そのためウィンドウマネージャはタイル型にすることにした。 使ったことがあるのはXmonadとSwayで今どきならWaylandでしょということでSwayを検討していたのだが、 最近はHyprlandが流行っていると聞いてそちらを選択してみた。
主に参考にしたのはJokerさんの以下の記事である。
https://joker1007.hatenablog.com/entry/2024/03/29/222656
またもちろんArch Linux Wikiも参考にした。
あまり余計なウィジェットは入れず最小限のGUIアプリケーションだけで構築することを目指した。 そのためランチャーなどは使っていない。
最終的にはこんな感じの画面になった。
構成は以下のような感じである。
GUIアプリケーション
GUIアプリケーションは以下の3つのみ入れている。
- Alacritty
- Firefox
- Steam
ターミナルのAlacrittyは単純に使い慣れているので選んだ。Footも試してみてなかなか良かったが設定に慣れているためこちらにしている。
ブラウザはWaylandだとChromium系の対応状況があまりよろしくないらしく、Firefoxが無難なようである。元々Chromeが好きではなくFirefoxを常用していたので特に違和感なく使っている。
Steamは正確にはアプリケーションというよりストア兼ランチャーだがゲーム用に入れている。なのでここから個別のゲームアプリを起動する。Steamは直接インストールせず、Flatpakを使って入れた。Arch Wikiでオススメされていたやり方だったが、環境も汚さず、インストールも楽なのでFlatpakにして良かった。SteamのLinuxサポートは良好でネイティブで対応しているアプリも多いし、そうでなくともProtonを使えば大抵起動するので良い。SteamOS/SteamDeckが盛り上がっているのでプラットフォームとして継続的にサポートを期待出来る。
上記以外のアプリは基本的にブラウザアプリかTUIアプリを使うようにしている。
ウィジェット類
先述の通り単体アプリ以外のウィジェット類はなるべく入れないようにした。
実際に入れたのはステータスバーとしてwaybar、壁紙表示にhyprpaper、通知にmakoの3つくらいである。
単体アプリは3種類なのでランチャーは使わずに直接ショートカットでそれぞれ起動するようにしている。
シャットダウンなどはターミナルから直接コマンド入力するようにしている。
その他ユーティリティ類
GUI以外でデスクトップ環境用に入れたユーティリティ類としては、 スクリーンショット用にhyprshot、スリープ用にswayidle、キーリマップ用にxremapくらいである。
hyprshotはgrim+slurpのラッパー・シェルスクリプトなのだが、自前で書くのが面倒だったので入れた。
キーリマップはhyprlandがxkb形式の設定をサポートしているようだが、使いやすいのでxremapを導入している。起動時に自動で実行するようにしているがこれであっているかはよく分からない。今のところ問題無く使えている。
日本語入力
日本語入力はfcitx5+SKKを使っている。SKKはLinuxデスクトップを使うたびに導入するのだがいつも切り替えに苦労する。今回もまだ慣れないが、一応この記事は頑張ってSKKで書いている。SKKが好きというより他の日本語IMは辞書が気にくわないことが多いのでまだSKKがマシかなあという感じである。
レイアウト
レイアウトは最初masterを使っていたのだが、dwindleに切り替えた。自分の使い方だと1ワークスペースで1アプリなので複数ウィンドウを表示することが少ないことと、あえて並べて表示したいときは等分割したいので、そうするとdwindleの方が使いやすいと判断した。
結論
やっぱりタイル型ウィンドウマネージャはシンプルで良い。