Цикл входу після оновлення до 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.