Bagaimana saya mengakses sesi tmux setelah saya meninggalkannya?

18

Saya menggunakan tmux pada EC2 AWS tetapi saya ingin melihat apa yang terjadi dalam satu sesi yang saya buat.

Saya menggunakan Ctrl+ bdan kemudian d meninggalkan sesi.

Menggunakan ubuntu 16.04

Vitor Abella
sumber
2
Apakah kamu sudah mencoba tmux attach?
Stephen
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).

  1. 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).

  2. 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

0:1: Project- (4 panes) [177x48]
0:2: Mirror (3 panes) [177x48]
0:3: Chat! (1 panes) [177x48]
0:4: ssh* (1 panes) [177x48]
1:1: zsh (2 panes) [176x45]
1:2: zsh* (1 panes) [176x45]
1:3: zsh- (1 panes) [176x45]

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:1 melihat penjelasan format di atas .

Hasil muncul menunjukkan sesi 0 jendela 1 (-s 0: 1) memiliki panel ini.

1: [177x34] [history 3/10000, 4119 bytes] %7 (active)
2: [88x13] [history 541/10000, 231972 bytes] %8
3: [88x13] [history 2/10000, 1541 bytes] %9

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

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.

Saya harap ini menjawab pertanyaannya.

ArchNoob
sumber
0

Mengikuti jawaban di atas, Anda dapat mencoba:

tmux lsuntuk mendapatkan nomor sesi. Lalu

tmux attach-session -t <session_number>

Zak
sumber