Откройте ssh в терминале, нажав на ссылку «ssh: // user @ host» в браузере.

Я нашел хороший способ открыть терминал с SSH на user@host, если вы нажмете на ссылку, которая выглядит следующим образом:

ssh://user@host

Я думаю, что вышеупомянутое решение работает , Это здорово.

Мне нужно, чтобы это работало на многих ПК. Уже есть пакет, который включает URL-адреса SSH?

3
задан 14 September 2018 в 10:35

1 ответ

Нет, нет никакого пакета для этого, потому что уже существует поддержка его, просто необходимо включить его.

Для включения его в рабочем столе гнома: (, Как открыть ssh://username@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

Мой сценарий для устанавливания приложения обработчика:

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

Просто бросают это в install.sh любого debian пакета. Можно легко сделать это использование https://github.com/jordansissel/fpm/wiki, чтобы сделать собственный пакет и распределить это.

6
ответ дан 14 September 2018 в 20:35
  • 1
    Вы имеете в виду рубин-dev, не рубиновый, я просто отредактировал Ваш ответ для становления более ясным. – lapisdecor 29 March 2017 в 08:01

Другие вопросы по тегам:

Похожие вопросы: