Ekran - bir SSH oturumunda birden çok ekran. Ekran - bir SSH oturumunda birden çok ekran Ubuntu ekranı farklı kullanıcılar

5958 görüntüleme

Screen'in yaratıcıları, yardımcı programı bir (sözde) terminal yöneticisi olarak adlandırır. Buradaki fikir, sanki "gerçek" bir TTY'de çalışıyormuşuz gibi tek bir terminalden bu terminallere erişim sağlamak ve Alt-Fn'yi kullanarak birinden diğerine geçmek.

Aslında, Screen çok daha fazlasını yapar. Başlıca avantajlarından iki tanesini listeleyeceğim.


Pirinç. 2. İki ayrı açık pencere (alt) yerine tek bir Ekran penceresinde (üstte) her iki sözde terminal.

Yardımcı programın açıklamasına geçmeden önce, Screen'in nasıl çalıştığını anlamayı kolaylaştıran terminoloji üzerinde anlaşmak faydalı olacaktır.

1. Terimler ve tanımlar

pencere- kendi bash'ı (login olmayan) olan bir sözde terminal. Pencereler 0'dan 9'a kadar numaralandırılmıştır (pencere numaraları yeniden tanımlanabilir). Adlandırılabilirler (ve tercihen).

Bölge- pencerelerden birinin görüntülendiği ekranın dikdörtgen alanı. Ekran hem dikey hem de yatay olarak alanlara bölünebilir.

Ekran düzeni (düzen). Bu, terminal ekranının bölündüğü bir dizi alan. Her işaretlemeye bir ad verilebilir ve bunları Ekran oturumu içinde yerleşim komutları grubu kullanılarak hızlı bir şekilde seçebilmek için yapılandırma dosyasına eklenebilir (aşağıya bakın).

2. Komutların açıklaması

Klavye kısayollarını kontrol edin. Ekranda kontrol komutlarını girme moduna geçmek için varsayılan olarak Ctrl-a kullanılır. Bu kombinasyona bastıktan sonra, örneğin gerçek kontrol karakteri veya kombinasyonu girilir, örneğin? (komut yardımı) veya Ctrl-I (bir sonraki alana geçin). Basitlik adına, aşağıda, Ctrl-a anahtarı olmadan yalnızca kontrol kısayollarından bahsedilecektir.

Pencerelerle çalışma (sözde terminaller, PTS) İleİçinde bash çalışan bir pencere oluşturun.KBir pencereyi kapatAPencereyi yeniden adlandırrTerminalde Satır Sarmayı Etkinleştir / Devre Dışı Bırak" Pencereleri listele Ekranın bölgeleriyle çalışma sBölgeyi yatay olarak ikiye bölben (boru)Bir alanı dikey olarak ikiye bölmeSekmeEkranın sonraki alanına geçQDiğer tüm alanları kapatın ve güncel tutun (odak budur) Ekran oturumlarıyla çalışma DOturumu arka plana getirin ve sistem konsoluna dönün

Dahili Ekran komutları. Kontrol karakteri girildikten sonra kullanılabilir: (iki nokta).

fare iziAlanlar arasında geçiş yapmak için fare desteğini etkinleştirin. Aynı zamanda Putty ssh istemci penceresinde fareye sağ tıklayarak kopyala/yapıştır özelliği engellenir. Bazı nedenlerden dolayı bu işlev, Ekran oturumunu "ayırdıktan" ve ona geri döndükten sonra kaybolur.düzen gösterisiYapılandırma dosyasında tanımlanan ekran düzenlerinin bir listesini görüntüleyindüzen seçimiKonfigürasyon dosyasında numara (n) veya başlık (başlık) ile belirtilen adlandırılmış ekran düzenini seçin.düzen kaydetme XXXYapılandırma dosyasında adlandırılmış bir işaretleme yazılmamışsa (örneğin, ekranı yeni yüklediyseniz), Ekran oturumunu ayırmadan önce mevcut düzeni XXX adıyla kaydetmek için bu komut yürütülmelidir. Yalnızca bu durumda, sistem konsolundan Ekran oturumuna yeniden girdiğinizde son işaretleme geri yüklenir.düzen otomatik kaydetme açıkOtomatik kaydetme işaretleme komutu genellikle yapılandırma dosyasına yazılır. Ekran oturumu "ayırıldığında" ekranda görünen adlandırılmış düzeni hatırlar. Komut, yalnızca yapılandırma dosyasında açıkça belirtilen işaretlere etki eder. Aksi takdirde, mevcut düzen, düzen kaydetme XXX komutuyla kaydedilmelidir (yukarıya bakın).çıkış yapmakTüm pencereleri kapatın ve oturumu sonlandırın

