暂停多个监视器后无法登录

由于我将外接显示器连接到笔记本电脑,因此从暂停状态恢复时无法再登录。 LightDM出现在两个屏幕上,并在登录框中显示我的名字,但密码字段不可见,无论如何输入密码都没有效果。

机器仍在运行,我可以通过SSH或其他shell(使用ctrl-alt和function键)访问它,但我无法回到之前的Unity会话。

在没有挂起的情况下再次注销并再次正常工作。

笔记本电脑是配备nVidia Quadro K4000M的Dell Precision M6700,外接显示器通过DisplayPort 1.2连接。 操作系统是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 

尝试暂停并报告结果。

编辑:如果以上解锁您的会话(它不应该),您可以通过用ExecStop=/bin/chvt 7替换ExecStop=/bin/chvt 7来恢复会话锁定ExecStop=/bin/chvt 7 ; /bin/loginctl lock-sessions ExecStop=/bin/chvt 7 ; /bin/loginctl lock-sessions

您还可以禁用系统设置上的会话锁定,并通过调用/bin/loginctl lock-sessions并保留所有chvt内容,强制它使用上面的systemd脚本锁定post resume。

当您需要暂停时,使用通过Ctrl + Alt + F2打开的shell使用您的用户名和密码登录到该shell。 然后键入sudo pm-suspend以暂停机器。 (如果没有,请尝试使用sudo apt-get install pm-utils )要继续,请按任意键,您将看到最后一个shell窗口。 现在您可以按Ctrl + Alt + F7来获取Unity会话。

我一直对此感到沮丧,并找到了一个刚刚起作用的解决方案。 我不知道它是否可靠运行。 我在Ubuntu 14.04,但它显然也发生在更高版本。

使用cntrl-alt-f1进入备用控制台。 正常登录(不需要是root)。 使用ps -aef和grep查找compiz。 然后用“kill -9”杀死compiz。 一定要输入compiz的pid而不是compiz的父亲的pid(ppid)。 “top”命令可以帮助您找到正确的过程,k(用于kill)可以用来完成工作。

回到cntrl-alt-f7,屏幕闪烁,重绘等(就像窗口管理器放弃窗户,丢弃装饰等)。 然后它用我的用户名和(是!)密码文本输入框显示了欢迎用户界面。 我输入密码然后回到桌面。 它看起来有点奇怪,它启动了一个新的compiz实例,而我自己也不这样做。 我检查了每个窗口,在需要的地方保存工作,并退出每个窗口。 最后所有的窗户都关闭了,我做了我需要的任何笔记。 然后我重启了linux系统。

重启后,我会看到正常的问候语页面,其中包含我的用户名和密码文本输入框。 是啊!