Ich möchte standardmäßig tmux verwenden, wenn ich eine SSH-Verbindung herstelle, und dies funktioniert gut mit einem Befehl wie diesem:
ssh host.example.com -t 'tmux a || tmux || /bin/bash'
Ich kann dies sogar als Teil des ProxyCommand darin einfügen, ~/.ssh/config
aber das Problem besteht darin, dass ich auch SSH-Verbindungen als Teil von Skripten herstelle, die nur verschiedene Befehle auf den Remotecomputern ausführen, und in diesem Fall möchte ich tmux nicht.
Wie kann ich dieses Verhalten erreichen, sodass der Aufruf von tmux transparent ist und nur erfolgt, wenn SSH ohne Parameter/Befehle abgerufen wird?
Antwort1
Sie erfinden das Rad neu.
- InstallierenHallo.
byobu-enable
Antwort2
Gelöst durch Hinzufügen von Folgendem zu ~/.bashrc
:
function ssh() {
if [ "$#" == "1" ]; then
if [ "${1:0:1}" != "-" ]; then
/usr/bin/ssh "$@" -t 'tmux a || tmux || /bin/bash'
else
/usr/bin/ssh "$@";
fi
else
/usr/bin/ssh "$@";
fi
}