Menü
ücretsiz
Kayıt
Ev  /  Programlar/ Ekran tüm oturumları kapatır. Kapandıktan sonra görevleri gerçekleştirmek için Linux ekran yardımcı programı

Ekran tüm oturumları kapatır. Kapandıktan sonra görevleri gerçekleştirmek için Linux ekran yardımcı programı

Uzak sunucunuza ssh aracılığıyla giriş yaptınız, mutlu bir şekilde klavyeye dokunuyor, bir tür yönetici işi yapıyor ve oops! Karakterlerin yazdırılması durdu ve aynı mesaj düştü, bu da bazen karşı konulamaz bir klavyeyi kırma arzusuna neden oluyor. bağlantı kapandı. Ortak durum? Evet, evet, oturumunuz kilitlendi ve her şeyi yeniden yapmanız gerekecek... Bu, ekranı kullanarak önlenebilir. Yalnızca oturumunuzu güvenli ve sağlam tutmanıza izin vermez, aynı zamanda bir terminal penceresinde birkaç oturumu açık tutmanıza da olanak tanır.

ekran nedir?

İlk olarak, man sayfasına bakalım: "Screen, fiziksel bir terminali birkaç bağımsız işlem (genellikle etkileşimli kabuklar) arasında paylaşmanıza izin veren tam ekran bir pencere yöneticisidir".
screen, ssh aracılığıyla uzak sunucularda görev gerçekleştirirken büyük ölçüde yardımcı olabilecek çeşitli özelliklere sahiptir. En sık kullandığım üç özellikten bahsedeceğim: multi-window, logging ve session. Daha fazla ayrıntı için man sayfasına bakmanız gerekecek.

ekran kurulumu

Büyük olasılıkla, ekran zaten sisteminizdedir. Bunu komutla kontrol edebilirsiniz.

Bu başarısız olursa, sisteminizin paket yöneticisini kullanarak ekranı kurun. Sunucularım çoğunlukla CentOS ve Debian, bu yüzden ekranı şu şekilde ayarlıyorum:

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

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

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

Ekranı kullanma

Ekran şuradan başlatılır: Komut satırı herhangi bir uygulama gibi :)

Ekranın çalıştığına dair bir mesaj alabilir veya almayabilirsiniz... Sisteminize bağlıdır. Bir mesaj almazsanı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 sonra?
Bunun gibi bir şey göreceksiniz:

Ekran tuş atamaları, sayfa 1/2.

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

