LINUX.ORG.RU

firefox, пропал диалог выбора файла

 ,


0

1

Здравствуйте.

Некоторое время назад обратил внимание на сабж - при File/Save as, при нажатии в контекстном меню «Save Link», «Save Picture», и прочих вещах, требующих вызова диалога выбора файла - ничего не происходит. Причём браузер не фризится, не создаёт «окно, которое не видно» - просто ноль реакции, и всё.

На других софтинах со строкой меню (gimp, gvim) этот диалог исправно всплывает и функционирует.

Свежий профайл создавал, с найтли на сток откатился, hardware acceleration выключил - не победил. В голове по этому поводу, кроме «gtkfilechooser» не всплывает, но это мне ничем не помогает.

Буду рад соображениям, спасибо за внимание.

Перемещено hobbit из general

★★★★★

Последнее исправление: piyavking (всего исправлений: 2)
Ответ на: комментарий от dmitry237

Я их (*-portal) как-то пару лет назад шибко возненавидел.
В ArcoLinux из-за них Firefox, Thunar и вроде бы что-то ещё запускалось почти по 30 секунд.
Снёс и больше никогда не устанавливал. Не пригождались.
Только бесят подобные прокладки.

k6
()
Ответ на: комментарий от k6

Я когда пользовался Arco такого не наблюдал. А снес портал вместе с flatpak. Но вот на ноуте с переделанным арко в арч (после остановки проекта арко) ваш совет помог. А на другом, чистом арче, все работает и без этого. Вроде особо и не отличаются, но что-то где-то осталось от арко.

dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Докопаться до сути, дело, конечно, интересное, но неблагодарное. :-)
Да и опыта у меня не хватает чтобы отловить на чём ломается и самому починить. Ну, то есть, объяснить почему именно такое странное и разное поведение на разных конфигурациях.
Когда есть время и настроение бывает ковыряюсь, в противном случае гуглю. Как сделал в случае этого топика. ;-)

k6
()

У меня он шлет в dbus (если widget.use-xdg-desktop-portal.file-picker = {1,2} )

method call time=1777203287.409659 sender=:1.154 -> destination=org.freedesktop.portal.Desktop serial=510446 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.portal.FileChooser; member=SaveFile

На что получает

error time=1777203287.409829 sender=org.freedesktop.DBus -> destination=:1.154 error_name=org.freedesktop.DBus.Error.ServiceUnknown reply_serial=510446
   string "The name org.freedesktop.portal.Desktop was not provided by any .service files"

Если widget.use-xdg-desktop-portal.file-picker == 0, то dbus молчит. Диалог открывается при любом значении. У тех у кого не открывается, думаю ошибка другая.

arrecck ★★★
()
Ответ на: комментарий от dmitry237

Всё так… я после разговора для общего развития тоже немного поискал.
В DE да ещё с systemd как бы «само» всё делается; создание/автозапуск служб для работы порталов и т.д.
А вот в случае WM этим нужно самому озаботиться; и либо переключить ту настройку в Firefox, либо создать init-скрипт для запуска xdg-desktop-portal, который в WM, да с «маргинальными» init’ами сам запускаться не спешит. :-)

k6
()
Ответ на: комментарий от k6

либо создать init-скрипт для запуска xdg-desktop-portal

У меня нет этих пакетов, удалил:

$ grep -E 'xdg.+portal' /var/log/pacman.log | tail -3              
[2026-04-25T09:59:59+0300] [PACMAN] Running 'pacman -Rdd xdg-desktop-portal xdg-desktop-portal-gtk'
[2026-04-25T10:00:01+0300] [ALPM] removed xdg-desktop-portal (1.20.4-1)
[2026-04-25T10:00:01+0300] [ALPM] removed xdg-desktop-portal-gtk (1.15.3-1)
dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

У меня нет этих пакетов, удалил

Я помню. :-)

