当我从图形会话去通过虚拟主机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
Run Code Online (Sandbox Code Playgroud)
编辑:我尝试了http://forums.linuxmint.com/viewtopic.php?f=42&t=168108 上建议的第一步,问题似乎出在帧缓冲区上。
我这样做了:
两三年来,这个问题一直困扰着 Nvidia 专有驱动程序,并且让我有一段时间远离基于 Ubuntu 的发行版。最后,在 Nvidia 论坛上,我找到了我一直在寻找的解决方法。问题出现在 Nvidia 专有驱动程序上(Nouveau 不显示此行为):当您按下 ctrl-alt-F1 时,您只会看到黑屏,或者充其量只是一个闪烁的光标,什么也不做。问题显然与帧缓冲区的实现方式有关,需要禁用它。要查看这是否是问题所在,首先您需要对 /etc/default/grub 进行一些小的修改 - 但首先,请进行备份!
Run Code Online (Sandbox Code Playgroud)$ sudo cp /etc/default/grub /etc/default/grub.bak
现在通过输入编辑文件
Run Code Online (Sandbox Code Playgroud)$ sudo pluma /etc/default/grub
在编辑器中,取消注释行
Run Code Online (Sandbox Code Playgroud)#GRUB_TERMINAL=console #GRUB_GFXMODE=640x480
通过删除
#
. 保存文件并运行 undate-grub 以实现更改Run Code Online (Sandbox Code Playgroud)sudo update-grub
现在我有(低结果)tty 再次工作:-)
ntn*_*nja 10
那是因为您使用的是专有的 NVidia 驱动程序。
当我使用专有驱动程序使用 OpenSUSE 时,我的控制台也是黑色的,现在我再次使用 Ubuntu,它们得到了更“酷”的效果:(别担心,屏幕很好!)
其原因似乎是 NVidia 内核驱动程序,一旦由 DDX(=设备相关 X11)驱动程序初始化,就无法处理来自任何其他视频子系统(例如 fbdev、VESA、Linux 控制台等)的请求。
切换到控制台时,它仍将被激活。要验证这一点,请尝试盲目登录控制台并输入易于注意的内容,例如wall
或reboot
:
<Your username>
<Your password>
echo "Test message" >/tmp/message; wall </tmp/message
Run Code Online (Sandbox Code Playgroud)
从控制台返回后,您应该在任何终端窗口中看到如下内容:
Broadcast message from <Your username>@<Hostname>
(/dev/tty2) at 23:38 ...
Test message
Run Code Online (Sandbox Code Playgroud)
不幸的是,除了使用开源驱动程序(“nouveau”)之外,我不知道有什么方法可以解决这个问题。使用该驱动程序时 VT 切换工作正常,但该驱动程序会产生其他问题(在我的情况下自发崩溃和通常性能较低)。我既不是内核开发人员也不是 NVidia 开发人员,所以我只能自己分析症状。
不太了解ubuntu系统,但通常是在启动过程中ttys
产生的。agetty
也许 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
Run Code Online (Sandbox Code Playgroud)
你可以grep getty /etc/*
看看是否有一个文件有类似的行。
归档时间: |
|
查看次数: |
22914 次 |
最近记录: |