Цикл входу після оновлення до 16.04


16

Після оновлення бета-версії xenial до останніх оновлень я зіткнувся з циклом входу.

Я спробував багато чого:

  • xauthority або /tmp привілеї змінюються

  • Перевстановлення драйверів nvidia, видалення їх.

  • перевстановлення unity, unity-greeter, ubuntu-desktop, upstart, lightdmіcompiz .

  • скидання compizта unityналаштування. (я отримую dbusпомилки запуску:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • використання старого ядра та відмови (звіт про помилку не знайдено на екрані)

  • спробував запустити інший DE (паровий великий малюнок)

Ось журнал помилок xsession:

unity:
open connection: connect: No such file or directory
Cannot connect to brltty at :0
upstart: gnome-session (unity) main process (5441) terminated with status 1
upstart unity-settings-daemon main process (5434) killed by TERM signal

steam big picture:
open connection: connect: No such file or directory
Cannot connect to brltty at :0
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored.
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored
Could not create GLX context
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored

У журналі Unity (compiz) багато помилок щодо плагіна opengl

Compiz (opengl) - Fatal: glXQueryExtenisonsString is NULL for screen 0

І багато плагінів вивантажено через opengl.

Lightdm мають раптовий сигнал SIGTERM без попередніх помилок у журналі.

xserver має 2 помилки:

xf86EnablePorts: failed to set IOPL for I/O (Operation not permitted)
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Але це продовжується через операції введення, поки раптом не припиняється.

Відповіді:


18

У моєму випадку оригінальні драйвери nvidia послужили причиною, і переключення назад до відкритого джерела nouveau допомогло. По-перше, я видалив усі речі з nvidia:

sudo apt-get remove --purge 'nvidia-*'
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo 'nouveau' | sudo tee -a /etc/modules

(Джерело: Як я можу повністю видалити драйвер nvidia? )

Після цього я міг увійти в систему, але єдність не завантажилася, не було запуску і т. Д. Виявилося, мені довелося знову включити плагін Unity:

sudo apt-get install compizconfig-settings-manager
DISPLAY=:0 ccsm
Find the Unity plugin and enable it.

(Джерело: Unity не завантажується, немає запуску, не з’являється тире )


Вилучення nvidia-*було для мене головним виправленням. У ~/.xsession.errorsмене було повідомлення, cannot connect to brltty at 0яке стосується NVIDIA.
— Джон

1
Я дотримувався цих точних кроків, але це не спрацювало для мене
— Хакаїшин

Плюс що якщо мені потрібно використовувати драйвери Nvidia, то це не працює.
— Хакаїшин

@Hakaishinra ти вмієш це вирішити?
— sagarr

3

Проблема полягає в тому, що під час оновлення Ubuntu (і навіть при встановленні певних програм, які дзвонять /sbin/ldconfig), в ньому вносяться зміни /etc/ls.so.cache.

Спробуйте, і ви побачите, що ld.so.cacheфайл після такої установки / оновлення матиме інший розмір, ніж до операції.

Це в Ubuntu 16.04 призводить до циклу входу під час входу з lightDM. Тому вам слід зберегти копію оригіналу, ld.so.cacheоскільки з новою версією, сформованою після встановлення / оновлення, lightDM більше не автентифікується.

У мене виникло це питання вже багато разів, і мені доводиться бути дуже обережними. Я завжди зберігаю копію оригінального файлу ( /etc/ld.so.cache.orig), який дозволяє мені входити без циклу входу, і використовую його для входу. Потім, після того як я ввійшов успішно, я копіюю новий ( /etc/ld.so.cache.new). Для цього я змінив свій ~/.bash_profileфайл і додав цей рядок:

sudo /bin/cp /etc/ld.so.cache.new /etc/ld.so.cache

Потім, щоб скопіювати вихідний файл назад під час виходу з сеансу, щоб я був ab; e, щоб увійти в систему, коли ви отримаєте наступний раз, я додав цей рядок до /etc/gdm/PostSession/Default:

/bin/cp /etc/ld.so.cache.orig /etc/ld.so.cache

Щоб це працювало, я змінив /etc/sudoers(запустивши sudo vosudo), щоб дозволити непривілейованим користувачам виконувати команду копіювання:

ALL     ALL= NOPASSWD: /bin/cp /etc/ld.so.cache.new /etc/ld.so.cache

Це може виглядати як некрасивий злом, але він обходить цю проблему з циклом входу, а також зберігати новий /etc/ld.so.cacheфайл.


1
Запитайте, запитайте Ubuntu es una pagina donde solo se escribe en Ingles. Gracias por la respuesta pero como es en Castellano, la tube que borrar. Si no hables, o no hables bien, el Ingles, puedes usar herramientas como el Google Translate Translate para traducir tus prispeciones.
— тердон

De hecho, la traduje yo ya que tiene pinta de ser una solución buena. На жаль, ви хочете віддати Google Translate.
— тердон

3

У мене була така ж помилка і 16.04. У моєму випадку це також була проблема з драйверами NVidia. У мене є 8 моніторів, і мені подобається, як працює водолаз NVidia з ними. Отож, щоб це працювало, я:

  1. Натискається CTRL+ ALT+ F1у запиті для входу та входить через термінал.

  2. Резервне копіювання може старий /etc/X11/xorg.confфайл, оскільки було болісно налаштувати 8 моніторів.

  3. Завантажили файл драйвера від NVidia: NVIDIA-Linux-x86_64-367.44.run

  4. Виконати таку команду: sudo service lightdm stop(встановлення драйвера не вдасться, якщо цей крок пропущено).

  5. Повторно встановив драйвер: sudo ./NVIDIA-Linux-x86_64-367.44.runМені було повідомлено, що автоматично створений сценарій не завершився, і я отримав вибір продовжувати установку, яку я прийняв. Я також вирішив встановити драйвер як модуль ядра і програму створити новий xorg.confфайл (резервне копіювання раніше). Наприкінці процесу він поскаржився на відсутність посилання на lib, але дав вказівки щодо посилання на нього. Я відклав справу з цим на потім.

  6. Перезавантажився і зміг увійти через GUI.


1

Я використовував xfce, і я вручну перевіряв кожну папку та файл, перейменувавши їх. Видалення ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmlпрацювало для мене.

У мене також були драйвери nvidia, але вони працювали нормально, коли я входив як root та резервний користувач.


0

У моєму випадку ця проблема була викликана випадковим включенням захищеного завантаження в UEFI, що впливає на сторонніх драйверів, непридатних для використання (наприклад, Nvidia). Це спричинило помилку сеансу X. Після відключення Безпечного завантаження все повернулося до норми.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.