Ekranı doğrudan komut satırından birden fazla bölünme ile nasıl başlatabilirim?


13

screenSunucumla oturum açtıktan sonra kullanıyorum ssh. Şu an itibariyle, ekran penceremdeki bölünmeleri elle ayarladım ve aşağıdaki ekran görüntüsünde gösterildiği gibi komutları elle çalıştırıyorum:

resim açıklamasını buraya girin

  • Üst kısım çalışmalıdır tail -n 1 -f /home/server/log/access.log.
  • Sağ alt kısım çalışmalıdır htop
  • Sol alttaki komut istemi olmalıdır

Komutlar / komut dosyası ile yapmanın herhangi bir yolu var mı, bu yüzden el ile her seferinde yeniden yapmak zorunda değilim?



@muru Bu, yukarıda gösterildiği gibi doğrudan nasıl sipariş verileceği değil, ayrı ekranların nasıl başlatılacağı kısmı için oldukça yanıt verir.
Videonauth

Ekrandaki kısayollar kullanılarak yapılabilecek her şey, içindeki komutlar kullanılarak yapılabilir .screenrc. Bu düzenleme için splitkomuta sahibiz .
muru

Yanıtlar:


16

Pencere düzenlemelerin Özel bir durum için bir dosyaya kaydetmek için bir ekran komutu var: layout dump. Gönderen man screen:

layout dump [filename]

Write to a file the order of splits made in the current layout. This is
useful to recreate the order of  your  regions  used  in  your  current
layout.  Only  the  current  layout is recorded. While the order of the
regions are recorded, the sizes of  those  regions  and  which  windows
correspond  to  which regions are not. If no filename is specified, the
default is layout-dump, saved in the directory that the screen  process
was  started in. If the file already exists, layout dump will append to
that file. As an example:

           C-a : layout dump /home/user/.screenrc

will save or append the layout to the user's .screenrc file.

Yani, düzenlemeyi manuel olarak Ctrla:yaptıktan sonra , tuşuna basın ve yazın layout dump /path/to/some/file. Düzen, konumuna kaydedilecek /path/to/some/fileve daha sonra aşağıdakilerle yeni bir oturumda geri yükleyebilirsiniz:

screen -c /path/to/some/file

+1 hoş biri; split -vBelgesiz görünüyor :) Ben mücadele bu yüzden.
Videonauth

@Videonauth aslında varsayılan tuş bağlamaları bölümünde belgelenmiştir. C-a | (split -v) Split the current region vertically into two new ones.
Sergiy Kolodyazhnyy

Evet, görünüşe göre sadece manpagede, yanında C-a |, ancak GNU belgelerinde belirtilmemiş
muru

Bahsetmek isteyebileceğiniz garip bir davranış bulundu: Örneğin yazarsanız layout dump ~/layoutişlem başarısız olur, tam yol gerekir (yani /home/$USER/layout)
Videonauth

@Videonauth tilde genişletme işlemi genellikle kabuk tarafından yapıldığından, verilen bir komutun dahili olarak desteklememesi şaşırtıcı değildir. Bazıları yapar, çoğu yapmaz.
muru

10

Sorumda gösterilen çıktıyı oluşturmak için @ ile geldim ve @ muru'nun mükemmel cevabını takip ettim . Kullanmak layout dumpbana şunları verdi:

split
focus
split -v
focus

Not: Tilda ( ~) genişleme çalışmaz layout dumpböylece yerine ~/layout.dmpkullanmak gerekir örneğin /home/<username>/layout.dmp.

Bundan sonra aşağıdakileri yarattım .screenrc

# create the top screen
chdir /home/server/log
screen -t "Apache Log" tail -n 1 -f access.log
# split the screen and focus onto the new created space
split
focus
#create the bash
chdir /home/server/log
screen
# split vertically and focus onto the new area
split -v
focus
# create the htop screen
screen -t "Htop" htop
# focus twice to end up with the bash area active
focus
focus

Şimdi sadece screenistediğim yerleşimi yazmam ve başlatmam gerekiyor. Bunu merak edenler için bir örnek olarak burada bırakıyorum, ancak @ muru'nun cevabını yukarı oylamayı unutma, çünkü bunu çözebilmem için beni o yaptı.

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.