メインコンテンツへスキップ

Gentooを二か月使った後、黙ってArch Linuxへ戻した

·
カテゴリー Linuxシステム FOSSをめぐる問題
タグ Distro-Hopping Gentoo Arch Linux
目次

最終的には少し恥ずかしく、狼狽しながらArch Linuxへ戻した。同じローリングリリースでも、GentooとArchの難度差は本当に大きすぎる。どうやら私はまだ準備ができていなかったようだ。

高度にカスタマイズでき、ソフトウェアバージョンが最新で、なおかつ安定して使えるデスクトップLinuxディストリビューションはどこにあるのだろう。この三つの条件を一度に満たすことは絶対に不可能だ。

カスタムLinuxシステムの極致を探すため、2022年7月にopenSUSE TumbleweedからArch Linuxへ切り替え、その後Gentoo Linuxへ切り替えた。

この期間に、GentooとLFS(dual bootで入れた)が提供する低層システムコンパイル原理を初歩的に理解し、OpenRCからSystemdへ移行する方法、そして一部ソフトウェアを自分で手動インストールする苦痛を知った。システムカーネルについては、ずるをして公式の事前コンパイル済みバイナリ(Fedoraベース)を使っていたので、この方面で悩んだことはない。

GentooでWar Thunderのような大型ゲームを遊ぶことには問題がなく、Steam (Flatpak) + Protonがすべて処理してくれた。

Plasma Overdoseテーマ

しかし、Gentoo Linuxを二か月使って長所と短所を味わった後、Arch Linuxへ戻すことを決めた。過去の習慣では一週間に一度Gentooをアップグレードしていた。今回はGentoo emerge時に一度に50個以上のKDEパッケージslot conflictが出たので、もう低層debugにこれ以上の時間を費やせないと思い、Arch LinuxのUSBを取り出してシステムを再インストールした。

この離脱理由は、以前Ubuntuを離れた時ほどくだらなくはないだろう。以前はUbuntu/Debianが退屈すぎると嫌って離れた。openSUSE/Fedoraはプリインストールのものが多すぎて好きではなかった。Windows 11という広告機械ほど大げさではないとはいえ、プロプライエタリソフトウェアの重量級大集合であり、あの怪物は仮想マシンの中に閉じ込めるしかない。

Windows 11の新規インストール済みシステムにはこれほど多くの広告APPがある

Tumbleweed、Arch、Gentooを使うことは自分を地獄へ押し込むことなのか?それとも天国なのか?いずれにせよ、上流に近いローリングリリースを使うと、もう安定リリースのディストリビューションには戻りたくなくなる。

Distro-hoppingの習性ゆえ、重要データはすべて別のハードディスクとクラウド(軟體自由協會のNextcloud + 個人MEGA)に置いている。だから準備手続きはそれほど長くなく、WindowsとMacOSの仮想マシンをバックアップしてから再インストールした。

1. カスタマイズの極致、安定度の試練
#

あれこれ考えた結果、文頭の構想に応えるなら、Archが現時点での最適解であり、しかも純Archであって、Arch-basedのManjaro、EndeavourOS、Garuda、Artixのような加料ディストリビューションではない。

GentooとLFSはまさにカスタマイズの極致に合致し、ソフトウェアも新しい。ほぼ0からシステムを入れ、パッケージのコンパイルオプションまで設定しなければならない。パッケージのコンパイル待ちは我慢できるが、パッケージ衝突を手動処理するのは本当にうんざりする。PCならゆっくり処理できるが、機動性を重視するノートPCに入れると……ノートPCでも短期間Gentooを試したが、後にやはりArchへ戻した。アップグレード衝突問題に遭遇する前に、コンパイルで引き延ばされる時間に殺されそうになった。Gentooは十分安定しているのかもしれないが、更新を追いかけるのが好きな友人にはかなりつらい。

システム問題をデバッグしている時、髭だけでなく髪まで抜け落ちそうになる

GentooのUSEなら一部のシステム機能をコンパイルに入れないよう拒否できるかもしれないが、感覚としてはプログラムを書いているようで、依存関係を考えなければならず、アップグレード時には設定ファイルが上書きされるかどうかも気にしなければならない。Archは一般的なLinuxディストリビューションと同じで、そのままアップグレードすればいい。過去にアップグレード時のファイル衝突問題に遭遇したことはあるが、Gentooほど大げさではない。GentooでUSEを設定し、さらにコンパイル待ちするのに比べると、Archは台湾国内のミラーを使う時、一つのコマンドでとても速くインストールできる。

Archの安定度をどう保障するかについては定論がない。Waylandは次の更新でNvidiaドライバーにgankされるかもしれないし、GRUBがなぜか消える可能性もある(確率はとても低い)。あるいはFcitxがまた特定のプログラムで中国語入力できなくなるかもしれない。こうしたことはあるが、数日待ってpacman -Syuし、十分ほどダウンロード更新すれば問題は解決するかもしれない。Gentooではまず二時間コンパイルを待ってから結果を見る必要がある。

2. Arch Linuxカスタムシステムの快感を体験する
#

Archを再インストールする手順は、当初Archを入れた時のメモとそれほど変わらない。PCはこの記事を、ノートPCはこの記事を見てほしい。これらの記事は、誰かが本当に真似して失敗しないように、低級なミスをずっと修正している。

ある人にLinuxは寄せ集め車だと批判されたことがある。そう、それは寄せ集め車だ。そしてSystemdのように大統一を試みるものは、管理範囲が広すぎると人に文句を言われる。デスクトップ環境も万年戦い続ける議題だ。知ったことか。現時点で私は、自由でオープンソースなソフトウェアを使って仕事をするという点だけは譲れないが、前線の新技術はすべて試してみるべきだと思っている。

その中には当然、あなたのシステムをどうインストールするかが関わる。主には大衆の潮流に従い、適時に小さな調整を行うことだ。

GentooはUSEでソフトウェア機能を定義する。Archはパッケージを細かく分け、ダウンロード時にどのパッケージ組み合わせが必要か選べるため、肥大化を避けられる。たとえばQEMUには最小版もあれば、全部入れる版もある。Fcitx5入力メソッドも新酷音だけを入れることを選べ、拼音入力まで入ることはない。

今回デスクトップ環境を再インストールした時、私はやはりKDEを選んだ。GentooはUSEでコンパイルするKDE機能を切り詰めるが、Archはplasma-metaplasma-desktopという二つの大きなパッケージを提供している。少し経験を積んだ後、私はplasma_meta全家桶を入れるのが好きではなくなった。アプリケーションが雑多すぎるので、plasma-desktopを選んだ。その結果、自分で穴を埋める必要がある。

たとえば:KDEがWEBPとAVIFすらサポートしないとは?

私が入れたのはplasma_desktopの最小パッケージなので、画像対応(qt5-imageformats, kimageformats)のパッケージは自分で取る必要がある。よく使うものにはBluetooth(bluedevil)、ネットワークマネージャー(plasma-nm)、Pipewire音声パネル(plasma-pa)、電源管理(power-profiles-daemon)などもある。自分の需要に応じてKDEデスクトップを組み合わせれば、後で全家桶を掃除する必要がない。

初めてArchを入れる人は、おとなしく全家桶を食べたほうがよい。人は初回から自分が何を欲しいかを知るのは難しい。以前の私はUbuntuがGNOMEを使っていることすら知らなかった。

ついでに言うと、新鮮味のため、そしてタッチパッド+Wayland体験を便利にするため、ノートPCのArchデスクトップ環境にはGNOME全家桶を入れている。GNOMEのインターフェイスのカスタマイズ度は非常に低いけれども。

3. 全面Flatpak化を続ける
#

Flatpakは、あらゆるLinuxディストリビューションの差異を無視するために受け継がれてきたインストール手段であり、その次がAppImage + AppImage Launcherだ。Gentooではこの点を深く体感した。一部の珍しいソフトウェアについて、GentooにはOverlayすらないことがあり、AppImageや静的リンク実行ファイルに依存する必要がある。最悪の場合はdockerや仮想マシンを開いて走らせることになる。

