![Okular 只能打开某些文件夹中的文件](https://linux22.com/image/172484/Okular%20%E5%8F%AA%E8%83%BD%E6%89%93%E5%BC%80%E6%9F%90%E4%BA%9B%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6.png)
我使用 okular 来注释我的一些 PDF,但最近遇到了一个问题,我只能打开安装了 ubuntu 的 SSD 上的文件,但不能打开第二个硬盘上的文件(位于 /mnt/...)。
从终端运行时,我得到的输出是:
Qt: Session management error: None of the authentication protocols specified are supported
org.kde.knotifications: Audio notification requested, but sound file from notifyrc file was not found, aborting audio notification
当对 SSD 上的文件执行相同操作时,我收到第一条消息(虽然不是第二条消息,但我认为这只是它想使用声音来警告我它无法打开文件)。我还在 sudo 下运行它,以防万一它是权限错误并得到
[error] cannot open locale definition file `en': No such file or directory
No protocol specified
qt.qpa.xcb: could not connect to display :1
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
我也尝试过其他程序,但没有看到这种区别(包括能够在不同的程序中打开第二个硬盘上的同一文件)。
答案1
Snap 只能访问文件系统中的某些文件。根据其创建方式,通常包括用户的主文件夹及其子文件夹。一些快照包含一个插件,也可以访问可移动媒体(硬编码为/media
)。
这就是快照当前的安全模型,它们必须声明它们打算访问的内容。
修复:您可以尝试安装以--classic
从源重新创建快照,修改snapcraft.yml
以更改容器。你仍然需要snapd
配合并允许它。
作为一般说明正是由于这个原因,snap 不应该被视为系统包的直接替代品。VLC
例如快照不会允许您可以播放任意文件夹中的媒体(即使您有权这样做)。