写这篇文章的主要原因,是因为在某些机器上运行Linux【主要是Debian、Ubuntu】在启动X图形【如gnome】时,屏幕黑屏完全无反应。对于此种情况做简单的记录,也便他日翻阅,也顺道记录小部分基于Debian的Linux发行版本的运行级别与X的问题。
Ubuntu安装与启动X的问题
这通常是发生在使用Ubuntu Live CD安装盘,执行试用和安装的时候。
在某些PC上,引导到Ubuntu Live CD,当CD菜单出现在屏幕上时,选择Try Ubuntu Without Install或是Install Ubuntu时。显示器出现定屏,或是黑屏,而失去响应,也就是当机了。记得在Ubuntu较早前版本,通常是与PC的高级电源管理之间存在某种不兼容的原因,所以一般添加上acpi=off选项之后,可正常执行。如果还是不行的话,则到BIOS中将ACPI关闭。
在Ubuntu在10.10的版本,有写机器出现上述的情况,不一定是跟ACPI有关系,但也不排除。如果在尝试了关闭ACPI之后仍然出现,可以按F6将nomodeset参数选中,一般情况下可以正常解决。
对于nomodeset,不是很了解是什么东西,应该是Linux内核与屏幕显示【渲染】有一定的关联。
还有另外一种现象,是出现在安装完成之后才出现上述的情况。要是出现这样的情况,可以尝试在grub配置文件中,将欲引导的选项的kernel部分加上nomodeset参数。
编辑/boot/grub/grub.cfg,找到欲引导的menuentry,在kernel部分最尾,添加nomodeset。
menuentry ‘Linux Deepin 11.06 64-bit, 2.6.38-10-generic (/dev/sda1)’ –class linuxdeepin –class gnu-linux –class gnu –class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)’
search –no-floppy –fs-uuid –set=root 7b3ef622-c4de-4642-b8a4-94529e8bb1f8
linux /boot/vmlinuz-2.6.38-10-generic root=UUID=7b3ef622-c4de-4642-b8a4-94529e8bb1f8 ro quiet splash nomodeset #添加nomodeset的一行
initrd /boot/initrd.img-2.6.38-10-generic
}
Debian及Debian Based发行版本运行级别与X
通常,Linux运行级别定义是一下这样的:
#0 关闭系统,也就是会调用halt、poweroff命令。
#1 单用户模式
#2 多用户模式【不带NFS】
#3 完整的多用户模式
#4 启动特殊模式,不太清楚
#5 启动X11管理【如gdm、kdm之类的图形管理程序】
#6 重新启动 【reboot】
在RedHat及Suse等发行版本,运行级别是由inittab文件来控制的,修改/etc/inittab文件,就可以指定启动时进入的运行级别,只需将inittab文件中id:x:initdefault的x更改为需要默认进入的运行级别对应的数字即可。
在Debian中,默认也存在inittab文件。但是Debian的运行级别定义不同与RedHat和Suse等发行版本一样,可以看下Debian默认的inittab文件中的注释:
# Runlevel 0 is halt. # Runlevel 1 is single-user. # Runlevels 2-5 are multi-user. # Runlevel 6 is reboot.
在2-5的runlevel中,定义比较笼统,在RedHat发行版本中,有比较明确的定义,当运行级别为5的时候,才启动X管理程序。而在Debian中,则是由其他程序控制到底进不进图形界面,感觉相当不便麻烦。
如果你要在Debian或是基于Debian的Linux发行版本,启动时默认进入字符界面而不进入图形界面,有几种方法。
一、由grub控制,修改/etc/default/grub文件,找到GRUB_CMDLINE_LINUX_DEFAULT=””一行,在引号中添加text,然后执行update-grub,然后reboot即可。
这样做其实也就是在/boot/grub/grub.cfg文件中的menuentry中给kernel部分添加上了text参数,也就是可以直接修改grub.cfg文件。
二、rcconf
直接用rcconf取消X图形管理的启动,如果有互联网连接,直接apt-get install rcconf,然后执行rcconf,取消gdm之类图形管理即可。
三、删除/etc/rcx.d中的如Sxxgdm之类的链接文件,xx代表数字。默认是gdm管理,如果安装了其他图形界面,可能是kdm之类的,则删除类似的文件。在Debian及早期的Ubuntu,此方法都可行之。如果在Ubuntu中的rcx.d目录找不到类似的文件,可以在/etc/init.d中查找,如删除/etc/init.d中的gdm,也可以将其移到其他位置。
最后,如果在使用上的时候完全不用使用到图形界面的话,可以直接删除图形界面程序,则默认启动到字符界面。
Debian安装的时候,将图形取消选中即可。如果是选择用Ubuntu,可以使用Ubuntu Alternative 版本,也可以不安装图形。
至于运行级别,不是很了解在Debian及Ubuntu中,到底是怎么个回事,就不说了,也就JJYY完了。
内容太深,完全看不懂的说,过来顶一下~