'ekran' kullanırken sekmeler


20

Ubuntu 10.04 kullanıyorum . Yükledikten sonra screen:

sudo apt-get install screen

Aşağıdaki işlemleri adım adım yaparak iki uzak sunucuya iki ssh bağlantısı yaptım (buradaki belgeye göre aşağıdaki adımları gerçekleştiriyorum ):

1. bir son pencere açın, komutu çalıştırınscreen

2. yeni bir sanal konsol oluşturmak için Ctrl+ A+ tuşlarına basınc

3. ssh usr@IP1

Bu noktada, uzak sunucuya (IP1) bağlandığımı gösteren bir sanal konsolum var.

4. yeni bir sanal konsol oluşturmak için Ctrl+ A+ tuşlarına basınc

5. ssh usr@IP2

Şimdi, iki uzak sunucuya (IP1 ve IP2) bağlandım. Ama , ben iki sekme yok bir terminal penceresinde, onun yerine, kullanımına sahip Ctrl+ A+ pve Ctrl+ A+ niki sanal konsola arasındaki anahtara bir terminal penceresinde.

Kullanarak screen, bir terminal penceresinde iki sekme olabilir , her sekme bir uzak sunucuya bir bağlantı görüntüler. Terminal penceremde neden sekmeler yok ?

Yanıtlar:


26

İşte benim var .screenrcbenim görmek her yerde kullandıkları screengibi sayıları sekmelerin penceresinin alt ve üstünde bir bilgilendirme çizgisinde sekmelerin . Gerçekten ihtiyacınız olan kısım "görünüm ve his" altında.

# 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

Sen ayrıca otomatik olarak iki eklemek için aşağıdakileri ekleyebilir sekmeleri zaman screenbir kez oluşturulduktan:

screen ssh usr@IP1
screen ssh usr@IP2

Ayrıca, durum içeriği kabuk komutları ve istemlerinden verilen çıkış kodları kullanılarak güncellenebilir . Örneğin, bunu geçerli dizinde kullanarak günlüğümde şunu kullanarak güncelleştiririm .bashrc:

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

4
Her zaman ekranın çalışmasını emmek için neden bazı sert yapılandırmalar aldığını merak ettim. PS shelltitle "$ |shell:"Başlığa komut adını eklemeyi deneyin .
amfetamachine

7

Ctrl+ Tuşuna bastığınızda ave ""sekmeler" ekranını gördüğünüzde, bunların terminal GUI'nizde sekme olması gerekmez, kullandığınız terminal GUI'sinde yeni bir sekme oluşturarak ve ardından yeni sekmesini screen -rkullanarak ekran oturumunuza dönün ve ardından Ctrl+ ave bir sayı ile istediğiniz oturuma gidin veya "tüm sekmelerinizi içeren bir menü görün.

Ctrl + a Sonra tuşlarına basarak ekranlarınızın her birine "sekme" adı verebilirsiniz A .


1
screen -r -xBu ekran ilk sekmeye zaten eklenmişse çalıştırılması gerekir .
Arcege

3

Konsol gibi grafik terminallerindeki sekmeleri ekrandakilerle karıştırıyorsunuz sanırım. Ekranda yalnızca belirtilen ^ A-Kombinasyonları olan bir pencerenin içeriğini değiştirirsiniz. Bu grafik olmayan bir ortamda da çalışır.


2

Sana screenbirçok şey hakkında bilgi verebilecek bir durum satırı göstermek için yapılandırabilirsin , sanırım hangi ekran penceresinde olduğunu da düşünüyorum, ancak bir durum satırı kullanmıyorum, bu yüzden kesin olarak söyleyemem.

Ben bildiklerimi için screensekmeler oluşturmaz, ama sen belirtilen komutuyla ekranlar arasında geçiş yapmak zorunda, yoksa tercih olarak Ctrl- A 1, Ctrl- A 2, vs.

Birden fazla sekmeye sahip olmak için gnome-terminal, ekran olmadan da özellikleri kullanabilirsiniz : Ctrl- Shift- Tyeni bir sekme oluşturur ve Alt- 1, Alt- 2vb. Sekmeler arasında geçiş yapar.

Ayrıca, neden sadece bir ssh bağlantısı (ancak bu durumda herhangi bir sekme olmadan) kullanarak sunucuda ekran çalıştırmıyorum soruyorum.


2

Bunun oldukça eski olduğunu biliyorum, ancak Google beni buraya getirdiğinden, diğerleri de okuyabilir. İşte bir "ekran" oturumunda sekmeleri taklit etmek için $ 0.02 kesmek:

Şunlarla bir durum satırı oluşturun:

  • sol tarafta: tarih / saat
  • sağ tarafta: yerel ana bilgisayar adı + ortalama yük
  • ortada: "windows" ekranının adları
    • geçerli pencere: siyah zemin üzerine kırmızı metin
    • diğer pencereler: durum satırı arka plan renginde beyaz metin (mavi, burada)

Koy ~/.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}]"

(Belki bu 0.02 $ daha değerlidir çünkü ben bu konuda oldukça zaman mücadele ;-)

F6/ F7Tuşlarını kullanarak geçerli pencereden bir önceki / bir sonrakine geçmek için :

bindkey -k k6 prev
bindkey -k k7 next
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.