这是上一个问题Defult home directory for snap installer using electron-builder的后续操作,该问题在此处被询问。
我目前正在构建一个 Electron 应用程序,并使用 Electron 构建器构建像.deb
和.snap
这样的安装程序。我的应用程序使用showSaveDialog/showOpenDialog
打开/保存文件,该文件打开了像文件浏览器这样的鹦鹉螺(在ubuntu中)。现在,如果使用.snap
安装程序安装了该应用程序,则资源管理器弹出窗口中的Home
选项卡指向/home/user/snap/<app>/<revision>/
,如下图所示,而不是我们通常在linux中称为home
的实际目录(/home/username/
)。由于此弹出的浏览器窗口中的Home
不是实际用户的主目录,因此使用户感到困惑。
有没有办法来解决这个问题?
最佳答案
当在快照限制中运行时,这似乎是基于GTK的打开/保存对话框所遇到的常见问题。
网上散布了以下错误报告:
上面最后一个链接中的注释者建议设置$ G_HOME环境变量。
您可以覆盖此变量以影响文件选择器,但是您需要尽早进行操作。在我的测试中,它需要在应用就绪事件之前完成:
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();
});
这样做需要您自担风险;此更改可能还会有其他潜在的不良影响。我没有在快速限制下运行此文件,但是能够更改文件选择器用于“主页”条目的目录。
关于electron - Electron 生成器快照安装程序使主目录困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65872077/