slytomcat / yandex-disk-indicator

Panel indicator (GTK+) for YandexDisk CLI client for Linux
GNU General Public License v3.0
241 stars 30 forks source link

[Wayland] Не закрывается автоматически при перезагрузке ОС #221

Closed feschukov closed 3 years ago

feschukov commented 3 years ago

Не уверен, что проблема связана с вашей программой, но в логах светится она. В сессии с Wayland при отправки компьютера в перезагрузку ОС подвисает на экране splash на 1,5 минуты при попытке закрыть пользовательские программы. В логах вижу следующее:

апр 09 09:11:55 hp-fesh systemd[1006]: Stopped Application launched by gnome-shell.
апр 09 09:11:55 hp-fesh systemd[1006]: app-gnome-viber-2296.scope: Consumed 1.609s CPU time.
апр 09 09:12:08 hp-fesh wpa_supplicant[628]: wlo1: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-51 noise=9999 txrate=144400
апр 09 09:13:24 hp-fesh systemd[1006]: app-gnome-Yandex.Disk\x2dindicator-1317.scope: Stopping timed out. Killing.
апр 09 09:13:24 hp-fesh systemd[1006]: app-gnome-Yandex.Disk\x2dindicator-1317.scope: Killing process 1317 (yd-tools) with signal SIGKILL.
апр 09 09:13:24 hp-fesh systemd[1006]: app-gnome-Yandex.Disk\x2dindicator-1317.scope: Killing process 1392 (dconf worker) with signal SIGKILL.
апр 09 09:13:24 hp-fesh systemd[1006]: app-gnome-Yandex.Disk\x2dindicator-1317.scope: Failed with result 'timeout'.
апр 09 09:13:24 hp-fesh systemd[1006]: Stopped Application launched by gnome-session-binary.
апр 09 09:13:24 hp-fesh systemd[1006]: app-gnome-Yandex.Disk\x2dindicator-1317.scope: Consumed 7.899s CPU time.
апр 09 09:13:24 hp-fesh systemd[1006]: Removed slice User Application Slice.
апр 09 09:13:24 hp-fesh systemd[1006]: app.slice: Consumed 21.422s CPU time.

Система

ОС Arch Linux 
Версия ядра Linux 5.11.12-arch1-1
Рабочий стол GNOME 40 on Wayland
slytomcat commented 3 years ago

А вот это (было в первичном сообщении):

Если запустить программу через Xwayland

env GDK_BACKEND=x11 yandex-disk-indicator то перезагрузка проходит быстро и успешно.

Оно не подтвердилось или что?

Мне кажется в этом GDK_BACKEND=x11 - и есть суть проблемы. Индикатор использует GTK. И вот где-то между GTK и Wayland - и находится, на мой взгляд, проблема.

Мне трудно понять, что именно и куда копать т.к. нет под рукой Wayland, что воспроизвести проблему. Но попробую поискать в сети по проблеме и понять - можно ли это как-то пофиксить на уровне приложения.

feschukov commented 3 years ago

Оно не подтвердилось или что?

Подтвердилось. Пока писал ответ понял, что я сам косякнул. Забыл в файл *.desktop, что в ~/.config/autostart/ добавить env GDK_BACKEND=x11, поэтому подумал, что не помогло изначально. Сейчас проверил всё ещё раз и с этим параметром всё действительно работает корректно.

slytomcat commented 3 years ago

Ну тема то все равно - любопытная. Погуглю немного может как-то через GTK можно этим управлять.

slytomcat commented 3 years ago

Не нашел решения как этим можно был бы рулить из кода.... закрою пока.