Skip to content

cloudmesh/cloudmesh_ssh_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloudmesh SSH Manager

Cloudmesh SSH Manager is a specialized Linux desktop application designed to streamline remote server management. It parses your local SSH configuration, allows you to curate a sidebar of frequently used hosts, and launches managed terminal sessions with real-time status tracking.


Features

  • SSH Config Integration: Automatically parses ~/.ssh/config to identify available remote hosts.
  • Host Management: A dedicated settings screen with live search and checkboxes to select which hosts appear in your active sidebar.
  • Terminal Orchestration: Launches gnome-terminal sessions for selected hosts using xdotool for window management and focus.
  • Session Tracking: Monitors active processes to show real-time "Online/Offline" status via PID and Window ID tracking.
  • Custom Labeling: Rename active sessions with nicknames for easier identification during multi-server workflows.
  • Persistence: Saves your selected host preferences to ~/.config/ssh_manager/selected_hosts.json.

Prerequisites

To run this application on Linux, you need the following dependencies installed:

  • Flutter SDK: Install Flutter
  • Gnome Terminal: The default terminal emulator used for sessions.
  • xdotool: Used for window focus and management.
    sudo apt install xdotool
  • Build Essentials:
    sudo apt install ninja-build utf8proc-dev libgtk-3-dev

Development & Build Commands

This project uses the Flutter CLI for lifecycle management. Below are the primary commands for maintaining and building Cloudmesh SSH Manager.

Dependency Management

Before running the app for the first time, or after modifying pubspec.yaml, run:

  • Install Dependencies:
    flutter pub get
  • Check for Updates:
    flutter pub outdated

Running the App

The application is optimized for the Linux Desktop environment.

Target Command Description
Debug flutter run -d linux Runs the app with Hot Reload enabled.
Release flutter build linux --release Creates an optimized binary in build/linux/.
Analyze flutter analyze Checks the Dart source code for errors or linter warnings.

Maintenance & Troubleshooting

If you encounter Invalid depfile errors or native C++ sync issues, use these cleanup commands:

  • Clean Build Cache:
    flutter clean
  • Verify Integrity: Run the local check script to verify ~/.ssh/config and native window titles:
    chmod +x check_files.sh
    ./check_files.sh

File Manifest

Path Purpose
lib/main.dart Application entry and global theme configuration.
lib/models/ Logic for SSH process management and xdotool window tracking.
lib/screens/ UI for the Host Selector (Sidebar) and Settings (Search/Config).
linux/ Native C++ wrapper for GTK window initialization.
~/.config/ssh_manager/ Local storage for your persistent host selections.

Native Compilation Note

When modifying files in the linux/ directory (such as my_application.cc to change the window title), a standard Hot Restart is insufficient. You must perform a clean build for changes to take effect in the binary:

flutter clean && flutter run -d linux

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors