4a2b2eac33440edadd67ac6883155df55aa6d22a
Bug fixes: - Fixed PTY bridge: IO thread now uses pty_slave_ instead of pty_master_ (remote output was never reaching the terminal) - Fixed double-delete crash on tab close by removing page-removed callback - Fixed port being ignored in password dialog (always used port 22) - Added EINTR handling in select() for IO thread - Added mutex for thread-safe cleanup - Added try/catch for std::stoi in server config parsing - VtePty lifecycle now managed properly (no double-close) - Redundant ssh_channel_poll_timeout call removed New: - Added .desktop file for system-wide application menu entry - Makefile.am installs desktop file to $(datadir)/applications - Makefile.am installs icon to $(datadir)/icons/hicolor/256x256/apps
x3-ssh
A GTK3-based SSH client with a tabbed terminal interface, server management, and SSH key storage.
Features
- Tabbed terminal - Multiple SSH sessions in tabs
- Server management - Save, edit, and remove SSH server configurations
- SSH key management - Generate, import, and manage SSH keys
- Quick connect - Connect directly via host/user/port fields
- VTE terminal - Full terminal emulation with 256 color support
- Resizable pty - Terminal auto-resizes the remote pty on window resize
Dependencies
- GTK+ 3.0 (>= 3.24)
- VTE 2.91 (>= 0.50)
- libssh (>= 0.9)
- autotools / autoconf / automake / libtool
- pkg-config
- g++ with C++17 support
Building
# Install dependencies (Debian/Ubuntu)
sudo apt install libgtk-3-dev libvte-2.91-dev libssh-dev \
autoconf automake libtool pkg-config
# Build
mkdir -p build-aux
autoreconf -fi
./configure
make
# Install (optional)
sudo make install
Configuration
Server configurations are stored in:
~/.config/sshclient/servers.conf
SSH keys are stored in:
~/.config/sshclient/keys.conf
~/.config/sshclient/keys/
Usage
- Start the application:
./x3-ssh - Quick Connect: Enter host, user, and port in the toolbar, click "Connect"
- Saved Servers: Click "Servers" to add/edit/remove saved server configurations
- SSH Keys: Click "Keys" to generate or import SSH keys
- Tabs: Click "+ Tab" for a new empty tab, "Close Tab" to close the current one
- Select a saved server from the dropdown to auto-fill connection details
License
MIT
Description
GTK3 SSH client with tabbed terminal, server management and SSH key storage
564 KiB
Languages
Makefile
48.9%
Shell
31.1%
C++
19.9%
M4
0.1%