Monday, July 04, 2005

Getting A Text Terminal

Way back in the past, even before the X window system for Unix-like operating systems was in widespread use, it was realized that sometimes a simple terminal screen wasn't enough.

So it was decided that there should be multiple terminals available to the average user. These days the default number is set at 7. So if, for example, you're logged into terminal #1, and you want to do something completely different, you can hit Alt-F2, and suddenly you're in terminal #2. You can even log into terminal #2 with a different account, so two people can work on the same terminal screen, provided that they don't beat each other silly fighting to press Alt-F1 or Alt-F2.

When X windows was added, the extra terminals were left intact. A good decision, as anyone who has watched a Windows graphic freeze up with no solution except to reboot can attest. In fact, in a default Linux system the X-window graphics module runs in terminal #7. The only difference between systems with X and systems without X is that you need an additional keypress to get to terminal #3, say, pressing Ctrl-Alt-F3 to get to terminal #3 and Ctrl-Alt-F7 to get back to X.

So if a program does hang up your X-windows system, all you have to do is hit, say Ctrl-Alt-F1, log in there, do ps xawu to find the offending process's ID number, and kill it. Most times X will come back by itself, but if it doesn't, you can log in as root and kill X. It will restart when you do Ctrl-Alt-F7.

Except with Fedora Core 4 and my Intel 82845G/GL "integrated" graphics device, it didn't work. Hitting Ctrl-Alt-F1 gave you a blank screen. I think that you could log in and Do Stuff, but I couldn't verify anything, and logging in seemed to freeze the Ctrl-Alt-F7 mechanism to get back to X.

This bug was often reported, but not fixed. Now, thanks to Fedora Weekly News, I find that there is a workaround (see Bug#2 in this link). It seems that the offending software is part of the new X distribution, specifically the library libvgahw.a. Apparently there is something in the new gcc 4 compiler that doesn't like the source code for this library. So the solution is:

Duh, use the library file from Fedora Core 3. The procedure is:

  1. Download the latest and greatest version of this file from
  2. Log in as root.
  3. Copy the downloaded version of the file to
    you might want to rename the old file first, just in case you need it around.
  4. Restart X and see what happens. For me, it works.

This isn't the optimal way of doing things, of course. Hopefully a real fix will arrive soon.