外付けモニターをラップトップに接続したため、サスペンドから再開するときにログインできなくなりました。 LightDMは両方の画面に表示され、ログインボックスに自分の名前が表示されますが、パスワードフィールドは表示されず、パスワードを入力しても効果はありません。
マシンはまだ実行されており、SSHまたは別のシェル(ctrl-alt
およびファンクションキーを使用)でアクセスできますが、以前のUnityセッションに戻ることはできません。
中断せずにログアウトして再度ログインすると、正常に機能します。
ラップトップはnVidia Quadro K4000Mを搭載したDell Precision M6700であり、外部モニターはDisplayPort 1.2を介して接続されています。 OSはUbuntu 16.04で、問題は最新のnVidiaドライバーとNouveauディスプレイドライバーの両方で発生します。
LightDMを修正するにはどうすればよいですか?
これは、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 7
をExecStop=/bin/chvt 7 ; /bin/loginctl lock-sessions
に置き換えることで、セッションをロックして再開することができます。
/bin/loginctl lock-sessions
を呼び出してすべてのchvt
を除外することにより、システム設定でセッションロックを無効にし、上記のようなsystemdスクリプトを使用して強制的にポストレジュームをロックすることもできます。
中断する必要がある場合は、次の方法で開いたシェルを使用して実行します Ctrl + Alt + F2 ユーザー名とパスワードを使用してそのシェルにログインします。次に、Sudo pm-suspend
と入力して、マシンをサスペンドします。 (そうでない場合は、Sudo apt-get install pm-utils
を使用してpm-utilsをインストールしてみてください)再開するには、任意のキーを押すと、最後のシェルウィンドウが表示されます。今、あなたは押すことができます Ctrl + Alt + F7 Unityセッションを取得します。
私はこれに不満を感じており、今はうまくいく解決策を見つけました。確実に機能するかどうかはわかりません。私は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システムを再起動しました。
再起動後、ユーザー名とパスワードのテキスト入力ボックスを含む通常のグリーティングページが表示されます。うん!