Saya ingin tmux
untuk membuat jendela baru ketika saya ssh ke mesin dari sesi tmux yang ada. Namun, saya tidak ingin sesi tmux dimulai pada mesin baru!
Saya memiliki yang berikut di .bashrc
saya , sehingga tmux
otomatis dimulai:
if [[ "$TERM" != "screen" ]]
then
# try to attach to existing session, or start a new one
tmux attach-session -t "$USER" || tmux -2 new-session -s "$USER"
exit
fi
Saya juga memiliki ssh
fungsi:
alias ssh='ssh_func'
ssh_func (){
if [[ "$TERM" == "screen" ]]; then
tmux new-window -n "$1" "ssh [email protected]";
else
/usr/bin/ssh "[email protected]";
fi
}
Ini berfungsi dengan baik, tetapi saya tidak ingin sesi tmux dimulai pada mesin yang saya ssh, karena ini memberi saya 2 sesi di jendela terminal yang sama. Apakah ada yang bisa saya masukkan ke .bashrc
saya? sehingga tmux tidak memulai pada mesin jika perintah ssh telah dipanggil dari sesi tmux?
Saya menggunakan Putty dan tmux 1.5.
Jawaban yang Diterima:
Mengingat kode yang Anda posting, jika Anda menjalankan ssh dari dalam tmux, Anda akan memiliki $TERM
=screen
, jadi Anda tidak akan mencoba melampirkan ke jendela tmux. Dengan kata lain, kode yang sudah Anda miliki harus berfungsi seperti yang diinginkan. Ada sesuatu yang mencurigakan terjadi. Pastikan file titik Anda tidak mengacaukan TERM
variabel (jika Anda perlu mengubah TERM
, yang sangat jarang, pastikan untuk melakukannya hanya dalam keadaan yang sangat spesifik; khususnya jangan mengubahnya jika itu screen
).