Pendek melakukan ini , apakah mungkin untuk memindahkan perintah yang sedang berjalan di panel ke sesi tmux lain?
Pendek melakukan ini , apakah mungkin untuk memindahkan perintah yang sedang berjalan di panel ke sesi tmux lain?
Jawaban:
Ya itu cukup mudah, gunakan move-pane
perintah tmux. Untuk info lebih lanjut, jalankan
man tmux | less -I '+/mOVE-pane'
Bagian yang sulit adalah hanya mengetahui bagaimana sesi tmux referensi, jendela dan panel dalam perintah untuk memanipulasi panel dll.
Pindah ke panel yang ingin Anda pindahkan ke sesi lainnya
Dapatkan nama sesi target dengan menjalankan <prefix>s
.
Pada sistem saya yang menghasilkan:
(0) + 0: 8 windows (attached)
(1) + 1: 1 windows
^
|
This is the session name. It could be different
on your system and it could be a word (not just a number).
<prefix>:move-pane -t <session_name>:<window number>
^^^^^^^^^^^^^^ the name from above goes in here
Jadi pada sistem saya, saya pindah ke panel dengan proses yang berjalan, berlari
<prefix>:move-pane -t 1:1
dan panel dengan proses di dalamnya dipindahkan ke jendela satu di sesi 1
.
Itu dimasukkan sebagai split, jadi biasanya Anda ingin menjalankan jendela pada sesi lain sebagai jendela sekali pakai.
Catatan: sepertinya jendela target memang perlu ada, kalau tidak move-pane
perintah akan mengeluarkan kesalahan.
Untuk latar belakang lebih lanjut tentang format untuk menentukan sesi, jendela dan panel dalam perintah tmux, lihat bagian COMMANDS
dalam man tmux
.
Saya tidak bisa berkomentar, jadi saya akan meletakkannya di sini: untuk tmux 2.1-3build1 ~ tepatnya perintahnya adalah:
<prefix>:move-pane -t session_name:window_number
- Anda memerlukan " -t
" sebelum nama sesi (tidak harus angka), dan jendela dengan nomor yang diberikan harus ada.
Semua sisanya seperti yang dijelaskan oleh the_velour_fog dalam jawabannya .
PS Jika Anda hanya mengetik session_name
tanpa window_number
seperti itu:
<prefix>:move-pane -t session_name:
,
maka panel Anda akan dipindahkan ke jendela saat ini dari sesi tujuan (dan jendela ini akan dibagi).
PPS Jika Anda hanya ingin memindahkan jendela Anda (dan bukan hanya jendela Anda), maka ada jawaban yang bagus tentang cara Memindahkan jendela antara klien tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
di mana src-window
dan dst-window
memiliki formulir session:window.pane
.
Saya memiliki dua sesi berjalan, masing-masing di iTerm mereka sendiri. Yang perlu saya lakukan untuk memindahkan panel dari satu sesi ke sesi lainnya adalah
pilih panel
<leader>s <session>
di mana <session>
angka di dalam kurung kotak
tmux 2.7
<prefix>m
, buka jendela tujuan dengan<prefix>w
dan pindahkan panel yang ditandai di sanajoin-pane
.