Bagaimana cara memulai tmux dengan beberapa panel terbuka secara bersamaan?

23

Misalkan saya memulai tmuxdan langsung menjalankan Ctrl+ b+ %dan Ctrl+ b+ ".

Ini memberi saya panel tinggi di sisi kiri layar; sisi kanan layar memiliki panel atas dan bawah.

Bagaimana saya bisa mengkonfigurasi tmux untuk memulai dalam konfigurasi ini tanpa harus mengetikkan perintah ini?

Mark Harrison
sumber
Jika kebutuhan Anda adalah membuka beberapa terminal sekaligus dalam satu klik, Anda dapat melakukannya dengan terminator . Instal dari pusat perangkat lunak.
SAGAR Nair
Terima kasih, itu perintah yang bagus untuk diketahui! Untuk kasus khusus saya, ini untuk sesi ssh ke komputer jarak jauh.
Mark Harrison

Jawaban:

15

Anda dapat menggunakan skrip shell berikut untuk konfigurasi Anda:

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 

Ini akan memberikan konfigurasi layar yang diperlukan dengan perintah berikut seperti yang Anda sebutkan. tmux -> Ctrl+ b+ %-> Ctrl+ b+"

Untuk referensi silakan gunakan halaman manual tmux .

Harshit
sumber
4

Sangat mudah untuk mengaktifkan dan menonaktifkan tmuxsesi otomatis saat masuk dengan menggunakan aplikasi Byobu . Anda dapat menggunakan Byobu sebagai antarmuka untuk tmuxmenjawab kebutuhan ini, membuatnya mudah untuk melakukan apa yang Anda minta. Di terminal, jalankan perintah berikut:

sudo apt-get install byobu
sudo byobu-enable
sudo -i

Ketika pengguna root masuk melalui konsol, SSH, atau dengan sudo -i, Byobu akan melampirkan ke tmuxsesi yang ada atau membuat yang baru jika ada yang belum berjalan. Gunakan sudo -isebagai ganti sudo -s. The -spilihan hanya dimulai shell, bukan shell login. Anda harus menggunakan sudo -iuntuk meniru login penuh, yang juga memuat roots ~/.profile, dan ini adalah di mana byobu akan menginstal sendiri ketika Anda menjalankan

byobu-enable.

Anda dapat mengonfigurasi sesi yang berbeda dari Anda .tmux.confseperti di bawah ini:

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2

Dan kemudian Anda dapat memformat sesi sesuai kebutuhan:

#session1
new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

Ini akan membuka 2 jendela, yang kedua akan dinamai foo / bar dan akan dibagi secara vertikal menjadi setengah (50%) dengan foo berjalan di atas bar. Fokus ada di jendela 2 (foo / bar), panel atas (foo).

Byobu membuat pengaturan dan memulai tmux secara otomatis sangat sederhana.

Abhishek Tandon
sumber
1
mengapa bind S vs bind s? (S besar pertama, lalu kecil?)
knb
3

The tmux-Membangkitkan Plugin akan memungkinkan pengaturan sesi ketekunan serta menyediakan fungsionalitas tambahan untuk menyimpan dan mengembalikan pengaturan di tmux sesi.

Banyak fitur tambahan yang tersedia. Dari halaman web plugin:

" Plugin ini berusaha keras untuk menyimpan dan mengembalikan semua detail dari lingkungan tmux Anda. Inilah yang telah diurus:

  • semua sesi, jendela, panel, dan urutannya
  • direktori kerja saat ini untuk setiap panel
  • tata letak panel yang tepat di dalam jendela (bahkan ketika diperbesar)
  • sesi aktif dan alternatif
  • jendela aktif dan alternatif untuk setiap sesi
  • jendela dengan panel aktif fokus untuk setiap jendela
  • "sesi yang dikelompokkan" (fitur berguna ketika menggunakan tmux dengan beberapa monitor) program yang berjalan dalam panel! "

Instalasi:

  1. Di terminal, navigasikan ke direktori plugin tmux Anda (dalam kasus saya, ~/dotfiles/tmux/plugins).
  2. Mengkloning repositori dengan perintah: git clone https://github.com/tmux-plugins/tmux-resurrect.

  3. Edit .tmux.conffile Anda dan tambahkan baris set -g @plugin 'tmux-plugins/tmux-resurrect'.

  4. Reload lingkungan tmux dengan perintah: tmux source-file ~/dotfiles/tmux/tmux.conf.
  5. Masukkan tata letak yang Anda inginkan. Dalam hal ini Ctrl- b %dan Ctrl- b ".
  6. Simpan sesi tmux Anda dengan memasukkan perintah Ctrl- b+ Ctrl- s.
  7. Saat berikutnya Anda memulai sesi tmux Anda, masukkan perintah Ctrl- b+ Ctrl- runtuk mengembalikan sesi tmux Anda.

Seperti yang disebutkan sebelumnya, selain mengatur tata letak pane pada sesi tmux, plugin ini juga dapat mengatur direktori kerja yang persisten serta membuat aplikasi yang Anda jalankan restart dengan setiap sesi.

Kevin Bowen
sumber
2

Saya menulis sendiri sebuah skrip bash kecil :

# filename tmuxv in /home/<username>/Bash/tmuxv/

#!/bin/bash
tmux new-session \; split-window -v \; rename-window ${1} \; attach

dan masukkan alias di ~ / .bash_aliases saya

alias tmuxv="/home/<username>/Bash/tmuxv/tmuxv"

Jadi sekarang saya cukup mengetik tmuxv PYTHONdan memiliki sesi tmux secara vertikal dibagi dengan jendela bernama PYTHON, yang bagus karena nama jendela akan tercermin dalam nama tab terminal gnome-terminal saya.

anarchist912
sumber
1
Jawaban yang bagus, tapi tolong hapus pertanyaan di bagian akhir. Cobalah mengajukannya sebagai pertanyaan baru, yang akan memastikan lebih banyak orang melihatnya.
Tom Brossman