Вопрос или проблема
Повторная публикация вопроса: https://unix.stackexchange.com/q/314129/193223
Недавно я обновился с Ubuntu 14.04 до 16.04, после чего дисплейный менеджер перестал работать.
Предполагая, что это связано с системами инициализации, я попробовал переключиться обратно на upstart, следуя инструкциям, указанным на этой странице:
https://wiki.ubuntu.com/SystemdForUpstartUsers
Это не сработало.
newton@gravity:~$ sudo systemctl status lightdm
● lightdm.service - Light Display Manager
Loaded: loaded (/lib/systemd/system/lightdm.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/display-manager.service.d
└─xdiagnose.conf
Active: inactive (dead) (Result: exit-code) since Mon 2016-10-03 19:04:26 EDT; 13min ago
Docs: man:lightdm(1)
Process: 3533 ExecStart=/usr/sbin/lightdm (code=exited, status=1/FAILURE)
Process: 3528 ExecStartPre=/bin/sh -c [ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "lightdm" ] (code=exited, status=0/SUCCESS)
Main PID: 3533 (code=exited, status=1/FAILURE)
Oct 03 19:04:26 newton systemd[1]: lightdm.service: Failed with result 'exit-code'.
Oct 03 19:04:26 newton systemd[1]: lightdm.service: Service hold-off time over, scheduling restart.
Oct 03 19:04:26 newton systemd[1]: Stopped Light Display Manager.
Oct 03 19:04:26 newton systemd[1]: lightdm.service: Start request repeated too quickly.
Oct 03 19:04:26 newton systemd[1]: Failed to start Light Display Manager.
Oct 03 19:09:02 newton systemd[1]: Stopped Light Display Manager.
journalctl показывает проблемы с PAM kwallet.
$ sudo journalctl -e -u lightdm
...
systemd[1]: Starting Light Display Manager...
systemd[1]: Started Light Display Manager.
lightdm[26952]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
lightdm[26952]: PAM adding faulty module: pam_kwallet.so
lightdm[26952]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
lightdm[26952]: PAM adding faulty module: pam_kwallet5.so
lightdm[26952]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
systemd[1]: lightdm.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: lightdm.service: Unit entered failed state.
systemd[1]: lightdm.service: Triggering OnFailure= dependencies.
systemd[1]: lightdm.service: Failed with result 'exit-code'.
...
Вот содержимое файла /var/log/lightdm/lightdm.log;
[+0.00s] DEBUG: Logging to /var/log/lightdm/lightdm.log
[+0.00s] DEBUG: Starting Light Display Manager 1.18.2, UID=0 PID=26937
[+0.00s] DEBUG: Loading configuration dirs from /usr/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-disable-log-backup.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-greeter-wrapper.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
[+0.00s] DEBUG: Loading configuration from /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf
[+0.00s] DEBUG: Loading configuration dirs from /usr/local/share/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration dirs from /etc/xdg/lightdm/lightdm.conf.d
[+0.00s] DEBUG: Loading configuration from /etc/lightdm/lightdm.conf
[+0.00s] DEBUG: Using D-Bus name org.freedesktop.DisplayManager
[+0.00s] DEBUG: Registered seat module xlocal
[+0.00s] DEBUG: Registered seat module xremote
[+0.00s] DEBUG: Registered seat module unity
[+0.00s] DEBUG: Monitoring logind for seats
[+0.00s] DEBUG: New seat added from logind: seat0
[+0.00s] DEBUG: Seat seat0: Loading properties from config section Seat:*
[+0.00s] DEBUG: Seat seat0: Starting
[+0.00s] DEBUG: Seat seat0: Creating greeter session
[+0.00s] DEBUG: Seat seat0: Creating display server of type x
[+0.01s] DEBUG: Using VT 7
[+0.01s] DEBUG: Seat seat0: Starting local X display on VT 7
[+0.01s] DEBUG: DisplayServer x-0: Logging to /var/log/lightdm/x-0.log
[+0.01s] DEBUG: DisplayServer x-0: Writing X server authority to /var/run/lightdm/root/:0
[+0.01s] DEBUG: DisplayServer x-0: Launching X Server
[+0.01s] DEBUG: Launching process 26944: /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[+0.01s] DEBUG: DisplayServer x-0: Waiting for ready signal from X server :0
[+0.01s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
[+0.01s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+0.01s] DEBUG: Loading users from org.freedesktop.Accounts
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1000 added
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1007 added
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1009 added
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1006 added
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1005 added
[+0.01s] DEBUG: User /org/freedesktop/Accounts/User1002 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1011 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1008 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1003 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1001 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1004 added
[+0.02s] DEBUG: User /org/freedesktop/Accounts/User1010 added
[+0.23s] DEBUG: Got signal 10 from process 26944
[+0.23s] DEBUG: DisplayServer x-0: Got signal from X server :0
[+0.23s] DEBUG: DisplayServer x-0: Connecting to XServer :0
[+0.23s] DEBUG: Seat seat0: Display server ready, starting session authentication
[+0.23s] DEBUG: Session pid=26952: Started with service 'lightdm-greeter', username 'lightdm'
[+0.25s] DEBUG: Session pid=26952: Authentication complete with return value 0: Success
[+0.25s] DEBUG: Seat seat0: Session authenticated, running command
[+0.25s] DEBUG: Session pid=26952: Running command /usr/lib/lightdm/lightdm-greeter-session /usr/sbin/unity-greeter
[+0.25s] DEBUG: Creating shared data directory /var/lib/lightdm-data/lightdm
[+0.25s] DEBUG: Session pid=26952: Logging to /var/log/lightdm/seat0-greeter.log
[+0.27s] DEBUG: Activating VT 7
[+0.27s] DEBUG: Activating login1 session c17
[+0.27s] DEBUG: Seat seat0 changes active session to c17
[+0.27s] DEBUG: Session c17 is already active
[+0.37s] DEBUG: Greeter closed communication channel
[+0.37s] DEBUG: Session pid=26952: Exited with return value 0
[+0.37s] DEBUG: Seat seat0: Session stopped
[+0.37s] DEBUG: Seat seat0: Stopping; failed to start a greeter
[+0.37s] DEBUG: Seat seat0: Stopping
[+0.37s] DEBUG: Seat seat0: Stopping display server
[+0.37s] DEBUG: Sending signal 15 to process 26944
[+0.50s] DEBUG: Process 26944 exited with return value 0
[+0.50s] DEBUG: DisplayServer x-0: X server stopped
[+0.50s] DEBUG: Releasing VT 7
[+0.50s] DEBUG: DisplayServer x-0: Removing X server authority /var/run/lightdm/root/:0
[+0.50s] DEBUG: Seat seat0: Display server stopped
[+0.50s] DEBUG: Seat seat0: Stopped
[+0.50s] DEBUG: Required seat has stopped
[+0.50s] DEBUG: Stopping display manager
[+0.50s] DEBUG: Display manager stopped
[+0.50s] DEBUG: Stopping daemon
[+0.50s] DEBUG: Exiting with return value 1
Any other debugging tips that I need to try?
У меня было то же самое, попробуйте использовать gdm3 вместо того, если он у вас есть. Если у вас есть gdm3, то зайдите в терминал и введите “sudo apt remove lightdm”, а затем “sudo apt-get install lightdm”.
Ответ или решение
Вопрос о проблемах с дисплейным менеджером после обновления Ubuntu до версии 16.04 является типичной ситуацией, с которой могут столкнуться пользователи Linux при переходе от старой версии системы к новой. В данном случае, речь идет о проблемах с запуском Light Display Manager (LightDM), который не удается запустить, и это приводит к невозможности загрузки графического интерфейса. Проанализировав предоставленные логи и сообщения об ошибках, можно сделать вывод, что основной проблемой является некорректная загрузка модулей PAM, в частности pam_kwallet.so
и pam_kwallet5.so
, которые отсутствуют в системе.
Теория:
Когда вы обновляете операционную систему, часто изменяются как системные файлы, так и приложения, установленные в вашей системе. В данном случае, Ubuntu 16.04 перешла с Upstart на systemd в качестве системы инициализации по умолчанию, что может вызывать проблемы совместимости с некоторыми программами. LightDM — дисплейный менеджер, который отвечает за показ экрана входа и управление сессиями пользователей. PAM (Pluggable Authentication Module) — это механизм, который предоставляет динамически подгружаемые модули для выполнения аутентификации. Ошибки, связанные с модулями pam_kwallet.so
, могут быть вызваны отсутствием необходимых пакетов или некорректной конфигурацией PAM-файлов.
Пример:
Судя по журналам journalctl
и lightdm
, проблема заключается в том, что LightDM не удается загрузить требуемые библиотеки PAM. Это вызывает ошибку при попытке аутентификации и запуске сессии, что в свою очередь приводит к остановке LightDM. Лог журнала указывает, что LightDM пытается открыть pam_kwallet.so
и pam_kwallet5.so
, но они отсутствуют в директории /lib/security/
, что вызывает сбой.
Применение:
-
Проверка и установка необходимых пакетов:
-
Убедитесь, что все необходимые пакеты и библиотеки установлены в вашей системе. Для установки недостающих компонентов выполните команды:
sudo apt update sudo apt install libpam-kwallet4 libpam-kwallet5
Эти пакеты содержат модули PAM для интеграции с KWallet, которые могут отсутствовать в системе.
-
-
Конфигурация PAM:
- Проверьте файлы конфигурации PAM, такие как
/etc/pam.d/lightdm
. Убедитесь, что записи, связанные сpam_kwallet.so
иpam_kwallet5.so
, актуальны для вашей системы. Если вы не используете KWallet, возможно, стоит закомментировать или удалить строки, связанные с этими модулями.
- Проверьте файлы конфигурации PAM, такие как
-
Переход на другой дисплейный менеджер:
-
Если проблема с LightDM сохраняется, возможно, стоит рассмотреть переключение на другой дисплейный менеджер, например, GDM3. Процесс установки и переключения выглядит следующим образом:
sudo apt remove lightdm sudo apt install gdm3
Во время установки GDM3 система предложит выбрать дисплейный менеджер по умолчанию. Выберите GDM3 и перезапустите компьютер.
-
-
Диагностика и логирование:
- Продолжайте мониторить логи, чтобы выявить возможные другие ошибки или части системы, которые требуют внимания. Используйте команды
journalctl
иdmesg
для получения более глубокого понимания происходящих процессов.
- Продолжайте мониторить логи, чтобы выявить возможные другие ошибки или части системы, которые требуют внимания. Используйте команды
-
Сообщества и форумы:
- Если список предложенных решений не помогает, обратитесь к сообществам Linux, таким как форумы Ubuntu или StackExchange. Часто пользователи сталкиваются с аналогичными проблемами, и может быть найдено решение, специфичное для вашей конфигурации системы.
Следуя этим шагам, можно повысить шансы на успешное восстановление функциональности дисплейного менеджера в Ubuntu 16.04. Проблемы, подобные этой, часто требуют комплексного подхода, подразумевающего как исправление конфигураций, так и проверку всех установленных компонентов системы.