/ * Burada mevcut tablo için özel CSS ekleyebilirsiniz * / / * CSS hakkında daha fazla bilgi edinin: https://en.wikipedia.org/wiki/Cascading_Style_Sheets * / / * Stillerin diğer tablolarda kullanılmasını önlemek için "# kullanın supsystic-table-1 "temel seçici olarak örneğin: # supsystic-table-1 (...) # supsystic-table-1 tbody (...) # supsystic-table-1 tbody tr (...) * /

3. Örnek yapılandırma dosyası .screenrc

Genel ekran yapılandırma dosyası / etc / screenrc konumunda bulunur, ancak kolaylık sağlamak için kullanıcının ana dizininde bulunması gereken özel bir dosya yazmak daha iyidir ~ / .screenrc. Yerel dosya adının başında bir nokta olduğuna dikkat edin.

Temel olarak, dosyayı Github'dan (.screenrc by joaopizani) aldım ve ihtiyaçlarıma uyacak şekilde ayarladım:


Böylece Ekran başladığında, farklı bir düzen seçilerek herhangi bir zamanda değiştirilebilen Total Commander tarzı bir ekran elde ediyoruz. Sistem konsolundan Ekran oturumuna döndüğünüzde, işaretleme, otomatik kaydetme özelliği sayesinde "sabitlemeyi kaldırdığınız" zamankiyle aynı olacaktır.

Uzak sunucunuzda ssh ile oturum açtınız, klavyeye neşeyle vurun, kendi yönetici işlerinizi yapın ve ayy! Karakterlerin yazdırılması durdu ve mesajın kendisi düştü, bu da bazen klavyeyi kırmak için karşı konulmaz bir arzuya neden oldu. Bağlantı kapandı. Tanıdık durum? Evet, oturumunuz az önce çöktü ve her şeyi baştan yapmanız gerekiyor ... Ekran kullanılarak bu önlenebilir. Yalnızca oturumunuzu güvenli ve sağlam tutmanıza izin vermekle kalmaz, aynı zamanda bir terminal penceresinde birkaç oturumu açık tutmanıza da izin verir.

ekran nedir?
İlk olarak, kılavuz sayfasına bir göz atın: "Ekran, bir fiziksel terminali birden çok bağımsız sürece (genellikle etkileşimli kabuklar) bölmenize izin veren tam ekran bir pencere yöneticisidir."
Ekranın, ssh üzerinden uzak sunucularda görevler gerçekleştirirken çok yardımcı olabilecek birkaç ayırt edici özelliği vardır. Size en sık kullanılan üç özellikten bahsedeceğim: çoklu pencere, günlük kaydı ve oturumlar. Daha fazla ayrıntı için man sayfasına bakın.

yükleme ekranı
Büyük olasılıkla ekran zaten sisteminizde. Bunu komutla kontrol edebilirsiniz.

Bu işe yaramazsa, sisteminizin paket yöneticisini kullanarak ekranı kurun. Sunucularım ağırlıklı olarak CentOS ve Debian, bu yüzden ekranı şöyle koyuyorum:

# yum yükleme ekranı (CentOS için)
# apt-get kurulum ekranı (Debian için)

FreeBSD de karşımıza çıkıyor, bu durumda portları kullanıyorum:

# cd / usr / bağlantı noktaları / sysutils / ekran
kurulumu temiz yap

Ekranı kullanma
Ekran, herhangi bir uygulama gibi komut satırından başlatılır :)

Ekranın çalıştığına dair bir mesaj alabilir veya almayabilirsiniz ... Sisteminize bağlıdır. Mesajı almadıysanız, hiçbir şey olmadığını düşünebilirsiniz. Ancak öyle değil. Sen çoktan ekranda çalışan bir terminalin içinde. Bu, birkaç özel komut dışında normal, tamamen işlevsel bir kabuktur. Screen, kendi içindeki terminallere komut vermek için Ctrl + A klavye kısayolunu kullanır. Ctrl + A'ya basmayı deneyin ve ardından?
Aşağıdaki gibi bir şey göreceksiniz:

Ekran tuşu bağlantıları, sayfa 1/2.

Komut tuşu: ^ A Değişmez ^ A: a

