A modern, native PuTTY session manager with tabbed terminals for Ubuntu.
Tabber wraps PuTTY's plink command-line tool in a sleek GTK4/libadwaita interface, giving you browser-like tabbed sessions, organized connection management, and powerful features for system administrators and developers.
- Tabbed Sessions - Open multiple SSH, Telnet, Serial, and Raw connections as tabs
- Connection Sidebar - Save, organize, search, and manage connections with one click
- Quick Connect - Type
user@host:portortelnet://switch:23in the address bar and go - PuTTY Compatibility - Import existing PuTTY sessions; Tabber reads and writes the same session format
- Session Groups - Organize connections into collapsible folders (Production, Staging, Dev, etc.)
- Color-Coded Tabs - Assign colors to connections so you never run a command on the wrong server
- Broadcast Input - Send keystrokes to ALL open sessions simultaneously (Ctrl+Shift+B)
- Split Panes - Split any tab horizontally or vertically to view two terminals side by side
- Auto-Reconnect - Dropped connections automatically retry up to 5 times
- Session Logging - Record terminal output to timestamped log files
- Terminal Search - Search scrollback with Ctrl+Shift+F
- Tab Overview - Grid view of all open tabs (Ctrl+Shift+O)
- SFTP Transfers - Quick upload/download dialog for SSH sessions
- Command Snippets - Save frequently used commands and replay them with one click
Screenshots coming soon
sudo add-apt-repository ppa:gcottrell/tabber
sudo apt update
sudo apt install tabbersudo apt install python3-gi python3-gi-cairo gir1.2-gtk-4.0 gir1.2-adw-1 \
gir1.2-vte-3.91 libvte-2.91-gtk4-0 putty-toolsgit clone https://github.com/Clanker-Built/tabber.git
cd tabber
PYTHONPATH=src python3 -m tabbersudo pip3 install .
sudo cp data/com.github.clankerbuilt.Tabber.desktop /usr/share/applications/
sudo cp -r data/icons/hicolor/* /usr/share/icons/hicolor/
sudo gtk-update-icon-cache /usr/share/icons/hicolor| Shortcut | Action |
|---|---|
| Ctrl+T | New connection |
| Ctrl+W | Close tab |
| Ctrl+L | Focus quick connect bar |
| Ctrl+PageDown | Next tab |
| Ctrl+PageUp | Previous tab |
| F9 | Toggle sidebar |
| Ctrl+Shift+C | Copy |
| Ctrl+Shift+V | Paste |
| Ctrl+Shift+F | Search in terminal |
| Ctrl+Shift+B | Toggle broadcast mode |
| Ctrl+Shift+H | Split horizontal |
| Ctrl+Shift+E | Split vertical |
| Ctrl+Shift+R | Remove split |
| Ctrl+Shift+O | Tab overview |
| Ctrl+Shift+L | Toggle logging |
| Ctrl+Shift+T | SFTP transfer |
| Ctrl+Plus | Zoom in |
| Ctrl+Minus | Zoom out |
| Ctrl+0 | Reset zoom |
| Ctrl+Q | Quit |
The quick connect bar accepts these formats:
myserver.com -> SSH to myserver.com:22
[email protected]:2222 -> SSH as admin to 10.0.0.1:2222
telnet://switch.local:23 -> Telnet to switch.local:23
serial:///dev/ttyUSB0 -> Serial connection to /dev/ttyUSB0
Tabber stores data in two locations:
~/.putty/sessions/- Connection details in PuTTY-compatible format~/.config/tabber/- Tabber metadata (groups, colors, snippets, logs)
~/.config/tabber/
sessions.json # Groups, colors, notes metadata
snippets.json # Saved command snippets
logs/ # Session log files
| Protocol | Backend | Default Port |
|---|---|---|
| SSH | plink -ssh | 22 |
| Telnet | plink -telnet | 23 |
| Rlogin | plink -rlogin | 513 |
| Raw | plink -raw | - |
| Serial | plink -serial | - |
sudo apt install debhelper dh-python python3-setuptools
cd tabber
dpkg-buildpackage -us -uc -bThe .deb file will be created in the parent directory.
- Python 3.12 with PyGObject
- GTK4 + libadwaita 1.5 for a modern GNOME-native UI
- VTE 3.91 for native terminal emulation
- plink (from putty-tools) as the connection backend
- Fork the repository at github.com/Clanker-Built/tabber
- Create a feature branch:
git checkout -b my-feature - Commit your changes:
git commit -m 'Add my feature' - Push to the branch:
git push origin my-feature - Open a Pull Request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
George Cottrell - [email protected]
- GitHub: Clanker-Built
- Launchpad: gcottrell