16.04로 업그레이드 후 로그인 루프

16.04로 업그레이드 후 로그인 루프

Xenial 베타를 최신 업데이트로 업데이트한 후 로그인 루프가 발생했습니다.

나는 많은 것을 시도했습니다:

  • xauthority또는 /tmp권한 변경

  • NVIDIA 드라이버를 다시 설치하고 제거합니다.

  • unity, unity-greeter, ubuntu-desktop, 및 을 upstart다시 설치합니다 .lightdmcompiz

  • 재설정 compizunity설정.( dbus실행 오류가 발생합니다.

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • 이전 커널 및 안전 장치 사용(안전 장치 보고서 화면을 찾을 수 없음)

  • 다른 DE를 출시하려고 시도했습니다(Steam Big Picture).

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)

그러나 갑자기 종료될 때까지 입력 작업을 계속합니다.

답변1

내 경우에는 원래 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가 로드되지 않았고 실행 프로그램도 없었습니다. 알고 보니 Unity 플러그인을 다시 활성화해야 했습니다.

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

(원천:Unity가 로드되지 않고, Launcher가 없고, Dash가 나타나지 않습니다.)

답변2

문제는 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

그런 다음 세션을 종료할 때 원본 파일을 다시 복사하여 다음에 로그인할 수 있도록 다음 줄을 추가했습니다 /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파일을 유지합니다.

답변3

16.04에서도 동일한 오류가 발생했습니다. 제 경우에는 NVidia 드라이버 문제이기도 했습니다. 저는 8개의 모니터를 가지고 있는데 NVidia 다이버가 그 모니터를 사용하는 방식이 마음에 듭니다. 그래서 작동시키려면 다음을 수행합니다.

  1. 로그인 프롬프트에서 CTRL+ ALT+를 누르고 터미널을 통해 로그인했습니다.F1

  2. /etc/X11/xorg.conf8개의 모니터를 구성하는 것이 수고 스러워 오래된 파일을 백업해 두었습니다 .

  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를 통해 로그인할 수 있었습니다.

답변4

제 경우에는 UEFI에서 실수로 보안 부팅을 활성화하여 이 문제가 발생했는데, 이는 사용할 수 없는 타사 드라이버(예: Nvidia)에 영향을 미칩니다. 이로 인해 X 세션 오류가 발생했습니다. 보안 부팅을 비활성화한 후 모든 것이 정상으로 돌아왔습니다.

관련 정보