web-dev-qa-db-ja.com

複数のモニターでサスペンドした後にログインできません

外付けモニターをラップトップに接続したため、サスペンドから再開するときにログインできなくなりました。 LightDMは両方の画面に表示され、ログインボックスに自分の名前が表示されますが、パスワードフィールドは表示されず、パスワードを入力しても効果はありません。

マシンはまだ実行されており、SSHまたは別のシェル(ctrl-altおよびファンクションキーを使用)でアクセスできますが、以前のUnityセッションに戻ることはできません。

中断せずにログアウトして再度ログインすると、正常に機能します。

ラップトップはnVidia Quadro K4000Mを搭載したDell Precision M6700であり、外部モニターはDisplayPort 1.2を介して接続されています。 OSはUbuntu 16.04で、問題は最新のnVidiaドライバーとNouveauディスプレイドライバーの両方で発生します。

LightDMを修正するにはどうすればよいですか?

7
Ian Mackinnon

これは、Malithの答えからのアイデアを使用する回避策ですが、いくつかのステップを自動化し、それがあなたのために機能するかどうかを教えてください。

次の内容の/etc/systemd/system/suspend-workaround.serviceという名前のファイルを作成します。

[Unit]
Description=suspend lightdm workaround
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/chvt 1
ExecStop=/bin/chvt 7

[Install]
WantedBy=sleep.target

ターミナルで次のように入力してsystemdファイルをリロードし、上記のユニットを有効にします。

Sudo systemctl enable suspend-workaround.service
Sudo systemctl daemon-reload

結果を中断して報告してください。

EDIT:上記でセッションのロックが解除される場合(そうでない場合)、ExecStop=/bin/chvt 7ExecStop=/bin/chvt 7 ; /bin/loginctl lock-sessionsに置き換えることで、セッションをロックして再開することができます。

/bin/loginctl lock-sessionsを呼び出してすべてのchvtを除外することにより、システム設定でセッションロックを無効にし、上記のようなsystemdスクリプトを使用して強制的にポストレジュームをロックすることもできます。

2
Daniel

中断する必要がある場合は、次の方法で開いたシェルを使用して実行します Ctrl + Alt + F2 ユーザー名とパスワードを使用してそのシェルにログインします。次に、Sudo pm-suspendと入力して、マシンをサスペンドします。 (そうでない場合は、Sudo apt-get install pm-utilsを使用してpm-utilsをインストールしてみてください)再開するには、任意のキーを押すと、最後のシェルウィンドウが表示されます。今、あなたは押すことができます Ctrl + Alt + F7 Unityセッションを取得します。

1
Malith

私はこれに不満を感じており、今はうまくいく解決策を見つけました。確実に機能するかどうかはわかりません。私はUbuntu 14.04にいますが、明らかにそれ以降のバージョンでも起こります。

Cntrl-alt-f1を使用して、代替コンソールにアクセスします。通常どおりログインします(rootである必要はありません)。 compizを見つけるには、ps -aefとgrepを使用します。その後、「kill -9」でcompizを強制終了します。 compizの親のpid(ppid)ではなく、compizのpidを入力してください。 「top」コマンドは、適切なプロセスを見つけるのに役立ち、k(killの場合)を使用して作業を行うことができます。

Cntrl-alt-f7に戻ると、画面がちらつき、再描画されます(ウィンドウマネージャーがウィンドウを放棄したとき、装飾をドロップしたときなど)。次に、ユーザー名と(はい!)パスワードのテキスト入力ボックスを含むグリーターUIを表示しました。パスワードを入力して、デスクトップに戻りました。少し奇妙に見え、自分でやらなくても新しいcompizのインスタンスが起動しました。各ウィンドウを調べて、必要な場所に作業を保存し、各ウィンドウを終了しました。最後に、すべてのウィンドウが閉じられ、必要なメモを作成しました。その後、Linuxシステムを再起動しました。

再起動後、ユーザー名とパスワードのテキスト入力ボックスを含む通常のグリーティングページが表示されます。うん!

0
Alan Carwile