Abra o ssh no terminal clicando nos links “ssh: // user @ host” no navegador

2

Eu encontrou um bom caminho para abrir um terminal com SSH para user@host se você clicar em um link como este:

ssh://user@host

Eu acho que a solução acima funciona. É ótimo.

Eu preciso que isso funcione em muitos PCs. Já existe um pacote que habilita os URLs SSH?

    
por guettli 17.12.2015 / 09:20

1 resposta

6

Não, não há pacote para isso porque já existe suporte para isso, você só precisa ativá-lo.

Para habilitá-lo em um desktop gnome: ( Como abrir ssh: // nome de usuário link @hostname )

gconftool-2 --set --type=bool /desktop/gnome/url-handlers/ssh/enabled true
gconftool-2 --set --type=string /desktop/gnome/url-handlers/ssh/command 'gnome-terminal -e "%s"'
gconftool-2 --set --type=bool /desktop/gnome/url-handlers/ssh/needs_terminal false

Meu script para instalar o aplicativo manipulador:

#!/bin/bash
# We need root to install
if [ "$(id -u)" != "0" ]; then
  echo "This script must be run as root" 1>&2
  exit 1
fi

# In case file exists
if [ -f "/usr/local/bin/ssh-url-handler" ]
then
  echo "Found an old install, moving to ssh-url-handler.old"
  mv /usr/local/bin/ssh-url-handler /usr/local/bin/ssh-url-handler.old
fi

# Install handler file
touch /usr/local/bin/ssh-url-handler
echo '#!/bin/sh' >> /usr/local/bin/ssh-url-handler
echo 'd=${1#ssh://}' >> /usr/local/bin/ssh-url-handler
echo 'x-terminal-emulator -x bash -c "ssh $d" &' >> /usr/local/bin/ssh-url-handler
chmod a+x /usr/local/bin/ssh-url-handler

# Check that it is there
type ssh-url-handler >/dev/null 2>&1 || echo "Warning: the ssh-url-handler could not be found! Please check that /usr/local/bin is in the PATH"

# Now for the desktop piece:
if [ -f "/usr/share/applications/ssh-url-handler.desktop" ]
then
  echo "Found an old desktop handler, moving to .old"
  mv /usr/share/applications/ssh-url-handler.desktop /usr/share/applications/ssh-url-handler.desktop.old
fi

touch /usr/share/applications/ssh-url-handler.desktop
echo "[Desktop Entry]" >> /usr/share/applications/ssh-url-handler.desktop
echo "Type=Application" >> /usr/share/applications/ssh-url-handler.desktop
echo "Name=SSH URL Handler" >> /usr/share/applications/ssh-url-handler.desktop
echo "Exec=ssh-url-handler %u" >> /usr/share/applications/ssh-url-handler.desktop
echo "Icon=utilities-terminal" >> /usr/share/applications/ssh-url-handler.desktop
echo "StartupNotify=false" >> /usr/share/applications/ssh-url-handler.desktop
echo "MimeType=x-scheme-handler/ssh;" >> /usr/share/applications/ssh-url-handler.desktop
chmod a+x /usr/share/applications/ssh-url-handler.desktop

Apenas coloque isso no install.sh de qualquer pacote debian. Você pode fazer isso facilmente usando o link para criar seu próprio pacote e distribuí-lo.

    
por Robobenklein 21.12.2015 / 21:18