如何修复带有照片的 snapd darktable NFS 挂载访问被拒绝的问题?

如何修复带有照片的 snapd darktable NFS 挂载访问被拒绝的问题?

我将所有照片保存在一个单独的(本地)NFS 服务器上,该服务器安装在/home/majira_home.我多年来一直在 darktable 中使用这种设置。但是当我从snap(sudo snap install darktable)安装darktable后,darktable无法打开挂载,出现以下错误:

无法读取 majira_home 的内容

打开目录“/home/majira_home”时出错:权限被拒绝

  [转录自这个截图图像.]

然而,这是我一直能够从光表 → 图像 → 添加到库中完成的事情。

奇怪的是,如果我从打开到已安装卷的文件浏览器中双击文件名目录,darktable 就能够打开该文件并将图像导出到该目录。

我的问题是:我可以/应该对任何 snap/darktable 配置文件或 AppArmor 配置/配置文件进行哪些更改才能使其正常工作?我已经花了 10 多个小时试图解决这个问题。

我在安装时添加了权限,/etc/fstab为安装点提供我的 UID 和 GID。

$ ls -l /home/majira_home/
drwxrwxrwx 100 daudi daudi 4096 Apr 25  2021 daudi


System information:
System:    Host: wstn Kernel: 5.4.0-132-generic x86_64 bits: 64 compiler: gcc v: 7.5.0 
           Desktop: Xfce 4.14.1 tk: Gtk 3.22.30 wm: xfwm4 dm: LightDM 
           Distro: Linux Mint 19.3 Tricia base: Ubuntu 18.04 bionic 


    darktable                4.0.1                       89     latest/stable  sergiusens    -
        
    $ snap connections darktable
        Interface                 Plug                                Slot                              Notes
        content[gnome-42-2204]    darktable:gnome-42-2204             gnome-42-2204:gnome-42-2204       -
        content[gtk-3-themes]     darktable:gtk-3-themes              gtk-common-themes:gtk-3-themes    -
        content[icon-themes]      darktable:icon-themes               gtk-common-themes:icon-themes     -
        content[sound-themes]     darktable:sound-themes              gtk-common-themes:sound-themes    -
        dbus                      -                                   darktable:session-dbus-interface  -
        desktop                   darktable:desktop                   :desktop                          -
        desktop-legacy            darktable:desktop-legacy            :desktop-legacy                   -
        gsettings                 darktable:gsettings                 :gsettings                        -
        home                      darktable:home                      :home                             -
        network                   darktable:network                   :network                          -
        network-bind              darktable:network-bind              :network-bind                     -
        opengl                    darktable:opengl                    :opengl                           -
        password-manager-service  darktable:password-manager-service  -                                 -
        removable-media           darktable:removable-media           :removable-media                  -
        wayland                   darktable:wayland                   :wayland                          -
        x11                       darktable:x11                       :x11                              -

Nov 21 12:37:09 jabari audit[5411]: AVC apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/etc/fstab" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Nov 21 12:37:09 jabari audit[5411]: AVC apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/proc/5411/mountinfo" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Nov 21 12:37:09 jabari audit[5411]: AVC apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/proc/5411/mounts" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Nov 21 12:37:09 jabari kernel: audit: type=1400 audit(1669063029.067:132): apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/etc/fstab" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Nov 21 12:37:09 jabari kernel: audit: type=1400 audit(1669063029.067:133): apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/proc/5411/mountinfo" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Nov 21 12:37:09 jabari kernel: audit: type=1400 audit(1669063029.067:134): apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/proc/5411/mounts" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
Nov 21 12:37:09 jabari kernel: audit: type=1400 audit(1669063029.071:135): apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/home/majira_home/" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Nov 21 12:37:09 jabari audit[5411]: AVC apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/home/majira_home/" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Nov 21 12:37:09 jabari audit[5411]: AVC apparmor="DENIED" operation="open" profile="snap.darktable.darktable" name="/home/majira_home/" pid=5411 comm="darktable" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

答案1

非常感谢您对此线程的评论,我永远不会意识到问题与我安装了 snap 包这一事实有关。

对于其他可能遇到此问题的人。

  1. sudo snap remove darktable
  2. 基于 Debian 的用户使用此链接添加 ppa 或仅手动下载软件包:https://software.opensuse.org/download.html?project=graphics:darktable&package=darktable
  3. 接下来是通常的sudo update && sudo apt install darktable

注意:这将安装 Ubuntu 标准存储库上不可用的最新版本。它将安装很多额外的依赖项。

如果您已经在 Darktable 中建立了数据库(即使它是空的),那么在第一次启动时,系统会提示您更新数据库/库。这样做,要有耐心,因为看起来好像什么也没有发生。我的空库花了大约 20 秒,在此期间我以为它崩溃了并尝试重新加载。

相关内容