3

При использовании tmux я часто делаю следующее:

  • Создать новое окно
  • SSH к удаленной коробке
  • cd на конкретный каталог
  • процесс запуска

Теперь я хочу привязать лог-файл процесса, который я только что начал в сплите. Поэтому я делаю следующее:

  • Разбить окно
  • ssh на удаленный ящик (раздражает)
  • cd к конкретному DIR (раздражает)
  • tail -f logs/run.log

То, что я хотел, было возможно, чтобы иметь ярлык для разделения окна и автоматически ssh для того же поля и CD для того же каталога, что и родительское окно.

Я наткнулся на следующую команду, которая привела меня к мысли, что это возможно:

bind-key S command-prompt -p ssh: "new-window -n %1 'ssh %1'"

Есть идеи, как этого добиться?

2 ответа2

0

У меня были большие проблемы с тем, чтобы все было в одной строке, это путало с фокусировкой окна и выходило из-за клавиш отправки. Если вы немного поэкспериментируете, вы можете получить это в одну строку.

создать файл tmux

# splitssh.tmux
split-window -h   
send-keys 'ssh server' 'c-m' 'cd folder' 'c-m'
'tail -f logs/run.log' 'c-m'

bind-ключ S источник splitssh.tmux

вот еще одна ссылка на тему Привязка ключа Tmux к нескольким командам

0

Я сталкивался с вашим вопросом много месяцев назад и искал то же самое. Я наконец-то понял, как выполнить часть вашего ответа, которая является самой сложной (разделить существующий SSH). Сначала установите и настройте SSHH (SSH Helper), чтобы разделить текущий сеанс SSH на новую панель. Затем мы можем сделать это очень быстро, повторно используя то же самое соединение ssh , добавив это в нашу конфигурацию SSH:

ControlMaster                  auto
ControlPath                    /tmp/ssh_mux_%h_%p_%r
ControlPersist                 4h # change to whatever you like, but 4h is a good start. 

Имейте в виду, что если наше соединение прерывается, нам иногда нужно выполнить rm --force /tmp/ssh_mux_* . Компромисс для сверхбыстрых SSH-сплитов стоит того!

Кроме того, sshh не работает с оболочкой Fish из коробки, но я выяснил, как заставить ее работать, см. Https://github.com/yudai/sshh/issues/4.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .