web-dev-qa-db-ja.com

16.04へのアップグレード後のログインループ

Xenialベータ版を最新のアップデートに更新した後、ログインループが発生しました。

私は多くのことを試しました:

  • xauthorityまたは/tmp特権の変更

  • Nvidiaドライバーを再インストールして削除します。

  • unityunity-greeterubuntu-desktopupstartlightdm、およびcompizを再インストールします。

  • compizおよびunityの設定をリセットしています。(dbusの起動エラーが表示されます:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • 古いカーネルとフェイルセーフを使用する(フェイルセーフレポートに画面が見つかりません)

  • 他のDEを起動しようとしました(Steamの全体像)

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)

しかし、突然終了するまで入力操作を続けます。

16

私の場合、元の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.

(ソース: nityはロードされず、ランチャーもダッシュも表示されません

17

問題は、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を実行して)変更して、非特権ユーザーがcopyコマンドを実行できるようにしました。

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

これは見苦しいハックのように見えるかもしれませんが、このログインループの問題を回避し、新しい/etc/ld.so.cacheファイルを保持することもできます。

3
Juanjo

16.04でも同じエラーが発生しました。私の場合、それはNVidiaドライバーの問題でもありました。私は8台のモニターを持っていますが、NVidiaダイバーがそれらをどのように使用するかが気に入っています。それを機能させるために、私は:

  1. 押された CTRL + ALT + F1 ログインプロンプトで、端末からログインします。

  2. 8個のモニターを構成するのが苦痛だったため、バックアップは古い/etc/X11/xorg.confファイルである可能性があります。

  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からログインできました。

3
Paul W

私はxfceを使用しており、各フォルダーとファイルの名前を変更して手動でチェックしました。 ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmlを削除するとうまくいきました。

Nvidiaドライバーもありましたが、rootおよびバックアップユーザーとしてログインしたときは正常に動作していました。

1
Vibhav B

私の場合、この問題は、UEFIで誤ってセキュアブートを有効にしているために発生し、サードパーティのドライバーが使用できなくなります(例:Nvidia)。 Xセッションエラーが発生しました。セキュアブートを無効にすると、すべてが正常に戻りました。

0
Wladek Surala