occ2025 cli os old-computer-challenge
Even though I’ve used Linux for a long time, it’s always been largely from the comfort (confines?) of a graphical environment or from a tiling window manager. Ending up in TTY was an accident reserved for when I pushed the wrong keyboard shortcut. It was something that invoked panic, fear. A “Get me out of here,” response.
Over the past day, as part of the week of retro-computing and experimentation for the Old Computer Challenge, I’ve been almost exclusively working from a TTY. Doing my best to learn about, understand and make peace with this scary beast. Turns out it’s not so bad at all!
Jumping to/from TTY
For most of us, when our Linux machine boots up we’re presented with a graphical login screen. This is where we enter our username and password. Optionally, there’s the ability to pick the environment we want to boot into like i3, Sway, or KDE Plasma. This is all a thin veneer over TTY’s text-based login prompt, which would also ask you for a username and password. Your graphical environment is invoked once you’ve successfully authenticated. But… did you know your computer is a multitude, a polycule of TTY sessions that you can bounce between?!
To get to a different TTY session, you can use the keyboard shortcut: <Ctrl>-<Alt>-F_
. The “blank” at the end is a placeholder for the target session number you want to switch to. The graphical environment is usually set up on TTY#1. If you’re sitting at that usual graphical login prompt when the call to adventure strikes you at 88 miles per hour like it’s 1985, you have only to push <Ctrl>-<Alt>-F2
to hop to it! All done and you want to go back to GUI-land? Push <Ctrl>-<Alt>-F1
.
Working in TTY
It can be disorienting working in TTY if you’re used to a full graphical environment. There’s no Qt or X11 you can run GUI programs with. It’s the ultimate trial-by-fire to using a terminal and Command Line Interface(CLI) programs. An instant mouse-less environment, no additional configurations needed! :)
One thing that made TTY easier for me was using tmux, a terminal multiplexer. Not a flux-capacitor, but a multiplexer. It helps you use your terminal session like a windowed or tabbed environment. This makes it easier to work on multiple things in separate panes or even split a pane and toggle back and forth between the areas.
As I write this, I have NeoVim open on half of the screen and the other half is my journal notes for the day. For me, <Ctrl>-B-{HJKL}
lets me toggle through tabs in a tmux pane. There’s lot of other terminal multiplexers out there, explore and find one you like!
Parting Advice
I would encourage everyone to play around in TTY more! It’s a reminder of both how far computers and our OS environments have come in the past 50+ years and also how much we can do without while still getting things done.
If all you’ve used is a graphical environment and very few CLI programs, start learning CLI ways of doing things from there before jumping into TTY. Things like knowing how to use your terminal to inspect folder and files, navigate around a file tree and do some common tasks like copying/moving/deleting files or (un)installing applications.
If you’re a more seasoned Linux user, who is familiar with CLI use, you’ll have less to figure out. The lack of mouse and those one-off GUI ways of doing things will pretty quickly make themselves known.
TTYs are a great learning experience for everyone!