L'alternativa Linux a MobaXterm โ tutto in una finestra: SSH, RDP, VNC, SFTP, FTP, Telnet, Mosh, Seriale.
Scritto in Python con GTK3 e terminale VTE nativo. Funziona su X11 e Wayland senza XWayland.
| Versione | Cartella | Framework | Terminale | Wayland | Stato |
|---|---|---|---|---|---|
| GTK3 | gtk3/ |
GTK3 (PyGObject) | VTE nativo | โ Nativo | Sviluppo attivo |
| PyQt6 | pyqt6/ |
PyQt6 | xterm | XWayland richiesto | Solo bugfix critici |
La cartella
pyqt6/contiene la versione legacy (solo bugfix critici); le nuove installazioni devono preferire GTK3.
| PCM | Remmina | Asbru | mRemoteNG | |
|---|---|---|---|---|
| SSH con terminale integrato | โ VTE nativo | โ solo RDP/VNC | โ xterm | โ |
| RDP + VNC + SSH + FTP in un tool | โ | parziale | โ | โ |
| Browser SFTP/FTP integrato | โ dual-pane | โ | parziale | โ |
| Tunnel SSH grafici | โ | โ | โ | โ |
| Broadcast a piรน terminali | โ | โ | โ cluster | โ |
| KeePassXC integrato | โ | โ | โ | โ |
| Wayland nativo (no XWayland) | โ | parziale | โ | โ Linux |
| Password MAI sulla command line | โ feed_child | โ | โ | |
| Configurazione leggibile | โ JSON | XML complesso | YAML | XML |
| Licenza | EUPL-1.2 | GPL-2 | GPL-3 | GPL-2 |
SSH ยท SFTP ยท FTP/FTPS ยท RDP ยท VNC ยท Telnet ยท Mosh ยท Seriale ยท Exec ยท SSH Tunnel
| Protocollo | Come si apre | Punti di forza |
|---|---|---|
| SSH | Tab VTE interno o terminale esterno | Jump Host, X11, Agent Forward, pre-cmd VPN, macro |
| SFTP | Browser dual-pane integrato | Drag & drop, coda trasferimenti, rinomina |
| FTP / FTPS | Browser integrato o file manager | TLS esplicito, modalitร PASV |
| RDP | Pannello interno o finestra esterna | xfreerdp3/xfreerdp/rdesktop, multi-monitor |
| VNC | gtk-vnc nativo o client esterno | Scala, grab input, screenshot |
| Telnet | Tab VTE interno | โ |
| Mosh | Tab VTE interno | Resistente a disconnessioni |
| Seriale | Tab VTE interno | Baud, paritร , stop bit configurabili |
| Exec | Tab VTE interno | Qualsiasi comando shell in una scheda |
| SSH Tunnel | Background gestito graficamente | SOCKS -D, locale -L, remoto -R |
- Password mai sulla command line: PCM digita la password nel terminale VTE quando il server la richiede (
feed_child), come farebbe un utente. Nessunsshpass, nessun argomento visibile inps aux. - Fallback SSH_ASKPASS per OpenSSH โฅ 8.4: se SSH gestisce l'auth prima che appaia un prompt (keyboard-interactive), uno script helper temp mode
0700passa la password silenziosamente. - Cifratura AES-256 (Fernet + PBKDF2-SHA256, 480k iterazioni): utenti e password in
connections.jsoncifrati con password master. La chiave non tocca mai il disco. - KeePassXC integrato via Browser Protocol v2 (NaCl box): cerca e compila credenziali direttamente dal database KeePassXC aperto โ nessun browser necessario.
- Modalitร protetta: nasconde tutte le password nell'interfaccia.
- Gestione chiavi SSH: genera, copia sul server, visualizza la chiave pubblica.
- Agent Forwarding (
-A): propaga le chiavi ssh-agent per hop multipli senza copiare le chiavi private.
- VTE nativo โ zero dipendenze X11, funziona su Wayland puro
- Split verticale/orizzontale โ piรน sessioni affiancate nella stessa finestra
- Temi: Dracula, Nord, Gruvbox, Solarized Dark/Light, One Dark, Monokai, Cobalt, Tomorrow Night e altri
- Macro per sessione โ comandi inviati con un clic dalla sidebar
- Broadcast terminali โ invia lo stesso testo a tutti i terminali selezionati contemporaneamente (ideale per cluster)
- Multi-exec โ esegui un comando su piรน sessioni in sequenza
- Log output su file per ogni sessione (con
script(1)) - Scrollback configurabile o infinito per sessione
- Pre-comando locale: attiva VPN o monta volume prima di aprire la connessione
- Organizzate per gruppo con barra di ricerca live
- Sezione Recenti in cima alla sidebar: ultime 20 sessioni con timestamp
- Quick Connect:
utente@host:portadalla toolbar โ si connette senza salvare un profilo - Doppio clic per connettere, tasto destro per menu contestuale ricco
- Ping TCP dalla sidebar โ verifica raggiungibilitร sulla porta configurata (ms)
- Duplica, modifica, elimina, esporta script
.shper riaprire da terminale - Import da: Remmina (
.remmina), Remote Desktop Manager (.rdm/.json), PuTTY (~/.putty/sessions/),~/.ssh/config
- Tunnel SSH grafici โ avvia, ferma, monitora tunnel in background
- Server FTP locale (pyftpdlib) โ espone una cartella locale via FTP/FTPS in un clic
- Variabili globali
{NOME}โ riutilizzabili nei comandi di tutte le sessioni - Wake-on-LAN โ invia magic packet prima di connettersi
- Audit log โ storico connessioni con timestamp, durata, protocollo, stato; esportabile CSV
- Verifica dipendenze โ controlla automaticamente quali tool sono installati
5 lingue complete: ๐ฎ๐น Italiano ยท ๐ฌ๐ง English ยท ๐ฉ๐ช Deutsch ยท ๐ซ๐ท Franรงais ยท ๐ช๐ธ Espaรฑol
Cambio lingua immediato dalle impostazioni senza riavvio.
git clone https://github.com/buzzqw/Python_Connection_Manager.git
cd Python_Connection_Manager
bash setup.shLo script rileva la distribuzione (Debian/Ubuntu, Arch, Fedora, openSUSE, FreeBSD) e installa tutte le dipendenze di sistema e Python. Crea anche un launcher .desktop nel menu applicazioni.
# Solo verifica dipendenze, senza installare:
bash setup.sh --checkcd Python_Connection_Manager/gtk3
python3 PCM.pyAl primo avvio PCM crea connections.json con sessioni di esempio e propone di abilitare la cifratura AES-256 delle credenziali.
Debian / Ubuntu / Linux Mint
sudo apt install \
python3 python3-gi python3-gi-cairo \
gir1.2-gtk-3.0 gir1.2-vte-2.91 gir1.2-gtkvnc-2.0 \
openssh-client freerdp3-x11 tigervnc-viewer \
xdotool xdg-utils wakeonlan
pip install --user cryptography paramiko pyftpdlibArch Linux
sudo pacman -Sy --needed \
python python-gobject gtk3 vte3 gtk-vnc \
openssh freerdp tigervnc xdotool xdg-utils wol \
python-cryptography python-paramiko python-pyftpdlibFedora
sudo dnf install \
python3-gobject gtk3 vte291 gtk-vnc2 \
openssh-clients freerdp tigervnc xdotool xdg-utils
pip install --user cryptography paramiko pyftpdlibopenSUSE
sudo zypper install \
python3-gobject typelib-1_0-Gtk-3_0 \
typelib-1_0-Vte-2.91 typelib-1_0-GtkVnc-2_0 \
openssh freerdp tigervnc xdotool xdg-utils
pip install --user cryptography paramiko pyftpdlibFreeBSD
sudo pkg install \
python3 py311-gobject gtk3 vte3 gtk-vnc \
mosh freerdp3 tigervnc-viewer xdotool wakeonlan \
py311-cryptography py311-paramiko py311-pyftpdlibRiceve solo bugfix critici. Istruzioni di installazione in
pyqt6/README.md.
| Pacchetto | Funzionalitร abilitata |
|---|---|
gir1.2-gtkvnc-2.0 / gtk-vnc |
VNC integrato nativo (raccomandato) |
tigervnc-viewer / xtightvncviewer |
VNC via client esterno (fallback) |
freerdp3-x11 / xfreerdp |
RDP |
mosh |
Connessioni Mosh |
picocom / minicom |
Porte seriali |
xdotool |
RDP in pannello interno (richiede XWayland) |
wakeonlan / wol |
Wake-on-LAN |
keepassxc |
Integrazione KeePassXC |
pynacl |
Cifratura protocollo KeePassXC Browser v2 |
GTK3 + VTE funzionano nativamente su Wayland senza XWayland.
L'unica eccezione รจ la modalitร RDP pannello interno (embedding xfreerdp tramite xdotool) che richiede XWayland. Per uso Wayland puro, impostare RDP su "Finestra esterna".
Il viewer VNC gtk-vnc funziona nativamente su Wayland.
| File | Contenuto |
|---|---|
gtk3/connections.json |
Profili sessione โ JSON leggibile, modificabile a mano |
gtk3/pcm_settings.json |
Impostazioni globali, scorciatoie, sessioni recenti |
gtk3/audit_log.json |
Log audit connessioni (solo metadata, nessuna credenziale) |
/tmp/pcm_logs/ |
Log output terminali, percorso configurabile |
Se PCM ti รจ utile e vuoi ringraziare lo sviluppatore, puoi offrire un caffรจ tramite PayPal. Ogni contributo รจ molto apprezzato e aiuta a mantenere il progetto attivo!
Grazie mille!
Andres Zanzani โ licenza EUPL-1.2
The Linux alternative to MobaXterm โ everything in one window: SSH, RDP, VNC, SFTP, FTP, Telnet, Mosh, Serial.
Written in Python with GTK3 and native VTE terminal. Works on X11 and Wayland without XWayland.
| Version | Folder | Framework | Terminal | Wayland | Status |
|---|---|---|---|---|---|
| GTK3 | gtk3/ |
GTK3 (PyGObject) | Native VTE | โ Native | Active development |
| PyQt6 | pyqt6/ |
PyQt6 | xterm | XWayland required | Critical bugfixes only |
The
pyqt6/folder contains the legacy version (critical bugfixes only); new installations should prefer GTK3.
| PCM | Remmina | Asbru | mRemoteNG | |
|---|---|---|---|---|
| SSH with integrated terminal | โ Native VTE | โ RDP/VNC only | โ xterm | โ |
| RDP + VNC + SSH + FTP in one tool | โ | partial | โ | โ |
| Integrated SFTP/FTP browser | โ dual-pane | โ | partial | โ |
| Graphical SSH tunnels | โ | โ | โ | โ |
| Broadcast to multiple terminals | โ | โ | โ cluster | โ |
| KeePassXC integration | โ | โ | โ | โ |
| Native Wayland (no XWayland) | โ | partial | โ | โ Linux |
| Password NEVER on command line | โ feed_child | โ | โ | |
| Human-readable config | โ JSON | complex XML | YAML | XML |
| License | EUPL-1.2 | GPL-2 | GPL-3 | GPL-2 |
SSH ยท SFTP ยท FTP/FTPS ยท RDP ยท VNC ยท Telnet ยท Mosh ยท Serial ยท Exec ยท SSH Tunnel
| Protocol | How it opens | Strengths |
|---|---|---|
| SSH | Internal VTE tab or external terminal | Jump Host, X11, Agent Forward, VPN pre-cmd, macros |
| SFTP | Integrated dual-pane browser | Drag & drop, transfer queue, rename |
| FTP / FTPS | Integrated browser or file manager | Explicit TLS, PASV mode |
| RDP | Internal panel or external window | xfreerdp3/xfreerdp/rdesktop, multi-monitor |
| VNC | Native gtk-vnc or external client | Scale, grab input, screenshot |
| Telnet | Internal VTE tab | โ |
| Mosh | Internal VTE tab | Resilient to disconnections |
| Serial | Internal VTE tab | Baud, parity, stop bits configurable |
| Exec | Internal VTE tab | Any shell command in a tab |
| SSH Tunnel | Background, managed graphically | SOCKS -D, local -L, remote -R |
- Password never on command line: PCM types the password into the VTE terminal when the server asks for it (
feed_child), just like a user would. Nosshpass, nothing visible inps aux. - SSH_ASKPASS fallback for OpenSSH โฅ 8.4: if SSH handles auth before a prompt appears (keyboard-interactive), a temp helper script (mode
0700) passes the password silently. - AES-256 encryption (Fernet + PBKDF2-SHA256, 480k iterations): usernames and passwords in
connections.jsonencrypted with a master password. The key never touches the disk. - KeePassXC integration via Browser Protocol v2 (NaCl box): find and fill credentials directly from the open KeePassXC database โ no browser needed.
- Protected mode: hides all passwords in the interface.
- SSH key management: generate, copy to server, display public key.
- Agent Forwarding (
-A): propagates ssh-agent keys for multiple hops without copying private keys.
- Native VTE โ zero X11 dependencies, works on pure Wayland
- Vertical/horizontal split โ multiple sessions side by side in one window
- Themes: Dracula, Nord, Gruvbox, Solarized Dark/Light, One Dark, Monokai, Cobalt, Tomorrow Night and more
- Per-session macros โ commands sent with one click from the sidebar
- Terminal broadcast โ send the same text to all selected terminals simultaneously (ideal for clusters)
- Multi-exec โ run a command across multiple sessions in sequence
- File output logging per session (via
script(1)) - Configurable or infinite scrollback per session
- Local pre-command: activate VPN or mount volume before opening the connection
- Organized by group with live search bar
- Recent sessions section at the top of the sidebar: last 20 sessions with timestamps
- Quick Connect:
user@host:portfrom the toolbar โ connects without saving a profile - Double-click to connect, right-click for rich context menu
- TCP Ping from the sidebar โ checks reachability on the configured port (ms)
- Duplicate, edit, delete, export
.shscript to reopen from terminal - Import from: Remmina (
.remmina), Remote Desktop Manager (.rdm/.json), PuTTY (~/.putty/sessions/),~/.ssh/config
- Graphical SSH tunnels โ start, stop, monitor background tunnels
- Local FTP server (pyftpdlib) โ expose a local folder via FTP/FTPS in one click
- Global variables
{NAME}โ reusable in commands across all sessions - Wake-on-LAN โ sends magic packet before connecting
- Audit log โ connection history with timestamp, duration, protocol, status; exportable to CSV
- Dependency checker โ automatically checks which tools are installed
5 complete languages: ๐ฎ๐น Italiano ยท ๐ฌ๐ง English ยท ๐ฉ๐ช Deutsch ยท ๐ซ๐ท Franรงais ยท ๐ช๐ธ Espaรฑol
Instant language change from settings without restart.
![]() |
![]() |
| Connection tab โ host, port 3389, user, password | Advanced tab โ xfreerdp3 client, NTLM/Kerberos auth, domain, fullscreen, clipboard, local folders, Wake-on-LAN, local pre-command |
git clone https://github.com/buzzqw/Python_Connection_Manager.git
cd Python_Connection_Manager
bash setup.sh
cd gtk3
python3 PCM.pyThe
setup.shscript detects the distribution and installs system dependencies (GTK3, VTE, gtk-vnc) and Python packages (paramiko, cryptography, pyftpdlib). It also creates a.desktoplauncher in the application menu.
# Check dependencies only, without installing:
bash setup.sh --checkDebian / Ubuntu / Linux Mint
sudo apt install \
python3 python3-gi python3-gi-cairo \
gir1.2-gtk-3.0 gir1.2-vte-2.91 gir1.2-gtkvnc-2.0 \
openssh-client freerdp3-x11 tigervnc-viewer \
xdotool xdg-utils wakeonlan
pip install --user cryptography paramiko pyftpdlibArch Linux
sudo pacman -Sy --needed \
python python-gobject gtk3 vte3 gtk-vnc \
openssh freerdp tigervnc xdotool xdg-utils wol \
python-cryptography python-paramiko python-pyftpdlibFedora
sudo dnf install \
python3-gobject gtk3 vte291 gtk-vnc2 \
openssh-clients freerdp tigervnc xdotool xdg-utils
pip install --user cryptography paramiko pyftpdlibopenSUSE
sudo zypper install \
python3-gobject typelib-1_0-Gtk-3_0 \
typelib-1_0-Vte-2.91 typelib-1_0-GtkVnc-2_0 \
openssh freerdp tigervnc xdotool xdg-utils
pip install --user cryptography paramiko pyftpdlibFreeBSD
sudo pkg install \
python3 py311-gobject gtk3 vte3 gtk-vnc \
mosh freerdp3 tigervnc-viewer xdotool wakeonlan \
py311-cryptography py311-paramiko py311-pyftpdlibCritical bugfixes only. See
pyqt6/README.mdfor installation instructions.
| Package | Feature enabled |
|---|---|
gir1.2-gtkvnc-2.0 / gtk-vnc |
Native embedded VNC (recommended) |
tigervnc-viewer / xtightvncviewer |
VNC via external client (fallback) |
freerdp3-x11 / xfreerdp |
RDP |
mosh |
Mosh connections |
picocom / minicom |
Serial ports |
xdotool |
RDP in internal panel (requires XWayland) |
wakeonlan / wol |
Wake-on-LAN |
keepassxc |
KeePassXC integration |
pynacl |
KeePassXC Browser Protocol v2 encryption |
GTK3 + VTE work natively on Wayland without XWayland.
The only exception is the RDP internal panel mode (embedding xfreerdp via xdotool), which requires XWayland. For pure Wayland use, set RDP to "External window".
The gtk-vnc VNC viewer works natively on Wayland.
| File | Contents |
|---|---|
gtk3/connections.json |
Session profiles โ human-readable JSON, editable by hand |
gtk3/pcm_settings.json |
Global settings, shortcuts, recent sessions |
gtk3/audit_log.json |
Connection audit log (metadata only, no credentials) |
/tmp/pcm_logs/ |
Terminal output logs, path configurable |
If you find PCM useful and want to thank the developer, you can buy him a coffee via PayPal. Any contribution is greatly appreciated and helps keep the project alive!
Thank you so much!
Andres Zanzani โ license EUPL-1.2

















