Предлагается оторвать consolehelper, т.к. у него проблемы с Wayland.
Пример запуска через packagekit https://git.altlinux.org/gears/i/installer.git?p=installer.git;a=blob;f=installer/desktop/install2-desktop.sh;h=8845e700245a713c2f061d71dddc15680300dc2a;hb=e554221958352bab1f249f66b5bd787052ecf0d1
2 Cas: у packageinstall та же проблема.
(Ответ для Sergey V Turchin на комментарий #1) > Пример запуска через packagekit > https://git.altlinux.org/gears/i/installer.git?p=installer.git;a=blob; > f=installer/desktop/install2-desktop.sh; > h=8845e700245a713c2f061d71dddc15680300dc2a; > hb=e554221958352bab1f249f66b5bd787052ecf0d1 Через polkit
(Ответ для Антон Мидюков на комментарий #3) > Через polkit Да. :-)
(Ответ для Sergey V Turchin на комментарий #1) > Пример запуска через packagekit XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя. QT_QPA_PLATFORM скорее всего тоже, т.к. он должен выбраться автоматом и быть не x11 и не wayland.
(Ответ для Sergey V Turchin на комментарий #5) > (Ответ для Sergey V Turchin на комментарий #1) > > Пример запуска через packagekit > XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя. Вот почему-то не брался.
(Ответ для Sergey V Turchin на комментарий #5) > быть не x11 и не wayland. Может, если автовыбрался в Qt другой.
(Ответ для Антон Мидюков на комментарий #6) > > XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя. > Вот почему-то не брался. Как? Ты же его явно передаёшь. Я проверил на рабочей системе -- с ним глючит сразу.
(Ответ для Антон Мидюков на комментарий #6) > Вот почему-то не брался. Пустой был, видимо.
> > > XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя. > > Вот почему-то не брался. > Я проверил на рабочей системе Проверил запуском xterm -- у root XDG_RUNTIME_DIR=/run/user/500
> Будет нативно в wayland работать. У меня не получилось, чего-то не хватает. На X-ах запускается, но если не передавать DISPLAY, то "Failed to create wl_display (No such file or directory)"
(Ответ для Sergey V Turchin на комментарий #11) > На X-ах запускается На XWayland, т.е..
Пробуйте: https://packages.altlinux.org/ru/tasks/379512/ В Рабочей станции K у меня работает в wayland. Смотрел через: $ xlsclients
(Ответ для Антон Мидюков на комментарий #13) > Пробуйте: > https://packages.altlinux.org/ru/tasks/379512/ > Задание случайно поменяло номер: https://git.altlinux.org/tasks/379515/ > В Рабочей станции K у меня работает в wayland. > Смотрел через: > $ xlsclients Сейчас перепроверю другим способом. Через него не видно, оказывается.
(Ответ для Антон Мидюков на комментарий #14) > (Ответ для Антон Мидюков на комментарий #13) > > Пробуйте: > > https://packages.altlinux.org/ru/tasks/379512/ > > > > Задание случайно поменяло номер: > https://git.altlinux.org/tasks/379515/ > > > В Рабочей станции K у меня работает в wayland. > > Смотрел через: > > $ xlsclients > > Сейчас перепроверю другим способом. Через него не видно, оказывается. Работает. Но с оформлением беда. Тема kde используется в интерфейсе.
(Ответ для Антон Мидюков на комментарий #15) > Тема kde используется в интерфейсе. Я ж говорю, это индикатор неправильного XDG_RUNTIME_DIR.
(Ответ для Sergey V Turchin на комментарий #16) > это индикатор неправильного XDG_RUNTIME_DIR. Т.е. надо передавать не пользовательский, а тупо XDG_RUNTIME_DIR=/run/user/0
(Ответ для Sergey V Turchin на комментарий #17) > тупо XDG_RUNTIME_DIR=/run/user/0 А в systemd есть validate_runtime_directory(), т.к. случаи могут быть разные...
(Ответ для Антон Мидюков на комментарий #13) > В Рабочей станции K у меня работает в wayland. Можно вырубить Xwayland, тогда сразу видно будет.
(Ответ для Sergey V Turchin на комментарий #18) > (Ответ для Sergey V Turchin на комментарий #17) > > тупо XDG_RUNTIME_DIR=/run/user/0 > А в systemd есть validate_runtime_directory(), т.к. случаи могут быть > разные... Так всё-таки, исправить на XDG_RUNTIME_DIR=/run/user/0 ? Или будем дальше думать?
(Ответ для Антон Мидюков на комментарий #20) > (Ответ для Sergey V Turchin на комментарий #18) > > (Ответ для Sergey V Turchin на комментарий #17) > > > тупо XDG_RUNTIME_DIR=/run/user/0 > > А в systemd есть validate_runtime_directory(), т.к. случаи могут быть > > разные... > > Так всё-таки, исправить на XDG_RUNTIME_DIR=/run/user/0 ? Или будем дальше > думать? Нет. В wayland не работает. Не может создать wayland display. /run/user/0 не существует. Нужен именно пользовательский XDG_RUNTIME_DIR для запуска в wayland. В иксах указание XDG_RUNTIME_DIR= не требуется вовсе.
(Ответ для Антон Мидюков на комментарий #21) > Нужен именно пользовательский XDG_RUNTIME_DIR для запуска в wayland. Так точно неправильно. Слишком много будет брать от пользователя. > Не может создать wayland display. Нужно эту конкретную проблему решить. Ща попробую поизгаляться.
Если засимлинкать пользовательский сокет от wayland /run/user/0/ , то запускается с передачей XDG_RUNTIME_DIR=/run/user/0 . P.S. Правда, оформление так же слетает, но это может быть отдельный вопрос.
(Ответ для Sergey V Turchin на комментарий #23) > Если засимлинкать пользовательский сокет от wayland /run/user/0/ , то > запускается с передачей XDG_RUNTIME_DIR=/run/user/0 . Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю.
WAYLAND_SOCKET можно передавать
(Ответ для Антон Мидюков на комментарий #24) > Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю. (Ответ для Sergey V Turchin на комментарий #25) > WAYLAND_SOCKET можно передавать Ой, а сам я WAYLAND_DISPLAY передавал. :-) Не надо WAYLAND_SOCKET.
(Ответ для Sergey V Turchin на комментарий #26) > (Ответ для Антон Мидюков на комментарий #24) > > Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю. > > (Ответ для Sergey V Turchin на комментарий #25) > > WAYLAND_SOCKET можно передавать > Ой, а сам я WAYLAND_DISPLAY передавал. :-) Не надо WAYLAND_SOCKET. Таск готов. XDG_RUNTIME_DIR убрал. Проблема с темой осталась в Рабочей станции K, когда запущена на wayland. В иксах проблемы нет.
(Ответ для Антон Мидюков на комментарий #27) > (Ответ для Sergey V Turchin на комментарий #26) > > (Ответ для Антон Мидюков на комментарий #24) > > > Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю. > > > > (Ответ для Sergey V Turchin на комментарий #25) > > > WAYLAND_SOCKET можно передавать > > Ой, а сам я WAYLAND_DISPLAY передавал. :-) Не надо WAYLAND_SOCKET. > > Таск готов. XDG_RUNTIME_DIR убрал. Проблема с темой осталась в Рабочей > станции K, когда запущена на wayland. В иксах проблемы нет. У меня в регулярке проблемы нет, кстати.
(Ответ для Антон Мидюков на комментарий #28) > У меня в регулярке проблемы нет, кстати. Скорее, просто незаметно, т.к. фон светлый и так.
(Ответ для Sergey V Turchin на комментарий #29) > (Ответ для Антон Мидюков на комментарий #28) > > У меня в регулярке проблемы нет, кстати. > Скорее, просто незаметно, т.к. фон светлый и так. Нет. Тема kde не используется.
Created attachment 18111 [details] regular-kde ЦУС с заданием, запущенный в wayland
Created attachment 18112 [details] regular-kde ЦУС, запущенный через consolehelper
(Ответ для Антон Мидюков на комментарий #27) > Проблема с темой осталась в Рабочей станции K, когда запущена на wayland Да. В стиле нашёл, чего не хватает.
(Ответ для Sergey V Turchin на комментарий #33) > (Ответ для Антон Мидюков на комментарий #27) > > Проблема с темой осталась в Рабочей станции K, когда запущена на wayland > Да. В стиле нашёл, чего не хватает. То есть проблема в теме альтератора?
(Ответ для Антон Мидюков на комментарий #34) > То есть проблема в теме альтератора? В теме alterator-browser. Но, возможно, в Qt, т.к. раньше там по другому глючило, но явно связано. Просто добавил background-color. https://git.altlinux.org/gears/b/branding-xalt-kworkstation.git?p=branding-xalt-kworkstation.git;a=commitdiff;h=dea8007e9a651a54e486474fa9f0b080b0eb2727
(Ответ для Sergey V Turchin на комментарий #35) > (Ответ для Антон Мидюков на комментарий #34) > > То есть проблема в теме альтератора? > В теме alterator-browser. > Но, возможно, в Qt, т.к. раньше там по другому глючило, но явно связано. > Просто добавил background-color. > https://git.altlinux.org/gears/b/branding-xalt-kworkstation.git?p=branding- > xalt-kworkstation.git;a=commitdiff;h=dea8007e9a651a54e486474fa9f0b080b0eb2727 Тогда коммичу таск?
(Ответ для Антон Мидюков на комментарий #36) > Тогда коммичу таск? Да.
alterator-standalone-7.5.0-alt1 -> sisyphus: Fri Mar 28 2025 Anton Midyukov <antohami@altlinux> 7.5.0-alt1 - Replace consolehelper with polkit (closes: 53655)
Думаю, что нецелесообразно для каждого пакета делать такой скрипт. Гораздо лучше сделать один хелпер для всех, и прописывать его непосредственно в desktop файле. Вернее два, так как некоторые приложения (synaptic) работают через иксы. /usr/bin/pkexec-helper - запускает на wayland /usr/bin/pkexec-helper-xcb - запускает pkexec-helper с переменной окружения QT_QPA_PLATFORM=xcb, то есть в xwayland Пакетов с consolehelper много: $ apt-cache whatdepends consolehelper consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 token-manager-0.12-alt10:sisyphus+305653.200.2.1@1661252389 Depends: consolehelper Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 synaptic-usermode-1.3-alt4:sisyphus+367503.300.3.1@1736599244 Depends: consolehelper Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 livecd-install-0.9.21-alt1:sisyphus+361107.100.1.1@1730233148 Depends: consolehelper Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 kbdrate-usermode-1:2.6.4-alt1:sisyphus+327286.6200.14.1@1711487608 Depends: consolehelper Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 alterator-wizardface-usermode-2.3-alt1:sisyphus+298757.200.3.1@1652347383 Depends: consolehelper Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 packageinstall-1.4.1-alt1:sisyphus+377070.100.1.1@1741262526 Depends: consolehelper Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 beesu-2.7-alt2_42:sisyphus+312628.100.1.1@1672326171 Depends: consolehelper Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gprs-easyconnect-2.5.3-alt1.qa3@1303499884 Depends: </usr/lib/helper/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 qt-fsarchiver-0.8.4.0-alt4:sisyphus+280452.100.1.1@1627047509 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 ovirt-guest-agent-1.0.16-alt4:sisyphus+357375.100.1.1@1726142813 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gadmin-squid-0.1.0-alt2.qa1@1366003218 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gadmin-rsync-0.0.9-alt2.qa1@1366002655 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gadmin-proftpd-0.2.8-alt3:sisyphus+265450.100.1.1@1611914066 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gadmin-httpd-0.1.0-alt2.qa1@1366002126 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gadmin-dhcpd-0.4.2-alt2.qa1@1366001860 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 gadmin-bind-0.2.3-alt3@1510656572 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 firestarter-1.0.3-alt5:sisyphus+265115.100.1.1@1611320163 Depends: </usr/bin/consolehelper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 zenmap-20020501:7.94-alt3:sisyphus+342829.100.1.1@1710545124 Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 appinstall-1.4.4-alt1:sisyphus+356310.100.2.1@1727853457 Depends: </usr/lib/consolehelper/helper> consolehelper-0.3.2-alt1:sisyphus+346113.200.2.1@1716282102 Исправлять в одном месте всегда проще, чем во многих. А также есть много пакетов использующих pkexec при запуске, но запускающих себя в xcb своим сценарием запуска. Можно будет унифицировать.
(Ответ для Антон Мидюков на комментарий #39) > QT_QPA_PLATFORM=xcb Так, это только для Qt. Полезно может быть и до кучи и на случай, если это-gtk-шна программа и захочет сама запустить что-то qt-шное, но надо ли его запускать тоже через X-ы... Т.е. вопрос индивидуальных костылей считаю открытым. Так же, c beesu, например, может быть индивидуальная ситуация.
Да, не получится универсального хелпера. Будем костылить индивидуально.