Linuxデスクトップ元年
ここ10年くらいLinuxデスクトップの利用を避けていた。ニッチなデバイスを繋いだときに正しく動かない煩わしさや、アップデートをかけるとバージョン不整合で挙動がおかしくなる問題が嫌というのが理由。ちょうどいいのでゲーム用マシンと共用でWindows上にプログラミング環境を作ってやっていたのだが、最近になってパッケージの入れやすさとかDockerとの相性とかでやはりプログラミング用途にはLinuxデスクトップのほうがいいなと思い直して入れることにした。
おすすめのdistroをClaudeに聞いてKubuntuを入れることにした。重要な要件は以下。
- デスクトップ環境の設定をいじるためにすべての設定ファイルやコマンド名を覚えるのは面倒でやってられないので、コントロールパネルがほしい。
- 設定ファイルを理解することなく4KディスプレイとHiDPIが使えてほしい。
- パッケージの更新でバージョン不整合が起きてパッケージマネージャが機能停止する……といった事態が可能な限り発生しにくいのがよい。
こういう要件だと基本的にはUbuntu flavorになるっぽい。UnityやGnomeは以前に使ってあまり反りが合わないな……という感じなのでKDE Plasmaを試してみることにした。
Wayland + KDE Plasma + fcitx5 + Firefox環境で変換候補の表示場所がずれる問題を直す。
結局何が問題なのか分からなかったが、Claudeに言われたことを色々試していたら直った。
im-config -n none
最後にやった変更の一つでそれまでやってなかったのはこれくらい?実行後のメッセージによれば ~/.xinputrc を書き換えているっぽいが、元々何が書いてあったのか分からないので、これが効いたとしてなぜ有効なのかは分かってない。
NASのマウント
Synology DS216をマウントする。mDNS (avahi)でホスト名を宣伝しているらしく(よくわかってない)、 .local というsuffixをホスト名の末尾につけてアクセスする必要がある。
クレデンシャルを /root/ 以下に配置する。たぶんrootでなくてもアクセス制限してあればよい。
$ sudo cat /root/.synology-credentials
username=Synologyのユーザー名
password=パスワード
cifsでマウントするためcifs-utilsを入れる。
sudo apt install cifs-utils
この状態で /etc/fstab に以下を追加する。
//ancient-one.local/home /mnt/synology cifs credentials=/root/.synology-credentials,uid=1000,gid=1000,iocharset=utf8,vers=2.0 0 0
Claudeはfstabのオプションにつけるvers=を3.0と言っていたが、DS216では3.0ではマウントできなかった。
今のLinuxではmountがsystemd経由になっている?らしくdaemon-reloadを求められるのでそうする。
sudo systemctl daemon-reload
エラー
cifsのvers=が正しくないときは以下のようなエラーになる。
$ sudo mount /mnt/ancient-one/
mount error(95): Operation not supported
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
このときdmesgには以下のようなメッセージが出ている。
$ sudo dmesg | tail
(snip)
[16283.592474] CIFS: enabling forceuid mount option implicitly because uid= option is specified
[16283.592479] CIFS: enabling forcegid mount option implicitly because gid= option is specified
[16283.592482] CIFS: Attempting to mount //ancient-one.local/home
[16283.597278] CIFS: VFS: \\ancient-one.local Dialect not supported by server. Consider specifying vers=1.0 or vers=2.0 on mount for accessing older servers
[16283.597291] CIFS: VFS: cifs_mount failed w/return code = -95
メッセージの中で他のversを試すように指示しており、実際それで解決するのでまあ優しい部類のエラー。
Claudeに聞くとLinuxの細かい機能名やツール名、これらがどのように組み合わさって動いているのかといった、単なる利用者にとってどうでもいい詳細をすっ飛ばして挙動に関する質問をできるのがとても良い。Linuxデスクトップ最大の問題だと個人的に感じていた、ちょっと挙動を変えたいだけで設定ファイルを1行書くためにシステムの奥深くまで理解する羽目になる、という無限のコミットメントを要求する高圧さがかなり和らいでいる。