2025-12-30 19:36:56 +01:00
3
2025-12-24 22:52:46 +01:00
2025-12-30 19:36:56 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
2025-12-30 19:23:28 +01:00
2025-12-30 19:23:28 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00
3
2025-12-24 22:52:46 +01:00

SSH Launcher

Lanceur SSH et services via une extension GNOME Shell et une application GTK. Permet d'accéder rapidement à vos machines depuis la barre GNOME.

Fonctionnalités

  • Icône dans la barre supérieure GNOME
  • Popup avec liste des équipements et services
  • Configuration via fichier YAML
  • Support SSH, HTTP, HTTPS, VNC...
  • Page HTML standalone alternative

Architecture

┌─────────────────────────────────────────────────────────┐
│                    GNOME Shell                          │
│  ┌─────────────────────────────────────────────────┐   │
│  │ Extension (icône barre) ──► App GTK + WebKit    │   │
│  └─────────────────────────────────────────────────┘   │
│                         │                               │
│                         ▼                               │
│              config/equipements.yaml                    │
│                         │                               │
│                         ▼                               │
│              Interface HTML dynamique                   │
│                         │                               │
│                         ▼                               │
│              Clic ──► Handler système ──► Terminal/App  │
└─────────────────────────────────────────────────────────┘

Structure du projet

ssh-web-launcher/
├── config/
│   └── equipements.yaml        # Configuration des machines
├── extension/
│   ├── metadata.json           # Métadonnées extension GNOME
│   ├── extension.js            # Code de l'extension
│   └── stylesheet.css          # Style de l'icône
├── app/
│   ├── ssh-launcher-gtk.py     # Application GTK4 + WebKit
│   └── ssh-launcher-gtk.desktop
├── scripts/
│   ├── ssh-url                 # Handler SSH
│   └── install.sh              # Script d'installation
├── desktop/
│   └── ssh-url.desktop         # Handler SSH .desktop
├── index.html                  # Page standalone
└── README.md

Prérequis

  • GNOME Shell 42+
  • Python 3
  • GTK3 et WebKit2 4.1

Installation des dépendances (Debian/Ubuntu)

sudo apt install python3 python3-gi python3-yaml \
    gir1.2-gtk-3.0 gir1.2-webkit2-4.1

Installation rapide

./scripts/install.sh

Le script :

  1. Vérifie les dépendances
  2. Configure les chemins
  3. Installe le handler SSH
  4. Installe l'extension GNOME Shell

Activer l'extension

Après installation, redémarrez GNOME Shell (Alt+F2 → r → Entrée) puis :

gnome-extensions enable ssh-launcher@local

Ou utilisez l'application "Extensions" / "Extension Manager".

Installation manuelle

1. Rendre les scripts exécutables

chmod +x scripts/ssh-url
chmod +x scripts/install.sh
chmod +x app/ssh-launcher-gtk.py

2. Installer le handler SSH

cp desktop/ssh-url.desktop ~/.local/share/applications/
xdg-mime default ssh-url.desktop x-scheme-handler/ssh
update-desktop-database ~/.local/share/applications/

3. Installer l'extension GNOME

mkdir -p ~/.local/share/gnome-shell/extensions/ssh-launcher@local
cp extension/* ~/.local/share/gnome-shell/extensions/ssh-launcher@local/

Redémarrez GNOME Shell et activez l'extension.

Configuration

Éditez config/equipements.yaml pour ajouter vos machines :

equipements:
  - nom: "Mon Serveur"
    ip: "192.168.1.100"
    categorie: "Serveurs"
    services:
      - nom: "SSH"
        icon: "utilities-terminal"
        url: "ssh://admin@192.168.1.100"
      - nom: "Web"
        icon: "web-browser"
        url: "https://192.168.1.100"

Icônes disponibles

Icône Nom
💻 utilities-terminal
🌐 web-browser
⚙️ applications-system
🖥️ preferences-desktop-remote-desktop
🔒 security-high
🏠 go-home
🖧 network-server

Test

Tester l'application GTK directement

python3 app/ssh-launcher-gtk.py

Tester le handler SSH

./scripts/ssh-url "ssh://user@localhost"

Tester la page standalone

firefox index.html

Dépannage

L'extension n'apparaît pas

  1. Vérifiez que GNOME Shell est redémarré
  2. Vérifiez l'activation :
    gnome-extensions list
    gnome-extensions enable ssh-launcher@local
    

Erreur WebKit / écran noir

Si vous avez des erreurs GPU (GBM, DRM), l'application désactive automatiquement l'accélération matérielle. Si le problème persiste, lancez avec :

WEBKIT_DISABLE_COMPOSITING_MODE=1 python3 app/ssh-launcher-gtk.py

Le handler SSH ne fonctionne pas

xdg-mime query default x-scheme-handler/ssh
# Doit retourner : ssh-url.desktop

Logs de l'extension

journalctl -f -o cat /usr/bin/gnome-shell

Désinstallation

# Extension GNOME
rm -rf ~/.local/share/gnome-shell/extensions/ssh-launcher@local

# Applications
rm ~/.local/share/applications/ssh-url.desktop
rm ~/.local/share/applications/ssh-launcher-gtk.desktop
update-desktop-database ~/.local/share/applications/

Utilisation standalone (sans extension)

La page index.html peut être utilisée indépendamment :

firefox index.html

Elle nécessite uniquement le handler SSH (ssh-url.desktop).

Mini-apps

Le dossier app/tools/ contient des petits outils autonomes comme color-picker : lancez-les via

python3 app/tools/color-picker/color_picker.py

Le script run_color_picker.py sert uniquement pour les essais côté navigateur (il démarre un mini-serveur local).

Le dashboard peut aussi démarrer ces scripts via la section minitools (voir config/equipements.yaml).

Licence

Libre d'utilisation et de modification.

Description
No description provided
Readme 6.6 MiB
Languages
Python 48.7%
JavaScript 16.1%
HTML 13.4%
Shell 11%
CSS 10.8%