#!/bin/bash # # ssh-url - Handler pour les URLs ssh:// # Reçoit une URL ssh://user@host et ouvre un terminal avec la connexion SSH # # URL reçue en argument (ex: ssh://gilles@10.0.0.24) URL="$1" if [ -z "$URL" ]; then echo "Usage: $0 ssh://user@host" exit 1 fi # Extraire la partie user@host en supprimant le préfixe ssh:// SSH_TARGET="${URL#ssh://}" # Supprimer un éventuel / final SSH_TARGET="${SSH_TARGET%/}" if [ -z "$SSH_TARGET" ]; then echo "Erreur: impossible d'extraire la cible SSH de l'URL: $URL" exit 1 fi # Détecter le terminal disponible et lancer SSH # Liste des terminaux supportés (ordre de préférence) if command -v gnome-terminal &> /dev/null; then gnome-terminal -- ssh "$SSH_TARGET" elif command -v xfce4-terminal &> /dev/null; then xfce4-terminal -e "ssh $SSH_TARGET" elif command -v konsole &> /dev/null; then konsole -e ssh "$SSH_TARGET" elif command -v xterm &> /dev/null; then xterm -e ssh "$SSH_TARGET" elif command -v terminator &> /dev/null; then terminator -e "ssh $SSH_TARGET" elif command -v tilix &> /dev/null; then tilix -e "ssh $SSH_TARGET" else # Fallback: notification d'erreur si possible if command -v notify-send &> /dev/null; then notify-send "SSH Handler" "Aucun terminal graphique trouvé" fi echo "Erreur: aucun terminal graphique trouvé" exit 1 fi