(tmux)

CIS241

System-Level Programming and Utilities

(mostly) tmux and (a bit of) screen

Erik Fredericks, frederer@gvsu.edu
Fall 2025

Based on material provided by Erin Carrier, Austin Ferguson, and Katherine Bowers

CIS241 | Fredericks | F25 | 26-tmux

tmux

terminal multiplexer

Way to:

  • Split your terminal into panes

    • Each pane is a bash instance
  • Have "background" sessions running

Installing (if you don't have it - EOS does):

  • sudo apt install tmux or brew install tmux

(Note - only will be showing "common" usages)

Ref: https://hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/

top-corner (tmux)

.

tmux - sessions

Creating a session: tmux

  • Green status bar at bottom tells you pane+shell information
  • Also, is configurable!

Listing existing sessions: tmux ls

Re-attach existing sessions: tmux attach-session -t <id>

Killing sessions: Ctrl+d or exit

Detaching sessions: Ctrl+b d

  • (goes into background)
CIS241 | Fredericks | F25 | 26-tmux

tmux - panes

In a tmux session:

Splitting panes:

  • Horizontally: Ctrl-b "
  • Vertically: Ctrl-b %

Navigating panes:

  • Ctrl-b <arrow key>

New window: Ctrl-b c

  • Navigating: Ctrl-b p (previous) or Ctrl-b n (next)
CIS241 | Fredericks | F25 | 26-tmux

screen

Also fine - though I don't use it anymore

Does similar things: https://www.baeldung.com/linux/screen-command

(Kind of like the emacs vs vim debate, you'll see people arguing over tmux vs screen)

  • tmux is newer and often pre-installed
CIS241 | Fredericks | F25 | 26-tmux