Linux Serial Terminal Programs — Install, Use, and Compare screen/minicom/picocom/tio
A single roundup of the Linux serial terminal programs you use to reach the console port of network devices (switches/routers) or embedded boards over a USB-serial cable — overview, install, usage (start/stop), pros/cons, and removal.
Environment: Ubuntu 22.04+ / USB-to-Serial console cable (FTDI, PL2303, etc.)
[01] Overview — What Is a Serial Terminal
A network device’s Console port is a path to the CLI that works even without an IP. When you connect a USB-serial cable to the PC, Linux usually exposes it as:
-
/dev/ttyUSB0— USB-Serial converter chips like FTDI, PL2303 -
/dev/ttyACM0— CDC-ACM family (USB built into some boards)
A “serial terminal” is a program that opens this device and communicates using serial parameters such as baud rate (e.g. 9600). The main ones are screen, minicom, picocom, and tio.
A regular user may lack serial-port access and hit Permission denied. Add your user to the dialout group to connect without sudo (re-login required).
1
2
3
4
5
6
7
# Identify the device
ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/null
dmesg | grep -iE 'ttyUSB|ttyACM' | tail # device name at plug-in time
lsusb # check the serial chip (FTDI/Prolific)
# Grant access (once, then log out → log in)
sudo usermod -aG dialout $USER
All examples below assume 9600 8N1, no flow control (the default for Arista and similar network devices). Just change the baud to match your device.
[02] screen
The most widely preinstalled, all-purpose “just connect” tool. Not serial-specific, but supports serial.
1
2
3
4
5
# Install
sudo apt update && sudo apt install -y screen
# Start: screen <device> <baud>
screen /dev/ttyUSB0 9600
-
After starting: if the screen is blank, press
Enterto wake the prompt. -
Quit:
Ctrl + athenk→y(force-kill the session). -
Detach (keep in background):
Ctrl + athend; reattach withscreen -r.
[03] minicom
A serial-dedicated program. Saves settings via menus and provides file transfer (X/Y/Zmodem) and logging.
1
2
3
4
5
6
7
8
# Install
sudo apt install -y minicom
# Start: specify device/baud directly
sudo minicom -D /dev/ttyUSB0 -b 9600
# Settings menu (persistent)
sudo minicom -s
- In
Serial port setup, set Serial Device (/dev/ttyUSB0), Bps/Par/Bits (9600 8N1), Hardware/Software Flow Control (No) →Save setup as dfl. -
Quit:
Ctrl + athenx→Yes.
[04] picocom
As the name suggests, lightweight with clear command-line options — great for scripts/automation. Almost no UI features.
1
2
3
4
5
# Install
sudo apt install -y picocom
# Start
picocom -b 9600 /dev/ttyUSB0
-
Quit:
Ctrl + athenCtrl + x. - All other shortcuts use the
Ctrl + aprefix.
[05] tio (Recommended)
A modern serial terminal. Clean command line and auto-reconnect when the device is unplugged and plugged back in — the most convenient option when you attach to device consoles often.
1
2
3
4
5
# Install (default repos on Ubuntu 22.04+)
sudo apt install -y tio
# Start: tio defaults to 115200, so specify 9600
tio -b 9600 /dev/ttyUSB0
-
Quit:
Ctrl + tthenq(all shortcuts use theCtrl + tprefix). -
List shortcuts:
Ctrl + tthen?. -
Save a profile: register it in
~/.config/tio/configto connect by name.
1
2
3
4
# ~/.config/tio/config — connect with "tio arista"
[arista]
device = /dev/ttyUSB0
baudrate = 9600
[06] (Reference) cu / putty
-
cu:
sudo apt install -y cu→cu -l /dev/ttyUSB0 -s 9600, quit with~.. An old UUCP-era tool for simple uses. -
putty: has GUI/CLI versions on Linux too.
putty -serial /dev/ttyUSB0 -sercfg 9600. The tools above are nicer in a console environment, though.
[07] Pros and Cons
| Program | Pros | Cons | Best for |
|---|---|---|---|
| screen | Preinstalled almost everywhere, simple | Lacks serial-specific features, confusing exit keys, awkward logging | Quick, ad-hoc console access on someone else’s server |
| minicom | Serial-dedicated, saves settings, logging/file transfer | Fiddly initial setup UI | When you need features like file transfer |
| picocom | Lightweight, clear options, good for automation | Almost no UI features | Cleanly viewing a console from a script |
| tio | Modern, auto-reconnect, profiles | Sometimes not preinstalled | Attaching to your own device consoles often (personal pick) |
| putty | Familiar in GUI | Awkward in a server CLI | GUI access on Ubuntu Desktop |
Recommended Order
For attaching to network-device consoles from your own PC: tio → picocom → screen → minicom.
-
Your device / used often →
tio(auto-reconnect and profiles are decisive) -
Ad-hoc / on-site / someone else’s server (install rights unclear) →
screen(already everywhere) -
Need file transfer →
minicom
In short: “tio for your own setup, screen for ad-hoc” — those two axes are enough.
[08] Removal
1
2
3
4
5
6
7
8
9
10
11
# Remove individually
sudo apt remove -y screen
sudo apt remove -y minicom
sudo apt remove -y picocom
sudo apt remove -y tio
# Fully remove including config files (purge)
sudo apt purge -y minicom
# Clean up dependencies
sudo apt autoremove -y
-
removedeletes the package only;purgealso removes config files under/etc. - User settings (
~/.config/tio/,~/.minirc.dfl, etc.) must be deleted manually.
1
2
rm -f ~/.minirc.dfl # minicom user settings
rm -rf ~/.config/tio # tio profiles
[09] Summary
| Step | Command |
|---|---|
| Identify device |
ls /dev/ttyUSB*, dmesg \| grep ttyUSB, lsusb
|
| Permission |
sudo usermod -aG dialout $USER (re-login) |
| screen |
screen /dev/ttyUSB0 9600 / quit Ctrl+a k
|
| minicom |
minicom -D /dev/ttyUSB0 -b 9600 / quit Ctrl+a x
|
| picocom |
picocom -b 9600 /dev/ttyUSB0 / quit Ctrl+a Ctrl+x
|
| tio |
tio -b 9600 /dev/ttyUSB0 / quit Ctrl+t q
|
| Removal |
sudo apt remove/purge <pkg> + autoremove
|