🎮

EndeavourOS i3-WMを普段使いする手順(Linuxの設定)

2022/06/22に公開

screenfetch の実行結果を貼る文化があるようなので、添付してみます。

Zennへの画像添付画面で、WebPが候補に出てこなくて絶望した!

EndeavourOSのインストール中には宇宙飛行士の絵が流れるのですが
エンデバーはスペースシャトルで1番好きだったので、印象は最高です。

https://zenn.dev/kako_jun/articles/e49ef7603efabb
https://zenn.dev/kako_jun/articles/0d6095719666f5
https://zenn.dev/kako_jun/articles/b2b7eeb2d4139d
の続きです。

2. i3wmでなくても、Arch Linuxならば当たり前にする設定

近くのミラーを指定する

Ubuntuのaptならば、日本のミラーを設定しなくても
遅いだけでインストール時にエラーは出ませんが

Arch LinuxのPacmanでは
近くのミラーを選択しないと、3回に1回しかインストールが成功しないレベルだったので
まずJAISTを指定します。

sudo nvim /etc/pacman.d/mirrorlist 

して、先頭に

Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

を書いとく。

Pamacを入れる

パッケージ管理では

  • yay -S 〇〇 でのインストール
  • yay -R 〇〇 でのアンインストール
  • yay -Syyu での丸ごとアップデート
  • yay -Sc での要らないパッケージお掃除

くらいしか使う機会が無いのですが
GUIでしか気づけないこともあるので、念のためPamacを入れます。

yay -S pamac-all
うまく入らなかったら yay -S pamac-aur で。

3. Arch Linuxでなくても、Linuxならば当たり前にする設定

Discordを入れる

開発といえばSlackという時期があったし
Slackも使ったことあるのですが

  • FF14のためにDiscordは絶対必要
  • SlackとDiscordは、片方しか入れたくない
  • つまり、Slackいらない

という流れで、使わなくなりました。

TwitterやLINEも
わざわざアプリとして、Linuxに入れようとは思いませんでした。

Twitterはブラウザで使えばいいし
LINEはChromeアプリ版も、Chrome拡張機能版も
2022年現在では全てがディスコンのようです。


1000円のRaspberry Pi Zeroと、1000円のWebカメラを組み合わせて
常時監視システムを作り、ずっとペット監視に稼働させてるのですが

その際に、撮った画像をアップロードする
2022年らしいクールな方法を調べたことがあります。

そしたら、Web APIを利用するために
開発者登録とか、アプリとして申請するとか、トークンを発行してもらうとか

そういう面倒な仕組みを利用しない
WebHookだけで実現するほうがクールでした。

WebHookはTeamsやSlackでも使えますが
Discordでも使えたので、監視はそれで実現しました。


というわけで、私的優先順位の現在1位はDiscordなので
yay -S discord します。

何も追加設定をしなくても
OS再起動のたびに自動的に起動され
タスクバーの右端に入り

Discordのウィンドウで $mod+q を押しても
ウィンドウは閉じるが、常駐アイコン状態として生き続ける

という理想の動作をしてくれます。

Blenderを入れる

yay -S blender だけで入ります。

ThinkPad X13 Gen 2 (AMD)の場合
自動的にRyzen内蔵のGPUが認識され

互換ドライバであるamdgpuが動作してるので、ヌルヌル動きます。

Gimpを入れる

EndeavourOS i3-WMには、デフォルトで画像ビューアが入ってないようです。

壁紙の表示はfehでやる
~/.config/i3/config に書かれてるのですが
そのfehすら、確か入ってなかった……

yay -S feh

でも、fehでは非力なので
Xfceの画像ビューアであるRistrettoも入れました。

yay -S ristretto


しかし、閲覧だけでなく
クロップなど編集もしたいのです。

初耳でしたが、Pintaというのが有名なようでした。

yay -S pinta

そしたら、クロップしてpngとして保存くらいはできるのですが
Pinta上で画像の外枠として、太い白線が強制表示されます。

このせいで本当の色が見えずウザいのに
消せないようなので

結局、Gimpしか勝たんとなりました。

yay -S gimp


ちなみに、Photoshop CCを使うようになってから
もう使わなくなったPhotoshop CS2が手元にあったので

