Bug 53655 - Оторвать consolehelper
Summary: Оторвать consolehelper
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: alterator-standalone (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Evgeny Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-28 15:32 MSK by Sergey V Turchin
Modified: 2025-04-01 09:29 MSK (History)
3 users (show)

See Also:


Attachments
regular-kde ЦУС с заданием, запущенный в wayland (278.37 KB, image/png)
2025-03-31 13:28 MSK, Антон Мидюков
no flags Details
regular-kde ЦУС, запущенный через consolehelper (224.94 KB, image/png)
2025-03-31 13:30 MSK, Антон Мидюков
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey V Turchin 2025-03-28 15:32:10 MSK
Предлагается оторвать consolehelper, т.к. у него проблемы с Wayland.
Comment 2 Sergey V Turchin 2025-03-28 15:35:06 MSK
2 Cas: у packageinstall та же проблема.
Comment 3 Антон Мидюков 2025-03-28 15:38:42 MSK
(Ответ для 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
Comment 4 Sergey V Turchin 2025-03-28 15:44:25 MSK
(Ответ для Антон Мидюков на комментарий #3)
> Через polkit
Да. :-)
Comment 5 Sergey V Turchin 2025-03-28 15:49:01 MSK
(Ответ для Sergey V Turchin на комментарий #1)
> Пример запуска через packagekit
XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя.
QT_QPA_PLATFORM скорее всего тоже, т.к. он должен выбраться автоматом и быть не x11 и не wayland.
Comment 6 Антон Мидюков 2025-03-28 15:50:04 MSK
(Ответ для Sergey V Turchin на комментарий #5)
> (Ответ для Sergey V Turchin на комментарий #1)
> > Пример запуска через packagekit
> XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя.

Вот почему-то не брался.
Comment 7 Sergey V Turchin 2025-03-28 15:50:25 MSK
(Ответ для Sergey V Turchin на комментарий #5)
> быть не x11 и не wayland.
Может, если автовыбрался в Qt другой.
Comment 8 Sergey V Turchin 2025-03-28 15:51:31 MSK
(Ответ для Антон Мидюков на комментарий #6)
> > XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя.
> Вот почему-то не брался.
Как? Ты же его явно передаёшь. Я проверил на рабочей системе -- с ним глючит сразу.
Comment 9 Sergey V Turchin 2025-03-28 15:52:57 MSK
(Ответ для Антон Мидюков на комментарий #6)
> Вот почему-то не брался.
Пустой был, видимо.
Comment 10 Sergey V Turchin 2025-03-28 16:31:37 MSK
> > > XDG_RUNTIME_DIR там лишний, т.к. берётся от запускающего пользователя.
> > Вот почему-то не брался.
> Я проверил на рабочей системе
Проверил запуском xterm -- у root XDG_RUNTIME_DIR=/run/user/500
Comment 11 Sergey V Turchin 2025-03-28 17:04:43 MSK
> Будет нативно в wayland работать.
У меня не получилось, чего-то не хватает.
На X-ах запускается, но если не передавать DISPLAY, то
"Failed to create wl_display (No such file or directory)"
Comment 12 Sergey V Turchin 2025-03-28 17:23:04 MSK
(Ответ для Sergey V Turchin на комментарий #11)
> На X-ах запускается
На XWayland, т.е..
Comment 13 Антон Мидюков 2025-03-28 20:27:52 MSK
Пробуйте:
https://packages.altlinux.org/ru/tasks/379512/

В Рабочей станции K у меня работает в wayland.
Смотрел через:
$ xlsclients
Comment 14 Антон Мидюков 2025-03-28 21:14:12 MSK
(Ответ для Антон Мидюков на комментарий #13)
> Пробуйте:
> https://packages.altlinux.org/ru/tasks/379512/
> 

Задание случайно поменяло номер:
https://git.altlinux.org/tasks/379515/

> В Рабочей станции K у меня работает в wayland.
> Смотрел через:
> $ xlsclients

Сейчас перепроверю другим способом. Через него не видно, оказывается.
Comment 15 Антон Мидюков 2025-03-28 21:20:55 MSK
(Ответ для Антон Мидюков на комментарий #14)
> (Ответ для Антон Мидюков на комментарий #13)
> > Пробуйте:
> > https://packages.altlinux.org/ru/tasks/379512/
> > 
> 
> Задание случайно поменяло номер:
> https://git.altlinux.org/tasks/379515/
> 
> > В Рабочей станции K у меня работает в wayland.
> > Смотрел через:
> > $ xlsclients
> 
> Сейчас перепроверю другим способом. Через него не видно, оказывается.

Работает. Но с оформлением беда. Тема kde используется в интерфейсе.
Comment 16 Sergey V Turchin 2025-03-31 10:22:19 MSK
(Ответ для Антон Мидюков на комментарий #15)
> Тема kde используется в интерфейсе.
Я ж говорю, это индикатор неправильного XDG_RUNTIME_DIR.
Comment 17 Sergey V Turchin 2025-03-31 10:25:48 MSK
(Ответ для Sergey V Turchin на комментарий #16)
> это индикатор неправильного XDG_RUNTIME_DIR.
Т.е. надо передавать не пользовательский, а тупо XDG_RUNTIME_DIR=/run/user/0
Comment 18 Sergey V Turchin 2025-03-31 10:29:03 MSK
(Ответ для Sergey V Turchin на комментарий #17)
> тупо XDG_RUNTIME_DIR=/run/user/0
А в systemd есть validate_runtime_directory(), т.к. случаи могут быть разные...
Comment 19 Sergey V Turchin 2025-03-31 10:32:04 MSK
(Ответ для Антон Мидюков на комментарий #13)
> В Рабочей станции K у меня работает в wayland.
Можно вырубить Xwayland, тогда сразу видно будет.
Comment 20 Антон Мидюков 2025-03-31 10:33:06 MSK
(Ответ для Sergey V Turchin на комментарий #18)
> (Ответ для Sergey V Turchin на комментарий #17)
> > тупо XDG_RUNTIME_DIR=/run/user/0
> А в systemd есть validate_runtime_directory(), т.к. случаи могут быть
> разные...

Так всё-таки, исправить на XDG_RUNTIME_DIR=/run/user/0 ? Или будем дальше думать?
Comment 21 Антон Мидюков 2025-03-31 10:48:34 MSK
(Ответ для Антон Мидюков на комментарий #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= не требуется вовсе.
Comment 22 Sergey V Turchin 2025-03-31 10:56:36 MSK
(Ответ для Антон Мидюков на комментарий #21)
> Нужен именно пользовательский XDG_RUNTIME_DIR для запуска в wayland.
Так точно неправильно. Слишком много будет брать от пользователя.

> Не может создать wayland display.
Нужно эту конкретную проблему решить. Ща попробую поизгаляться.
Comment 23 Sergey V Turchin 2025-03-31 11:05:58 MSK
Если засимлинкать пользовательский сокет от wayland /run/user/0/ , то запускается с передачей XDG_RUNTIME_DIR=/run/user/0 .

P.S.
Правда, оформление так же слетает, но это может быть отдельный вопрос.
Comment 24 Антон Мидюков 2025-03-31 11:13:26 MSK
(Ответ для Sergey V Turchin на комментарий #23)
> Если засимлинкать пользовательский сокет от wayland /run/user/0/ , то
> запускается с передачей XDG_RUNTIME_DIR=/run/user/0 .

Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю.
Comment 25 Sergey V Turchin 2025-03-31 11:40:17 MSK
WAYLAND_SOCKET можно передавать
Comment 26 Sergey V Turchin 2025-03-31 11:54:47 MSK
(Ответ для Антон Мидюков на комментарий #24)
> Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю.

(Ответ для Sergey V Turchin на комментарий #25)
> WAYLAND_SOCKET можно передавать
Ой, а сам я WAYLAND_DISPLAY передавал. :-) Не надо WAYLAND_SOCKET.
Comment 27 Антон Мидюков 2025-03-31 12:04:19 MSK
(Ответ для Sergey V Turchin на комментарий #26)
> (Ответ для Антон Мидюков на комментарий #24)
> > Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю.
> 
> (Ответ для Sergey V Turchin на комментарий #25)
> > WAYLAND_SOCKET можно передавать
> Ой, а сам я WAYLAND_DISPLAY передавал. :-) Не надо WAYLAND_SOCKET.

Таск готов. XDG_RUNTIME_DIR убрал. Проблема с темой осталась в Рабочей станции K, когда запущена на wayland. В иксах проблемы нет.
Comment 28 Антон Мидюков 2025-03-31 12:09:14 MSK
(Ответ для Антон Мидюков на комментарий #27)
> (Ответ для Sergey V Turchin на комментарий #26)
> > (Ответ для Антон Мидюков на комментарий #24)
> > > Можно полный путь в WAYLAND_DISPLAY указать. Сейчас таск переделаю.
> > 
> > (Ответ для Sergey V Turchin на комментарий #25)
> > > WAYLAND_SOCKET можно передавать
> > Ой, а сам я WAYLAND_DISPLAY передавал. :-) Не надо WAYLAND_SOCKET.
> 
> Таск готов. XDG_RUNTIME_DIR убрал. Проблема с темой осталась в Рабочей
> станции K, когда запущена на wayland. В иксах проблемы нет.

У меня в регулярке проблемы нет, кстати.
Comment 29 Sergey V Turchin 2025-03-31 13:21:17 MSK
(Ответ для Антон Мидюков на комментарий #28)
> У меня в регулярке проблемы нет, кстати.
Скорее, просто незаметно, т.к. фон светлый и так.
Comment 30 Антон Мидюков 2025-03-31 13:26:46 MSK
(Ответ для Sergey V Turchin на комментарий #29)
> (Ответ для Антон Мидюков на комментарий #28)
> > У меня в регулярке проблемы нет, кстати.
> Скорее, просто незаметно, т.к. фон светлый и так.

Нет. Тема kde не используется.
Comment 31 Антон Мидюков 2025-03-31 13:28:45 MSK
Created attachment 18111 [details]
regular-kde ЦУС с заданием, запущенный в wayland
Comment 32 Антон Мидюков 2025-03-31 13:30:23 MSK
Created attachment 18112 [details]
regular-kde ЦУС, запущенный через consolehelper
Comment 33 Sergey V Turchin 2025-03-31 14:14:28 MSK
(Ответ для Антон Мидюков на комментарий #27)
> Проблема с темой осталась в Рабочей станции K, когда запущена на wayland
Да. В стиле нашёл, чего не хватает.
Comment 34 Антон Мидюков 2025-03-31 14:18:21 MSK
(Ответ для Sergey V Turchin на комментарий #33)
> (Ответ для Антон Мидюков на комментарий #27)
> > Проблема с темой осталась в Рабочей станции K, когда запущена на wayland
> Да. В стиле нашёл, чего не хватает.

То есть проблема в теме альтератора?
Comment 35 Sergey V Turchin 2025-03-31 14:49:30 MSK
(Ответ для Антон Мидюков на комментарий #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
Comment 36 Антон Мидюков 2025-03-31 14:54:22 MSK
(Ответ для 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

Тогда коммичу таск?
Comment 37 Sergey V Turchin 2025-03-31 14:57:08 MSK
(Ответ для Антон Мидюков на комментарий #36)
> Тогда коммичу таск?
Да.
Comment 38 Repository Robot 2025-03-31 15:11:33 MSK
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)
Comment 39 Антон Мидюков 2025-04-01 08:16:40 MSK
Думаю, что нецелесообразно для каждого пакета делать такой скрипт. Гораздо лучше сделать один хелпер для всех, и прописывать его непосредственно в 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 своим сценарием запуска. Можно будет унифицировать.
Comment 40 Sergey V Turchin 2025-04-01 09:01:26 MSK
(Ответ для Антон Мидюков на комментарий #39)
> QT_QPA_PLATFORM=xcb
Так, это только для Qt.
Полезно может быть и до кучи и на случай, если это-gtk-шна программа и захочет сама запустить что-то qt-шное, но надо ли его запускать тоже через X-ы...

Т.е. вопрос индивидуальных костылей считаю открытым.
Так же, c beesu, например, может быть индивидуальная ситуация.
Comment 41 Антон Мидюков 2025-04-01 09:29:32 MSK
Да, не получится универсального хелпера. Будем костылить индивидуально.