setelah menggunakan tmux atau kapan pertama kali menggunakannya?
Vitor Abella
Biasanya Anda bertahan, melakukan beberapa hal, lalu lepaskan. Kemudian Anda menggunakan tmux attach untuk kembali ke sesi sebelumnya.
Stephen
Jawaban:
22
Saya ingin melihat apa yang terjadi dalam satu sesi yang saya buat.
Sejauh yang saya tahu, Anda dapat melihat daftar sesi tmux Anda dengan menggunakan
tmux list-sessions untuk melihat sesi apa yang sedang berjalan di tmux.
Untuk benar-benar melihat apa yang sedang berjalan di sesi-sesi yang harus Anda lampirkan pada sesi tertentu, untuk melakukan ini Anda memiliki dua opsi (dari pengalaman).
Jika saat ini Anda tidak menjalankan sesi tmux (atau saat ini tidak dalam sesi tmux) Anda lampirkan dengan menjalankan tmux attach -t n(di mana -t adalah singkatan dari sesi target dan n untuk nomor sesi itu).
Jika Anda menjalankan di dalam sesi tmux lain, Anda akan mendapatkan kesalahan saat mencoba menyambung ke sesi lain sehingga cara paling sederhana untuk melihat apa yang sedang berjalan di sana adalah dengan menggunakan tmux list-windows -aperintah lalu gerakkan panel / jendela apa pun yang Anda jalankan tugasnya.
Memindahkan Jendela menggunakan tmux move-window -s n1 -t n2( -s == jendela sumber , -t == jendela target tempat jendela sumber akan dilampirkan. N1 == nomor jendela yang ingin Anda pindahkan dan n2 adalah jumlah jendela yang Anda pindahkan).
Format
Angka n1 & n2 dipesan / diformat sebagai sessionNumb:windowNumb. Jadi sesi pertama di jendela pertama adalah 0: 1, dan sesi kedua di jendela pertama adalah 1: 1.
Catatan. n2 harus merupakan sesi yang tersedia dengan jendela yang belum dibuat. Jika Anda memindahkan jendela ke jendela yang sudah dibuat, Anda akan mendapatkan kesalahan yang mengatakan "Jendela target tidak kosong" dan pindah ke sesi yang tidak dibuat akan memberikan kesalahan "tidak dapat menemukan sesi n".
Memindahkan panel kadang-kadang dalam satu jendela Anda mungkin memiliki banyak panel dan Anda hanya perlu memindahkan satu panel, ini berguna jika Anda hanya perlu satu panel untuk bergerak di dalam jendela Anda saat ini (karena Anda tidak dapat memindahkan jendela di dalam jendela lain).
Anda menggunakan sintaks yang hampir mirip dengan memindahkan jendela tetapi Anda melakukannya tmux move-pane -s *n1* -t *n2*.
Di mana n1 sekarang dirumuskan sebagai sessionNumb:windowNumb.paneNumbdan begitu juga n2 .
Contohnya
Setelah tmux list-windows -aAnda akan memiliki sesuatu seperti ini
Sekarang, memindahkan jendela "Obrolan" dari sesi pertama ke sesi kedua saya harus saya jalankan tmux move-window -s 0:3 -t 1:4(ingat tidak bisa memindahkan jendela ke jendela yang sudah dibuat).
Memindahkan panel
Jika Anda hanya perlu memindahkan panel maka Anda perlu melakukannya tmux list-panes -aatau jika Anda sudah tahu dari jendela mana, Anda dapat tmux list-panes -t 0:1melihat penjelasan format di atas .
Hasil muncul menunjukkan sesi 0 jendela 1 (-s 0: 1) memiliki panel ini.
yang tidak dapat diterima, tetapi jika Anda perlu melihat lebih banyak informasi sehingga Anda bisa tahu panel mana yang benar-benar Anda butuhkan, Anda bisa melakukannya
yang akan menampilkan perintah yang sedang berjalan saat ini di setiap panel.
Dalam kasus saya
vim
zsh
python (sadly it's runnuning `ranger`)
Jadi setelah mengidentifikasi panel mana yang Anda inginkan (katakan saja yang vim) Anda perlu memindahkannya.
tmux move-pane -s 0:1.1 -t 1:1.2untuk pindah ke panel tertentu dalam kasus ini 2
Jika Anda hanya memiliki satu panel di jendela target, Anda tmux move-pane -s 0:1.1 -t 1:1.tidak dapat memiliki panel target, dan itu masih akan berfungsi.
tmux attach
?Jawaban:
Sejauh yang saya tahu, Anda dapat melihat daftar sesi tmux Anda dengan menggunakan
tmux list-sessions
untuk melihat sesi apa yang sedang berjalan di tmux.Untuk benar-benar melihat apa yang sedang berjalan di sesi-sesi yang harus Anda lampirkan pada sesi tertentu, untuk melakukan ini Anda memiliki dua opsi (dari pengalaman).
Jika saat ini Anda tidak menjalankan sesi tmux (atau saat ini tidak dalam sesi tmux) Anda lampirkan dengan menjalankan
tmux attach -t n
(di mana -t adalah singkatan dari sesi target dan n untuk nomor sesi itu).Jika Anda menjalankan di dalam sesi tmux lain, Anda akan mendapatkan kesalahan saat mencoba menyambung ke sesi lain sehingga cara paling sederhana untuk melihat apa yang sedang berjalan di sana adalah dengan menggunakan
tmux list-windows -a
perintah lalu gerakkan panel / jendela apa pun yang Anda jalankan tugasnya.Memindahkan Jendela menggunakan
tmux move-window -s n1 -t n2
( -s == jendela sumber , -t == jendela target tempat jendela sumber akan dilampirkan. N1 == nomor jendela yang ingin Anda pindahkan dan n2 adalah jumlah jendela yang Anda pindahkan).Format Angka n1 & n2 dipesan / diformat sebagai
sessionNumb:windowNumb
. Jadi sesi pertama di jendela pertama adalah 0: 1, dan sesi kedua di jendela pertama adalah 1: 1.Catatan. n2 harus merupakan sesi yang tersedia dengan jendela yang belum dibuat. Jika Anda memindahkan jendela ke jendela yang sudah dibuat, Anda akan mendapatkan kesalahan yang mengatakan "Jendela target tidak kosong" dan pindah ke sesi yang tidak dibuat akan memberikan kesalahan "tidak dapat menemukan sesi n".
Memindahkan panel kadang-kadang dalam satu jendela Anda mungkin memiliki banyak panel dan Anda hanya perlu memindahkan satu panel, ini berguna jika Anda hanya perlu satu panel untuk bergerak di dalam jendela Anda saat ini (karena Anda tidak dapat memindahkan jendela di dalam jendela lain).
Anda menggunakan sintaks yang hampir mirip dengan memindahkan jendela tetapi Anda melakukannya
tmux move-pane -s *n1* -t *n2*
.Di mana n1 sekarang dirumuskan sebagai
sessionNumb:windowNumb.paneNumb
dan begitu juga n2 .Contohnya
Setelah
tmux list-windows -a
Anda akan memiliki sesuatu seperti iniSekarang, memindahkan jendela "Obrolan" dari sesi pertama ke sesi kedua saya harus saya jalankan
tmux move-window -s 0:3 -t 1:4
(ingat tidak bisa memindahkan jendela ke jendela yang sudah dibuat).Memindahkan panel
Jika Anda hanya perlu memindahkan panel maka Anda perlu melakukannya
tmux list-panes -a
atau jika Anda sudah tahu dari jendela mana, Anda dapattmux list-panes -t 0:1
melihat penjelasan format di atas .Hasil muncul menunjukkan sesi 0 jendela 1 (-s 0: 1) memiliki panel ini.
yang tidak dapat diterima, tetapi jika Anda perlu melihat lebih banyak informasi sehingga Anda bisa tahu panel mana yang benar-benar Anda butuhkan, Anda bisa melakukannya
tmux list-panes -F "#{pane_current_command}" -t 0:1
yang akan menampilkan perintah yang sedang berjalan saat ini di setiap panel.
Dalam kasus saya
Jadi setelah mengidentifikasi panel mana yang Anda inginkan (katakan saja yang vim) Anda perlu memindahkannya.
tmux move-pane -s 0:1.1 -t 1:1.2
untuk pindah ke panel tertentu dalam kasus ini 2Jika Anda hanya memiliki satu panel di jendela target, Anda
tmux move-pane -s 0:1.1 -t 1:1.
tidak dapat memiliki panel target, dan itu masih akan berfungsi.Saya harap ini menjawab pertanyaannya.
sumber
Mengikuti jawaban di atas, Anda dapat mencoba:
tmux ls
untuk mendapatkan nomor sesi. Lalutmux attach-session -t <session_number>
sumber