それもwineで動かしてみました。

そしたら、Windowsフォントをごまかすために面倒な設定をしないと
終了のたびに作られる Adobe Photoshop CS2 Prefs.psp が壊れて
次回から起動しないことが分かりました。

正常な Adobe Photoshop CS2 Prefs.psp をバックアップしておいて

#!/bin/bash

cp "$HOME/bin/Adobe Photoshop CS2 Prefs.psp" "$HOME/.wine/drive_c/users/kako-jun/AppData/Roaming/Adobe/Photoshop/9.0/Adobe Photoshop CS2 Settings"
exec wine "$HOME/.wine/drive_c/Program Files (x86)/Adobe/Adobe Photoshop CS2/Photoshop.exe"

のような起動用スクリプトを書けば、起動はできます。


でも、Photoshopはたくさんのサブウィンドウが連携して1つのアプリとして動くわけですが
タイル型ウィンドウマネージャとの相性が悪いのか

それら個々のサブウィンドウが、それぞれ整列されたり
$mod+f での最大化に付いてこなかったり

ぜんぜん快適に操作できるものではありませんでした。

VSCodeのVim拡張で、ESCを押しただけで日本語入力が解除されるようにする

Vim拡張を使う上で、これは大事な設定です。

Window版では、zenhan.exe というツールを使って実現しますが
Linux版では

"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "-c",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/bin/fcitx-remote",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/bin/fcitx-remote {im}"

のような設定で実現します。

ただ、zenhan.exe ならば
また次回Insertモードに入った時に、日本語入力オンが自動的に復活するのですが
このLinux版での設定は解除方向のみなので、そこまでの親切はしてくれません。

そして、罠なのは
VSCode純正の設定同期機能を使ってると
Window版とLinux版との設定が衝突し、後で設定したもので上書きされちゃうことです。

どうやって回避できるのだろう……?

sambaの設定でfirewalldが邪魔してくる

無事にEndeavourOS i3-WMの設定をだいたい終えて

そろそろWindows PCとファイルのやり取りをできるようにしよう
と思って

yay -S samba し、動くはずの設定をしたはずですが
Windows PCから見えない。

こっちからWindows PCは見えるのに……
という非対称の状態になりました。


こういう時、疑うべきはファイアウォールですが

デフォルトでufwはインストールされてないし
iptablesはインストールされてたけど

sudo systemctl status iptables

したところdeadだし、自動起動もdisabled。

何が何だかわからない……
とLみたいに呆然としたのですが

いや、絶対にファイアウォールが原因に間違いはないんだ
きっと私の知らないパッケージ名なんだ
と予想して

$mod+d してrofiに「fire」と打ってみたところ
すでにファイアウォールのGUI設定ツールが入ってて

そこに書かれてた名前は firewalld でした。

し、しらねー

と、思わず遊戯王のパンドラのようなセリフが出ました。

この firewalld を設定すれば、あっさりsambaは繋がりました。


標準で採用されるくらいだから
たぶん今どき知ってて当たり前のパッケージ名なのでしょう。

でも、ufw派の私は知らなかった!

こういう「そもそも知らない名前のものが原因」というオチの時

調べるための文字列を知らないのだから、1人ではなかなか原因が分からない
というのは、けっこう大変だなーと思いました。

amdgpuでティアリングが発生する

追記しました。

使い始めてmoonlight-qtでFF14を遊んだり、Netflixで攻殻機動隊SACを観てるときに
やっと気づきました。

動きの激しい場面で、画面の上から100ピクセルくらいの位置に、
横線状の描画の段差が発生してました。

解決方法は、xorgでのティアリングの解消方法を調べると分かるのですが
ThinkPad X13 Gen 2 (AMD)の場合は

/usr/share/X11/xorg.conf.d/10-amdgpu.conf

Section "OutputClass"
        Identifier "AMDgpu"
        MatchDriver "amdgpu"
        Driver "amdgpu"
        Option "TearFree" "true"
EndSection

のように、Option "TearFree" "true" の部分を追加して
再起動すれば直りました。


次回で最後。

EndeavourOSでFF14を遊びます。

やっとか!

https://zenn.dev/kako_jun/articles/a85b64a8ebc1b0

Discussion