LINUX.ORG.RU

Arch на ноутбуке - зависание desktop при закрытии/открытии крышки

 , , ,


0

2

Всем привет! Есть ноутбук HP Pavilion p-209ur. Процессор AMD, видео тоже AMD - встроенное и дискретное (драйвер опенсорс).

Стоит Openbox, в качестве композитного менеджера - Compton. DM не использую, захожу через консоль, потом startx.

Проблема такая: при закрытии и открытии крышки виснет рабочий стол. Все, что было на экране на момент закрытия крышки - оно все там, но в виде «скриншота»: ничего не реагирует, только курсор мыши бегает. При этом когда курсор попадает на места, где есть тектовый ввод - он меняется со стрелки на I. То есть по факту все приложения продолжают работать, просто рабочий стол не перерисовывается абсолютно. Через клавиатурные шорткаты, например, можно открывать-закрывать новые приложения, и они открываются-закрываются, это можно посмотреть на втором tty. Да, остальные tty по Alt-Ctrl-Fn открываются и работают без проблем, висит только X-сессия. Если во втором tty убить openbox и снова сделать startx, то все снова хорошо работает - до следующего открытия-закрытия крышки.

В логах по journalctl ничего криминального нет вообще. Я уже все перерыл по этому поводу. Сначала думал, что в принципе из спящего режима выходит с проблемами. Но по systemctl suspend из терминала засыпает и просыпается отлично.

Зато если в /etc/systemd/logind.conf отключить засыпание по закрытию крышки, то ноут не засыпает, если его закрыть, но рабочий стол так же успешно виснет при открытии.

Однажды обнаружил, что такая же проблема иногда возникает, если перезапустить Compton. Но даже если не запускать совсем Compton и открыть/закрыть крышку - все виснет :(

Друзья, прошу помощи - куда копать? Хочется эффектно отправлять ноут в сон, хлопая крышкой!

Попробуй убрать compton и/или сменить WM. Таким образом ты найдёшь, в какой именно программе проблема. После этого можно поиграться с настройками этой программы до тех пор, пока проблема не исчезнет (или поискать существующие багрепорты, или, в крайнем случае, вообще отказаться от её использования).

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 3)

Вангую, что при закрытии крышки что-то шлёт SIGTSTP всем процессам, запущенным из-под иксовой сессии, systemd --user и всему такому. Чтобы убедиться, открой htop и смотри в колонку S. Если будет много T, то так и есть. Выделяй все эти процессы и шли им SIGCONT (через открывающуюся штуку по нажатию на F9).

pavelshuvalov ()

Всем спасибо!

Проблему решил.

Выяснилось, что такое же зависание происходит при нажатии мультимедиа-клавиш на клавиатуре. Оказалось, что происходит это потому, что у меня в .xinitrc запуск Openbox был организован через сессию DBUS:

exec dbus-launch --exit-with-session openbox-session

Вместо этого теперь запускаю как просто exec openbox-session - и теперь все работает отлично.

unikita ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.