ara ^ B b kilit ekranı ^ X x sıfırla Z
C log H ekranını temizle ^ C c
iki nokta üst üste: giriş L seçin ”'
kopyala ^ [[meta bir sessizlik _
ayır ^ D d monitör M bölünmüş S
digraph ^ V sonraki ^ @ ^ N sp n askıya alma ^ Z z
görüntüler * sayı N zaman ^ T t
sadece F Q başlığına sığdır A
akış ^ F f diğer ^ A vbell ^ G
odak ^ I pow_break B sürüm v
Yardım Edin? pow_detach D genişlik W
tarihçe () önceki ^ P p ^? pencereler ^ W w
bilgi okudum< wrap ^R r
K yeniden görüntülemeyi öldür ^ L l writebuf>
lastmsg ^ M m kaldır X xoff ^ S s
lisans, kaldırbuf = xon ^ Q q

Ekran, Ctrl + A tuşlarına bastıktan sonra komut klavye kısayollarını kabul eder. Bu davranışı $ HOME / .screenrc yapılandırma dosyasını kullanarak değiştirebilirsiniz.

birden çok pencere
Ekran, çoğu pencere yöneticisi gibi birden çok pencereyi destekler. Bu, yeni ssh oturumları açmadan paralel görevleri gerçekleştirmek için çok uygundur. Örneğin, sürekli olarak her birinde birkaç görevle açık dört veya beş oturumum var. Daha önce yaklaşık 15 terminal, giriş, oturum açmam gerekecekti.. Yorucu değil mi? Bu rahatsızlıklar tamamen ekran ile giderilmektedir. Artık tek bir terminalle kolayca geçebilirim.

“Ctrl + a c” tuş kombinasyonu ile yeni bir pencere açılır. Tıkladıktan sonra, aynı pencerede isteminizle yeni bir terminal göreceksiniz. Bu durumda, önceki pencereler de çalışmaya devam eder. Hadi deneyelim: ekranı çalıştır ve üstte

Mem: 506028K av, 500596K kullanılmış, 5432K ücretsiz,
0K parça, 11752K güçlendirme
393660K önbelleğe alındı


6538 kök 25 0 1892 1892 596 R 49,1 0,3
6614 kök 16 0 1544 1544 668 S 28.3 0.3
7198 yönetici 15 0 1108 1104 828 R 5,6 0,2

Şimdi “Ctrl + a c” tuşlarına basarak yeni bir pencere açın.

Ctrl + a n tuşlarına basarak geri dönün

Mem: 506028K av, 500588K kullanılmış, 5440K ücretsiz,
0K parça, 11960K güçlendirme
Takas: 1020116K av, 53320K kullanılmış, 966796K ücretsiz
392220K önbelleğe alındı

PID KULLANICI ÖZEL BOYUT RSS PAYLAŞIM STATÜ% CPU% ME
6538 kök 25 0 1892 1892 596 R 48.3 0.3
6614 kök 15 0 1544 1544 668 S 30,7 0,3

üst aynı kaldı. Bir sonraki pencereye geçmek için Ctrl + a n ve önceki pencereye geçmek için Ctrl + a p tuşlarını kullanarak birden çok pencere oluşturabilir ve bunlar arasında geçiş yapabilirsiniz. Bu durumda, başlatılan her işlem çalışır durumda kalacaktır.

Ekranla bağlantının kesilmesi
Ekrandan çıkış yapmanın iki yolu vardır: ilki basitçe çıkış yapmaktır. Ctrl + a K klavye kısayolunu kullanabilir veya sadece çıkış yazabilirsiniz. Bu yöntem, birden fazla veya tamamen durdurma ekranınız varsa, geçerli pencereyi "öldürür".
İkinci yol bağlantıyı kesmek... Bu yöntem, mevcut işlemi çalışır durumda bırakır ve sizi terminalden ayırır. Örneğin, dikkatinizi gerektirmeyen bir ssh oturumu aracılığıyla çok uzun bir işlem başlatırsanız, Ctrl + a d ile ekran bağlantısını kolayca kesebilirsiniz. Bu sizi orijinal kabuğunuza geri getirecektir. Ekranda geliştirilmiş tüm işlemler çalışır durumda kalır ve bunlara daha sonra bağlanabilirsiniz.

Bir oturuma bağlanma
Ekranı kullanarak uzak bir sunucuda büyük bir program derliyorsunuz. Ve tabii ki Murphy yasalarına göre, bağlantı kontrolünüz dışındaki nedenlerle sonlandırılır. Panik yapmayın, ekran her şeyi kaydetmiştir :) Sunucuya tekrar bağlanın ve ekran altında çalışan işlemleri görün.

# ekran -ls
Ekranlar var:
31619.ttyp2.server (Bağımsız)
4731.ttyp2.server (Bağımsız)
/ tmp / ekranlar / S-root'ta 2 Soket.

Bu örnekte, iki ekran oturumu çalışıyor. İstediğinize bağlanmak için şu komutu kullanın:

#screen -r 31619.ttyp2.server

Yeniden bağlanmak için sadece r bayraklı ekranı ve bir oturum adını kullanın. Çok rahat. Örneğin, işte uzun bir süreç başlatabilir ve uygulanmasını izlemeye devam etmek için eve dönebilirsiniz.

Kerestecilik
Bazen eylemlerinizin tam bir kaydını tutmak bana çok önemli görünüyor. Neyse ki, ekran bunu kolayca yapıyor. Sadece Ctrl + a H tuşlarına basarak günlüğe kaydetmeyi etkinleştirin. Ekran, tüm süreç boyunca günlüğe kaydetmeye devam edecektir. Geri dönüp gerekli işlemlerin sırasını görmek çok faydalı olabilir.

Ve biraz daha…
Ekran, pencere etkinliğini izleyebilir. Büyük bir şey indiriyorsanız, bir program derlerseniz veya yalnızca uzun bir işlem yürütüyorsanız, uzun süre hiçbir faaliyet belirtisi olmayan boş bir terminal görebilirsiniz. Bu arada süreç de işlemeye devam ediyor. Veya tersine, sürecin sonunu bekleyen hata ayıklama bilgisi akışına bakın. İzlemeye başlamak için, izlemek istediğiniz terminale gidin ve etkinliği izlemek için Ctrl + a M (yeni bilgi göründüğünde tetiklenir) veya hareketsizliği izlemek için Ctrl + a _ tuşlarına basın (terminal bilgi almayı durdurduğunda tetiklenir). Ardından güvenle başka bir pencereye geçebilir veya yeni bir tane oluşturabilirsiniz. Bir olay meydana geldiğinde ekran, terminal başlığında pencere numarasının yer aldığı bir mesaj ile sizi bu konuda uyaracaktır. Bu pencereye hızlı bir şekilde geçmek için Ctrl + a ”(bu alıntı sembolüdür). Şu anda aktif olan tüm pencerelerin bir listesini göreceksiniz. İstediğinize gitmek için okları kullanabilir veya istediğiniz pencerenin numarasını çevirebilirsiniz. İzlemeyi durdurmak için gerekli pencereye gidin ve aynı komutla izlemeyi iptal edin. Örneğin, izleme etkinliğini durdurmak için Ctrl + a M tuşlarına basın

Bir yıldan fazla bir süredir sınıf arkadaşım çalışırken ekran kullanmaya başlamam için beni teşvik etti. Zaman geçtikçe, hala ellerimi alamadım. Ama boşuna...

Ekran, aynı anda bir terminal oturumundan birden çok pencereyle çalışmanıza izin veren tam ekran bir pencere yöneticisidir. Yani ssh üzerinden uzaktaki bir makineye bağlanarak, bir oturumda birkaç penceresiyle aynı anda çalışabilirsiniz, örneğin ctrl + alt + f1, ctrl + alt + f2 tuşlarına basmak gibi... Programın önemli bir özelliği var: bağlantı koptuğunda veya bağlantısı kesildiğinde, içinde çalışan "ekran" işlemleri durmaz ve istediğiniz zaman bunlara geri dönebilirsiniz. Bunun için birçok kullanım var. Örneğin, uzak bir sunucu ile çalışırken, bağlantı aniden kesilse bile, programın başlatılan derlemesinin sona ereceğinden emin olabilirsiniz.

Kurulum

Program her zamanki gibi, örneğin Ubuntu'da şöyle kurulur:

apt-get kurulum ekranı

Ayrıca Ubuntu 10.04 Masaüstümde bu paketin zaten sistemde olduğunu belirtmekte fayda var.

Ekranı Kullanma

Programın başlatılması:

Programı başlattıktan sonra, bununla ilgili kısa bir bilgi gösterilecektir. Kaldırmak için enter veya boşluk tuşuna basın. Hiçbir şey olmadığını düşünebilirsiniz, ancak öyle değil: ekranda çalışan bir terminalin içindesiniz. Sonrasında ise alışık olduğumuz konsolu görüyoruz.

Ekran komutları vermek için ctrl + a tuş kombinasyonunu kullanın. Aşağıda kabuğu kontrol etmek için kullanılan ana komutların bir listesi bulunmaktadır:

  • c - yeni bir pencere oluştur
  • n - sonraki pencereye geç
  • p - önceki pencereye geç
  • k - pencereyi kapat
  • d - ekrandan bağlantıyı kes
  • "- ekranda çalışan pencerelerin listesi

Örneğin, yeni bir pencere oluşturmak için ctrl + a ve c tuşlarına basın.

Ekrandan bağlantıyı kestiğinizde tüm pencereler ve içinde çalışan işlemler çalışmaya devam eder. Çalışan ekranları görüntülemek için şu komutu kullanın:

Komut çıktısı şöyle görünecektir:

Ekranlar var:
18388.pts-4.asid-ubuntu-vm (23.09.2010 05:05:30) (Müstakil)
18272.pts-0.asid-ubuntu-vm (23.09.2010 04:54:23) (Müstakil)
/ var / run / screen / S-root'ta 2 Soket.

Çalışan ekrana bağlanmak için screen -r komutunu çalıştırın. ... Örneğin, bunun gibi:

ekran -r 18388.pts-4.asid-ubuntu-vm

veya daha kısa:

Başka bir makinenin ekran bağlantısını kesmeyi unuttuysanız (screen -ls çıktısında yanında bir yazı olacaktır), -rd parametresini kullanarak araya girebilirsiniz:

ekran -rd 18388

Son ekrana bağlanmak için şunları yapabilirsiniz:

Pekala, hepsi bu gibi görünüyor. Bunlar ve diğer komutlar hakkında daha fazla ayrıntı, her zamanki gibi, mana'da.

  • SSH terminalinde birden çok pencere oluşturun;
  • Ağ kesintileri sırasında bile oturumu aktif tutun;
  • Farklı konumlardan oturumun bağlantısını kesin ve yeniden bağlanın;
  • Etkin bir oturumu sürdürmeden uzun bir süreç gerçekleştirin.

Yum ile Ekran Kurulumu

Muhtemelen sisteminizde zaten bir Linux Ekranınız var. Çoğu Red Hat ve CentOS dağıtımında Screen Linux'u /usr/bin/screen içinde bulabilirsiniz. Ekranın orada olup olmadığını görmek için aşağıdaki komutu kullanabilirsiniz:

# hangi ekran
/ usr / bin / ekran

Ekranınız yoksa, sisteminiz için RPM veya paket dosyasından yükleyebilirsiniz. Örneğin, CentOS'ta Screen'i yum ile yükleyebilirsiniz:

# yum yükleme ekranı
...
Tamamlayınız!

Büyük ihtimalle Screen'e sahip olduğunuz veya RPM kullanabildiğiniz için, kaynaktan Screen'in nasıl kurulacağını anlatmayacağım. İşte ekranın nasıl kullanılacağı.

Screen Linux'u Başlatma

Ekran, diğer komutlar gibi komut satırından çalıştırılır:

[e-posta korumalı]~] # ekran

