При запуске приложений чере mintmenu, теряются часть переменных окружения. В частности, меня интерсует XDG_CONFIG_DIRS. В mate, по-умолчанию, у нас переменная не выставляется. Я выставил ее (export XDG_CONFIG_DIRS=/etc/xdg) через /etc/profile.d и она доступна в любое время. Тестировал на приложении chromium, т.к. при не выставленной этой переменной у нас отказвается корректно работать веб-версия СЭД Директум т.к. xdg-open активно используется. Если запускать chromium из консоли, либо с ярлыка на рабочем столе - все отлично, переменная наследуется и процесс chromium ее видит. Проблем нет. Но если запустить из mintmenu - то chromiumу виден ограниченный набор переменных, и там XDG_CONFIG_DIRS нет. Я пробовал вносить переменную в /etc/chromium/default, пробовал задавать через systemd (/etc/systemd/user.conf, DefaultEnvironment=). Эффекта ноль. Начал смотреть скрипт mintmenu. В /usr/bin/mintmenu если посмотреть os.environ['XDG_CONFIG_DIRS'], то переменная еще видиться. Но /usr/bin/mintmenu запускает второй скрипт /usr/share/linuxmint/mintMenu/mintMenu.py , где уже обращение к массиву os.environ - ничего не показывает. Сам запуск приложения из меню находится в /usr/share/linuxmint/mintMenu/mintMenu.py в участке def Execute( cmd , commandCwd=None, desktopFile=None): if desktopFile: launcher = Gio.DesktopAppInfo.new_from_filename(desktopFile) retval = launcher.launch_uris() если добавить сюда выставление переменной, то все работает отлично def Execute( cmd , commandCwd=None, desktopFile=None): if desktopFile: os.environ['XDG_CONFIG_DIRS'] = '/etc/xdg' launcher = Gio.DesktopAppInfo.new_from_filename(desktopFile) retval = launcher.launch_uris() но это не тот патч, который нужен. Нужно просто наследовать все переменные, что есть в сеансе. Мало ли что еще не так. Я обратился к разработчика https://github.com/linuxmint/mintmenu/issues/209 с примером теста.. У них в минте все работает, У них в /etc/X11/Xsession.d/ куча скриптов которые опередялют XDG_* переменные и они доступны везде и всегда. Вопрос остается открытым. Что делать, как фиксить?
Вот список XDG переменных доступных процессу (chromium) при запуске из консоли XDG_VTNR=1 XDG_SESSION_ID=c7 XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/zagitovdo XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session2 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_CONFIG_DIRS=/etc/xdg XDG_SESSION_TYPE=x11 XDG_SEAT=seat0 XDG_SESSION_DESKTOP=mate XDG_DATA_DIRS=/usr/share/mate:/usr/share:/usr/local/share XDG_RUNTIME_DIR=/run/user/215652162 XDG_CURRENT_DESKTOP=MATE а вот список переменных того же процесса (chromium), но запущенного из mintmenu XDG_CURRENT_DESKTOP=MATE XDG_SEAT=seat0 XDG_SESSION_DESKTOP=mate XDG_SESSION_ID=c7 XDG_SESSION_TYPE=x11 XDG_VTNR=1 куда оно дело остальные - загадка. Отсюда имеем неработающий сэд, невнятные ассоциации файлов (когда клик "показать в папке" - открывает нам firefox, а клик по docx файлу из загрузок - открывает архиватор)
исправление строку "Сам запуск приложения из меню находится в /usr/share/linuxmint/mintMenu/mintMenu.py в участке" надо читать "Сам запуск приложения из меню находится в /usr/share/linuxmint/mintMenu/plugins/execute.py в участке"