为什么我的虚拟控制台完全空白?


19

当我从图形会话去通过虚拟主机Ctrl+ Alt+ F i(与我在1 - 7和9-12)我看到一个完全黑屏。仅在F8上,我看到GUI。甚至没有其他人眨眼的提示。当我输入任何东西时,我什么都看不到。

有什么问题,我该如何解决?

我的系统

$ uname -a
Linux pc09 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
Linux Mint 17 Qiana \n \l
$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev a1)
$ lspci -k | grep -A 2 -i "VGA"
01:00.0 VGA compatible controller: NVIDIA Corporation GK110B [GeForce GTX Titan Black] (rev a1)
Subsystem: NVIDIA Corporation Device 1066
Kernel driver in use: nvidia

编辑:我尝试了在http://forums.linuxmint.com/viewtopic.php?f=42&t=168108上建议的第一步,问题似乎出在帧缓冲区上。

我是这样做的:

这个问题已经困扰了Nvidia专有驱动程序两到三年,并且使我远离基于Ubuntu的发行版已有一段时间了。最后,在Nvidia论坛上,我找到了我一直在寻找的解决方法。Nvidia专有驱动程序会出现问题(Nouveau不会显示此行为):按下ctrl-alt-F1时,只会出现黑屏,或者充其量是没有任何作用的闪烁光标。问题显然与帧缓冲的实现方式有关,需要禁用它。要查看是否是问题所在,首先您需要对/ etc / default / grub进行一些小的修改-但首先,要进行备份!

$ sudo cp /etc/default/grub /etc/default/grub.bak

现在,通过输入

$ sudo pluma /etc/default/grub

在编辑器中,取消注释行

#GRUB_TERMINAL=console
#GRUB_GFXMODE=640x480

通过删除#。保存文件并运行undate-grub来实现更改

sudo update-grub

现在,我(低输出)tty再次工作:-)


显卡和驱动程序?KMS是否已启用并正常工作?
jasonwryan 2014年

我添加了的输出lspci | grep VGA。如何检查您的KMS问题?
Martin Thoma 2014年

您正在使用Blob还是Nouveau?使用专有驱动程序,您可能需要像这样的帧缓冲区uvesafb。造币厂的人应该把它记录在某处……
jasonwryan

Answers:


10

那是因为您正在使用专有的NVidia驱动程序。

当我使用专有驱动程序进行OpenSUSE时,我的控制台也将变成黑色,因为现在我再次使用Ubuntu,它们的效果甚至更酷:(不用担心,屏幕很好!) NVidia驱动程序可以做的其他很棒的事情

造成这种情况的原因似乎是NVidia内核驱动程序,该驱动程序一旦由DDX(取决于设备的X11)驱动程序初始化,便无法处理来自其他任何视频子系统(例如fbdev,VESA,Linux控制台等)的请求。

切换到控制台后,控制台仍将被激活。要验证这一点,请尝试盲目登录到控制台,然后输入易于注意的内容,例如wallreboot

<Your username>
<Your password>
echo "Test message" >/tmp/message; wall </tmp/message

从控制台返回后,您应该在任何终端窗口中看到以下内容:

Broadcast message from <Your username>@<Hostname>
        (/dev/tty2) at 23:38 ...

Test message

不幸的是,除了使用OpenSource驱动程序(“ nouveau”)外,我不知道有什么方法可以解决此问题。使用该驱动程序可以正常进行VT切换,但是该驱动程序会产生其他问题(自发崩溃,而在我看来,这通常会降低性能)。我既不是内核开发人员,也不是NVidia开发人员,所以我只能做自己的症状分析。


这只是framebuffer控制台中的一个问题。如果不使用它,则虚拟控制台可以正常工作。
凯西

@ alexander255在问题中查看我的编辑:我(部分)使它可以再次工作。我真的不明白这里发生了什么,什么是好的解决方案,所以如果有人可以写一个好的答案,我将不胜感激。
Martin Thoma 2014年

@casey:您是否建议依赖启动时视频设置?还是您使用现代的nvidia卡及其专有驱动程序成功运行了SVGATextMode?
Incnis Mrsi 2015年

@IncnisMrsi Afaik专有的nvidia驱动程序与帧缓冲区不兼容。如果您两者都想要,请使用noveau。
casey 2015年

@casey:什么时候不兼容?也许是在2014年,但是目前的驱动程序向我展示了一个不错的TUI(尽管completely完全不确定fbdev)。nvidiaonly只有在挂断我的电话才将模块从我的新盒子上踢开。顺便说一句,Ī̲就是在谈论硬件文本模式。
Incnis Mrsi 2015年

1

不太了解ubuntu系统,但通常ttysagetty在引导过程中产生的。也许ubuntu开发人员决定不这样做?无论如何,您可以尝试以root身份运行/sbin/agetty 38400 tty2 linux,看看是否有任何更改tty2

通常,此命令位于文件/etc夹下的某些配置文件中。例如在我的Gentoo系统中/etc/inittab我有

# TERMINALS
c1:12345:respawn:/sbin/agetty --noclear 38400 tty1 linux
c2:2345:respawn:/sbin/agetty 38400 tty2 linux
c3:2345:respawn:/sbin/agetty 38400 tty3 linux
c4:2345:respawn:/sbin/agetty 38400 tty4 linux
c5:2345:respawn:/sbin/agetty 38400 tty5 linux
c6:2345:respawn:/sbin/agetty 38400 tty6 linux

您可以grep getty /etc/*查看是否有类似行的文件。


首先,如果未创建虚拟控制台,则无法访问它,如果存在,则光标(通常)在此处闪烁。其次,getty与视频模式无关,尤其tty1始终存在的视频模式。下注。
Incnis Mrsi 2015年

1

啊。因此,这个问题困扰了我大约18个月。我今天终于修好了。

我必须设置UEFI引导分区,并使系统能够从中引导。我在pci选项下启用了efifb,simplefb和通用fb处理程序(许多其他组合不起作用)。我有uefi直接引导内核,没有使用任何中间引导程序。

一旦X11加载,使用bios兼容模式(simplefb,uvesafb,vesafb等)的废话组合就无法使我的VT恢复。现在,当我摔断东西时,我可以快乐地来回切换:)


1
您如何直接从UEFI传递内核参数?
sherrellbc

0

我也遇到了这个问题,我的解决方法是更改​​为恢复模式,然后选择“恢复”选项。当我看到登录屏幕并按STRG + ALT + F1一下时,我可以看到文本登录并可以与系统交互(对我来说,安装专有的NVIDIA驱动程序很重要,不是很讽刺吗?)。希望我的解决方法也对您有用:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.