Artık Ekranda bir penceredesiniz. Birkaç özel karakter dışında tam olarak normal bir kabuk gibi çalışır.

Yönetim ekibi

Takım: "Ctrl-a"
Ekran "Ctrl-a" komutunu kullanır, bu "CTRL" tuşudur ve küçük harf "a", kabuk yerine Ekran'a komut göndermek için bir sinyal olarak çalışır. Örneğin, "Ctrl-a" ve ardından "?". Ekran yardım sayfasını görmelisiniz.

Tuş bağlamaları, Ctrl-a'ya bastıktan sonra Ekranın kabul ettiği komutlardır. .screenrc dosyasını kullanarak bu anahtarları istediğiniz gibi geçersiz kılabilirsiniz, ancak ben varsayılanları kullanıyorum.

Pencereler oluştur

Takım: "Ctrl-a" "c"... Yeni bir pencere oluşturmak için "Ctrl-a" "c" kullanın.

Bu kombinasyon, varsayılan ayarlarla yeni bir pencere oluşturacaktır. Eski pencereniz hala aktif olacak.
Örneğin, top çalıştırabilir ve ardından başka bir şey yapmak için yeni bir pencere açabilirim. Üst çalışmaya devam ediyor! Denemek için ekranı başlatın ve ardından top çalıştırın. (Not: Yer kazanmak için bazı ekran görüntülerini kestim.)

