Memiliki beban tmux secara default ketika terminal zsh diluncurkan


23

Alur kerja saya saat ini adalah:

  1. CTRL+ SHIFT+ Tuntuk meluncurkan jendela terminal baru. Itu memulai terminal zsh baru.
  2. Ketik tmuxuntuk memulai tmux.

Bagaimana saya bisa memuat tmux secara default dengan jendela terminal baru?

Jawaban:


36

Setidaknya ada dua cara:

  1. Menulis sesuatu seperti

    if [ "$TMUX" = "" ]; then tmux; fi

    di awal ~/.zshrc. Catat tes bersyarat ke kemungkinan loop ketika tmuxmemunculkan sendiri zsh.

  2. Ubah perintah peluncuran terminal ke sesuatu seperti

    xterm -e tmux

Saya lebih suka cara kedua, karena kadang-kadang saya perlu meluncurkan terminal tanpa tmux(misalnya ketika saya perlu menyambung kembali ke sesi yang ada).


2
Atau memiliki cara pintas yang berbeda untuk xterm -e tmuxdan polos xterm.
Nikolai N Fetissov

Ya, sebenarnya saya maksudkan di bawah "Saya lebih suka cara kedua" =)
buru

1
Melaksanakan tmuxdi akhir .zshrcakan menyebabkan loop tak berujung dari zsh mulai tmux mulai zsh mulai tmux ...
Thor

Bagaimana cara "memodifikasi perintah peluncuran terminal"?
eoinoc

@ eoinoc tergantung pada lingkungan Anda. Sebagai contoh, saya menggunakan wm yang luar biasa, oleh karena itu saya hanya perlu memodifikasi string pada file konfigurasi saya. Di KDE Anda perlu mengedit hotkey. Dan seterusnya.
buru

6

Hati-hati dengan echo tmux >> ~/.zshrcsolusi meskipun, saya ingat bahwa hanya melemparkan bashdalam .cshrcberkas menyebabkan saya kesulitan melalui SSH.

IIRC masalah terjadi dengan cangkang non-interaktif, jadi Anda harus mengujinya.

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

Anda kehilangan ruang antara "dan ].
n.st

5

tambahkan ke .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

maka tmux akan secara otomatis terhubung ke sesi yang disebut TMUX ketika Anda meluncurkan terminal Anda.


1

Sebenarnya ada plugin default tmuxuntuk oh_my_zsh.

Tambahkan ke daftar plugin Anda kemudian atur ZSH_TMUX_AUTOSTART=truedi.zshrc

Untuk referensi lebih lanjut, buka di sini


0

Tambahkan "tmux" ke file .zshrc Anda, yang dieksekusi setiap kali Anda memulai zsh. Cara cepat:

echo tmux >> ~/.zshrc

Masalahnya, ini memulai sesi baru di setiap instance baru dan membengkak tmux dengan sesi yang Anda belum pernah keluar (juga tmux akan mengeluh tentang hal itu). Bukan solusi yang bagus.
Eksapsy

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.