Автоматический выход из системы при выходе из режима ожидания на Xubuntu 18.04

Когда мой ноутбук Xubuntu 18.04 возобновляет работу из режима ожидания, systemd-logind автоматически выходит из текущего сеанса, если ноутбук не работает более двух часов. Если интервал между приостановкой и возобновлением короткий, он не выходит из системы. Я до сих пор не обнаружил, как долго должен быть этот интервал, чтобы вызвать выход из системы.

Я включил отладку в systemd-logind.service, создав файл /etc/systemd/system/systemd-logind.service.d/10-debug.conf:

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

что заставляет systemd-logind регистрировать все сообщения D-Bus, которые он обрабатывает, но не может обнаружить ничего, что могло вызвать выход из системы.

Я отсканировал все системные сообщения журнала (journalctl) прежде чем systemd-logind начнет убивать текущий сеанс, исследовал все, что выглядело подозрительно, но не смог найти ничего, что могло бы повлиять на автоматический выход из системы. Вот некоторые из сообщений, которые показались мне подозрительными (они не последовательные, а взяты из разных случаев):

upowerd[1600]: unhandled action 'unbind' on /sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0
polkitd(authority=local)[840]: Unregistered Authentication Agent for unix-session:c2 (system bus name :1.46, object path /org/gnome/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
wpa_supplicant[811]: dbus: fill_dict_with_properties dbus_interface=fi.w1.wpa_supplicant1.Interface dbus_property=Stations getter failed
wpa_supplicant[811]: dbus: wpa_dbus_get_object_properties: failed to get object properties: (none) none
at-spi-bus-launcher[7031]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
at-spi-bus-launcher[7031]:       after 30333 requests (30333 known processed) with 0 events remaining.
systemd-logind[779]: Inhibitor xfce4-power-manager (xfce4-power-manager handles these events) pid=8611 uid=1000 mode=block stopped
systemd-logind[779]: Electing new display for user paulo
systemd-logind[779]: Ignoring session c8

В конфигурации logind нет ничего, что могло бы вызвать это:

paulo:~$ loginctl show-session
EnableWallMessages=no
NAutoVTs=6
KillUserProcesses=no
RebootToFirmwareSetup=no
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
BlockInhibited=handle-power-key:handle-suspend-key:handle-hibernate-key
DelayInhibited=sleep
InhibitDelayMaxUSec=5s
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=hibernate
HandleLidSwitch=suspend
HandleLidSwitchDocked=ignore
HoldoffTimeoutUSec=30s
IdleAction=ignore
IdleActionUSec=30min
PreparingForShutdown=no
PreparingForSleep=no
Docked=no
RemoveIPC=yes
RuntimeDirectorySize=615313408
InhibitorsMax=8192
NCurrentInhibitors=5
SessionsMax=8192
NCurrentSessions=1
UserTasksMax=10813

Я не могу найти ничего, что могло бы вызвать автоматический выход из системы через определенный промежуток времени. Я действительно в тупике.

3 ответа

Решение

Для периодического сбоя X с SIGBUS 18.04 проверьте этот ответ:

Ошибка Ubuntu 18.04 при выходе из спящего режима: ошибка чтения на устройстве подкачки

Я подтвердил, что эта проблема вызвана сбоем сервера Xorg с SIGBUS. Сервер Xorg падает, и systemd-logind создает новый сеанс входа в систему.

Сбой сервера Xorg из-за чрезмерного количества запросов от at-spi-bus-launcher. Непосредственно перед каждым сбоем такие сообщения регистрировались в журнале systemd:

at-spi-bus-launcher[31720]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
at-spi-bus-launcher[31720]:       after 8065 requests (8065 known processed) with 0 events remaining.

Кажется, это задокументированная проблема: Xorg аварийно завершает работу, когда получает слишком много запросов без интервала.

Чтобы обойти эту ошибку, необходимо 2 шага:

  1. Удалить пакет at-spi2-core
  2. добавлять export NO_AT_BRIDGE=1 в .profile, чтобы приложения GTK не жаловались на отсутствие шины доступности

Xorg больше не падал после этого обходного пути, и, следовательно, после выхода из режима ожидания больше не происходило автоматического выхода из системы.

Я подал отчет об ошибке в At-Spi на Gnome BugZilla.

Когда я думаю, что прибил эту проблему, она снова меня кусает:-(. Сама проблема действительно вызвана сбоем сервера Xorg с SIGBUS, но основная причина сбоя не в неправильном поведении at-spi-bus-launcher. не повторяйте эти повторяющиеся запросы, поэтому предыдущая процедура остается в силе, хотя это и не обходной путь к сбою Xorg.

Я обнаружил, что Xorg использует драйвер ядра i915:

paulo:~$ sudo lshw -C video
  *-display
   description: VGA compatible controller
   product: 2nd Generation Core Processor Family Integrated Graphics Controller
   vendor: Intel Corporation
   physical id: 2
   bus info: pci@0000:00:02.0
   version: 09
   width: 64 bits
   clock: 33MHz
   capabilities: msi pm vga_controller bus_master cap_list rom
   configuration: driver=i915 latency=0
   resources: irq:36 memory:f6800000-f6bfffff memory:e0000000-efffffff ioport:f000(size=64) memory:c0000-dffff

Поэтому я попробовал другой обходной путь, чтобы заставить Xorg использовать xserver-xorg-video-intel с методом ускорения uxa, который является более стабильным, чем стандартное sna.

  1. Создайте каталог /etc/X11/xorg.conf.d. Мы можем поместить фрагменты xorg.conf в этот каталог, и сервер Xorg заберет их при запуске.
  2. Создайте файл /etc/X11/xorg.conf.d/10-intel.conf, предписывающий Xorg использовать видеодрайвер Intel с методом ускорения uxa.

Вот /etc/X11/xorg.conf.d/10-intel.conf:

Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"
    Option "AccelMethod" "uxa"
EndSection

Я использовал этот обходной путь в течение 1 недели, и сервер Xorg не вышел из строя, поэтому у меня сложилось впечатление, что это окончательный обходной путь, пока Xorg не исправлен.

Я открыл отчет об ошибках в Xorg, который, по-видимому, затрагивает больше пользователей, поскольку он был помечен как дубликат другой ошибки, которую я сначала не обнаружил, поскольку в ее названии упоминается другой тип сбоя.

Для тех, кто все еще сталкивается с этой проблемой, вот мой опыт. Водитель Nvidia был проблемой. В ядре Linux версии 5.0.0-27 "выход из системы при возобновлении из режима ожидания" начался после того, как я установил драйвер Nvidia.

После многих неудачных "исправлений" (перечисленных здесь и в других местах) я отключил nvidia с помощью инструмента выбора прайма. И мой ноутбук просыпается и восстанавливает сессию сейчас. Я проверил включение / отключение nvidia и могу с уверенностью заключить, что это обходной путь.

Я все еще хотел бы использовать nvidia все же.

Вот 10 строк до и после указанной ошибки ввода-вывода.

Sep  4 15:11:44 rajesh gnome-session-binary[13674]: WARNING: App 

'org.gnome.SettingsDaemon.Wacom.desktop' exited with code 1
Sep  4 15:11:44 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Power.desktop' exited with code 1
Sep  4 15:11:44 rajesh gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Power.desktop' exited with code 1
Sep  4 15:11:44 rajesh org.gnome.SettingsDaemon.XSettings.desktop[14715]: Cannot open display:
Sep  4 15:11:44 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.XSettings.desktop' exited with code 1
Sep  4 15:11:44 rajesh gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.XSettings.desktop' exited with code 1
Sep  4 15:11:44 rajesh org.gnome.SettingsDaemon.Keyboard.desktop[14716]: Cannot open display:
Sep  4 15:11:44 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Keyboard.desktop' exited with code 1
Sep  4 15:11:44 rajesh gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Keyboard.desktop' exited with code 1
Sep  4 15:11:45 rajesh kernel: [ 5497.467961] psmouse serio4: synaptics: queried max coordinates: x [..5664], y [..4682]
Sep  4 15:11:45 rajesh at-spi-bus-launcher[13209]: XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
Sep  4 15:11:45 rajesh at-spi-bus-launcher[13209]:       after 87 requests (87 known processed) with 0 events remaining.
Sep  4 15:11:45 rajesh gnome-shell[13755]: gnome-shell: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
Sep  4 15:11:45 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Sep  4 15:11:45 rajesh gnome-session-binary[13674]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Sep  4 15:11:45 rajesh gsd-color[13835]: gsd-color: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.
Sep  4 15:11:45 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Color.desktop' exited with code 1
Sep  4 15:11:45 rajesh gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Color.desktop' exited with code 1
Sep  4 15:11:45 rajesh gsd-color[8763]: failed to connect to device: Failed to connect to missing device /org/freedesktop/ColorManager/devices/xrandr_Goldstar_Company_Ltd_LG_ULTRAWIDE_122157_kanak_1000
Sep  4 15:11:45 rajesh gsd-color[8763]: failed to connect to device: Failed to connect to missing device /org/freedesktop/ColorManager/devices/xrandr_LG_Display_kanak_1000
Sep  4 15:11:45 rajesh org.gnome.SettingsDaemon.Color.desktop[14727]: Cannot open display:
Sep  4 15:11:45 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Color.desktop' exited with code 1
Sep  4 15:11:45 rajesh gnome-session-binary[13674]: WARNING: App 'org.gnome.SettingsDaemon.Color.desktop' exited with code 1
Sep  4 15:11:45 rajesh gnome-shell[14724]: Failed to create backend: Unable to open display ':0'
Sep  4 15:11:45 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Sep  4 15:11:45 rajesh gnome-session[13674]: gnome-session-binary[13674]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
Другие вопросы по тегам