Настройка порталов xdg-portals
В линуксе реализована система XDG порталов. XDG порталы позволяют выглядеть одинаковым образом в разных приложениях диалоговые окна сохранения и открытия файлов. Ниже приведена инструкция настройки XDG порталов в lxqt.
В новых версиях LXQt есть пакет xdg-desktop-portal-lxqt. Поставить его можно командой
apt-get install xdg-desktop-portal-lxqt
Но в убунту 22.04 его нет. Из-за этого порталы не работают. Чтобы заработали нужно сделать:
1) Установить порталы
apt-get install xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-kde
2) В файле .bashrc прописать
GTK_USE_PORTAL=1
export GTK_USE_PORTAL
Установить env для flatpak
flatpak override --user --env GTK_USE_PORTAL=1
3) скопировать kde портал
cp /usr/share/xdg-desktop-portal/portals/kde.portal /usr/share/xdg-desktop-portal/portals/lxqt.portal
и поменять в файле /usr/share/xdg-desktop-portal/portals/lxqt.portal последнюю строку
UseIn=LXQt
4) Создайть файл
nano /etc/xdg/autostart/lxqt-portals.desktop
с содержимым
[Desktop Entry]
Comment=XDG Portals
Exec=/usr/libexec/xdg-desktop-portal --replace
GenericName=XDG Portals
Name=XDG Portals
OnlyShowIn=LXQt;
Type=Application
5) В настройках openbox ./config/openbox/rc.xml добавить
<application class="xdg-desktop-portal-kde">
<size>
<width>1000</width>
<height>600</height>
</size>
<position force="yes">
<x>center</x>
<y>center</y>
<monitor>mouse</monitor>
</position>
</application>
и перезагрузиться
Насколько я понял, за порталы отвечает программа xdg-desktop-portal/. Она позволяет перезагрузить порталы, и использовать портал, который указан в файле lxqt-portals.desktop
Строчка UseIn=LXQt означает, что данный портал будет использоваться в LXQt. Какая среда сейчас запущена определяется по переменной XDG_CURRENT_DESKTOP