Çalıştırmak ...

yukarı - 09:10:33 35 güne kadar, 17:26, 1 kullanıcı, ortalama yük
Görevler: Toplam 131, 1 koşu, 130 uyku, 0 durma
İşlemci(ler): %0.4 us, %0.2 sy, %0.0 ni, %99.4 id, %0.0 wa, 0
Mem: 12302040k toplam, 6363652k kullanılmış, 5938388k ücretsiz,
Takas: Toplam 1052248k, 12k kullanılmış, 1052236k ücretsiz,

Şimdi "Ctrl-a" "c" ile yeni bir pencere açın

Ana pencereniz hala çalışıyor. Gerekirse, buna geçiş yapabilirsiniz.

Pencereler arasında geçiş yap

Komut: "Ctrl-a" "n"

Ekran ileri ve geri hareket etmenizi sağlar. Geri gitmek için "Ctrl-a" "n" kullanabilirsiniz. Bu komut bir sonraki pencereye geçer.

Bir atlıkarınca gibi çalışır - ilk pencerenize bir daire içinde geri döner. Birkaç pencere oluşturabilir ve bir sonraki pencere için "Ctrl-a" "n" veya önceki pencere için "Ctrl-a" "p" üzerinde bir geçiş yapabilirsiniz. Siz pencereyi kapatana kadar her işlem çalışmaya devam edecektir.

Ekranla Bağlantıyı Kesme

Komut: "Ctrl-a" "d"

Ekran, pencereden ayrılmanıza ve daha sonra geri dönmenize izin verir. Ağ bağlantısı kesilirse, Ekran oturumu otomatik olarak kesecektir!

"Ctrl-a" "d" ile ayırabilirsiniz.

Tüm Ekran pencereleri hala oradadır ve bunlara yeniden iliştirebilirsiniz. Bu, sunucuyu taşımak için rsync kullanırken kullanışlıdır.

Ekrana Yeniden Takma

Bağlantınız kesilirse veya Ekran bağlantınız kesilirse, aşağıdakileri çalıştırarak yeniden bağlanabilirsiniz:

$ ekran -r

Bu, Ekranınıza yeniden bağlanacaktır. Ancak, birden fazla Ekranınız varsa, şunu elde edebilirsiniz:

$ ekran -r
Birkaç uygun ekran var:
31917.pts-5.office (Müstakil)
31844.pts-0.office (Müstakil)
Bunlardan birini sürdürmek için "screen [-d] -r tty.host" yazın.

Eğer öyleyse, sadece istediğiniz Ekranı tanımlayın.

$ ekran -r 31844.pts-0.office

Ekran Eylemlerini Kaydetme

Yaptığım şeyi başka birinin sunucusunda yakalamayı önemli buluyorum. Neyse ki, Screen bunu kolaylaştırıyor.
kullanma "Ctrl-a" "H", oturum kaydı başlar. Screen, birden çok oturumda dosyaya veri eklemeye devam edecek. Kayıt işlevini kullanmak, özellikle yapılacak çok sayıda değişiklik varsa, ne yaptığınızı takip etmek için çok yararlıdır. Bir şeyler ters giderse, her zaman bir hata bulma fırsatı olacaktır.

Bildirimleri al

Ekran, pencerenin aktif veya pasif olup olmadığını izleyebilir. Bu işlev, büyük dosyalar yüklüyorsanız, derleme yapıyorsanız veya çıktı bekliyorsanız gereklidir.

"Uzun" bir programdan yanıt bekliyorsanız, etkinliği izlemek için "Ctrl-a" "M" tuşlarını kullanabilirsiniz. O ekrana bir yanıt kaydedildiğinde, ekranın alt kısmında bir uyarı görüntülenecektir.
Bunu uzun zaman alan bir komutu yürütürken kullanıyorum. Komutu çalıştırabilir, başka bir pencereye geçebilir ve durumu kontrol etmek için her seferinde geri dönemem.

Büyük bir dosya indiriyorsanız veya bir program derliyorsanız, tamamlandığında bir bildirim alacaksınız. Bu, görevin tamamlandığının bir işareti olacaktır. Ekranı göstermeden bu tür anları kontrol etmek için kullanıyorum "Ctrl-A" "_".

Ekran Oturum Kilidi

Bilgisayarınızdan birkaç dakika ayrılmanız gerekirse, oturumunuzu aşağıdakileri kullanarak engelleyebilirsiniz: "Ctrl-a" "x"... Oturuma tekrar erişmek için bir parola gereklidir.

Kök tarafından kullanılan ekran .
Parola:

Durdurma Ekranı

İşiniz bittiğinde, oturumu sonraya bırakmak yerine bitirmenizi tavsiye ederim. Screen'i durdurmak için, her zamanki gibi kabuğunuzdan "Çıkış" yazmanız yeterlidir. Bu, Ekranı kapatacaktır. Oturumunuzu sonlandırmak için tüm pencereleri kapatmalısınız.

Tüm pencereleri kapatır kapatmaz Ekranın kapanmaya başladığını belirten bir mesaj görüntülenir.

Alternatif olarak, kullanabilirsiniz "Ctrl-a" "k".

Böyle harika bir yardımcı program var ekran daha önce bilmediğim şey! Şimdi sürekli kullanmaya çalışıyorum. Ve umarım, bu makaleyi okuduktan sonra siz de kullanacaksınız.

Peki ne için?

Kaç kez SSH üzerinden terminalde çalışırken bağlantı kopması aldığım ve tüm geliştirmelerin (açık yapılandırma veya kopyalama işlemi) kaybolduğu bir durum oldu. Screen, ortamında kullanıcı oturumları başlatmanıza ve farklı sanal konsollara sahip olarak bunlara erişmenize olanak tanır. Herhangi bir hizmetin yapılandırmasını açık bırakabilir, iş gününün sonunda bağlantıyı kesebilir, eve gelip aynı oturuma evden bağlanabilirsiniz ve terminalde bulunan her şey, geçmiş, açık bir düzenleyici de dahil olmak üzere sizin için kullanılabilir olacaktır, vb. İletişim kesintileri artık bir engel değil. Birkaç farklı oturumunuz olabilir ve bunlara keyfi olarak bağlanabilirsiniz!

