Ubuntu server汉化desktop不启动桌面framebuffer


zhcon --utf8 --drv=vga

sudo apt-get update && sudo apt-get dist-upgrade

sudo apt-get install linux-libc-dev libc6-dev

sudo apt-get -f install linux-libc-dev libc6-dev libstdc++6-4.2-dev g++-4.2 g++ gcc

apt-get remove softname1

但Ubuntu并没有采用init的方法,并没有 /etc/inittab这个文件。init使用的是串行的方式,引导很耗时。RedHat9启动时串行执行大量的脚本以启动各种需要的服务(启动时可以看到)。Ubuntu采用了upstart,是一个基于事件的 init 的替代程序,用于 Ubuntu 发行版。

Ubuntu中没有 /etc/inittab这个文件,但用户可以自己添加。当系统中有 /etc/inittab 时Ubuntu会按照配置来启动。

所以要想直接进命令行,第一种方法是用户添加 /etc/inittab,不过Debian或是Ubuntu中默认run level是2,且2~5都是指X环境。(但命令行是几?不确定,尚未测试)

另外一种方法,可以考虑在对应的runlevel级别停止gdm服务:

$ sudo mv /etc/rc2.d/S30gdm /etc/rc2.d/K30gdm (有可能是S13gdm,不一定)

还可以把gdm删掉。先备份/etc/init.d/gdm到其它位置:

$ sudo /etc/init.d/gdm /usr/gdm

然后删除/etc/init.d/gdm,删除后只是不启动XWindow,其它服务不变。需要直接进入XWindow到话,再复制回来。

其实如果仅仅是为了在命令行下的话,在xwindows界面下按Ctrl + Alt + F2 进入字符界面,按Ctrl + Alt + F7 回到图形界面。

还有一种方法:

$sudo apt-get rcconf

$sudo rcconf

在启动中将gdm去掉。

按如下方法操作:
sudo vi /etc/initramfs-tools/modules

加入如下三行内容
fbcon
vesafb
vga16fb

然后
sudo vi /etc/modprobe.d/blacklist-framebuffer

把文件/etc/modprobe.d/blacklist-framebuffer里面的vesafb和vga16fb这两行给注释掉。

sudo gedit /boot/grub/menu.lst

在启动项的最后面加上

vga=0x0317(视显示器和位数而定,此为1024*768*16bit)

sudo hwinfo --framebuffer

这一部分显示了我的显卡支持的分辨率和色深度:
Mode 0x0360: 1280x800 (+1280), 8 bits
Mode 0x0361: 1280x800 (+2560), 16 bits
Mode 0x0362: 1280x800 (+5120), 24 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+832), 8 bits
Mode 0x0311: 640x480 (+1280), 16 bits 

相关内容