Да я же не советы раздаю, а поддержал рассуждения на тему. Я с этим сталкивался однажды и давно. Не пару лет назад, а лет 5-6 назад (когда ковырял ArcoLinux). Время быстро летит. Кажется совсем недавно было.
Теперь уже года 2-3 на Artix и ничего с *-portal в имени пакета никогда не ставил.
Кажется, порталы нужны для работы AppImage, но они мне требуются очень редко, так что я обхожусь «варварским» методом извлечения через --appimage-extract и последующим запуском исполняемого файла.

k6
()
Ответ на: комментарий от dmitry237

для интеграции flatpak приложений

Вот этого не знаю; ни Flatpak ни Snap никогда не видел.
Из типа самодостаточных «всё-своё-ношу-с-собой»-приложений только AppImage пробовал.
Раньше бывал нужен AnyDesk да изредка на какой-нибудь «новый» браузер глянуть. Что-то запускалось, что-то нет.

Сейчас скачал и попробовал hoptodesk.AppImage (HopToDesk, obviously :-)) — запустился.
Но когда не запускается — уверен, что виноват я. У меня чересчур выскобленная система, нет-нет да и вылезают проблемы в неожиданных местах когда у нормальных людей всё просто работает.

k6
()
Ответ на: комментарий от Gonzo

Что это дает?

Если ты про именно эту операцию, то так в большинстве случаев я мог запустить AppImage’и, которые не запускались как задумано: chmod a+x AppName.AppImage./AppName.AppImage.

А если про то зачем так усложнять себе жизнь… стараюсь чтобы система была максимально минималистичной. В пределах разумного, конечно.
Просто взвешиваю для себя варианты: если некая программа/функциональность бывает нужна очень редко, то я вообще не стану устанавливать в систему её и дикое количество костылей и прокладок, которые она с собой обязательно притащит, и которые 99% времени будут лежать мёртвым грузом или ещё хуже — запускаться как службы и висеть в фоне ничего не делая, а только потребляя ресурсы.
Как пример, я монтирую внешние накопители вручную через эмулятор терминала. Понаписал alias’ов в .bash_aliases для самых ходовых случаев и нормально.

Бывало что у меня в системе было установлено меньше 400 пакетов и всё что мне нужно работало. А иногда для мелких удобств и разнообразия добавляю всяких микроутилиток и тогда, конечно, больше становится. Сейчас 481 пакет, например.
Я прихожу в ужас когда на скринах всяких *fetch’ей у некоторых вижу больше тысячи или даже больше двух тысяч пакетов.

Фигнёй страдаю, наверное, но мне этот путь ближе как-то. Каждому своё.

k6
()
Ответ на: комментарий от k6

стараюсь чтобы система была максимально минималистичной

Ну так я тоже не пользуюсь ни флатпаками, ни аппимиджами ибо нет нужды совершенно (вру, один только QMPlay2 когда-то запустил и надергал себе оттуда ссылок на онлайн радиостанции с музыкой).

Я про то: зачем распаковывать? Что это даст? Чем распакованный аппимидж отличается от одного файла?

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

зачем распаковывать?

Как ты удачно ответил. Я только собрался написать дополнение к своему комментарию дабы никого не вводить в заблуждение.

Я вспомнил. Дело в том, что мне почему-то казалось, что AppImage’и не запускаются из-за отсутствия xdg-desktop-portal, но я ошибся.
Они не запускаются из-за отсутствия FUSE.
Сейчас у меня установлен в ОС пакет ntfs-3g, у которого fuse2 и fuse-common в зависимостях и поэтому вчера AppImage «волшебным» образом запустился.
А когда (в очередном остром приступе одержимости минимализмом) я удаляю ntfs-3g с зависимостями AppImage’и не стартуют с ошибкой:

AppImages require FUSE to run.
You might still be able to extract the contents of this AppImage if you run it with the –appimage-extract option.

То есть, содержимое AppImage извлекается как из какого-нибудь *.tar.gz и можно просто стартануть исполняемый файл.