Nasıl çalıştığını görelim:

Komutun beni mutlu bir şekilde bilgilendirdiği yardımcı program zaten kuruldu:

# dpkg bilgisi | grep ekranı

Tamam şimdi her şey bitti! Şimdi çalışmaya başlayabilirsiniz.

Ekran oturumlarıyla çalışma

Bu programın adını konsola yazarak ekranı başlatabilirsiniz. Boşluk tuşuna bastıktan veya tekrar terminale girdikten sonra, hemen terminale veya davet penceresine yönlendirileceksiniz.

Tüm ekran oturumlarını şu şekilde görüntüleyebilirsiniz:

Oturumlar açıksa, onlara şu şekilde bağlanabilirsiniz:

# ekran -x Adı

veya sadece bir oturum varsa isimsiz.

Bunun gibi belirli bir adla bir oturum oluşturabilirsiniz:

# ekran -S "ad"

Ek olarak, programları yazarak Ekran oturumunda hemen başlatabilirsiniz:

# ekran<команда>

Ekranla çalıştık, şimdi oturumu kapatabiliriz (kabuktan çıkarak) veya bağlantısını kesebiliriz (Ctrl + D). Bu durumda, oturumda olan her şey daha fazla yürütülmeye devam edecektir.

Ayrıca bir ekran penceresinde birden fazla konsol kullanılabilir.

komutu ile oturumu sonlandırabilirsiniz. ve daha sonra k.

ekran kontrolü

Ekranın çok özel kontrolleri var. Tüm tuş vuruşları, kombinasyondan önce gelenler dışında, içinde çalışan programa iletilir. Ctrl + bir(varsayılan). Şunlar. ekranı kontrol etmek için önce bu kombinasyona basmanız ve ardından kontrol tuşunu yazmanız gerekir.

Bu nedenle, ekran oturumu içinde yeni bir pencere oluşturun:

# C

Hızlı bir şekilde bulabilmek için bu pencereyi yeniden adlandırabiliriz:

# A

Metni yazdık, Enter'a basın.

Tüm pencereleri şu şekilde görüntüleyebilirsiniz:

#

Bize sayıları ve isimleri olan etkileşimli bir pencere listesi gösterecek, herhangi birine geçebilirsiniz.

Etkileşimli olmayan bir liste seçme seçenekleri vardır w, bir sonrakine geçmenin yanı sıra n veya önceki pencereye P... Veya doğrudan önceden bilinen pencere numarasına 2 ... Numaralandırmanın sıfıra dayalı olduğunu lütfen unutmayın.

Bu, aşağıdakiler için çok uygun olabilir: Diyelim ki bir süreci gerçek zamanlı olarak izlememiz gerekiyor. Günlük dosyasını her zaman dinlemek istediğinizi varsayalım. Bunun için bir komuta ihtiyacımız var

# tail -f / yol / to / log

son 10 kaydı gerçek zamanlı olarak alacak ve ekranda gösterecektir. Bunun gibi yeni bir konsol ekranı oluşturalım:

# ekran -d -m -S kuyruk günlüğü kuyruk -f /var/log/nginx/error.log

- bu, yeni bir ekran oturumu oluşturacaktır, yani. ekranlar henüz başlatılmadığında. İlk bakışta, bu komutu yazdığınızda hiçbir şey olmuyor. Aslında öyle. "tail -f /var/log/nginx/error.log" komutunun yürütüldüğü (gerçek zamanlı olarak son 10 günlük girişini görüntüler) "tail-log" adlı yeni bir oturum oluşturur (-m) ve bu oturum başlatıldı zaten simge durumuna küçültülmüş (-d).

Halihazırda çalışan bir ekranınız varsa, yeni bir pencere oluşturabilirsiniz:

# C

Kuyruk günlüğüne yeniden adlandırın

# A

Ve orada ihtiyacımız olan komutu çalıştırın:

# tail -f /var/log/nginx/error.log

Ve başka bir pencerede, benzer şekilde, güvenlik duvarı kuralları düzenleyicisini açın ve bizim için açıkça istenmeyen olanları DENY'ye ekleyin.

Pencere değişikliklerini izleyin

Ama hepsi bu değil. Kolaylıklar yeni başlıyor. Bir pencerenin çıktısının uzun süre değişmeden kaldığı durumlar vardır. Örneğin, bazı bilgilerin günlüklere girmesini beklemek çok uzun zaman alabilir. Ve ekranın bununla bir ilgisi var!

