If you have come across a situation, on your linux machine, when for whatever reason you do NOT have a tty terminal at your disposal when you press ALT+CTRL+F1… to F6, here are some of the things you should check.
On EasyPeasy, I have found that the programs necessary for running the terminal “listener” were missing, so first of all, you need to install mingetty and getty.
Fire up a gnome-terminal or whatever terminal you are usually using under gnome, and type :
sudo apt-get install mingetty getty
and press ENTER.
After the installation of these programs, you’ll have to create a link in the upstart tree somewhere, to start one of them, because – A VERY BAD THING – ubuntu no longer uses /etc/inittab to set the TTY virtual console preferences. In case of easypeasy 1.6, for instance, there was a reference in /etc/rcS.d/S25brltty to a brille terminal, but that wasn’t started either by default, and under gnome, the RUNLEVEL IS UNKNOWN !!!
This is a very serious lucid bug, or a bug directly coming from this particular spinoff, EasyPeasy. They way I’ve seen it while searching on the net for an answer – this problem, with the virtual consoles or TTYs not showing up when pressing CTRL+ALT+F1…F6 still persists today, in several ubuntu versions, several machine configurations, and it’s not because of the errors in machine configuration, not because of X server, and NOT because the users did something wrong while installing, as suggested on some ubuntu forum threads. The problem is simply this: the programs that are supposed to “listen” on the virtual consoles tty 1 through 6, don’t listen, because since the runlevel is unknown because of a bug in the upstart scheme implemented in some ubuntu versions and spinoffs, they are simply not started.
So here’s my very simple solution.
Go to your preferred terminal under gnome.
Get to root by typing
and pressing ENTER. Confirm your password if necessary.
Then create a file in /etc/rcS.d/ by typing something like this [ I say something like this, and not exactly like this, because the filename is entirely up to you ]
chmod +x /etc/rcS.d/S25getty
Look at the lines belows and copy what stands between the two markups I made :
#– copy from here below —
/sbin/getty 38400 tty1 &
/sbin/getty 38400 tty2 &
/sbin/getty 38400 tty3 &
/sbin/getty 38400 tty4 &
/sbin/getty 38400 tty5 &
/sbin/getty 38400 tty6 &
#– copy until here —
– the ampersand end “&” is very important at the end of these lines above, don’t forget them ! –
and then edit the file from /etc/rcS.d/ by typing
and pasting what you’ve just copied from above.
Press CTRL+X, confirm that you want to save, by pressing Y and ENTER.
You have created the file that can be called from any runlevel to make the loging prompt appear on the virtual consoles TTY[1…6] when you press CTRL+ALT+F1…F6.
Now, since there is UNKNOWN RUNLEVEL bug present, it would be useless to link that file to any runlevel’s startup directory, as in /etc/rc2.d, rc3.d, etc. Instead, go to the graphical editor of startup programs, by pressing ALT+F1 to fire up the standard gnome menu, go to “System” – > “Preferences” -> “Startup Applications.” Click on “Add”, a new small input window will appear. Type in a name for your new startup app. Something like “Start TTYs” or similar, but any name would do. In the command line to be run, type the location of the file you created earlier, /etc/rcS.d/S25getty. In the comment field, you can simply enter the name again, or a comment that would help you remember what this script is supposed to do. Click Add again, and then click close.
You’re done. Next time you login to gnome, your TTY terminals or virtual consoles will be available upon pressing CTRL+ALT+F1 to CTRL+ALT+F6 combinations.
To make the TTYs available in the current session, you can either execute the same file with something like pressing ALT+F2 to fire up the “run application” window, in which you type “gksu /etc/rcS.d/S25getty” and pressing enter, or you could type the same command line into the gnome terminal and pressing ENTER.
Hope this helped someone !
Do leave your comments below 🙂