Вот и вся история. Мне просто нужно пореже излагать свои идиотские приключения дабы не путать людей. :-(

k6
()
Ответ на: комментарий от Gonzo

как будет оно работать-то?

Дэвид Блейн и уличная магия, не иначе… :-D
Только что проверил: удалил ntfs-3g, перешёл в директорию c AppImage’ ем в файловом менеджере (PCManFM), запустил эмулятор терминала (st) по F4 в PCManFM, извлёк содержимое hoptodesk.AppImage командой ./hoptodesk.AppImage --appimage-extract, перешёл в результирующую директорию squashfs-root, установил выделение курсора на файл AppRun, нажал Enter. Выбрал в диалоговом окне Execute.
Запустился HopToDesk. ID и пароль сгенерировались, правда подключиться мне не к кому, но думаю, что всё нормально заработает.
Скачивать ещё что-то жирное не хочется; может, попозже; тогда отпишусь снова если будут ошибки.
Но я не шучу. Можешь сам попробовать. Разве что не могу досконально ответить на твой вопрос как. Почти нормально, не считая всех моих приседаний. o_O

k6
()
Ответ на: комментарий от k6

Ясно. Запустился, но работать будет, видимо, без функциональности, которую обеспечивает fuse. А аппимидж просто сообщает об этом на стадии запуска и не стартует, т.к. функциональность важная.

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

без функциональности, которую обеспечивает fuse

Таких тонкостей не знаю. Раньше таким образом пользовался AnyDesk — то, что мне было нужно работало.
Если интересно, то вот текст ошибки при попытке запуска без FUSE:

dlopen(): error loading libfuse.so.2 AppImages require FUSE to run. You might still be able to extract the contents of this AppImage if you run it with the –appimage-extract option. See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information

Вроде, просто жалуется на отсутствие FUSE-библиотеки; про функциональность молчит.

k6
()
Ответ на: комментарий от k6

AppImage использует FUSE (Filesystem in Userspace) для монтирования файла приложения в качестве файловой системы, доступной только для чтения, что позволяет запускать его без распаковки файлов и без прав администратора. FUSE обеспечивает приложению прямой доступ к своим внутренним ресурсам, благодаря чему единый переносимый файл AppImage работает как установленное приложение.

Таких тонкостей не знаю

Ну ок, представь: ты ставишь скаченный .deb пакет, скажем, в какой-нибудь убунте или том же дебиане. Он тебе такой «окей, но я сейчас доустановлю еще парочку зависимостей иначе не установлюсь». А ты ж крутой хацкер и думаешь «ладно, я сейчас просто распакую этот .deb файл и запущу бинарник, нафиг мне эти зависимости». В итоге у тебя программа либо глючит, либо вообще не работает.

то, что мне было нужно работало

Ну раз работает, то и ладненько :) Видимо, простая прога, которой пофиг на отсутствие fuse.

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

доустановлю еще парочку зависимостей иначе не установлюсь

Так-то, да… но ведь, если я правильно понимаю, основной идеей при создании этих форматов распространения программ (Flatpak, Snap, AppImage) было то, что подобная ситуация в принципе практически исключена. Все компоненты, библиотеки, необходимые зависимости распиханы по своим директориям и упакованы в один «исполняемый» файл, который после запуска с помощью FUSE разворачивается и монтируется во временную виртуальную файловую систему. Кажется, это даже более навороченный вариант чем portable-версии софта в Windows.

которой пофиг на отсутствие fuse

При штатном запуске AppImage не пофиг и она об этом сообщает, так как не может работать правильно, как задумано.
А вот нештатный «хацкерский» вариант с извлечением позволяет это обойти.
Опять же, я ненастоящий сварщик, рассказываю как сам понимаю в меру собственных заблуждений.
Не знаю на чём ещё испытать. Попробую браузер в AppImage.

На скрине: после деинсталляции ntfs-3g и соответственно FUSE распакованы и запущены HopToDesk (программа для удалённого администрирования (аналог AnyDesk на основе RustDesk)) и Helium (браузер (очередной Chromium-based)).

Ну раз работает, то и ладненько :)

Согласен. :-)

Что-то расфлудился не на шутку я в чужом посте. Надо завязывать пока нас не стёрли.

k6
()