I use vim a lot and it occurs to me that most of the time I don't even really need a GUI, since I'll only use my computer to take notes in VIM. The problem is, though, is that colors don't show up correctly on tty (i.e. when I press Ctrl+Alt+F1, F2, etc). I found a plugin for VIM that makes colors work better with terminals that usually work with GVIM, and that's made them work in, say, gnome-terminal, but not in TTY.

This post seems to suggest that I'd have to recompile the whole kernel to get this to work. Is there an easier way? Can it be done?


Are you asking about how to get 256 colour support in Linux console ttys? As the post you've linked to says, you'd need to modify your kernel to do that (and the modifications you'd need have not been written: it isn't just a matter of changing the config). Without modification, you'll have to make do with the standard 16 colours on the console.

An alternative would be to switch to a different terminal emulator. One option is fbterm, which has been packaged on Ubuntu under the same name. It is a terminal emulator that can run directly against the Linux frame buffer device.

If you are just after a full screen terminal emulator, another option would be to just use the standard GNOME terminal emulator and hit F11.

  • Yep, basically I'd like to find a way to get 256 color support without loading X. Just to see if I can do it. Forgive the novice questions, but what exactly is a frame buffer (wikipedia is little help this time)? When I try to run fbterm in gnome-terminal, it tells me "stdin isn't a interactive tty!" and when I try it in tty1, it tells me "can't open frame buffer device!" It's a very exclamatory program, apparently. – Jonathan Aug 16 '11 at 2:11
  • A frame buffer just refers to a piece of memory that represents what is shown on screen. Linux provides a "frame buffer device" interface that can be used to manipulate the frame buffer. You'll only be able to run programs that use the fbdev interface from the console (as opposed to X), and you'll also need to add yourself to the video group to access it. Once that is done, fbterm should run fine. You may also need to set TERM=fbterm so that programs you run recognise its capabilities. – James Henstridge Aug 16 '11 at 3:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.