Linux: How to change the text size or character size in runlevel 3 (text mode)

last updated in Categories Howto, Linux, Tips

If you have large size (21″) or small size (14″) monitor, it is better to use large/small character size. But how do you setup character size in runlevel 3 under Linux?

Advertisements

The answer is simple, use the kernel framebuffer. It allows you to set the Linux text scree (console) to higher or lower resolution. The Linux framebuffer (fbdev) is a graphic hardware-independent abstraction layer to show graphics on a console without relying on system-specific libraries such as SVGALib or the heavy overhead of the X Window System.

Open GRUB configuration file grub.conf
# vi grub.conf

Append line vga=0x318 (a 24-bit color depth @ 1024×768 display) to kernel line. At the end your modification should look like as follows:
title Debian Linux, AMD-VSNL (VMWARE)
root (hd1,0)
kernel /boot/vmlinuz-2.6.17.11-ROCKY-DEV-AMD root=/dev/hdb1 ro vga=0x318
initrd /boot/initrd.img-2.6.17.11-ROCKY-DEV-AMD
savedefault
boot

Save and close the file. Reboot the system:
# reboot

0x318 (hex) is a mode. Here are common modes:

Colors640×480800×6001024×768
8 bits0x3010x3030x305
16 bits0x3110x3140x317
24 bits0x3120x3150x318

See kernel docs – Documentation/i386/boot.txt and Documentation/svga.txt files for more information. You can also pass special parameter called ask i.e. vga=ask for menu.

Please note that not all video cards out there support kernel framebuffer mode. Also you may need to to use special driver.

References:

ADVERTISEMENTS

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.