электронная сборка оснастки, запутывающая домашний каталог

Это продолжение предыдущего вопроса Домашний каталог по умолчанию для установщик оснастки с помощью electronic-builder, задаваемый там по запросу.

В настоящее время я создаю электронное приложение, собирая установщик, такой как .deb и .snap, с электронным построителем. Мое приложение использует showSaveDialog/showOpenDialog для открытия / сохранения файла, который открывает наутилус (в ubuntu), такой как проводник. Теперь, если приложение установлено с помощью установщика .snap, вкладка Home во всплывающем окне проводника указывает на /home/user/snap/<app>/<revision>/, как показано на рисунке ниже, а не на фактический каталог, который мы обычно называем home в Linux (/home/username/). Поскольку Home в этом всплывающем окне проводника не является фактическим домашним каталогом пользователя, это сбивает пользователей с толку.
Есть ли способ исправить это?

введите описание изображения здесь


person Eular    schedule 24.01.2021    source источник
comment
Привет! Если на ваш вопрос был дан ответ, рассмотрите возможность проголосовать / принять, используя зеленую галочку рядом с ответом.   -  person snwflk    schedule 12.02.2021


Ответы (1)


Похоже, это обычная проблема, возникающая в диалогах открытия / сохранения на основе 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();
});

Делайте это на свой страх и риск; возможно, что есть другие, потенциально нежелательные последствия этого изменения. Я не запускал это в режиме ограничения привязки, но смог изменить каталог, который селектор файлов использует для записи Home.

person snwflk    schedule 30.01.2021