Günlük dosyasını dinlediğimiz iki LOG penceresi ve konsolumuzun içinde bulunduğu USER'ı başlattık. Konsolu bekliyoruz. Dinleme LOG'una bir şey geldiğinde tepki vereceğiz. Ancak değişiklikleri yakalamak için sürekli ileri geri geçiş yapmamak?

Kombinasyona basın:

# m

ve pencere etkinliğinin izlenmesini etkinleştirin. Şimdi, pencerenin metni değişirse, pencerelerin listesinde adının yanında “@” simgesi görüntülenecek ve pencerenin altında birkaç saniye için “Penceredeki Etkinlik No.…” yazısı görüntülenecektir. görünecek!

"Sessizliği" izlemek için ters bir yetenek de vardır, bunun için komut kullanılır: _ .

Aynı anda iki pencere

Aynı anda iki konsol penceresi açmak mümkün müdür? Tabi ki yapabilirsin! Ekran, pencereyi bölmenizi sağlar. İşte bunu nasıl yapıyoruz.

Pencereyi parçalara ayırın:

# S

Bu, geçerli pencereyi en üste taşıyacaktır.

Alt seviye bölgeye geçiş (zaten en alttaysa birinciye) aşağıdaki gibi gerçekleştirilir:

# Sekme

Orada başka bir konsol açın:

#

ve isme göre seçin. Pencere adları vurgulanmıştır (0 LOG, 1 USER), böylece aralarında kafa karışıklığı yaşamayız.
Aynı anda 2 pencere mi? Kolay

Giriş odağını yukarıda açıklandığı gibi Sekme ile hareket ettirerek, sonunda yeterince sahibiz. Pencereleri kapatıyoruz.

# x- mevcut bölgeyi kapatır, Q geçerli olan hariç diğerlerini kapatır. Neye ihtiyacın olduğuna bağlı.

Pencereler arasında metin kopyalama

Bir başka ilginç olasılık daha var - özel bir arabellek kullanarak pencereler arasında metin kopyalamak.

Bunun için bir komut var

# [ , bu durumda, bir metin parçasının başlangıcını belirlemek için imleç tuşlarıyla pencerede hareket edebilirsiniz, boşluk çubuğuna basın. İmleç oklarını hareket ettirerek seçimin sonunu işaretleyin ve boşluk çubuğuna tekrar basın. İşte bu, parça kopyalandı. tuşuna basılarak aynı veya başka bir pencereye eklenir. ] ... Bu kadar basit!

Günlüğe kaydetme ve yazdırma ekranı

Ayrıca, pencereye giden tüm metin çıktılarını özel bir dosyada izleyebilirsiniz. ekran günlüğü. N, pencere numarasıdır.

#H

Artık çalışmanızın tüm sonuçları günlüğe kaydedilecek ve yalnızca girdinin değil çıktının da geçmişini görebilirsiniz.

Ayrıca mevcut pencereyi kaldırma komutu

#H

dosyaya transferler basılı kopya. I/O'yu sürekli izlemek yerine yalnızca geçerli pencerenin içeriğini. Bir baskı ekranının analogu.

yapılandırma

Screen'i kendiniz için çok esnek bir şekilde yapılandırabilirsiniz. Başladıktan sonra, / etc / screenrc configs içindeki komutlar ve kullanıcı dizinindeki personal.screenrc yürütülür.

Her klavye komutunun, yapılandırma için yardımda görüntülenebilen bir metin sürümü de vardır.

Ancak örneğin, selamlamayı kapattığımız, bir başlık ve bir durum satırı oluşturduğumuz, ilgili dizinleri açtığımız iki KULLANICI ve LOG penceresi oluşturduğumuz, ilk KULLANICI penceresini aktif hale getirdiğimiz böyle bir yapılandırma.
startup_message kapalı
altyazı her zaman "% (= 45)% (+ b w) Ekran:% n |% h% =% t% c"
hardstatus Alwayslastline "% -Lw% (= BW)% 50>% n% f *% t% (-)% + Lw%<"
chdir / kök /
ekran -t KULLANICI
chdir / var / log / nginx /
ekran -t LOG
0 seç

Şimdi, ekranın basit bir başlangıcı ile aşağıdakilere sahip olacağız:

referans

Bunun gibi bakabileceğiniz başka olasılıklar da var.

Konunun devamı:
elma

0 Pek çok insan forumlarda sohbet etmeyi sever ve genellikle tanıdık olmayan Moder terimiyle karşılaşır. Bu nedenle, bazı insanlar Moder kimdir veya Moder ne anlama gelir? tavsiye etmek isterim...