Задать вопрос
romandkoz
@romandkoz

Как передать агрумент без протокола в Linux?

Имеется страница с сылками, по нажатию на которые открывается терминал и стартует ssh сессия. На винде понимаю как сделать и реализовал это. Но как на линукс?
Я сделал свой протокол, повесил на него обработку sshhandler://10.10.10.10
spoiler
nano ~/.local/share/applications/sshhandler.desktop

[Desktop Entry]
Name=sshhandler
Exec=/bin/konsole -e ssh user@%u
Type=Application
Terminal=false
MimeType=x-scheme-handler/sshhandler;

nano ~/.local/share/applications/mimeapps.list

[Default Applications]
x-scheme-handler/sshhandler=sshhandler.desktop

update-desktop-database ~/.local/share/applications


При нажатии в %u передается вся строка целиком (sshhandler://10.10.10.10) а нужно только ip
PS. Пробовал в Exec передавать в sh скрипт, но так вообще ничего не работает
  • Вопрос задан
  • 270 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
romandkoz
@romandkoz Автор вопроса
Разобрался.

Код

nano ~/.local/share/applications/sshhandler.desktop

[Desktop Entry]
Name=sshhandler
Exec=/bin/bash /bin/sshhandler.sh %u
Type=Application
Terminal=false
MimeType=x-scheme-handler/sshhandler;

nano ~/.local/share/applications/mimeapps.list

[Default Applications]
x-scheme-handler/sshhandler=sshhandler.desktop

update-desktop-database ~/.local/share/applications

sudo nano /bin/sshhandler.sh

handler=$1
ip="${handler:13}"
/bin/konsole -e ssh admin@$ip

sudo chmod +x /bin/sshhandler.sh

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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