Gnome Connection Manager or GCM is a tabbed ssh connection manager for gtk+ environments. Starting with version 1.2.0 it only supports python3 and GTK 3 so it should run fine on any modern desktop environment.
If you can't update to python/gtk 3 and only have python2/gtk2, then keep using GCM version v1.1.0 from kuthulu.com
The easiest way to install GCM is to download the deb or rpm package from releases or from kuthulu.com and install it using the package manager
sudo dpkg -i gnome-connection-manager_1.2.0_all.deb
sudo yum install gnome-connection-manager-1.2.0.noarch.rpm
Download or clone the repository and execute the file gnome_connection_manager.py
git clone git://github.com/kuthulux/gnome-connection-manager
cd gnome-connection-manager
./gnome_connection_manager.py
- expect
- python3
- python3-gi and gir1.2-vte-2.91 (debian) / python3-gobject (fedora)
GCM is being modernized with Python best practices and modern tooling. For development:
Use the included justfile for common tasks; when a command does not have a just recipe, run it through uv run so the project environment is used:
# Install uv (modern Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create development environment
uv venv --system-site-packages
uv sync --extra dev
# Prefer `just` for day-to-day commands
just run # Launches the app via uv
just check # Lint + typecheck + tests
just test # Run the pytest suite
# Run an ad-hoc command through uv if no `just` recipe exists
uv run python -m gnome_connection_managerDevelopment Status:
- ✅ Phase 1 Code Quality: COMPLETE (98.7% of issues resolved)
- 📋 Phase 2 Modernization: GTK refactors and logging/tests in progress
- 📋 Phase 3 GTK4 Migration: Future
See docs/DEVELOPING.md for detailed development guide and docs/PROJECT_STRUCTURE.md for project status.
GCM writes logs to stderr using Python's logging module. Adjust verbosity by setting GCM_LOG_LEVEL (for example DEBUG, INFO, or WARNING) before launching the app:
GCM_LOG_LEVEL=DEBUG uv run python -m gnome_connection_managerGCM should use the default OS language, but if for any reason you want to use another language, then start GCM this way:
LANG=en_US.UTF.8 ./gnome_connection_manager.pyreplace en_US.UTF-8 with the language of your choice.
To create a deb or rpm package from source you have to follow these steps:
- install basic tools
Debian/Ubuntu
sudo apt install git ruby ruby-dev build-essential gettext
sudo gem install fpm
Fedora/Redhat
sudo yum install git ruby ruby-devel make gcc gcc-c++ redhat-rpm-config getext rpm-build
sudo gem install fpm- download or clone the respository
git clone git://github.com/kuthulux/gnome-connection-manager
cd gnome-connection-manager- make the desired package:
#make deb and rpm
uv run make
#make deb package only
uv run make deb
#make rpm package only
uv run make rpmPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.