Open4

Linuxデスクトップ元年

ピン留めされたアイテム
osa_kosa_k

ここ10年くらいLinuxデスクトップの利用を避けていた。ニッチなデバイスを繋いだときに正しく動かない煩わしさや、アップデートをかけるとバージョン不整合で挙動がおかしくなる問題が嫌というのが理由。ちょうどいいのでゲーム用マシンと共用でWindows上にプログラミング環境を作ってやっていたのだが、最近になってパッケージの入れやすさとかDockerとの相性とかでやはりプログラミング用途にはLinuxデスクトップのほうがいいなと思い直して入れることにした。

おすすめのdistroをClaudeに聞いてKubuntuを入れることにした。重要な要件は以下。

  • デスクトップ環境の設定をいじるためにすべての設定ファイルやコマンド名を覚えるのは面倒でやってられないので、コントロールパネルがほしい。
  • 設定ファイルを理解することなく4KディスプレイとHiDPIが使えてほしい。
  • パッケージの更新でバージョン不整合が起きてパッケージマネージャが機能停止する……といった事態が可能な限り発生しにくいのがよい。

こういう要件だと基本的にはUbuntu flavorになるっぽい。UnityやGnomeは以前に使ってあまり反りが合わないな……という感じなのでKDE Plasmaを試してみることにした。

https://claude.ai/share/2b715447-71b9-4760-98f3-dafe6a44b6f1

osa_kosa_k

Wayland + KDE Plasma + fcitx5 + Firefox環境で変換候補の表示場所がずれる問題を直す。
結局何が問題なのか分からなかったが、Claudeに言われたことを色々試していたら直った。

https://claude.ai/share/d0f9f894-438c-4d5f-b8a6-c860ba638419

im-config -n none

最後にやった変更の一つでそれまでやってなかったのはこれくらい?実行後のメッセージによれば ~/.xinputrc を書き換えているっぽいが、元々何が書いてあったのか分からないので、これが効いたとしてなぜ有効なのかは分かってない。

osa_kosa_k

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を試すように指示しており、実際それで解決するのでまあ優しい部類のエラー。

https://claude.ai/share/93a0b048-bec2-4aea-a23e-673aad5fe031

osa_kosa_k

Claudeに聞くとLinuxの細かい機能名やツール名、これらがどのように組み合わさって動いているのかといった、単なる利用者にとってどうでもいい詳細をすっ飛ばして挙動に関する質問をできるのがとても良い。Linuxデスクトップ最大の問題だと個人的に感じていた、ちょっと挙動を変えたいだけで設定ファイルを1行書くためにシステムの奥深くまで理解する羽目になる、という無限のコミットメントを要求する高圧さがかなり和らいでいる。