Vòng lặp đăng nhập sau khi nâng cấp lên 16.04


16

Tôi đã gặp một vòng lặp đăng nhập sau khi cập nhật xenial beta lên các bản cập nhật mới nhất.

Tôi đã thử rất nhiều thứ:

  • xauthorityhoặc /tmpđặc quyền thay đổi

  • Cài đặt lại trình điều khiển nvidia, loại bỏ chúng.

  • cài đặt lại unity, unity-greeter, ubuntu-desktop, upstart, lightdmcompiz.

  • Đặt lại compizunitycài đặt. (Tôi nhận được dbuslỗi khởi chạy:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • sử dụng kernel cũ và failafe (báo cáo failafe không tìm thấy màn hình)

  • đã cố gắng khởi chạy DE khác (hình ảnh hơi lớn)

Đây là nhật ký lỗi 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

Trong nhật ký Unity (compiz) có rất nhiều lỗi về plugin opengl

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

Và rất nhiều plugin không tải vì opengl.

Lightdm có tín hiệu SIGTERM bất ngờ mà không có lỗi trước trong nhật ký.

xserver có 2 lỗi:

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

Nhưng nó tiếp tục thông qua các hoạt động đầu vào cho đến khi nó đột nhiên bị chấm dứt.

Câu trả lời:


18

Trong trường hợp của tôi, trình điều khiển nvidia ban đầu là nguyên nhân và chuyển trở lại nguồn mở nouveau đã giúp. Đầu tiên, tôi xóa tất cả mọi thứ khỏi 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

(nguồn: Làm cách nào tôi có thể gỡ cài đặt hoàn toàn trình điều khiển nvidia? )

Sau đó tôi có thể đăng nhập, nhưng unity không tải, không có launcher, v.v ... Hóa ra tôi phải kích hoạt lại Unity plugin:

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

(nguồn: Unity không tải, không có Trình khởi chạy, không có Dấu gạch ngang xuất hiện )


Việc gỡ bỏ nvidia-*là sửa chữa chính cho tôi. Trong ~/.xsession.errorstôi có tin nhắn cannot connect to brltty at 0liên quan đến NVIDIA.
Jon

1
Tôi đã làm theo các bước chính xác này nhưng nó không hiệu quả với tôi
Hakaishin

Ngoài ra, nếu tôi cần sử dụng trình điều khiển Nvidia thì điều này không hoạt động.
Hakaishin

@Hakaishinrare bạn có thể giải quyết nó?
sagarr

3

Vấn đề là, khi bạn cập nhật Ubuntu (và ngay cả khi bạn cài đặt một số chương trình gọi /sbin/ldconfig), có những thay đổi được thực hiện /etc/ls.so.cache.

Hãy dùng thử và bạn sẽ thấy rằng ld.so.cachetệp sau khi cài đặt / cập nhật như vậy sẽ có kích thước khác so với trước khi hoạt động.

Điều này, trong Ubuntu 16.04, dẫn đến một vòng lặp đăng nhập khi đăng nhập từ lightDM. Do đó, bạn nên giữ một bản sao của bản gốc ld.so.cachevì với phiên bản mới được tạo sau khi cài đặt / cập nhật, lightDM sẽ không còn xác thực.

Tôi đã có vấn đề này nhiều lần và đã phải rất cẩn thận với điều này. Tôi luôn giữ một bản sao của tệp gốc ( /etc/ld.so.cache.orig) cho phép tôi đăng nhập mà không cần vòng đăng nhập và sử dụng nó để đăng nhập. Sau đó, khi tôi đã đăng nhập thành công, tôi sao chép tệp mới ( /etc/ld.so.cache.new). Để làm như vậy, tôi đã sửa đổi ~/.bash_profiletệp của mình và đã thêm dòng này:

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

Sau đó, để sao chép lại tệp gốc khi thoát khỏi phiên để tôi sẽ đăng nhập vào lần sau, tôi đã thêm dòng này vào /etc/gdm/PostSession/Default:

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

Để làm việc đó, tôi đã sửa đổi /etc/sudoers(bằng cách chạy sudo vosudo) để cho phép người dùng không có đặc quyền chạy lệnh sao chép:

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

Điều này có thể trông giống như một hack xấu xí, nhưng nó xoay quanh vấn đề vòng lặp đăng nhập này và, cũng, để giữ /etc/ld.so.cachetệp mới .


1
Lo siento, pero el Hỏi Ubuntu es una pagina donde solo se escribe en Ingles. Gracias por la respuesta pero como es en Castellano, la ống que borrar. Si no hables, o no hables bien, el Ingles, puedes usar herramientas como el Google Dịch para traducir tus contribuciones.
terdon

De hecho, la traduje yo ya que tiene pinta de ser una solución buena. Pero en el futuro, por ủng hộ pásala por Google Dịch.
terdon

3

Tôi cũng có lỗi tương tự vào ngày 16.04. Trong trường hợp của tôi, đó cũng là một vấn đề trình điều khiển NVidia. Tôi có 8 màn hình và tôi thích cách thợ lặn NVidia thực hiện với chúng. Vì vậy, để làm cho nó hoạt động, tôi:

  1. Nhấn CTRL+ ALT+ F1tại dấu nhắc đăng nhập và đăng nhập qua thiết bị đầu cuối.

  2. Sao lưu có thể /etc/X11/xorg.conftập tin cũ , vì nó là một nỗi đau để cấu hình 8 màn hình.

  3. Tải xuống tệp trình điều khiển từ NVidia: NVIDIA-Linux-x86_64-367.44.run

  4. Chạy lệnh sau: sudo service lightdm stop(cài đặt trình điều khiển sẽ thất bại nếu bước này bị bỏ qua).

  5. Cài đặt lại trình điều khiển: sudo ./NVIDIA-Linux-x86_64-367.44.runTôi được thông báo rằng tập lệnh được tạo tự động không hoàn thành và được lựa chọn tiếp tục cài đặt mà tôi đã chấp nhận. Tôi cũng đã chọn cài đặt trình điều khiển như một mô-đun hạt nhân và để chương trình tạo một xorg.conftệp mới (đã sao lưu trước đó). Vào cuối quá trình, nó phàn nàn về một liên kết bị thiếu với một lib, nhưng đã đưa ra các hướng dẫn về liên kết đến nó. Tôi sẽ giải quyết vấn đề đó sau.

  6. Đã khởi động lại và có thể đăng nhập thông qua GUI.


1

Tôi đã sử dụng xfce và tôi đã kiểm tra thủ công từng thư mục và tệp bằng cách đổi tên chúng. Xóa ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmllàm việc cho tôi.

Tôi cũng có trình điều khiển nvidia, nhưng chúng vẫn hoạt động tốt khi tôi đăng nhập với quyền root và người dùng dự phòng.


0

Trong trường hợp của tôi, sự cố này xảy ra do vô tình kích hoạt Secure Boot trong UEFI, điều này ảnh hưởng đến trình điều khiển bên thứ ba không sử dụng được (ví dụ: Nvidia). Điều đó gây ra lỗi phiên X. Sau khi tắt Secure Boot, mọi thứ trở lại bình thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.