snapd は、ホームディレクトリが /home
以外に置かれていると $HOME
へのアクセスを許可しない*1。この場合には、以下のコマンド列を実行して明示的にホームディレクトリの位置を指定することで正常にアクセスできるようになる。
# 以下の /local/home は各環境でホームディレクトリが配置されているパスに変更する $ snap set system homedirs=/local/home
なお、snap --version
で表示される snap および snapd のバージョンが 2.59未満であれば、以下のコマンドで前もって core パッケージを更新する必要がある。
$ snap refresh core
参考ページ
snap set system homedirs=...
でホームディレクトリを設定する機能は以下のPRで導入された。最近マージされたばかりなので、本稿執筆時点では日本語情報がほぼ皆無だった。
github.com
記事内容自体は以下を参考にした。以下のQ&Aの内容を補足すると、現行の Ubuntu 22.04 であれば、release/stable でもバージョン2.59以降の snapd が入る。また、22.04では snapd パッケージではなく core パッケージで snapd が管理されている(はず)。 askubuntu.com
この方法に関する公式ドキュメントは以下のページ。一応古い方法も紹介されているので、この記事で紹介した方法が機能しなかった場合は試してみるとよい。 https://snapcraft.io/docs/home-outside-home