Исправить xdg-open в wine и flatpak #9

Closed
opened 2025-10-15 22:26:48 +03:00 by buliway · 1 comment
Owner

В терминале xdg-open https://example.com работает. Но osu-stable и flatpak приложения не могут открывать ссылки в браузере, хотя я настроил всё что можно и нельзя. Проверить можно так:

flatpak run --command=sh com.github.tchx84.Flatseal
xdg-open https://example.com

Выдаст окно, которое говорит, что нет нужного приложения для запуска. Уже и комп ребутал после каждой настройки, и что только не делал. Ничего не помогает. Возможно дело в WM или конкретно в BSPWM.

Доп источники:

В терминале `xdg-open https://example.com` работает. Но osu-stable и flatpak приложения не могут открывать ссылки в браузере, хотя я настроил всё что можно и нельзя. Проверить можно так: ```sh flatpak run --command=sh com.github.tchx84.Flatseal xdg-open https://example.com ``` Выдаст окно, которое говорит, что нет нужного приложения для запуска. Уже и комп ребутал после каждой настройки, и что только не делал. Ничего не помогает. Возможно дело в WM или конкретно в BSPWM. Доп источники: - [Параметры NixOS](https://search.nixos.org/options?channel=unstable&query=xdg.portal) - [GitHub Issue](https://github.com/NixOS/nixpkgs/issues/160923) - [Фикс, который мне не помогает](https://discourse.nixos.org/t/alvr-cant-launch-steamvr-steam-desktop-is-not-executable/43845/10)
buliway added the
bug
label 2025-10-15 22:26:48 +03:00
buliway added this to the Roadmap project 2025-10-15 22:26:48 +03:00
Author
Owner

Конфиг я лишь немного видоизменил:

  xdg.portal = {
    enable = true;
    xdgOpenUsePortal = true;
    config.common.default = [ "gtk" "*" ];
    extraPortals = with pkgs2; [
      xdg-desktop-portal-gtk
    ];
  }

Для фикса надо было написать в терминал это:

systemctl --user import-environment PATH
systemctl --user restart xdg-desktop-portal xdg-desktop-portal-gtk

Первая команда заменяет стандартный PATH для всех сервисов systemd на PATH нынешнего юзера. Чтоб все сервисы начали видеть реальные пути до всех бинарей, которые доступны нынешнему юзеру.

Сравнить их можно так:

echo $PATH
systemctl --user show-environment | grep PATH

У меня в стоке у systemd было такое:

PATH=/nix/store/3abwqv1a1bdycmgaydzfw3a0qzxwk8am-systemd-256.8/bin/

По идее откатить это изменение можно такой командой:

systemctl --user unset-environment PATH

Проверить исправилась ли проблема можно так:

flatpak run --command=sh com.github.tchx84.Flatseal
xdg-open https://example.com

Пока что не знаю надо ли добавлять команду для фикса в автозапуск или оно сохранилось навсегда.

Конфиг я лишь немного видоизменил: ```nix xdg.portal = { enable = true; xdgOpenUsePortal = true; config.common.default = [ "gtk" "*" ]; extraPortals = with pkgs2; [ xdg-desktop-portal-gtk ]; } ``` Для фикса надо было написать в терминал это: ```bash systemctl --user import-environment PATH systemctl --user restart xdg-desktop-portal xdg-desktop-portal-gtk ``` Первая команда заменяет стандартный PATH для всех сервисов systemd на PATH нынешнего юзера. Чтоб все сервисы начали видеть реальные пути до всех бинарей, которые доступны нынешнему юзеру. Сравнить их можно так: ```bash echo $PATH systemctl --user show-environment | grep PATH ``` У меня в стоке у systemd было такое: ```bash PATH=/nix/store/3abwqv1a1bdycmgaydzfw3a0qzxwk8am-systemd-256.8/bin/ ``` По идее откатить это изменение можно такой командой: ```bash systemctl --user unset-environment PATH ``` Проверить исправилась ли проблема можно так: ```bash flatpak run --command=sh com.github.tchx84.Flatseal xdg-open https://example.com ``` Пока что не знаю надо ли добавлять команду для фикса в автозапуск или оно сохранилось навсегда.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: buliway/nixos-private-dots#9
No description provided.