Você precisa encaminhar o SSH para as variáveis de ambiente locais, conforme explicado aqui:
Alguém pode detectar qual aplicativo de terminal está sendo usado? Eu quero o aplicativo real, não o termo env na pergunta.
Gostaria de detectar iTerm 2 / Terminal.app para poder definir mapeamentos de teclado específicos do OSX, caso contrário o PC.
(Veja ALT + seta movendo entre as palavras em zsh e iTerm2 )
Você precisa encaminhar o SSH para as variáveis de ambiente locais, conforme explicado aqui:
Eu fiz o seguinte script:
#!/bin/bash
pid=$$ # Current PID
ps -f $$ | head -n 1 # Show the header of ps
while [ $pid -gt 0 ]; do # No more parent when we reach 0 (the kernel)
ps -f $pid | tail -n +2 # ps current pid and remove header
pid=$(ps -o ppid $pid|tail -n 1) # Get parent pid
done
Leva o PID atual ( $$
no bash) e recebe recursivamente o PID pai até chegarmos a 0 (que é o kernel), imprimindo a saída ps -f
ao longo do caminho (e um cabeçalho para iniciar, com ps -f | head -n 1
)
Duas limitações que consigo pensar:
sshd
e não o aplicativo gráfico do terminal. No entanto, você deve conseguir grep
de sua saída e detectar se um dos processos pai é iTerm.app ou Terminal.app quando executado localmente.