ファイルマネージャー(Dolphin)、テキストエディター(Kate)、画像ビューアー(Gwenview)、メディアプレイヤー(VLC)など高速な応答が必要なシステムプログラムを除き、残りのデスクトップソフトウェアはできるだけFlatpakを採用する。Firefox、VS Code OSS、Android Studio、Steam、LibreOffice、Kdenlive、GIMPを含む。

Flatpakの権限設計は安全性とプライバシー性を高められる。Android APPに少し似ている。唯一の欠点はかなり太いことだ。

また、Snapを使うことはLinuxコミュニティでしばしば政治的に正しくないと見なされる。ただ私は特に悪いとは思わない。入れる動機のあるソフトウェアは静的サイトジェネレーターHugoだけで、Flatpakがデスクトッププログラムしかない不足を補うために使っている。

最後に、ソフトウェア更新をもう少し自動化したい。GNOME下のFlatpakは自動でスケジュール更新するので、KDEの更新フロントエンドとしてDiscoverも入れ、毎日pacman -Syuを打ちたくなる気持ちを抑えた。KDEで更新規則を設定した後、ArchはGoogle PlayのAPPのように定時でこっそり更新するようになる。

4. Arch Linuxを少し美化する
#

実用性と美観が第一目標であり、派手さや個性化のために無理やり何かすることはない。

Arch LinuxはGentoo Linuxと同じく、起動時にGRUBとSystemdのメッセージを出力する。Arch Wikiを参考にカーネルメッセージを閉じ、さらにArch logo付きの簡素なPlymouthを入れて起動画面アニメーションにした。

いくつかの観点を読んだ後、r/unixporn板の人のように細部までデスクトップを美化することは強迫症をさらに悪化させるだけだと思った。たとえば以前、KDEコンポーネントを全部抜いてLatte Dockだけを使ったことがあるが、結果はとても使いにくかった。

KDEでもGNOMEデスクトップでも、デスクトップ配置に生産性があることのほうが重要だ。だからデスクトップ美化の原則は以下の通り:

  • 「実用」一度だけ見栄えのために置いた後、もう見たくなくなる壁紙を置かない
  • 「控えめ」RGB照明効果の派手な線をやらない
  • 「デスクトップ本体にあるコンポーネントだけを使う」サードパーティパッケージに依存しない
  • 「デスクトップにアイコンを一切置かない」GNOMEからKDEへ伝染した習慣

だから、KDEではステータスバーの位置を調整し、内蔵の秋壁紙を使っただけだ。Gentooを使っていた時にこのスタイルを確立した:Breezeのウィンドウ装飾は軽薄すぎるので、Oxygenのスキューモーフィック風格に調整した。

GNOMEは特に言うことがない。Adwaitaテーマをそのまま使い、デスクトップレイアウトはGNOMEの操作ロジックに従い、Dashを固定Dockにはしていない。ただGNOMEのAPP分類は使いにくすぎるので、GNOME Tweaksで左上のAPP分類ランチャーを有効にする。壁紙はOpenSUSEの可愛いトカゲを使う(NTR?むしろTumbleweed精神の継承に近い)。

5. その後
#

今回はどれだけ持つか、またdistro-hoppingを始めるのか見てみよう。

FreeBSDはLinuxではないが、長期的なデスクトップシステムの選択肢としてずっと考えている。以前遊んだことがあるが、やはりサーバーとして使うだけでよいとわかった。私は公式サイトで30ドルのTシャツ+ステッカーを買って支援しただけだ。

Linuxはやはりより大衆的で、誰かに某ソフトウェアをどう設定するかのチュートリアルを共有しやすい。Linuxは黙々と仕事をし、開発者だけが触れる機械ではなく、日常OSにもなれることを証明できる。そしてこれらすべてを理解し、改善する方法は、全身でシステムに投入し、低層から表面まで実践することだ。

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。