🎮

EndeavourOS i3-WMを普段使いする手順(OSを選ぶまで)

2022/06/22に公開

2022/06時点での手順を共有します。


こういう作業用デスクトップを作ります。

VSCodeで趣味のコーディングをしながら
レアなモブハントのチャンスが来たら、すぐにSモブを倒しに行けたり

リグマの募集があったら
チャージャーを持って駆けつけられたら素敵だと思いませぬか。


EndeavourOS i3-WMを選ぶまで

最近、コロナで半月くらい隔離されてたので
ずっとしたいと思ってたDockerとかRustの勉強をしてました。

Dockerの素晴しさがやっと分かりました。
ガチマッチに例えると、200時間目とか、S帯に上がってからの
やっと言葉でなく心で理解できる、あの感じ。

  • 使うOSの環境を汚さない。
  • Dockerfileとdocker-compose.ymlさえ作り置きしておけば、何回でも一瞬で環境を作れる。
  • その環境とは、本番環境へのデプロイだけでなく
  • 開発環境そのものも、VSCodeの.devcontainer予約ディレクトリと、「Remote - Containers」拡張で一瞬で作れる。

こういうメリットだったのですね。

もうOSに、素でPythonをインストールとか
npm install -g とか、したくないというか
してた今までが信じられない、という感覚になりました。


Dockerを使えるようになると、WSL2で使いたくなるわけですが

敢えてDocker Desktopを使わず手動で用意することで

  • Docker Desktopがどんなお世話をしてくれてたのか、そして
  • どんな余計なお世話をしてくれてたのか

も理解できました。

今では、Docker Desktopをいっさい使わないほうが
WSL2内の状況を把握できて便利だと思ってます。


これを試してる時
「ネットには古い情報が残り続けてるので、結局は自分でいろいろ試して最新手順を編み出すのが良い」
ということも学びました。

例えば、npm install には --save を付ける必要はもう無いのですが
付けて悪いこともないから、付ける手順でリライトされ続けてる、あの感じです。

Pythonのシバンとかも、もう要らないけど
中級者がコピペで作る初心者用の解説サイトには、必要と書き続けられてる、あの感じです。

WindowsでDockerを使う手順は、WSL2で入れたUbuntuを使う手順ばかりが紹介されてて
初めて調べた時、まるでその方法以外では不可能かのように見えました。

実際は、Docker Desktopを使うならば
docker用の軽いLinux環境も自動で入れてくれるので
Ubuntuすら必要無かったのです。


Dockerでやりたかったことは、GPUを利用した機械学習だったのですが
GPUを認識させるところまでが大変でした。

まず、ホストOSであるWindowsには、NVIDIAのドライバを入れれば認識されます。
次に、WSL2内のLinuxには、Linux用のドライバを入れてはいけません。
(ここは直感の逆なので、NVIDIAのサイトにも目立つ注意書きが書かれてます)

その後が複雑で
WSL2内のLinux内のDockerコンテナ内では
nvidia-container-toolkit というパッケージのインストールが必要で

さらに、いちいちdockerコマンドの引数でGPU利用を伝えるのでなく
docker-compose.ymlでそう書きたい場合は
nvidia-container-runtime パッケージも必要でした。

この似た名前の2つのパッケージは
aptでシンプルに入れられないので、Ubuntuでは面倒くさかったです。

しかし、Arch Linuxでは

  • yay -S nvidia-container-toolkit
  • yay -S nvidia-container-runtime

だけで入っちゃったのです。

ここで初めて
ああ、Ubuntuというのは1番有名であっても、1番便利ではないんだ……
と思って、これからはArch Linux系を使ってくことにしたのです。


WSL2には ArchWSL を入れました。

そこから機械学習できるようになるまで、むちゃくちゃ簡単でした。

「Ubuntuは便利だけど、ごちゃごちゃしてるよね。もはや、使う必要はネットで最初に手順を見つけたから以外にはないといえるね」
と岸辺露伴のように思いました。

Dockerでalpineの操作に慣れたので
apt以外にも抵抗が無くなっちゃって、そのおかげもありました。

花京院の言う「フフフ……ありがとうよ。鍛えられたからな」状態です。


WSL2にArch Linuxを入れると
今度は、普段使ってるThinkPad X13 Gen 2 (AMD)でも使いたくなりました。

同じArchを入れても勉強にならないし
Archの派生ディストリビューションから選ぶことにして、まずManjaroを入れました。

順調にインストールが済み
Xfce(勝手にエックスフェイスと呼んでる)も起動しましたが
Xfceはもう使ったことあるので、退屈でした。

さらに、えーーーっというポイントがあって
ManjaroはArchの派生ではあるものの、Manjaroとしてのリポジトリは別なのです。

そして、ArchのリポジトリはJAISTにあるのに
ManjaroのリポジトリはJAISTには無いのです。

金沢からJAIST、めっちゃ近いのに!

「そんなManjaro、もう好きじゃなくなったよッ!」とセッコのように思いました。


そして見つけたのが、タイトルにあるEndeavourOSです。

リポジトリはArchと共通で、余計なことしてない。

https://endeavouros.com/latest-release/
からisoをダウンロードして、ライブDVDとして起動してインストールするわけですが

そのインストール時に
オフラインか?オンラインか?によって、ウィザードの内容が変化します。

オフラインの場合、自動的にXfceがインストールされますが
先に無線LANに繋いでオンラインにしておくと

ウィンドウマネージャを選ぶ画面が、追加で現れます。
(かまいたちの夜の選択肢みたいに!)

10択くらい出てくる。


その中にi3-WMがありました。

タイル型ウィンドウマネージャとして、i3と呼ばれるものがあることは知ってました。

Manjaroにも、コミュニティ版でならば
ウィンドウマネージャをi3に変えたものがあります。

しかし、EndeavourOSのこの選択肢は……公式に見える……!

せっかくなので
タイル型ウィンドウマネージャにも初挑戦して、使えるようになっとこうかな……

「コロナでなければやらなかったはずのこと」
を多くやるほど、この世界線に来た意味が増すッ!

と思ったときには、行動はすでに終わっていました。


……というわけで、
あまり日本語での情報がない
2020/06時点でのEndeavourOS i3-WMの手順について

次回から書いてこうと思います。

公式にも
https://discovery.endeavouros.com/window-tiling-managers/i3-wm/2021/03/
という手順があるのですが

実際には Windowsキー + L という
罠なショートカットキーがあり

押すと訳の分からない画面になって、解除できず詰むという罠がありました。

その対策なども、書いとこうと思います。


https://zenn.dev/kako_jun/articles/0d6095719666f5
に続きます。

Discussion