iTerm2 интеграция с оболочкой имеет некоторые хитрые приемы, такие как его команда it2copy
, которая копирует в локальный буфер обмена, даже если я вошел на удаленную машину через s sh.
Можно ли его использовать для запуска произвольных команд оболочки?
Например, когда я вошел в систему через s sh, я хочу выполнить команду, чтобы открыть редактор на моем локальном компьютере. VSCode может открыть удаленный каталог с помощью этой команды:
code --remote ssh-remote+myserver /home/stuart/some-directory
Я хочу запустить эту команду локально из сеанса s sh на удаленном компьютере.
PS - - Я знаю, что есть альтернатива: вместо использования обратного канала iTerm2 создать (вложенное) s sh соединение назад с моей локальной машиной для выполнения команд через s sh. Но у этого есть различные недостатки, отсюда и этот вопрос.
Мне также известен параметр PermitLocalCommand
в ~/.ssh/config
, который позволяет мне отправить escape-код (~C
), за которым следует локальный команда (!code --remote ...
). Но я надеюсь на решение, которое я смогу использовать в скрипте или bash псевдониме.
Например, если бы it2local
существовал, я бы использовал его так:
alias code_here='it2local "code --remote ssh-remote+$(uname -n) $(pwd)"'
Если это возможно только с s sh, я хотел бы услышать об этом.