tab saat menggunakan 'layar'


20

Saya menggunakan Ubuntu 10,04. Setelah saya menginstal screen:

sudo apt-get install screen

Saya membuat dua koneksi ssh ke dua server jauh dengan melakukan hal-hal berikut langkah demi langkah (saya melakukan langkah-langkah berikut sesuai dengan dokumen di sini ):

1. buka jendela termnal, jalankan perintahscreen

2. tekan Ctrl+ A+ cuntuk membuat konsol virtual baru

3. ssh usr@IP1

Pada titik ini, saya memiliki satu konsol virtual yang menunjukkan saya telah terhubung ke server jarak jauh (IP1).

4. tekan Ctrl+ A+ cuntuk membuat konsol virtual baru

5. ssh usr@IP2

Jadi, sekarang saya telah terhubung ke dua server jarak jauh (IP1 & IP2). Tapi , saya tidak memiliki dua tab pada satu jendela terminal, sebagai gantinya, saya harus menggunakan Ctrl+ A+ pdan Ctrl+ A+ nuntuk beralih di antara dua konsol virtual dalam satu jendela terminal.

Bukankah begitu dengan menggunakan screen, saya bisa memiliki dua tab dalam satu jendela terminal, dengan setiap tab menampilkan satu koneksi ke satu server jarak jauh. Mengapa saya tidak memiliki tab di jendela terminal saya?

Jawaban:


26

Inilah saya .screenrcyang saya gunakan di mana-mana untuk melihat screennomor saya sebagai tab di bagian bawah jendela dan garis informasi di atas tab . Bagian yang benar-benar Anda butuhkan ada di bawah "tampilan dan nuansa".

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup. 
autodetach on

# Change default scrollback value for new windows
defscrollback 10000

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"

# look and feel
caption always "%{= bb}%{+b w}%n %t %h %=%l %H %c"
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"

activity "Activity in %t(%n)"

shelltitle "shell"
shell -$SHELL

Anda juga dapat menambahkan yang berikut untuk secara otomatis menambahkan dua tab saat screenpertama kali dibuat:

screen ssh usr@IP1
screen ssh usr@IP2

Juga, konten status dapat diperbarui menggunakan kode melarikan diri yang dikeluarkan dari perintah dan prompt shell. Sebagai contoh, saya memperbarui status dengan menggunakan direktori saat ini dengan menggunakan ini di .bashrc:

if [ 'screen' == "${TERM}" ]; then
  export PROMPT_COMMAND='printf "\e]2;%s %s\a" "${USER}" "${PWD}" '
fi

4
Saya selalu bertanya-tanya mengapa selalu membutuhkan konfigurasi hardcore untuk membuat layar tidak payah untuk bekerja. PS Cobalah shelltitle "$ |shell:"untuk menambahkan nama perintah ke judul.
amphetamachine

7

Saat Anda menekan Ctrl+ adan" Anda dapat melihat layar "tab", mereka tidak seharusnya menjadi tab pada GUI terminal Anda, Anda dapat melakukannya secara manual dengan membuat tab baru di terminal GUI yang Anda gunakan dan kemudian jalankan di yang baru tab screen -runtuk kembali ke sesi layar Anda dan kemudian arahkan ke sesi yang Anda inginkan dengan Ctrl+ adan angka atau "untuk melihat menu dengan semua tab Anda.

Anda dapat memberi nama untuk masing-masing layar "tab" dengan menekan Ctrl + a lalu A .


1
Harus dijalankan screen -r -xjika layar itu sudah terpasang di tab pertama.
Arcege

3

Saya kira Anda membingungkan tab pada terminal grafis seperti konsole dengan yang ada di layar. Di layar Anda hanya mengganti konten jendela dengan yang disebutkan ^ A-Kombinations. Ini juga berfungsi pada lingkungan non-grafis.


2

Anda bisa mengonfigurasi screen untuk menunjukkan garis status yang dapat memberi tahu Anda banyak hal, saya kira juga pada jendela layar Anda, tetapi saya tidak menggunakan garis status, jadi tidak bisa mengatakan dengan pasti.

Untuk yang saya tahu, screenjangan membuat tab, tetapi Anda harus beralih di antara layar dengan perintah yang Anda pilih, atau seperti yang saya inginkan Ctrl- A 1, Ctrl-A 2 , dll.

Untuk memiliki lebih dari satu tab Anda dapat menggunakan gnome-terminalfitur, juga tanpa layar: Ctrl- Shift- Takan membuat tab baru, dan Alt- 1,Alt - 2, dll. Akan beralih di antara tab.

Saya juga bertanya mengapa Anda tidak menjalankan layar di server, jadi hanya menggunakan satu koneksi ssh (tetapi dalam hal ini tanpa tab).


2

Saya tahu ini cukup lama, tetapi karena Google membawa saya ke sini, orang lain mungkin membaca ini juga. Jadi, inilah hack $ 0,02 saya untuk meniru tab dalam sesi "layar":

Buat garis status dengan:

  • di sebelah kiri: tanggal / waktu
  • di sisi kanan: nama host lokal + beban rata-rata
  • di tengah: nama-nama layar "windows"
    • jendela saat ini: teks merah dengan latar belakang hitam
    • jendela lain: teks putih pada warna latar belakang garis status (biru, di sini)

Masukkan ~/.screenrc:

hardstatus alwayslastline "%{kb}%{c}[%{w}%D %d/%m/%Y %c:%s%{c}] %{w}%-w%{rk}%n %t%{wb}%+w %=%{c}[%{W}%H %l%{c}]"

(Mungkin ini bernilai lebih dari $ 0,02 karena saya berjuang cukup lama dalam hal ini ;-)

Untuk beralih dari jendela saat ini ke sebelumnya / berikutnya dengan F6/ F7tombol:

bindkey -k k6 prev
bindkey -k k7 next
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.