Bagaimana beralih antar layar di dalam layar?

12

Saya harus bekerja di dalam dua lingkungan. Satu Windows (lokal) dan satu Linux (jarak jauh). Saya telah menginstal utilitas layar linux di keduanya. Saya dapat membuka layar di windows saya, lalu dalam satu tab, saya membuka koneksi ssh ke linux remote dan saya memulai layar lain.

Sampel

linux  -- |0 linux remote 0| 1 linux remote 1 
windows-- |0 linux | 9 windows 

Saya dapat beralih antara "linux remote 0" dan "linux remote 1" menggunakan Atl +. Ini dikonfigurasi dalam .screenrc (bindkey "^ [0" pilih 0) Bagaimana saya bisa beralih ke "9 windows"?

André Andrade
sumber

Jawaban:

21

Ah. layar-dalam-layar ... sangat Inception. Kita harus masuk lebih dalam ...

Yang sedang berkata, Anda dapat mengirim ctrl-A ke layar bersarang dengan melakukan Ctrl-AA.


sumber
Puitis dan tepat: apa lagi yang bisa diminta pengembang yang rendah hati? ;)
Tomislav Nakic-Alfirevic
Saya telah menemukan bahwa penerbitan Ctrl+A Atidak hanya beralih antara jendela dalam saat ini dan terakhir dalam sesi layar dalam. Bagaimana satu siklus melalui seluruh jendela layar dalam menumpuk? Bersulang!
nemesisfixx
7

Ctrl+A, 9atau Ctrl+A, "(itu penawaran ganda) dan kemudian pilih dari daftar.


sumber
1
Begitulah cara beralih windows dalam satu screensesi. Pertanyaannya adalah tentang sesi layar bersarang.
Keith Thompson
4

Ketika saya menjalankan layar di layar lain, saya menggunakan karakter perintah yang berbeda untuk masing-masing.

Daripada ctrl-A default, saya menggunakan ctrl-space (karakter nol, escape ^@^@dalam .screenrc) untuk yang luar, dan ctrl-] ( escape ^]^]dalam .screenrc) untuk yang dalam.

Jika Anda tidak melakukan itu, Anda dapat mengirim karakter perintah tunggal ke screensesi bersarang bagian dalam (atau ke perintah lain yang berjalan di bawah screen) dengan menggandakannya.

Keith Thompson
sumber
Ini hanya apa yang saya cari - terima kasih!
andersonbd1
Bagaimana saya bisa mengubah karakter perintah .screenrctergantung pada kedalaman saat ini?
Scz
1
@ Szcz: Saya tidak tahu. Saya memiliki sesi layar berjalan di sistem rumah saya (dengan escape ^@^@) dan sesi lain berjalan di sistem lain (dengan escape ^]^]). Saya kebetulan memiliki sshke sistem kedua sebagai salah satu jendela di yang pertama.
Keith Thompson
3

Seperti disebutkan oleh rocka84 tetapi untuk perintah kedua Anda tidak perlu menekan Ctrllagi. Seperti untuk menciptakan layar baru di terminal bersarang perlu Anda lakukan seperti ini Ctrl+a, a, c.

terburu-buru
sumber
1

Anda dapat menekan Ctrl+ a, diikuti oleh Shift+ '(single quote)'dan memilih layar yang Anda inginkan.

Atau Anda dapat menekan Ctrl+ a(double tap)untuk kembali ke layar sebelumnya.

gila
sumber
1

Seperti yang disebutkan, Anda dapat mengirim Ctrl+Ake layar bagian dalam dengan Ctrl+A A. Lakukan ini dua kali untuk mengganti layar bagian dalam.
Pastikan untuk melepaskan Btw Ctrlkedua (dan sebagainya) A

: Ini berlaku untuk semua urutan kontrol dari layar bagian dalam, tekan saja Ctrl+Asebelum semua Tombol dan lepaskan tombol Ctrluntuk urutan. Lebih mudah ditampilkan daripada dijelaskan:
Ctrl+A A Cmembuat layar bagian dalam baru.

rocka84
sumber
0

Anda dapat menggunakan seperti di bawah ini

  • untuk layar berikutnya dan

Ctrl + A n

untuk layar sebelumnya

Ctrl + A p

SuperKrish
sumber
0

Jawaban Marc B tampaknya berhasil, kecuali itu hanya menyulap antara jendela saat ini dan terakhir di sesi layar bagian dalam. Berikut ini memang memungkinkan untuk memiliki perilaku yang biasanya diharapkanCtrl+A di dalam sesi yang terkandung ...

Ctrl+A A

Dan misalnya, ketika bersepeda melalui jendela ...

Ctrl+A A [N,P]

nemesisfixx
sumber