Linux

Linux 系統在何處/何時更改控制台顯示模式?

  • September 22, 2015

我正在我的一個盒子上安裝 Debian Wheezy (7.0rc1)。由於我不會在這裡介紹的原因,我不希望幀緩衝區在引導期間(也不在之後)用於控制台顯示。為了避免這種情況,我補充說:

GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=keep

/etc/default/grub. 事實上,我在 grub 中獲得了文本模式,並且在啟動時的前幾秒鐘。但隨後,控制台切換到該地獄般的幀緩衝區!:

[    4.407402] Console: switching to colour frame buffer device 128x48
[    4.408544] fb0: nouveaufb frame buffer device

(這是節選/var/log/dmesg。)

/etc/init.d我在腳本的任何地方都找不到它的踪跡。我想這可能與核心模組載入有關——我沒有發現任何有趣的/etc/modules東西/etc/modprobe.d

那麼,這種情況何時/何地發生?我怎樣才能避免這種轉變?

(基於@MichaelHampton 的回答

顯然,Linux 核心甚至在init 程序執行之前就設置了顯示模式。現在,核心從引導載入程序中獲取參數——所以要做的就是設置參數告訴它不要切換顯示模式。然而,這還不是全部:設置顯示模式後,還有一個字型設置,它本身就有點搞砸了你的顯示;在 Debian Wheezy 上,這是由 完成的/etc/init.d/console-setup,因此您還必須考慮它究竟做了什麼。

為了更加一致,你應該做的是:

  1. /etc/default/grub中,添加行
GRUB_CMDLINE_LINUX="nomodeset"

或者,如果您已經有一個GRUB_CMDLINE_LINUX設置,請附加nomodeset到它。 2. 中/etc/default/console-setup,替換

FONTFACE="Fixed"

FONTFACE="VGA"

或者,或者,不要/etc/init.d/console-setup在 rcS unlevel 中執行(例如,使用update-rc.d命令)。

據我所知,“VGA”字型與您應該擁有的字型相同,因此如果您選擇此字型,更改字型應該不會有任何影響。但是,我不完全確定這是普遍正確的,所以也許你最好完全避免字型更改。

引用自:https://serverfault.com/questions/490955