Last week, I attended a DevNation talk, "Getting Started with C# on Red Hat Enterprise Linux and OpenShift", given by Scott Hunter from Microsoft. The first thing Scott asked was, "Does anyone know how to recover from hitting CTRL-ALT-F8 in Red Hat Enterprise Linux?"
Apparently, an hour or two before his presentation, Scott accidentally hit that key sequence while trying to use a keyboard shortcut for Hyper-V which was running his Red Hat Enterprise Linux VM on his Microsoft Surface convertible. That key sequence resulted in an unresponsive blank screen with a blinking cursor that he couldn't figure out how to recover from.
Of course this gave Scott a mini heart attack given his imminent presentation that was to include a live demo. If you've been around Linux long enough, you probably know that this is a feature called Linux Virtual Consoles. I'll explain that in a bit. But the point of is we are in new world where we've got a lot of developers who are new to Linux.
So the question is how to give developers who aren't system administrators, concise easily accessible Linux know-how so they can get their jobs done? If you've been following developers.redhat.com, you may have noticed a few answers to that question:
Getting answers to your questions
- Developer focused Get Started guides for Red Hat products — these are short how-to style documents with the goal of getting you to the point where you can start developing as quickly as possible.
- Stack Overflow for Red Hat products — by using the appropriate tag, you can get answers to your questions directly on Stack Overflow. The selected tags match Red Hat product names, which enables Red Hat engineers to find your questions.
- Red Hat Developer Forums — recently, the popular JBoss.org forums have extended to cover all of the Red Hat products that are of interest to developers. You will find discussions on containers, developer tools such as software collections, and .Net for Red Hat Enterprise Linux.
Linux Virtual Consoles
The answer to Scott's problem is to hit CTRL-ALT-F1 to go back to the virtual console where his desktop was running. Since the early days of Linux, there has been support for multiple virtual consoles that you can get to by hitting CTRL-ALT-Fn. Each of these is like having an additional virtual display and keyboard attached to your system. Most users only ever see the first console. If you are running a graphical desktop, it will be on the first virtual console. If you hit CTRL-ALT-F2, you'll get a text-based login prompt. You could log in there, and start another, different graphical desktop. You could then flip back and forth between the two. On Red Hat Enterprise Linux 7, virtual console 2 through 6 are configured for text based logins. By default there is nothing running on virtual console 7 through 12, which is why Scott saw only a blinking cursor.
Multiple virtual consoles exist because in many cases they can be a real help if something goes wrong with your desktop, such as a misconfigured video driver, making your screen unreadable. This feature was used heavily by those developing components such as the X window server, desktops such as GNOME, or even the Red Hat installer Anaconda. When you are installing Red Hat Enterprise Linux, you will normally only see the installer screen. However, if something goes wrong, you can flip through the virtual consoles to see the logs, or get a text based shell that can be used for installing other drivers, fixing configuration problems, or capturing diagnostic info to send to Red Hat.
If you are running in a VM today, you probably won't have a need to use Linux Virtual Consoles. Hopefully now you will know how to recover if you accidentally switch to the wrong console. I was able to explain this to Scott after his talk.