【问题标题】:electron-builder snap installer confusing home directory电子生成器快照安装程序混淆主目录
【发布时间】:2021-04-28 12:13:21
【问题描述】:

这是对上一个问题Defult home directory for snap installer using electron-builder 的后续处理,按照那里的要求提出。

我目前正在构建一个电子应用程序,并使用电子构建器构建安装程序,例如 .deb.snap。我的应用程序使用showSaveDialog/showOpenDialog 打开/保存打开像文件资源管理器一样的 nautilus(在 ubuntu 中)的文件。现在如果使用.snap安装程序安装应用程序,资源管理器弹出窗口中的Home选项卡指向/home/user/snap/<app>/<revision>/,如下图所示,而不是我们通常调用home的实际目录linux (/home/username/)。由于此弹出式资源管理器窗口中的Home 不是实际用户的主目录,因此用户会感到困惑。
有没有办法解决这个问题?

【问题讨论】:

  • 你好!如果您的问题已得到解答,请考虑使用答案旁边的绿色复选标记进行投票/接受。

标签: electron electron-builder snapcraft


【解决方案1】:

这似乎是基于 GTK 的打开/保存对话框在 snap 约束中运行时的常见问题。

网络上散布着以下错误报告:

上面最后一个链接中的评论者建议设置 $G_HOME 环境变量。

您可以覆盖此变量以影响文件选择器,但您需要尽早执行此操作。在我的测试中,它需要在 app-ready 事件之前完成:

const os = require("os");
process.env.G_HOME = os.userInfo().homedir;

const {app, dialog} = require("electron");

app.on("ready", function() {
    console.log(process.env.G_HOME); // should print your actual home directory
    dialog.showOpenDialogSync();
});

这样做需要您自担风险;这种变化可能还有其他潜在的不良影响。 我没有在 snap 限制下运行它,但能够更改文件选择器用于“Home”条目的目录。

【讨论】:

    猜你喜欢
    • 2019-12-27
    • 2023-03-23
    • 2018-09-06
    • 2017-05-24
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    相关资源
    最近更新 更多