Nach dem Anhalten mit mehreren Monitoren kann ich mich nicht anmelden

7

Da ich einen externen Monitor an meinen Laptop angeschlossen habe, kann ich mich nicht mehr anmelden, wenn ich von Suspend fortfahre. LightDM wird auf beiden Bildschirmen angezeigt und zeigt meinen Namen im Anmeldefeld an, aber das Kennwortfeld ist nicht sichtbar und die Eingabe des Kennworts hat ohnehin keine Auswirkung.

Der Computer läuft noch und ich kann über SSH oder eine alternative Shell (mit ctrl-altund Funktionstasten) darauf zugreifen , aber ich kann nicht zu meiner vorherigen Unity-Sitzung zurückkehren.

Das Abmelden und erneute Anmelden ohne Unterbrechung funktioniert ordnungsgemäß.

Der Laptop ist ein Dell Precision M6700 mit einem nVidia Quadro K4000M und der externe Monitor ist über DisplayPort 1.2 angeschlossen. Das Betriebssystem ist Ubuntu 16.04 und das Problem tritt sowohl bei den neuesten nVidia-Treibern als auch beim Nouveau-Bildschirmtreiber auf.

Was kann ich tun, um LightDM zu reparieren?

Ian Mackinnon
quelle
1
Hilft diese Antwort ?
Karsus
@Karsus, nein, Rechtsklick hat keine Auswirkung. Auch das Trennen des externen Monitors, wie in dieser Frage erwähnt, hilft nicht (nach dem erneuten Anschließen sind beide Bildschirme mit nur einem Cursor schwarz).
Ian Mackinnon
Wenn Sie nur Ihren Bildschirm sperren (indem Sie im Menü auf Ihren eigenen Namen klicken oder Strg + Alt + L), ohne anzuhalten, funktioniert dies?
Daniel
@ Daniel, ja, ich kann den Bildschirm sperren und mich ohne Probleme erneut anmelden, auch wenn ich darauf warte, dass die Monitore dazwischen ausgeschaltet werden.
Ian Mackinnon
Eine Problemumgehung, die den Bildschirm unmittelbar nach dem Fortsetzen anstatt vor dem Anhalten sperrt, ist für Sie akzeptabel? Benötigen Sie überhaupt die Bildschirmsperrfunktion, während das Anhalten oder Deaktivieren vollständig ist?
Daniel

Antworten:

2

Hier ist eine Problemumgehung, die die Idee aus Maliths Antwort verwendet, aber einige Schritte automatisiert. Lassen Sie mich wissen, ob sie für Sie funktioniert. Wenn nicht, habe ich einige andere Ideen, die möglicherweise funktionieren.

Erstellen Sie eine Datei /etc/systemd/system/suspend-workaround.servicemit dem folgenden Inhalt:

[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

Geben Sie Folgendes in ein Terminal ein, um systemd-Dateien neu zu laden und das obige Gerät zu aktivieren:

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

Versuchen Sie, Ihre Ergebnisse auszusetzen und zu melden.

EDIT: Wenn die oben Ihre Sitzung entsperrt (es sollte nicht), können Sie Ihre Sitzungssperre Post Lebenslauf machen, durch das Ersetzen ExecStop=/bin/chvt 7mit ExecStop=/bin/chvt 7 ; /bin/loginctl lock-sessions.

Sie können die Sitzungssperre auch für die Systemeinstellungen deaktivieren und die Sperre nach dem Fortsetzen mithilfe eines systemd-Skripts wie dem oben beschriebenen erzwingen, indem Sie /bin/loginctl lock-sessionsalles aufrufen und chvtweglassen.

Daniel
quelle
Dies funktioniert in der Tat, wie Sie vorhergesagt haben, auf Kosten der Sitzung, die während des Suspendierens nicht gesperrt wird. Sicherlich eine bequemere Problemumgehung.
Ian Mackinnon
Diese Problemumgehung sollte die Sitzungssperre überhaupt nicht beeinflussen, nicht, als ich sie hier getestet habe. (obwohl ich nicht die ursprüngliche Ausgabe habe)
Daniel
Wie auch immer ... wenn Sie mit der obigen Lösung eine unerwünschte Entsperrung erhalten, können Sie den Lebenslauf des Bildschirmbeitrags trotzdem sperren. Überprüfen Sie die Antwortbearbeitung auf eine Alternative, die dies tut.
Daniel
Nach einem Neustart wird der Sperrbildschirm jetzt aktiviert, ohne dass die Bearbeitung angewendet werden muss. Gute Arbeit!
Ian Mackinnon
1

Wenn Sie anhalten mussten, verwenden Sie dazu die Shell, die durch Ctrl+ Alt+ F2 Anmelden bei dieser Shell mit Ihrem Benutzernamen und Passwort geöffnet wurde . Geben Sie dann ein sudo pm-suspend, um die Maschine anzuhalten. (Wenn nicht, versuchen Sie, pm-utils mit sudo apt-get install pm-utilszu installieren. ) Um fortzufahren, drücken Sie eine beliebige Taste und Sie sehen das letzte Shell-Fenster. Jetzt können Sie Ctrl+ Alt+ drücken F7, um Ihre Unity-Sitzung zu erhalten.

Malith
quelle
3
Hmm, klingt eher nach einer Problemumgehung als nach einer Lösung.
anonymous2
Dies ist eine ziemlich mühsame Problemumgehung, aber es ist viel besser, als sich nicht anmelden zu können oder die externe Anzeige deaktivieren zu müssen, bevor Sie alle meine Fenster anhalten und nach dem Fortsetzen neu anordnen.
Ian Mackinnon
0

Ich war frustriert und habe eine Lösung gefunden, die gerade funktioniert hat. Ich weiß nicht, ob es zuverlässig funktionieren wird. Ich bin auf Ubuntu 14.04, aber es passiert anscheinend auch in späteren Versionen.

Verwenden Sie cntrl-alt-f1, um zu einer alternativen Konsole zu gelangen. Melden Sie sich wie gewohnt an (muss nicht root sein). Verwenden Sie ps -aef und grep, um compiz zu finden. Dann töte compiz mit "kill -9". Stellen Sie sicher, dass Sie die PID von compiz und nicht die PID der Eltern von compiz (ppid) eingeben. Der Befehl "top" kann Ihnen helfen, den richtigen Prozess zu finden, und k (für kill) kann verwendet werden, um die Arbeit zu erledigen.

Gehen Sie zurück zu cntrl-alt-f7 und der Bildschirm flackert, zeichnet neu usw. (z. B. wenn der Fenstermanager Fenster aufgibt, Dekorationen fallen lässt usw.). Dann wurde die Begrüßungs-Benutzeroberfläche mit meinem Benutzernamen und (Ja!) Ein Texteingabefeld für das Kennwort angezeigt. Ich gab mein Passwort ein und kehrte zu meinem Desktop zurück. Es sah ein bisschen seltsam aus und startete eine neue Instanz von compiz, ohne dass ich das selbst tat. Ich untersuchte jedes Fenster, sparte bei Bedarf Arbeit und verließ jedes Fenster. Schließlich sind alle Fenster geschlossen und ich machte mir die Notizen, die ich brauchte. Dann habe ich das Linux-System neu gestartet.

Nach dem Neustart wird die normale Begrüßungsseite mit meinem Benutzernamen UND dem Eingabefeld für den Kennwortext angezeigt. Ja!

Alan Carwile
quelle