Files
2025-12-24 22:52:46 +01:00

48 lines
1.3 KiB
Bash
Executable File

#!/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