kır ^B b kilit ekranı ^X x sıfırla Z
C günlük H ekranını temizle ^C c
iki nokta üst üste:giriş L seç"'
kopyala ^[ [ sessizliğe meta _
ayır ^D d monitör M bölünmüş S
digraph ^V sonraki ^@ ^N sp n askıya alma ^Z z
* sayı N zaman gösterir ^T t
sadece F sığdır Q başlık A
akış ^F f diğer ^A vbell ^G
odak ^I pow_break B sürüm v
yardım? pow_detach D genişlik W
geçmiş ( ) önceki ^P p ^? pencereler ^W w
okuduğum bilgi< wrap ^R r
K'yi öldür yeniden göster ^L l writebuf >
lastmsg ^M m X'i kaldır xoff ^S s
lisans, removebuf = 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ıyla değiştirebilirsiniz.

çoklu pencere

Ekran, çoğu pencere yöneticisi gibi birden çok pencereyi destekler. yapmak çok uygun paralel görevler yeni ssh oturumları açmadan. Örneğin, her zaman birkaç görevle açık dört veya beş oturumum var. Önceden, yaklaşık 15 terminal, oturum açma, oturum açmam gerekirdi .. Yorucu, değil mi? Bu olumsuzluklar ekran sayesinde tamamen giderilmektedir. Şimdi bir terminalle oldukça idare edebiliyorum.

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

Mem: 506028K av, 500596K kullanılmış, 5432K boş,
0K parçalama, 11752K güçlendirme

393660K önbelleğe alınmış


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 boş,
0K parçalama, 11960K güçlendirme
Takas: 1020116K av, 53320K kullanılmış, 966796K ücretsiz
392220K önbelleğe alınmış

PID KULLANICI ÖZELLİKLERİ BOYUT RSS PAYLAŞIM DURUM %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ı kalır. 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. Aynı zamanda, her çalışan süreççalışır durumda kalacaktır.

Ekran bağlantısı kesiliyor

Ekrandan çıkış yapmanın iki yolu vardır: ilki basitçe çıkış yapmaktır. Ctrl+a K klavye kısayolunu kullanabilir veya sadece exit yazabilirsiniz. Birden fazla veya tamamen ekranınız varsa, bu yöntem mevcut pencereyi "öldürür".
ikinci yol ise önyargısız olma. Bu yöntem, geçerli 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, o zaman Ctrl+a d ile ekran bağlantısını kesebilirsiniz. Bu sizi orijinal kabuğunuza geri götürecektir. Ekranda başlatılan tüm işlemler çalışmaya devam eder ve bunlara daha sonra bağlanabilirsiniz.

Bir oturuma katılma

sen derle büyük program ekranı kullanarak uzak bir sunucuda. Ve tabii ki, Murphy yasalarına göre, sizin kontrolünüz dışındaki sebeplerden dolayı bağlantı sonlandırılmıştır. Panik yapmayın, ekran her şeyi kurtardı :) Sadece sunucuya tekrar bağlanın ve ekran altında çalışan işlemlere bakın.

# ekran -ls
Şu ekranlar var:
31619.ttyp2.server (Ayrılmış)
4731.ttyp2.server (Ayrılmış)
/tmp/screens/S-root içinde 2 soket.

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

#ekran -r 31619.ttyp2.sunucu

Yeniden bağlanmak için ekranı r bayrağı ve oturum adıyla birlikte kullanmanız yeterlidir. Çok rahat. Örneğin, işte uzun bir süreç başlatabilir ve eve döndüğünüzde bunun uygulanmasını izlemeye devam edebilirsiniz.

Kerestecilik

Bazen eylemlerinin tam bir kaydını tutmak bana çok önemli geliyor. Neyse ki, ekran bunu kolayca halleder. 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ına bakmak çok faydalı olabilir.

Ve biraz daha…

Ekran, pencere etkinliğini izleyebilir. İster büyük bir şey indiriyor, ister bir program derliyor veya sadece uzun bir süreç yürütüyor olun, uzun bir süre hiçbir etkinlik belirtisi olmayan boş bir terminalle karşılaşabilirsiniz. Ve süreç, bu arada, çalışmaya devam ediyor. Veya tam tersine, sürecin bitmesini bekleyen hata ayıklama bilgilerinin akışına bakın. İzlemeye başlamak için, izlemek istediğiniz terminale gidin ve aktiviteyi izlemek için (yeni bilgi olduğunda tetiklenir) Ctrl+a M tuşlarına veya hareketsizliği izlemek için (terminal bilgi almayı durdurduğunda tetiklenir) Ctrl+a _ tuşlarına basın. Daha sonra güvenle başka bir pencereye geçebilir veya yeni bir tane oluşturabilirsiniz. Bir olay meydana geldiğinde ekran, terminal başlığındaki pencere numarasını içeren bir mesaj ile sizi bu konuda uyaracaktır. Bu pencereye hızlı bir şekilde geçmek için Ctrl+a ” tuşlarını kullanın (bu, alıntı karakteridir). Tüm aktif pencerelerin bir listesini göreceksiniz. şu an. Sıkıcı olana 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.

Uzak sunucunuza ssh aracılığıyla giriş yaptınız, mutlu bir şekilde klavyeye dokunuyor, bir tür yönetici işi yapıyor ve oops! Karakterlerin yazdırılması durdu ve aynı mesaj düştü, bu da bazen karşı konulamaz bir klavyeyi kırma arzusuna neden oluyor. bağlantı kapandı. Ortak durum? Evet, evet, oturumunuz kilitlendi ve her şeyi yeniden yapmanız gerekecek... Bu, ekranı kullanarak önlenebilir. Yalnızca oturumunuzu güvenli ve sağlam tutmanıza izin vermez, aynı zamanda bir terminal penceresinde birkaç oturumu açık tutmanıza da olanak tanır.

ekran nedir?
İlk olarak, man sayfasına bakalım: "Screen, fiziksel bir terminali birkaç bağımsız işlem (genellikle etkileşimli kabuklar) arasında paylaşmanıza izin veren tam ekran bir pencere yöneticisidir".
screen, ssh aracılığıyla uzak sunucularda görev gerçekleştirirken büyük ölçüde yardımcı olabilecek çeşitli özelliklere sahiptir. En sık kullandığım üç özellikten bahsedeceğim: multi-window, logging ve session. Daha fazla ayrıntı için man sayfasına bakmanız gerekecek.

ekran kurulumu
Büyük olasılıkla, ekran zaten sisteminizdedir. Bunu komutla kontrol edebilirsiniz.

Bu başarısız olursa, sisteminizin paket yöneticisini kullanarak ekranı kurun. Sunucularım çoğunlukla CentOS ve Debian, bu yüzden ekranı şu şekilde ayarlıyorum:

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

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

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

Ekranı kullanma
Ekran herhangi bir uygulamada olduğu 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. Bir mesaj almazsanı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 sonra?
Bunun gibi bir şey göreceksiniz:

Ekran tuş atamaları, sayfa 1/2.

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

kır ^B b kilit ekranı ^X x sıfırla Z
C günlük H ekranını temizle ^C c
iki nokta üst üste:giriş L seç"'
kopyala ^[ [ sessizliğe meta _
ayır ^D d monitör M bölünmüş S
digraph ^V sonraki ^@ ^N sp n askıya alma ^Z z
* sayı N zaman gösterir ^T t
sadece F sığdır Q başlık A
akış ^F f diğer ^A vbell ^G
odak ^I pow_break B sürüm v
yardım? pow_detach D genişlik W
geçmiş ( ) önceki ^P p ^? pencereler ^W w
okuduğum bilgi< wrap ^R r
K'yi öldür yeniden göster ^L l writebuf >
lastmsg ^M m X'i kaldır xoff ^S s
lisans, removebuf = 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ıyla değiştirebilirsiniz.

çoklu pencere
Ekran, çoğu pencere yöneticisi gibi birden çok pencereyi destekler. Bu, yeni ssh oturumları açmadan paralel görevleri çalıştırmak için çok kullanışlıdır. Örneğin, her zaman birkaç görevle açık dört veya beş oturumum var. Önceden, yaklaşık 15 terminal, oturum açma, oturum açmam gerekirdi .. Yorucu, değil mi? Bu olumsuzluklar ekran sayesinde tamamen giderilmektedir. Şimdi bir terminalle oldukça idare edebiliyorum.

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

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


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 boş,
0K parçalama, 11960K güçlendirme
Takas: 1020116K av, 53320K kullanılmış, 966796K ücretsiz
392220K önbelleğe alınmış

PID KULLANICI ÖZELLİKLERİ BOYUT RSS PAYLAŞIM DURUM %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ı kalır. 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, çalışan her işlem çalışır durumda kalacaktır.

Ekran bağlantısı kesiliyor
Ekrandan çıkış yapmanın iki yolu vardır: ilki basitçe çıkış yapmaktır. Ctrl+a K klavye kısayolunu kullanabilir veya sadece exit yazabilirsiniz. Birden fazla veya tamamen ekranınız varsa, bu yöntem mevcut pencereyi "öldürür".
ikinci yol ise önyargısız olma. Bu yöntem, geçerli 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, o zaman Ctrl+a d ile ekran bağlantısını kesebilirsiniz. Bu sizi orijinal kabuğunuza geri götürecektir. Ekranda başlatılan tüm işlemler çalışmaya devam eder ve bunlara daha sonra bağlanabilirsiniz.

Bir oturuma katılma
Ekranı kullanarak uzak bir sunucuda büyük bir program derliyorsunuz. Ve tabii ki, Murphy yasalarına göre, sizin kontrolünüz dışındaki sebeplerden dolayı bağlantı sonlandırılmıştır. Panik yapmayın, ekran her şeyi kurtardı :) Sadece sunucuya tekrar bağlanın ve ekran altında çalışan işlemlere bakın.

# ekran -ls
Şu ekranlar var:
31619.ttyp2.server (Ayrılmış)
4731.ttyp2.server (Ayrılmış)
/tmp/screens/S-root içinde 2 soket.

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

#ekran -r 31619.ttyp2.sunucu

Yeniden bağlanmak için ekranı r bayrağı ve oturum adıyla birlikte kullanmanız yeterlidir. Çok rahat. Örneğin, işte uzun bir süreç başlatabilir ve eve döndüğünüzde bunun uygulanmasını izlemeye devam edebilirsiniz.

Kerestecilik
Bazen eylemlerinin tam bir kaydını tutmak bana çok önemli geliyor. Neyse ki, ekran bunu kolayca halleder. 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ına bakmak çok faydalı olabilir.

Ve biraz daha…
Ekran, pencere etkinliğini izleyebilir. İster büyük bir şey indiriyor, ister bir program derliyor veya sadece uzun bir süreç yürütüyor olun, uzun bir süre hiçbir etkinlik belirtisi olmayan boş bir terminalle karşılaşabilirsiniz. Ve süreç, bu arada, çalışmaya devam ediyor. Veya tam tersine, sürecin bitmesini bekleyen hata ayıklama bilgilerinin akışına bakın. İzlemeye başlamak için, izlemek istediğiniz terminale gidin ve aktiviteyi izlemek için (yeni bilgi olduğunda tetiklenir) Ctrl+a M tuşlarına veya hareketsizliği izlemek için (terminal bilgi almayı durdurduğunda tetiklenir) Ctrl+a _ tuşlarına basın. Daha sonra güvenle başka bir pencereye geçebilir veya yeni bir tane oluşturabilirsiniz. Bir olay meydana geldiğinde ekran, terminal başlığındaki pencere numarasını içeren bir mesaj ile sizi bu konuda uyaracaktır. Bu pencereye hızlı bir şekilde geçmek için Ctrl+a ” tuşlarını kullanın (bu, alıntı karakteridir). Şu anda aktif olan tüm pencerelerin bir listesini göreceksiniz. İstediğiniz pencereye gitmek için okları kullanabilir veya yalnızca 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.

Screen, tek bir pencerede birden fazla terminal oturumu kullanmanıza izin veren bir konsol uygulamasıdır. Program, bir kabuk oturumu içinde hareket eder ve tıpkı bir pencere yöneticisinin pencereleri yönetmesi gibi, diğer terminal oturumları için bir kapsayıcı ve yönetici görevi görür.

Çoğu durumda, birden çok terminal penceresi oluşturmak mümkün değildir. X sunucusunu başlatmadan birden çok konsol oturumunu yönetmeniz gerekebilir; gerekli olabilir hızlı erişim birkaç uzak bulut sunucusuna veya başka bir görev üzerinde çalışırken monitörde çalışan bir programı görüntüleme. Tüm bu ihtiyaçlar Screen Console ile kolayca karşılanır.

Kurulum

Bu kılavuz Ubuntu 12.04'ü kullanır; her modern dağıtımda kurulum dışındaki tüm komutlar aynı olacaktır.

Konsolu Ubuntu'ya kurmak için "apt-get" komutunu kullanın:

sudo apt-get güncellemesi
sudo apt-get kurulum ekranı

Kullanım Temelleri

Bir ekran oturumu başlatmak için "ekran" komutunu çağırmanız yeterlidir:

ekran
Ekran sürümü 4.00.03jw4 (FAU) 2-May-06
Telif hakkı (c) 1993-2002 Juergen Weigert, Michael Schroeder
Telif Hakkı (c) 1987 Oliver Laumann
Bu program ücretsiz bir yazılımdır; altında yeniden dağıtabilir ve/veya değiştirebilirsiniz.
GNU Genel koşulları kamu lisansıÖzgür Yazılım tarafından yayınlandığı şekliyle
temel; sürüm 2 veya (sizin tercihinize bağlı olarak) herhangi bir sonraki sürüm.
Bu program faydalı olacağı ümidiyle dağıtılmıştır, ancak OLMADAN
HERHANGİ BİR GARANTİ; SATILABİLİRLİK veya UYGUNLUK zımni garantisi bile olmadan
ÖZEL BİR AMAÇ İÇİN. Daha fazla ayrıntı için GNU Genel Kamu Lisansına bakın.
GNU Genel Kamu Lisansının bir kopyası ile birlikte almış olmanız gerekir.
bu program (KOPYALAMA dosyasına bakın); değilse, Özgür Yazılım'a yazın
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD.
Hata raporları, düzeltmeler, geliştirmeler, tişörtler, para, bira ve pizzayı şu adrese gönderin:
[e-posta korumalı]

Başlattıktan sonra, lisanslama sayfası görünecektir. Devam etmek için "Dönüş" veya "Enter" tuşuna basın.

Programın diğer eylemleri beklenmedik olabilir. Düzenli bir komut satırı sağlanır ve hiçbir şey olmuyor gibi görünür. Ekran hatası olabilir mi? Öğrenmek için klavye kısayolunu kullanın. Kontrol tuşunu (Ctrl) basılı tutun, "a" ve ardından "v" tuşuna basın:

Bu eylem, sürüm bilgisi için Ekranı sorgular; görüntülenen sonuç, konsolun çalıştığını gösterir.

Şimdi konsol yönetimine alışmanız gerekiyor. Ekran öncelikle klavye kısayollarıyla kontrol edilir kısayol. Bu tür her kombinasyondan önce "Ctrl-a" gelmelidir ("a"ya basmadan önce "Ctrl" tuşunu basılı tutun). Bu tuş vuruşları dizisi, Ekrana basılan sonraki tuşlara dikkat etmesini söyler.

Bu ilke, Screen hakkında bilgi talep edilirken zaten kullanılmıştır. Biraz daha almak için tekrar kullanın kullanışlı bilgi.

Ctrl-a mı?
Ekran tuş atamaları, sayfa 1/2.
Komut tuşu: ^A Değişmez ^A: a
^B b lisansını kır, kaldır =
C kilit ekranını temizle ^X x Z'yi sıfırla
iki nokta üst üste: günlük H ekranı ^C c
kopyala ^[ [ giriş L seç "
ayır ^D d meta bir sessizlik _
digraph ^V monitör M bölünmüş S
* sonraki ^@ ^N sp n askıya alma ^Z z'yi görüntüler
. sayı N zaman ^T t
sadece F sığdır Q başlık A
akış ^F f diğer ^A vbell ^G
odak ^I pow_break B sürüm v
basılı kopya h pow_detach D genişlik W
yardım? önceki ^H ^P p ^? pencereler ^W w
geçmiş ( ) çık \ kaydır ^R r
okuduğum bilgi< writebuf >
kill K k yeniden görüntüle ^L l xoff ^S s
lastmsg ^M m X'i kaldır xon ^Q q

Bu, dahili kısayol tuşlarının bir listesidir. Hızlı bir şekilde yardım almanın harika bir yolu olduğundan, arama komutunu hatırlamaya değer. Dosyanın altında da görebileceğiniz gibi daha fazla komut almak için boşluk tuşuna basmanız gerekiyor.

Şimdi işlemler hakkında bilgi sağlayan "top" komutunu çağırın.

tepe
üst - 16:08:07 yukarı 1:44, 1 kullanıcı, ortalama yük: 0.00, 0.01, 0.05
Görevler: Toplam 58, 1 koşu, 57 uyku, 0 durma, 0 zombi
CPU(lar): %0.0us, %0.0sy, %0.0ni, %100.0id, %0.0wa, %0.0hi, %0.0si, %0.0st
Mem: 507620k toplam, 262920k kullanılmış, 244700k boş, 8720k arabellek
Değiştirme: 0k toplam, 0k kullanılmış, 0k boş, 224584k önbelleğe alınmış
PID KULLANICI PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 kök 20 0 3384 1836 1288 S 0,0 0,4 0:00,70 başlangıç
2 kök 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 kök 20 0 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0
5 kök 20 0 0 0 0 S 0.0 0.0 0:00.12 kişçi/u:0
6 kök RT 0 0 0 0 S 0.0 0.0 0:00.00 geçiş/0
7 kök RT 0 0 0 0 S 0.0 0.0 0:00.07 bekçi köpeği/0
8 kök 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
9 kök 0 -20 0 0 0 S 0.0 0.0 0:00.00 kyardımcı
10 kök 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
11 kök 0 -20 0 0 0 S 0,0 0,0 0:00,00 ağ
12 kök 20 0 0 0 0 S 0.0 0.0 0:00.03 sync_supers
13 kök 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-varsayılan
14 kök 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
15 kök 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
16 kök 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff
17 kök 20 0 0 0 0 S 0.0 0.0 0:00.00 khubd
18 kök 0 -20 0 0 0 S 0,0 0,0 0:00,00 md

Artık işlemleri VPS üzerinde görüntüleyebilirsiniz. Ancak daha fazlasını elde etmek için hangi komutların kullanılacağı detaylı bilgiÖ çalışan programlar? "Top" komutundan çıkamazsınız, sadece bu komutları çalıştırmak için yeni bir pencere oluşturun.

"Ctrl-a c" dizisi yeni bir pencere oluşturur. Artık başka bir pencerede çalışan komutları bozmadan herhangi bir komutu çalıştırabilirsiniz (bu durumda işlem izleme).

Diğer pencere nereye gitti? Ona şu komutla geri dönebilirsiniz:

Bu sıra, bir sonraki çalışan pencereyi görüntüler. Pencere listesi daireseldir, bu nedenle geçerli pencerenin arkasında başka pencere yoksa ilk pencereye döner.

Bu sıra, pencereleri ters sırada değiştirir. Örneğin, çalışan üç pencere varsa ve üçüncüsü geçerliyse, bu komut ikinci pencereyi görüntüler.

Sürekli olarak iki pencere arasında geçiş yaparken, aşağıdaki klavye kısayolunu kullanmak faydalıdır:

Bu sıra, kullanıcıyı en sık ziyaret edilen pencereye götürür. Önceki örnekte, üçüncü pencereyi yeniden açacaktı.

Şimdi, oluşturulan tüm pencereleri takip etmek imkansız görünebilir. Neyse ki Screen konsolu, farklı oturumları yönetmenin birkaç yolunu sunar. Başlamak için üç yeni pencere (toplam 4 pencere) oluşturun ve ardından en kolay pencere yönetim araçlarından biri olan "Ctrl-a w" kullanın.

Ctrl-a c
Ctrl-a c
Ctrl-a c
Ctrl-a w
0$bash 1$bash 2-$bash 3*$bash

Bu komut yararlı bilgiler sağlar - bir liste açık pencereler. Bu durumda 4 pencere açıktır. Her pencerenin 0'dan başlayan bir numarası vardır. Numaranın yanındaki yıldız işareti, geçerli pencereyi gösterir.

Gördüğünüz gibi, şu anda pencere #3 geçerli penceredir (aslında, numaralandırma 0'dan başladığı için dördüncü penceredir). 1 numaralı pencereye hızlı bir şekilde nasıl geçilir?

Sıra numarası, doğrudan gerekli pencereye atlamak için kullanılabilir. Pencere listesini tekrar açın:

Ctrl-aw
0$bash 1*$bash 2$bash 3-$bash

Gördüğünüz gibi, 1 numaralı pencere artık geçerli penceredir. Pencereler arasında geçiş yapmanın başka bir yolunu deneyin.

Ctrl-a"
Num İsim Bayrakları
0 doları bas
1 bash$
2 doları bas
3 bash$

Bu kez navigasyon menüsü görüntülenir. Artık yukarı ve aşağı okları veya "j" ve "k" tuşlarını kullanarak gezinebilirsiniz. Metin düzeltici vi. "Geri Dön" veya "Enter" düğmesine basarak seçilen pencereye geçiş yapabilirsiniz.

Bu yeterince faydalıdır, ancak şu anda tüm pencerelere "bash" adı verilmektedir. Bu pek uygun değil. Şimdi oturumu adlandırmamız gerekiyor. Adlandırmak istediğiniz pencereye geçin ve "Ctrl-a A" sırasını kullanın.

Ctrl-a 0
Ctrl-A
Pencerenin başlığını şu şekilde ayarla: bash

Bu sırayı kullanarak oturuma bir ad verebilirsiniz. "Bash"i silmek ve herhangi bir yeni ad girmek için geri silme tuşunu kullanın. Örneğin, pencere #0'ı "izleme" olarak adlandırın ve içinde "üst" komutunu çalıştırın.

Pencerenin başlığını şu şekilde ayarla: izleme
Ctrl-a"
Num İsim Bayrakları
0 izleme$
1 bash$
2 doları bas
3 bash$

Pencere #0'ın daha uygun bir adı var.

Artık pencereleri oluşturabilir ve yeniden adlandırabilirsiniz; ama gereksiz pencereden nasıl kurtulurum?

"Öldür" anlamına gelen "Ctrl-a k" dizisini kullanın:

Ctrl-ak
Bu pencereyi gerçekten öldür

Ekran oturumu yönetimi

Ekrandan çıkmak ve tüm pencereleri kapatmak için aşağıdaki komut sırasını kullanın:

Ctrl-a \
Gerçekten çıkın ve tüm pencerelerinizi öldürün

Bu, Ekran oturumunu sonlandıracaktır. Oluşturulan tüm pencereler ve devam eden tüm çalışmalar kaybolacaktır.

Screen'i kullanmanın çok büyük bir avantajı vardır. Oturum silinemez, sadece kaldırılabilir. Bir oturumun kaldırılması, Screen'de çalışan programların çalışmaya devam etmesini sağlar ve ayrıca ana konsol oturumuna (Screen ile çalışmaya başlayan) erişim sağlar. Bu Ekran oturumu hala var, yalnızca arka planda yönetiliyor.

Ctrl-a d

Yani seans bitti. Bu oturuma nasıl dönülür?

"-r" bayrağı, "yeniden bağla" veya "geri yükle" anlamına gelir. Peki ya birden fazla Ekran oturumu varsa? Bir Screen oturumu oluşturulup bırakılırsa ve ardından kaldırılan yeni bir oturum oluşturulursa ne olur?

ekran
Ctrl-a d
ekran
Ctrl-a d

Ekrana hangi oturumun geri yükleneceğini nasıl söylerim?

ekran -ls
Şu ekranlar var:
2171.pts-0.Blank (07/01/2013 17:00:39) (Müstakil)
1835.pts-0.Blank (07/01/2013 15:50:43) (Müstakil)
/var/run/screen/S-justin'de 2 soket.

Oturumların listesi şimdi görüntülenir. İkinci oturumu geri yüklemek için, "-r" bayrağından sonra kimlik numarasını girin.

ekran –r 1835

İkide oturumu geri yüklemeniz gerekirse ne olur? uzak bilgisayarlar veya terminal pencereleri? Oturumu bölmek için "-x" bayrağını kullanın.

Ekranda terminal yönetimi

Ekranda çalışan terminal oturumlarını yönetmenize izin veren bir dizi komut vardır.

Metni kopyalamak için şu sırayı kullanın:

Bu sıra, ok tuşları veya "h", "j", "k", "l" tuşları (vi'deki gibi) kullanılarak hareket ettirilebilen bir imleç sağlar. İmleci kopyalamak istediğiniz metnin başına getirin ve "Geri Dön" veya "Enter" tuşuna basın. Ardından imleci parçanın sonuna getirin ve tekrar "Geri Dön" veya "Enter" tuşuna basın. Metin panoya kopyalanacaktır.

Bunun aynı zamanda konsolun kaydırma mekanizması olduğunu unutmayın. Ekran dışındaki metni görüntülemeniz gerekirse, "Ctrl-a [" yazın ve yukarı kaydırın.

Kopyalanan metni köşeli parantez ile yapıştırabilirsiniz.

Çalışan programları başka bir ekran penceresinde de görüntülemek isteyebilirsiniz.

Örneğin, bazı veriler tek bir pencerede derlenir ve işlemin ne zaman tamamlandığını bilmeniz gerekir. Ekrana, 30 saniye içinde herhangi bir çıktının görüntülenmediğini size söyleyecek olan "Ctrl-a _" dizisiyle bu pencerenin etkin olmadığını izlemesini söyleyebilirsiniz.

Daha basit bir örnek ele alalım. Ekran konsoluna, pencere Google'a 4 kez ping atmayı bitirdiğinde size haber vermesini söyleyin.

ping -c 4 www.google.com
Ctrl-a_
Pencere şimdi 30 saniye boyunca izleniyor. sessizlik.

Artık başka bir pencerede çalışabilir ve önceki pencerede görev tamamlama bildirimini bekleyebilirsiniz.

Ctrl-a 1
Pencere 2: 30 saniye sessizlik

Tersine, belirli bir pencerenin etkinliğinin bildirilmesini de isteyebilirsiniz. Bu, "Ctrl-a M" dizisi kullanılarak yapılır.

uyku 20 && yankı "çıktı"
Ctrl-a M
Pencere 2 (bash) artık tüm etkinlikler için izleniyor.

Veriler bu pencerede görüntülendiğinde artık bir bildirim görüntülenecektir.

Ctrl-a 1
pencere 2'deki etkinlik

Örneğin bir takım önemli değişiklikler yapmanız gerekiyor ve bunu yaparken bir log almanız gerekiyor. çalışan komutlar. Oturum aşağıdakiler kullanılarak kaydedilebilir:

Ctrl-a H
Günlük dosyası "screenlog.1" oluşturuluyor.

Ekran alanları

Aynı anda birkaç pencere görmeniz gerekiyorsa, sözde "alanları" kullanabilirsiniz. Geçerli bölge bölündüğünde yeni bölgeler oluşturulur. Geçerli alanı yatay olarak bölmek için şunu yazabilirsiniz:

Bu, mevcut pencereyi ekranın üst kısmına taşıyacak ve altında yeni bir boş alan açacaktır. Alt alana gitmek için "sekme"yi kullanın:

Artık alt alanda yeni bir pencere oluşturabilir veya normal şekilde başka bir pencereye geçebilirsiniz.

Gerekirse mevcut alanı yok edin, aşağıdaki sırayı kullanın:

Bu, geçerli pencereyi bozmadan bölgeyi kaldırır. Yani, bu alanda bir komut başlatıldıysa, ona normal bir pencere olarak erişmek hala mümkündür, sadece ayrı bir alan yok edilir.

Dikey bir bölüm yapmanız gerekiyorsa, şu sırayı kullanabilirsiniz:

Not: Bu bir 1 (birler) veya L karakteri değil, çoğu klavyede "\" karakteri ile aynı tuş üzerinde bulunan bir boru karakteridir. Dikey alanlar için kontroller, yatay alanlar için olanlarla aynıdır. Birkaç farklı alanı silmeniz ve bir alana geri dönmeniz gerekiyorsa, mevcut alan dışındaki tüm alanları yok eden bu sırayı kullanabilirsiniz:

Byobu'yu kullanma

Screen için büyük bir gelişme, "byobu" adlı bir programdır. Ekran için bir sarmalayıcı görevi görür ve gelişmiş bir kullanılabilirlik sağlar. Ubuntu'da şu şekilde kurulabilir:

sudo apt-get byobu'yu kur

Başlamadan önce, byobu'ya ekranı çıktı arabelleği olarak kullanmasını söylemeliyiz. Bu, şu komutla yapılabilir:

byobu-select-arka uç
byobu arka ucunu seçin:
1.tmux
2. ekran
1-2'yi seçin:

Burada ekranı varsayılan terminal yöneticisi olarak ayarlayabilirsiniz.

Artık bir oturum başlatmak için "ekran" yerine "byobu" yazabilirsiniz.

byobu
Ubuntu 12.04 LTS'ye Hoş Geldiniz (GNU/Linux 3.2.0-24-sanal i686)
* Dokümantasyon: https://help.ubuntu.com/
Hafif, güçlü metin penceresi yöneticisi Byobu'ya hoş geldiniz.
Oturum açarken Byobu'nun başlatılmasını şu şekilde değiştirebilirsiniz:
"byobu-devre dışı bırak" ve "byobu-etkinleştir"
İpuçları, püf noktaları ve daha fazla bilgi için bkz.:
*http://bit.ly/byobu-help
[e-posta korumalı]:~$
sen? 12.04 0:* 118! 3sa55dk 2,00 2,0GHz 496M6% 2013-07-01 18:19:21

Gördüğünüz gibi, ekran artık kullanıcı dostu bir arayüze sahip.

İlk defa "Ctrl-a" yazarak, byobu'ya bu komutu Emacs değil, bir ekran komutu olarak tanımasını söylemeniz gerekir.

Ctrl-a
Byobu'nun ctrl-a davranışını yapılandırın...
Byobu'da ctrl-a'ya bastığınızda, çalışmasını ister misiniz:
(1) Ekran modu (GNU Ekranının varsayılan çıkış sırası)
(2) Emacs modu (satırın başına git)
Dikkat:
- F12, Byobu'da bir kaçış olarak da çalışır
- F9'a basarak kaçış karakterinizi seçebilirsiniz
- Seçiminizi değiştirmek için istediğiniz zaman "byobu-ctrl-a" komutunu çalıştırabilirsiniz.
Seçme :

byobu'yu normal şekilde kullanmak için 1'i seçin.

Arayüz, bir pencere listesi ve sistem bilgisi gibi birçok yararlı bilgi sağlar. Ubuntu'da, kaç paketin güvenlik güncellemesine sahip olduğunu bir sayı olarak ve ardından ünlem işareti kırmızı bir arka plan üzerinde.

byobu ve ekran arasındaki tek fark, byobu'nun oturumları yönetmesidir. Bağlantıyı kestikten sonra tekrar "byobu" yazarsanız, yeni bir oturum oluşturmak yerine önceki oturumu geri yükler.

Yeni bir oturum oluşturmak için şunu yazmanız gerekir:

byobu -S oturumadı

Yeni bir oturum başlatmak için "oturum adını" (oturum adı) istediğiniz gibi değiştirin. Mevcut oturumların listesi şu şekilde görüntülenebilir:

byobu –ls
Şu ekranlar var:
22961.yeni (07/01/2013 06:42:52) (Müstakil)
22281.byobu (01/07/2013 18:37:18) (Müstakil)
/var/run/screen/S-root içinde 2 yuva.

Birden fazla oturum varsa, "byobu" girdikten sonra, hangi oturuma bağlanmak istediğinizi seçebileceğiniz bir menü görünecektir.

byobu
Byobu oturumları...
1.ekran: 22961.yeni (07/01/2013 18:42:52) (Müstakil)
2.ekran: 22281.byobu (07/01/2013 18:37:18) (Müstakil)
3. Yeni bir Byobu oturumu oluşturun (ekran)
4. Byobu (/bin/bash) olmadan bir kabuk çalıştırın
1-4'ü seçin:

Mevcut oturumlardan herhangi birini seçebilir, yeni bir byobu oturumu veya hatta byobu kullanmayan yeni bir kabuk oluşturabilirsiniz.

Uzak bir bulut sunucusu için çok kullanışlı özelliklerden biri, bir oturuma her bağlandığınızda byobu'yu otomatik olarak çalıştırma yeteneğidir. Bu, bir oturumun bağlantısı kesildiğinde işin kaybedilmeyeceği ve bu oturuma yeniden bağlanmanın kolay olacağı anlamına gelir.

Etkinleştirmek otomatik başlatma byobu her giriş yaptığınızda terminale şunu yazın:

byobu-etkinleştir
Byobu pencere yöneticisi, her metin oturumunda otomatik olarak başlatılacaktır.
Bu davranışı daha sonra devre dışı bırakmak için şunu çalıştırın:
byobu-devre dışı bırak
Devam etmek için basın...

Devre dışı bırakmak için yukarıdaki gibi bu işlev, sadece yaz:

Daha sonra otomatik olarak başlamaz.

Etiketler: ,

Ekran - çok kullanışlı program, sunucuya SSH üzerinden bağlanarak sık sık konsolda çalışıyorsanız. Bu durumda ekran birkaç farklı ekranı tek bir konsolda tutmanıza ve aralarında rahatça geçiş yapmanıza olanak tanır.

ekran kurulumu

Yüklemek için komutu çalıştırmanız gerekir

$ sudo apt-get kurulum ekranı

Bundan sonra ekranı çalıştırmanız gerekir:

$ekran

Başladıktan sonra, bir komut satırı istemi veya SPACE veya ENTER tuşuna basarak bir "karşılama ekranı" göreceksiniz ve bu ekranda kabuğa da yönlendirileceksiniz. Bu durumda, tüm komutlar zaten ekranın "içinde" başlatılacaktır.

Günlük dosyasını sürekli dinlemeniz ve ekranda görüntülemeniz gerekiyorsa. hadi yaratalım yeni konsolşöyle bir ekran:

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

Ekrandan çıkmak için (çıkın, bağlantıyı kesmeyin), içindeki açık olan tüm mermilerden çıkmak veya alternatif olarak tuş kombinasyonuna basmak yeterlidir. Ctrl+A, ve "gerçekten çıkmak istiyor musunuz" sorusuna "y" yanıtı verin.

Kombinasyonu kullanarak oturumu kapatmadan veya sonlandırmadan mevcut ekranla bağlantıyı kesebilirsiniz. Ctrl+A sonra d.

Ekrana bağlanma

Makinede halihazırda çalışan bir ekran oturumu varsa ve buna bağlanmak istiyorsanız, o zaman

  1. sadece bir oturum varsa, sadece komut yeterlidir: Ctrl+A sonra x
  2. birkaç oturum varsa, o zaman: çalışan ekranların listesini screen -ls komutuyla görebilirsiniz: $ screen -ls Aşağıdaki ekranlar vardır: 2762.pts-0.debian (Ayrılmış) 2743.pts-0.debian ( Ayrılmış) /var/run/screen/S-diesel'de 2 Soket.

    İhtiyacımız olan ekranı seçip ona katılıyoruz:

    Ekran -x 2762.pts-0.debian

    Varsayılan olarak oturumların adları pek bilgilendirici değildir - yalnızca sayıları işleyin, farklı görevler için birkaç ekran oturumu çalıştırmak ve kullanmak istiyorsanız, daha mantıklı adlar bulabilirsiniz. Bir isim buluyoruz, ardından şöyle yeni bir ekrana başlıyoruz:

    $ ekran -S "iş1"

    burada job1, "adlandırılmış" oturumumuzun adıdır. Şimdi -ls'de çok daha net göreceğiz:

    $ screen -ls Şu ekranlar vardır: 2762.pts-0.debian (Müstakil) 2795.job1 (Müstakil) 2743.pts-0.debian (Müstakil) /var/run/screen/S-diesel içinde 3 Soket.

    ve sadece adını belirterek job1 oturumuna bağlanabiliriz:

    $ ekran -x iş1

Ekranlar arasında geçiş

Zaten anladığınız gibi, sunucuyla bağlantınız kesildiğinde bile oturumlar kaydedilir ve içlerinde çalışan her şey yürütülmeye devam eder. Ancak ekranın olanakları bununla sınırlı değil. Bazen, ssh ile çalışırken, aynı anda birkaç terminalin açılmasını gerçekten istiyorum. Ekran bu konuda da yardımcı olabilir.

Ctrl+A o zaman?- boşluktan çıkmak veya Girmek için mevcut tüm komutları ve parametreleri görüntüleyin
Ctrl+A sonra c- bir ekran penceresi oluştur
Ctrl+A sonra p- Strongvios önceki ekran penceresine geçer
Ctrl+A sonra n- bir sonraki ekran penceresine sonraki geçiş
Ctrl+A sonra d- oturumu çalışır durumda bırakarak ekrandan kesin bağlantı kesildi
Ctrl+A sonra K- ekran oturumunu öldür öldür
Ctrl+A sonra x- ekran kilidi, kilidini açmak için Linux şifrenizi girmeniz gerekir.
Ctrl+A sonra w- ekranda çalışan pencerelerin listesi
Ctrl+A sonra A- ekranda farklı pencerelerin adını imzalayın
Ctrl+A sonra |- Ctrl+A dikey çubuğundan (küçük L değil) sonra pencereleri dikey olarak bölün veya split -v yazın
Ctrl+A sonra S- pencereleri yatay olarak bölme
Ctrl+A sonra Sekme- yarılar arasında geçiş
Ctrl+A S- tüm pencereleri gizleyin ve yalnızca geçerli olanı bırakın
Ctrl+D- ekran oturumundan çık

Pencereler arasında metin kopyalama ve ekranı kaydırma

Ctrl+A sonra [- ekranı Kopyalama moduna geçirir, imleç tuşları ile pencerede hareket ederken, metin parçasının başlangıcını belirlemek için boşluk tuşuna basın. Seçimin sonunu işaretlemek için imleci oklarla hareket ettirin ve tekrar boşluk çubuğuna basın. Her şey, parça kopyalanır. Basılarak aynı veya başka bir pencereye eklenir. ] .

Bu moddan çıkmak için tuşuna basmanız yeterlidir. Esc.

Komut yürütme izleme

Birden çok açık pencereniz varsa, bunlardan birindeki etkinliği izlemek faydalı olabilir. Örneğin, bir komut çalıştırdıysanız ve bunun ne zaman tamamlanacağını bilmekle ilgileniyorsanız. Bu komutla pencereye gidin, tıklayın

Ctrl+A sonra m- ve pencere etkinliği izlemeyi etkinleştirin. Şimdi pencere metni değişirse, ekran ses sinyali, pencere listesinde adının yanında “@” simgesi görüntülenecek ve pencerenin altında birkaç saniye için “No penceresinde etkinlik…” yazısı görünecektir!

Günlük kaydı ve yazdırma ekranı

Pencereye tüm metin çıktısını özel bir ekran günlüğü dosyasına kadar izlemek de mümkündür. N, pencere numarasıdır.

Ctrl+A sonra H

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

Ayrıca geçerli pencereyi kaldırma komutu

Ctrl+A sonra h

bir basılı kopya dosyasına aktarır. G/Ç'yi sürekli izlemek yerine yalnızca geçerli pencerenin içeriği. Analog baskı ekranı.

ekran yapılandırması

Ekran, ana dizininizdeki ~/.screenrc dosyası kullanılarak yapılandırılır. Örneğin, oraya şunu yazabilirsiniz:

Başlık her zaman "%(= 45)%(+b w)Ekran: %n | %h %=%t %c" sabit durum her zamanson satır "%-Lw%(= BW)%50>%n%f* %t%( -)%+Lw%<"

Bu size açık pencerelerin her zaman görünür bir listesini ve ekranın alt kısmında diğer faydalı bilgileri verecektir.

Ayrıca Screen başlatıldığında varsayılan olarak /etc/screenrc dosyasındaki komutlar ve kullanıcının ana dizinindeki .screenrc dosyası yürütülür. Konfigürasyon dosyalarında kullanılabilecek komutların birçoğu yukarıdaki tablolarda "Metin komutu" alanında ele alınmıştır. Aşağıda bir .screenrc dosyasından örnek bir Ekran yapılandırması verilmiştir:

# Başlangıçta lisans bilgilerinin görüntülenmesini devre dışı bırak Screen startup_message off # chdir ekranını çalıştırmak için bir kabuk açın -t Çalışma # Yapılandırmayı yönetmek için bir kabuk açın chdir /etc ekranı -t Yapılandırma # Günlükleri görüntülemek için bir kabuk açın chdir /var/log ekranı -t Günlükler # Başlattıktan sonra ilk pencereyi seçin 0'ı seçin

Oldukça basit olan bu yapılandırma dosyası, sırasıyla kullanıcının ana dizininde, /etc dizininde ve /var/log dizininde Work, Configuration, Logs adlı üç pencere açar. Başlattıktan sonra, Work adlı ilk pencere ekranda olacaktır. Şekil 1, Screen'in bu yapılandırma dosyasıyla nasıl çalıştığının bir örneğini gösterir.

Tamamlama Ekranı

Herhangi bir nedenle ekran oturumu yanıt vermeyi durdurursa sonlandırabilirsiniz. Bunu yapmak için, istediğiniz oturuma bağlanmanız ve ardından tuşuna basmanız gerekir. Ctrl + A ve ":quit" yazın.

SSH üzerinden sunucuya bağlanarak konsolda sık sık çalışıyorsanız Screen oldukça kullanışlı bir programdır. Bu durumda ekran birkaç farklı ekranı tek bir konsolda tutmanıza ve aralarında rahatça geçiş yapmanıza olanak tanır.

Ekran, uzak bir sunucuda çalışan görevleri kaydederken SSH bağlantısını kesmenize olanak tanır.

Ubuntu'ya yüklemek için komutu çalıştırmanız gerekir.

$ sudo apt-get kurulum ekranı

Bundan sonra ekranı çalıştırmanız gerekir:

$ekran

Başladıktan sonra, bir komut satırı istemi veya SPACE veya ENTER tuşuna basarak bir "karşılama ekranı" göreceksiniz ve bu ekranda kabuğa da yönlendirileceksiniz. Bu durumda, tüm komutlar zaten ekranın "içinde" başlatılacaktır.

Ekrandan çıkmak için (çıkmak, bağlantıyı kesmek değil), içindeki açık olan tüm mermilerden çıkmak veya alternatif olarak Ctl-a \ tuş bileşimine basmak ve "gerçekten istiyor musun" sorusuna "y" yanıtı vermek yeterlidir. çıkmak için" .

Ctrl-a d tuşlarına basarak oturumu kapatmadan veya sonlandırmadan geçerli ekrandan ayrılabilirsiniz.

Ekrana bağlanma

Makinede halihazırda çalışan bir ekran oturumu varsa ve buna bağlanmak istiyorsanız, o zaman

  1. sadece bir oturum varsa, basit bir komut yeterlidir: $ screen –x
  2. birkaç oturum varsa, o zaman: çalışan ekranların listesini screen -ls komutuyla görebilirsiniz: $ screen -ls Aşağıdaki ekranlar vardır: 2762.pts-0.debian (Ayrılmış) 2743.pts-0.debian ( Ayrılmış) /var/run/screen/S-diesel'de 2 Soket.

    İhtiyacımız olan ekranı seçip ona katılıyoruz:

    Ekran -x 2762.pts-0.debian

    Varsayılan olarak oturumların adları pek bilgilendirici değildir - yalnızca sayıları işleyin, farklı görevler için birkaç ekran oturumu çalıştırmak ve kullanmak istiyorsanız, daha mantıklı adlar bulabilirsiniz. Bir isim buluyoruz, ardından şöyle yeni bir ekrana başlıyoruz:

    $ ekran -S "iş1"

    burada job1, "adlandırılmış" oturumumuzun adıdır. Şimdi -ls'de çok daha net göreceğiz:

    $ screen -ls Şu ekranlar vardır: 2762.pts-0.debian (Müstakil) 2795.job1 (Müstakil) 2743.pts-0.debian (Müstakil) /var/run/screen/S-diesel içinde 3 Soket.

    ve sadece adını belirterek job1 oturumuna bağlanabiliriz:

    $ ekran -x iş1

Ekranlar arasında geçiş

Zaten anladığınız gibi, sunucuyla bağlantınız kesildiğinde bile oturumlar kaydedilir ve içlerinde çalışan her şey yürütülmeye devam eder. Ancak ekranın olanakları bununla sınırlı değil. Bazen, ssh ile çalışırken, birkaç terminalin aynı anda açılmasını gerçekten istiyorum, ancak birkaç kez bağlanmak bir serseri - özellikle birden fazla sunucu üzerinden bağlanmanız gerekiyorsa. Ekran bu konuda da yardımcı olabilir. Sadece Ctrl - a c'ye basın ve başka bir kabuk açılacaktır. Açık kabuklar arasında Ctrl - a aracılığıyla hareket edebilirsiniz.<Цифра>, Nerede<Цифра>- sıfırdan başlayarak açık kabuk numarası veya Ctrl - a n / Ctrl - a p - ileri geri. Ctrl - a " tuş kombinasyonunu kullanarak açık "pencereler" - konsolların bir listesini alabilir (ve istediğinize geçebilirsiniz). pencerenin bir dizisine normal bir ad vermek (ve sadece sıkıcı bir "bash" değil) vermek için, ona gidin ve Ctrl - a A (büyük/küçük harfe duyarlı) tuşlarına basın, ardından beliren istemde bir ad girin.

Komut yürütme izleme

Birden çok açık pencereniz varsa, bunlardan birindeki etkinliği izlemek faydalı olabilir. Örneğin, "uzun süredir devam eden" bir komut çalıştırıyorsanız ve bunun ne zaman tamamlanacağını bilmekle ilgileniyorsanız. Bu komutla pencereye gidiyoruz, Ctrl - a m'ye basıyoruz, şöyle bir yazı görüyoruz: "Pencere 0 (bash) artık tüm etkinlik için izleniyor". Bir pencerede bir şey değiştiğinde, ekran bip sesi çıkarır ve pencere listesinde numaradan sonra bir "@" işareti görünür.

Ekranda ekran kaydırma

Pencere sınırlarını aşan bir komutun çıktısını görüntülemek için Ctrl-a [

Bu, ekranı Kopyalama moduna geçirecektir. Bu moddan çıkmak için Esc tuşuna basmanız yeterlidir.

ekran yapılandırması

Ekran, ana dizininizdeki ~/.screenrc dosyası kullanılarak yapılandırılır. Örneğin, oraya şunu yazabilirsiniz:

Başlık her zaman "%(= 45)%(+b w)Ekran: %n | %h %=%t %c" sabit durum her zamanson satır "%-Lw%(= BW)%50>%n%f* %t%( -)%+Lw%<"

Bu size açık pencerelerin her zaman görünür bir listesini ve ekranın alt kısmında diğer faydalı bilgileri verecektir.

Ayrıca Screen başlatıldığında varsayılan olarak /etc/screenrc dosyasındaki komutlar ve kullanıcının ana dizinindeki .screenrc dosyası yürütülür. Konfigürasyon dosyalarında kullanılabilecek komutların birçoğu yukarıdaki tablolarda "Metin komutu" alanında ele alınmıştır. Aşağıda bir .screenrc dosyasından örnek bir Ekran yapılandırması verilmiştir:

# Başlangıçta lisans bilgilerinin görüntülenmesini devre dışı bırak Screen startup_message off # chdir ekranını çalıştırmak için bir kabuk açın -t Çalışma # Yapılandırmayı yönetmek için bir kabuk açın chdir /etc ekranı -t Yapılandırma # Günlükleri görüntülemek için bir kabuk açın chdir /var/log ekranı -t Günlükler # Başlattıktan sonra ilk pencereyi seçin 0'ı seçin

Oldukça basit olan bu yapılandırma dosyası, sırasıyla kullanıcının ana dizininde, /etc dizininde ve /var/log dizininde Work, Configuration, Logs adlı üç pencere açar. Başlattıktan sonra, Work adlı ilk pencere ekranda olacaktır. Şekil 1, Screen'in bu yapılandırma dosyasıyla nasıl çalıştığının bir örneğini gösterir.

Tamamlama Ekranı

Herhangi bir nedenle ekran oturumu yanıt vermeyi durdurursa sonlandırabilirsiniz. Bunu yapmak için, istenen oturuma bağlanmanız, ardından Ctrl - a tuşlarına basmanız ve ":quit" komutunu girmeniz gerekir.

Ekran, tüm pencereleri zorla kapatarak bu oturumu sonlandıracak.

Ekranla Çalışmak

Screen'in ana özelliklerinden biri, tek bir terminal penceresinde birden çok konsol penceresinin veya metin tabanlı uygulamaların oluşturulması ve yönetilmesidir. Aynı anda, terminal ekranında pencerelerden yalnızca biri olabilir (yalnızca terminal ekranını parçalara bölerlerse birkaç tane olabilir). Ekran, pencereler arasında hızlı bir şekilde geçiş yapmanıza, kaydetmenize ve daha sonra bir metin oturumuna dönmenize ve diğer kullanıcılarla paylaşmanıza olanak tanır. Artı, Ekran, pencerelere başlıklar vermenize, her penceredeki etkinliği takip etmenize ve kopyala ve yapıştır kullanarak pencerelerin içeriğini paylaşmanıza olanak tanır. Ek olarak, Ekran anahtarları yeniden eşleştirmenize, terminal öykünme ayarlarını yönetmenize ve sürekli bir ihtiyaç olmayabilecek ancak belirli zamanlarda idari işlerde yardımcı olabilecek diğer birçok küçük metin kutusu görevini yapmanıza olanak tanır.

Şekil, üç adlandırılmış pencereye (Çalışma, Yapılandırma, Günlükler) sahip bir Ekranı ve içinde açılan Vim metin düzenleyicisini, bir örnek yapılandırma dosyası Screen ile birlikte göstermektedir.

İlk başlangıç

Screen, screen komutuyla başlatılabilir, ancak önce aşağıdaki komutla Screen'in sisteminizde yüklü olup olmadığını kontrol edin:

$ hangi ekran /usr/bin/screen

Komut, yukarıdaki örnekteki gibi yol döndürürse hemen kullanmaya başlayabilirsiniz, aksi takdirde Screen, işletim sisteminizin standart paket destek araçları kullanılarak kurulabilir veya http://www.gnu resmi web sitesinden indirilebilir. org/yazılım/ekran/ .

Artık Screen'i basitçe yazarak çalıştırabiliriz:

$ekran

Başlattıktan sonra, sürüm ve lisansla ilgili bilgiler ekranda görünebilir (yapılandırmayı düşünürken, bu mesajın görüntülenmesini nasıl iptal edebileceğinizi ele alacağız) ve bu durumda "Boşluk" veya "Enter" tuşuna basmanız gerekir. , bundan sonra ilk bakışta olağan , bir metin sarmalayıcıya giriyoruz. Belirli bir uygulamayı başlatmak için komut satırında hemen bir komut belirtebileceğinize dikkat edilmelidir, örneğin, top'u başlatmak için şunu yazmanız gerekir:

$ ekran üstü

Tamam, şimdi Ekran çalışıyor, ancak ilk bakışta harici bir değişiklik yok - çalışan bir kabukta çalışabilir veya top kullanabiliriz. İşin püf noktası, çalışırken Ekran tüm tuş vuruşlarını doğrudan uygulamaya iletir, ancak (by varsayılan), Ctrl + a tuş bileşimiyle başlayan kontrol komutlarını kendisi için bırakır.

Bu kontrol tuşu kombinasyonu, yapılandırma dosyaları aracılığıyla değiştirilebilir (aşağıda tartışacağız), ancak tüm örneklerde yalnızca varsayılan yapılandırma dikkate alınacaktır. Bu nedenle, tüm Ekran klavyesi komutları iki tuş kombinasyonundan oluşur - Ctrl + a kontrol tuşu ve tuşun kendisi veya komutu temsil eden bir tuş kombinasyonu. Hemen hemen her komutun, bir yapılandırma dosyası aracılığıyla veya aşağıdaki komutu çalıştırarak çalıştırılabilen metin karşılığı da vardır:

Bu durumda, önce Ctrl + a ve ardından iki nokta üst üste tuşuna basarak iki klavye kısayolunu çalıştırmamız gerekir. Bu durumda, Ekran, ekranın altında iki nokta üst üste şeklinde bir komut istemi görüntüler. Az önce bir klavye kısayoluyla çalıştırdığımız aynı komut, örneğin başlangıçta bir komut istemi görüntülemek veya bu istemi oluşturan tuş kombinasyonunu yeniden eşlemek için gerekli olabilecek iki nokta üst üste metin komutu kullanılarak yapılandırma dosyası aracılığıyla çalıştırılabilir. Aşağıda, yukarıdaki örnekte olduğu gibi, her tuş kombinasyonu için, yapılandırma dosyalarında kullanılabilecek veya Ctrl + a ve: kullanılarak girilebilecek, bunlara karşılık gelen anahtar kelimeleri yazacağım.

Burada meşru bir soru ortaya çıkabilir - ya uygulamanın zaten Screen'de bir hizmet anahtarı olarak kullanılan Ctrl + a tuş bileşimini doğrudan geçmesi gerekiyorsa? Örneğin, aynı kombinasyon bir satırın başına atlamak için readline komut satırı düzenleme kitaplığı tarafından kullanılır. Bu durumda, Ekran aşağıdaki komutu sağlar:

Pencere yönetimi

Bir önceki bölümde Screen'i nasıl çalıştıracağımızı öğrendik ve tüm klavye komutları için temel şablonu öğrendik. Pencereleri yönetmek için komutlarla uğraşmanın zamanı geldi. Ekran başladığında, tek bir pencere oluşturur (yapılandırma aynı anda birden çok pencere oluşturmayı belirtmedikçe) ve ona 0 sayısını atar. Aşağıdaki komutla yeni bir komut kabuğu penceresi oluşturulabilir:

TUŞ TAKIMI METİN KOMUTU TANIM
ctrl+a C ekran Yeni bir pencere oluştur

Bu durumda, Screen yeni bir pencere oluşturacak ve sıradaki numarayı ona atayacaktır.Bizim durumumuzda, yeni pencere 1 numaralı pencere olacaktır.

Şimdi, yeni oluşturulan 1 numaralı pencerenin geçerli pencere olduğu ve arka planda 0 numaralı pencerenin bulunduğu iki metin penceremiz var. Ancak, pencere arka planda olsa bile, içinde çalışan uygulamanın çıktısını sanki o ankiymiş gibi algılayabileceğine dikkat edilmelidir. Örneğin, pencere 0'da düzenli aralıklarla ek bilgi veren bir işlem başlatabiliriz (örneğin, bu tail -f komutu olabilir) ve sonra bir metin düzenleyicide çalışmak için pencere 1'e geçebiliriz. Bir süre sonra 0 penceresinde neler olduğunu görmek istersek bu pencereye geçebilir ve orada çalışan sürecin tüm çıktılarını görebiliriz. Daha sonra düzenleme penceresine geri dönebilirsiniz.

Önceki paragrafta, pencereler arasında geçiş yapma örneğini anlattım, ancak bunun için hangi komutların kullanıldığını henüz söylemedim. Pencereleri yönetmek için en sık kullanılan komutlara daha yakından bakalım:

TUŞ TAKIMI METİN KOMUTU TANIM
ctrl+a w pencereler Ekranın alt satırında tüm pencerelerin numaralarını ve başlıklarını listeler
ctrl+a « pencere listesi Geçiş yapmak için bir pencere seçebileceğiniz tüm pencerelerin numaralarının ve başlıklarının etkileşimli bir listesini görüntüler.
ctrl+a pencere numarası seçme Numaraya göre pencere seçin. Örneğin, Ctrl + a ve 0 komutu mevcut pencere numarasını 0 yapar.
Ctrl+a N Sonraki Sırayla bir sonraki pencereye veya son penceredeysek ilk pencereye geç
ctrl+a P önceki Sırayla bir önceki pencereye veya ilk penceredeysek son pencereye geç
ctrl+a seçme Geçiş yapmak için pencere numarasını girmek için bir bilgi istemi görüntüleyin
ctrl+a ctrl+a diğer Son kullanılan pencereye geç
ctrl+a N sayı Geçerli pencere numarasını ve başlığını göster
ctrl+a A başlık Geçerli pencerenin başlığını ayarla
ctrl+a k öldürmek Örneğin, uygulama normal şekilde kapatılamıyorsa pencereyi zorla kapatın

Pencerelerden biri kapatıldığında diğer pencerelerin numaraları değişmez ve numaralandırmada "delikler" oluşur ve bunlar daha sonra yeni pencerelerle doldurulabilir.Ekranda pencere numarasını değiştirme komutu olmasına rağmen dikkate alınmaz. burada ve bağımsız çalışma için bırakılmıştır. Tüm pencereler kapalıysa, Ekrandan çıkar ve bir mesaj görüntüler:

Metinle çalışma

Yukarıda, Ekran'ı nasıl başlatacağımızı ve pencereleri nasıl yöneteceğimizi - onları oluşturmayı, pencereden pencereye geçmeyi, adları atamayı ve kapatmayı öğrendik. Şimdi pencerelerin içeriğiyle çalışmaya bakalım - bir pencerenin metin içeriğini kopyalayıp diğerine yapıştırma, pencereleri izleme, ekranın metin kopyasını kaydetme ve diğer benzer görevler:

TUŞ TAKIMI METİN KOMUTU TANIM
ctrl+a M izlemek Geçerli pencere için etkinlik izlemeyi etkinleştirin/devre dışı bırakın. İzleme etkinleştirildiğinde ve arka planda bir pencerede metin görüntülendiğinde, hizmet satırında etkinlikle ilgili bilgiler görüntülenir.
sessizlik Geçerli pencere için hareketsizlik izlemeyi etkinleştirin/devre dışı bırakın. İzleme etkinleştirildiğinde ve belirli bir süre arka planda kalan bir pencerede herhangi bir metin görüntülenmediğinde, hizmet satırında etkinlik eksikliği hakkında bilgi görüntülenir.
ctrl+a H basılı kopya Geçerli pencerenin bir metin görüntüsünü varsayılan olarak Ekran dizinindeki hardcopy.window_number dosyasına yazın.
ctrl+a H kayıt Geçerli pencere metninin Sccreen dizinindeki screenlog.window_number dosyasına varsayılan olarak izlenmesini etkinleştirin/devre dışı bırakın.
ctrl+a [ kopyalamak Kopyalama moduna girin. Bu mod için ek komutlar aşağıda açıklanmıştır.
ctrl+a ] yapıştırmak Metni varsayılan kayıt defterinden (yukarıdaki komut kullanılarak daha önce kopyalandığı yer) pencereye yapıştırın.

Kopyalama modunda Screen, Vi düzenleyicisine benzer bir metin düzenleyicisi başlatır. En sık kullanılan editör komutları şunlardır:

  • İmleç tuşları, imleci ekran arabelleği boyunca hareket ettirir;
  • Boşluk çubuğu, kopyalama bölgesinin başlangıcını ve bitişini işaretler. Space'e ikinci kez basıldığında, işaretlenen metin varsayılan büyük/küçük harfe kopyalanır ve Screen, kopyalama modundan çıkar;

Ekranda birden fazla pencere

Varsayılan olarak, Ekran ekranda yalnızca bir mantıksal pencere görünür durumda bırakır, ancak istenirse, terminal ekranını yatay bölgelere bölmek için ek bir seçenek vardır. Böylece, bir terminal ekranında birkaç pencereyi aynı anda görüntülemek mümkündür. Ekran bölgeleriyle çalışma komutlarına daha yakından bakalım:

Şekil 2, üç adlandırılmış penceresi (Çalışma, Yapılandırma, Günlükler) ve iki bölgeye ayrılmış bir ekranı olan bir Ekranı göstermektedir. Üst bölgede, Vim metin düzenleyicisi ve örnek bir Ekran yapılandırma dosyası ile Çalışma penceresi açılır. Alt bölgede, /etc/screenrc.conf genel yapılandırma dosyasının bir parçası olan Yapılandırma penceresi.

Konsol oturumları

Son olarak Screen'in en popüler özelliklerinden birine göz atacağız.Şu durumu düşünelim: Bir sistem yöneticisi evdeyken uzak bir sunucuda oturum açar, birkaç pencere açar, gerekli görevleri başlatır, ardından bağlantıyı kapatır ve işe gider. İş yerinde yine aynı sunucuya gider ve gerçekleştirilen görevlerin sonuçlarıyla evde açık olan pencereleri geri yükler. Kulağa biraz fantastik mi geliyor? Hiçbir durumda! Screen konsol oturumları tam da bunu yapmak için tasarlanmıştır. Geçerli Screen oturumunu tüm pencerelerle ve çalışan uygulamalarla terminalden ayırmanıza ve ardından istediğiniz zaman yeniden bağlamanıza olanak tanırlar. Aynı zamanda, Ekran altında çalışan tüm uygulamalar çalışmaya devam edecek ve bilgileri görüntülemek için pencerelerini kullanacaktır. Artı, birkaç konsol oturumu olabilir, ancak bu yazıda bunun üzerinde ayrıntılı olarak durmayacağız.

Bir terminalden bir konsol oturumunun bağlantısını kesmek için komutları göz önünde bulundurun:

TUŞ TAKIMI METİN KOMUTU TANIM
ctrl+a D ayırmak Konsol oturumunu ayırın ve arka planda çalışır durumda bırakın. Aynı zamanda Screen şunu yazar:
ctrl+a D D pow_detach Konsol oturumunu ayırın, arka planda çalışır durumda bırakın ve ana Ekran işlemine bir HANGUP sinyali gönderin. Screen'i uzak bir terminalden çalıştırırken bu, Screen bağlantısını kesmek ve ardından bağlantıyı kapatmak anlamına gelir. Aynı zamanda Screen şunu yazar:
ctrl+a z askıya almak Konsol oturumunu ayırın ve ana kabuğun arka plan işlemi olarak çalışır durumda bırakın. Bu durumda, aşağıda açıklanan komutlara ek olarak, oturumu geri yüklemek için kabuğun arka plan işlemlerini yönetmeye yönelik standart komutlar kullanılabilir.
ctrl+a ctrl + çıkış yapmak Tüm oturum pencerelerini kapatın ve Ekrandan çıkın.Birçok dağıtımın bu komut için tuş kombinasyonunu yeniden tanımladığına dikkat edilmelidir, ancak metin komutu yine de kullanılabilir.

Bağlantısı kesilen bir oturuma yeniden bağlanmak veya mevcut oturumların listesini görüntülemek için Ekranı aşağıdaki seçeneklerden biriyle başlatmanız gerekir:

Sıradaki ne?

Ekranın çok sayıda farklı özelliği vardır ve hepsini tek bir makalede açıklamak neredeyse imkansızdır, bu nedenle bazı işlevler perde arkasında kaldı. Yukarıda ele alınmayan ve bağımsız incelemeye bırakılan bazı Ekran özellikleri/ayarları şunlardır:

  • Terminal öykünmesini ayarlamak için komutlar;
  • Çok kullanıcılı konsol oturumları;
  • Klavye kısayollarının komutlara atanması veya yeniden atanması;
  • Metin komutları için yardımcı seçenekler. Örneğin örnek yapılandırma dosyasında kullanılan screen komutunun -t seçeneği;
  • Nadiren kullanılan komutlar, örneğin, Ekran başlatmayı ayarlarken kullanılabilecek komutlar - yankı ve uyku;
  • Ekranı yapılandırırken faydalı olabilecek ortam değişkenleri;
  • Ek başlatma tuşları Ekran;

ekran alternatifleri

Ekran uzun bir geçmişe sahip bir programdır, ilk versiyonun 1987'de çıktığını belirtmek gerekir. Şu anda Screen'e neredeyse hiç yeni özellik eklenmemiş (nedenlerinden biri şu anda çok sayıda olması olabilir) ve temel olarak sadece hata düzeltmeleri yapılıyor. Birisi Ekranın göreceli "yaşlılığını" beğenmiyorsa veya çok sayıda özelliğe ihtiyaç duymuyorsa, aşağıdaki programlardan birine dönebilirsiniz:

  • dtach () - bu programın geliştirilmesindeki ana vurgu kompaktlık üzerinedir. Screen'e benzer şekilde, konsol oturumlarıyla çalışabilme özelliğini destekler, ancak başka Screen özelliklerine sahip değildir.
  • SplitVT (http://www.devolution.com/~slouken/projects/splitvt/) - terminal ekranını ikiye bölmenize ve aynı anda iki yazılım kabuğuyla çalışmanıza olanak tanır.
  • Tmux() - Tmux, konsol oturumlarıyla çalışmak için bir istemci-sunucu modeli kullanır.
  • Twin (http://linuz.sns.it/~max/twin/) - grafik benzerlerine benzer metin tabanlı bir pencere arabirimi oluşturma girişimi.