问题描述
这是上一个问题 Defult home directory for snap installer using electron-builder 的后续问题,按照那里的要求提出。
我目前正在构建一个电子应用程序,并使用电子构建器构建安装程序,例如 .deb
和 .snap
。我的应用程序使用 showSaveDialog/showOpenDialog
打开/保存打开 nautilus(在 ubuntu 中)的文件,如文件资源管理器。现在,如果应用程序是使用 .snap
安装程序安装的,则资源管理器弹出窗口中的 Home
选项卡指向 /home/user/snap/<app>/<revision>/
,如下图所示,而不是我们的实际目录通常在 linux 中调用 home
(/home/username/
)。由于此弹出式资源管理器窗口中的 Home
不是实际用户的主目录,因此让用户感到困惑。
有没有办法解决这个问题?
解决方法
这似乎是基于 GTK 的打开/保存对话框在快照限制中运行时的常见问题。
网络上散布着以下错误报告:
- https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1848918
- https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1798450
- https://forum.snapcraft.io/t/libreoffice-snap-home-folder-points-to-wrong-folder-on-open-dialog/6203/2
- https://github.com/ubuntu/snapcraft-desktop-helpers/issues/167
上面最后一个链接中的评论者建议设置 $G_HOME 环境变量。
您可以覆盖此变量以影响文件选择器,但您需要尽早进行。在我的测试中,需要在 app-ready 事件之前完成:
df <- structure(list(col1 = c(" data"," data"," data"
),col2 = c("data","data","data"),col3 = c("data",col4 = c("hippo-11-trx-2021","goose-17-plt-2017","monkey-01-mno","zebra-99-451-2019")),class = "data.frame",row.names = c(NA,-4L))
风险自负;这种变化可能还有其他潜在的不良影响。 我没有在 snap 限制下运行它,但能够更改文件选择器用于“主页”条目的目录。