Linux ekran Komutu Nasıl Kullanılır

Yayınlanan: 2022-01-29
Arkasında diğer terminal oturumlarının bulunduğu bir dizüstü bilgisayarda bir Linux terminali.
fatmawati achmad zaenuri/Shutterstock

Linux screen komutu ile çalışan terminal uygulamalarını arka plana itebilir ve görmek istediğinizde öne doğru çekebilirsiniz. Ayrıca bölünmüş ekranları destekler ve bağlantıyı kesip yeniden bağlandıktan sonra bile SSH bağlantıları üzerinden çalışır!

İLGİLİ: Yeni Başlayanlar İçin 10 Temel Linux Komutu

Ekran Komutu Nedir?

screen komutu bir terminal çoklayıcıdır ve kesinlikle seçeneklerle doludur. Çok şey yapabileceğini söylemek, yetersiz ifadelerin büyükbabasıdır. Man sayfası 4.100 satırdan fazla çalışır.

Aşağıdakiler, screen komutunu kullanacağınız en yaygın durumlardır ve bunları bu makalede daha ayrıntılı olarak ele alacağız:

  • Standart işlem, içinde bir kabuk bulunan yeni bir pencere oluşturmak, bir komut çalıştırmak ve ardından pencereyi arka plana itmektir (“ayırma” olarak adlandırılır). İşleminizin nasıl olduğunu görmek istediğinizde pencereyi tekrar ön plana çekip (“reattach”) tekrar kullanabilirsiniz. Bu, terminal penceresini kapatarak yanlışlıkla sonlandırmak istemediğiniz uzun işlemler için harikadır.
  • Çalışan bir screen oturumunuz olduğunda, yeni pencereler oluşturabilir ve bu pencerelerde diğer işlemleri çalıştırabilirsiniz. İlerlemelerini izlemek için pencereler arasında kolayca geçiş yapabilirsiniz. Ayrıca terminal pencerenizi dikey veya yatay bölgelere ayırabilir ve çeşitli screen pencerelerinizi tek bir pencerede görüntüleyebilirsiniz.
  • Uzak bir makineye bağlanabilir, bir screen oturumu başlatabilir ve bir işlem başlatabilirsiniz. Uzak ana bilgisayarla bağlantıyı kesebilir, yeniden bağlanabilirsiniz ve işleminiz çalışmaya devam edecektir.
  • İki kişinin aynı şeyi gerçek zamanlı olarak görebilmesi için iki farklı SSH bağlantısı arasında bir screen oturumu paylaşabilirsiniz.

yükleme ekranı

Ubuntu'ya screen yüklemek için şu komutu kullanın:

 sudo apt-get yükleme ekranı 

screen Manjaro'ya kurmak için aşağıdaki komutu kullanın:

 sudo pacman -Sy ekranı 

Fedora'da aşağıdakileri yazarsınız:

 sudo dnf yükleme ekranı 

Ekrana Başlarken

screen başlatmak için, aşağıda gösterildiği gibi yazın ve Enter'a basın:

 ekran 

Lisans bilgilerinin olduğu bir sayfa göreceksiniz. İkinci sayfayı okumak için Boşluk çubuğuna veya komut istemine dönmek için Enter tuşuna basabilirsiniz.

Reklamcılık

Komut isteminde kaldınız ve pek bir şey olmamış gibi görünüyor. Ancak, artık çoğullanmış bir terminal öykünücüsü içinde bir kabuk çalıştırıyorsunuz. Bu neden iyi bir şey? Peki, tamamlanması uzun zaman alacak bir süreci başlatalım. En son Linux çekirdeğinin kaynak kodunu indireceğiz ve onu latest_kernel.zip adlı bir dosyaya yönlendireceğiz.

Bunu yapmak için aşağıdakileri yazıyoruz:

 curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.9.tar.xz > last_kernel.zip 

İndirmemiz başlıyor ve curl çıktısı bize ilerlemeyi gösteriyor.

Size bir sonraki bitin görüntüsünü gösteremiyoruz çünkü bu bir tuş vuruşu dizisi. Ctrl+A yazıp bu tuşları bırakın ve ardından ekranı ayırmak için d tuşuna basın.

İndirme işlemi devam ediyor ancak indirmeyi gösteren pencere kaldırıldı. screen oturumunu başlattığınız terminal penceresine dönersiniz. Bir mesaj size 23167.pts-0.howtogeek etiketli bir screen penceresinin ayrıldığını bildirir.

Yeniden takmak için pencere adının başlangıcındaki numaraya ihtiyacınız var. Unutursanız, her zaman -ls (liste) seçeneğini, aşağıda gösterildiği gibi, ayrılan pencerelerin bir listesini almak için kullanabilirsiniz:

 ekran -ls 

Hazır olduğunuzda, -r (reattach) seçeneğini ve oturum numarasını tekrar eklemek için kullanabilirsiniz, şöyle:

 ekran -r 23167 

Reklamcılık

Arka planda çalışan pencere, sanki hiç gitmemiş gibi şimdi terminal pencerenize geri getirildi.

Yeniden bağlanan bir ekran oturumu, terminal penceresine geri yüklendi.

Sonuca varacak bir süreçse, sonunda tamamlanacaktır. Sürekli bir süreçse, sonunda onu sonlandırmak isteyeceksiniz. Her iki durumda da işlem bittiğinde screen exit için çıkış yazabilirsiniz. Alternatif olarak, bir pencereyi zorla kapatmak için Ctrl+A ve ardından K tuşlarına basabilirsiniz.

Aşağıdaki komutu yazın:

 çıkış 

Pencereyi yeniden eklemek için kullandığınız komutu göstermeye devam edecek olan önceki terminal pencerenize geri dönersiniz. Tek ve tek müstakil penceremizi kapattığımız için screen sona erdiği mesajını alıyoruz.

İLGİLİ: Linux Komut Satırından Dosya İndirmek için curl Nasıl Kullanılır

Adlandırılmış ekran Oturumlarını Kullanma

screen oturumunuzu adlandırmak için -S (oturum adı) seçeneğini kullanabilirsiniz. Oturumun sayısal kimliği yerine akılda kalıcı bir ad kullanırsanız, oturuma yeniden bağlanmak daha uygundur. Oturumumuzu "bigfile" olarak adlandırmak için aşağıdakileri yazıyoruz:

 ekran -S büyük dosya 

screen oturumumuzu başlattığında, komut istemi içeren boş bir pencere görüyoruz. Örnek olarak uzun süredir devam eden bir işlemi kullanabilmemiz için büyük bir dosya indireceğiz.

Aşağıdakileri yazıyoruz:

 curl http://ipv4.download.thinkbroadband.com/1GB.zip > bigfile.zip 

İndirme başladığında Ctrl+A'ya basıyoruz ve ardından oturumu ayırmak için D'ye basıyoruz. Ayrılmış oturumumuzun ayrıntılarını görmek için screen -ls (liste) seçeneğini kullanmak için aşağıdakileri yazıyoruz:

 ekran -ls 

Reklamcılık

Sayısal tanımlayıcının (23266) arkasında oturumumuzun adını (bigfile) görüyoruz. Yeniden eklemek için oturumun adı da dahil olmak üzere aşağıdakileri yazıyoruz:

 ekran -r büyük dosya 

İndirme penceremize yeniden bağlandık ve uzun indirme işleminin devam ettiğini görüyoruz.

İndirme işlemi tamamlandığında oturum penceresini kapatmak için exit yazıyoruz.

Ekranı Çoklu Windows ile kullanma

Şimdiye kadar, ayrılmış bir pencerede arka planda tek bir işlemi yerleştirmek için screen kullandık. Ancak, screen bundan çok daha fazlasını yapabilir. Ardından, bilgisayarımızın bazı yönlerini izlememize izin veren birkaç işlem çalıştıracağız.

“Monitör” adlı bir ekran oturumu başlatmak için aşağıdakileri yazıyoruz:

 ekran -S monitör 

Reklamcılık

Yeni pencere oturumumuzdaki komut isteminde, dmesg başlatacağız ve -H (insan tarafından okunabilir) ve -w (yeni iletileri bekle) seçeneklerini kullanacağız. Bu, çekirdek arabellek mesajlarını gösterecektir; yeni mesajlar ortaya çıktıkça görünecektir.

Aşağıdakileri yazıyoruz:

 dmesg -H -w 

Mevcut mesajlar görünür. dmseg yeni iletileri beklediği için komut istemine geri dönmedik ve geldiklerinde bunları gösterecek.

İLGİLİ: Linux'ta dmesg Komutu Nasıl Kullanılır

Başka bir uygulama çalıştırmak istiyoruz, bu yüzden yeni bir screen penceresine ihtiyacımız var. Yeni bir pencere oluşturmak için Ctrl+A'ya ve ardından C'ye basıyoruz. vmstat art arda çalıştırmak için watch kullanacağız, böylece bilgisayarımızda sanal bellek kullanımının sık güncellenen bir görüntüsünü elde ederiz.

Yeni komut isteminde aşağıdakini yazıyoruz:

 vmstat izle 

vmstat çıktısı görünür ve her iki saniyede bir güncellenir.

Şu anda iki sürecimiz çalışıyor. screen pencereleri arasında geçiş yapmak için Ctrl+A'ya ve pencerenin numarasına basın. İlk oluşturduğumuz pencere sıfır (0), sonraki pencere 1 vb. İlk pencereye ( dmesg olan) atlamak için Ctrl+A ve 0 tuşlarına basıyoruz.

Ctrl+A ve 1'e basarsak bizi vmstat penceresine geri götürür.

Bu çok hoş! Bu oturumdan ayrılmak için Ctrl+A ve ardından D tuşlarına basabiliriz; daha sonra tekrar takabiliriz. Her iki oturum da devam edecek. Yine pencereler arasında geçiş yapmak için Ctrl+A ve geçiş yapmak istediğimiz pencerenin numarasına (0 veya 1) basıyoruz.

Bir sonraki adıma geçelim ve her iki ekranı da tek pencerede görüntüleyelim. Bunu yaptığınızda, terminal pencerenizi bu adımı kullanışlı kılan bir boyuta genişleteceksiniz. Örneklerimiz ekran görüntülerimizin boyutuyla sınırlıdır, bu nedenle pencerelerimiz biraz sıkışık görünecektir.

Reklamcılık

Bunu yapmak için Ctrl+A'ya ve ardından Shift+S'ye basarız (büyük harf “S” gereklidir).

Pencere iki “bölgeye” ayrılır.

Üst bölge hala vmstat gösteriyor ve alt bölge boş. İmleç aşağıdaki ekran görüntüsünde vurgulanmıştır. Alt bölgeye taşımak için Ctrl+A ve ardından Tab tuşlarına basıyoruz.

İmleç, gerçekten sadece boş bir alan olan alt bölgeye hareket eder. Bu bir kabuk değil, bu yüzden içine hiçbir şey yazamayız. Kullanışlı bir görüntü elde etmek için Ctrl+A tuşlarına basıyoruz ve ardından bu bölgede dmesg penceresini görüntülemek için “0” a basıyoruz.

Bu bize tek bir bölünmüş pencerede iki canlı çıktı verir. Pencereyi ayırmak için Ctrl+A ve D tuşlarına basarsak ve ardından yeniden takarsak, bölünmüş bölme görünümünü kaybederiz. Ancak, aşağıdaki klavye kısayollarıyla geri yükleyebiliriz:

  • Ctrl+A, S: Pencereyi yatay olarak böl.
  • Ctrl+A , Sekme: Alt bölgeye gidin.
  • Ctrl+A, 0: Alt bölgede pencere sıfırını görüntüler.

İşleri bir adım daha ileri götürebiliriz. Şimdi alt bölmeyi dikey olarak böleceğiz ve ekrana üçüncü bir işlem ekleyeceğiz. İmleç alt bölgedeyken Ctrl+A ve C tuşlarına basarak içinde kabuk olan yeni bir pencere oluşturuyoruz. Alt bölge yeni pencereyi görüntüler ve bize bir komut istemi verir.

Ardından, dosya sistemi kullanımını kontrol etmek için df komutunu çalıştırıyoruz:

 df 

Reklamcılık

df çalıştığını gördüğümüzde Ctrl+A'ya ve boru karakterine (|) basıyoruz. Bu, alt bölgeyi dikey olarak böler. Yeni bölgeye geçmek için Ctrl+A ve Tab tuşlarına basıyoruz. Ardından dmesg penceresini görüntülemek için Ctrl+A ve 0 tuşlarına basıyoruz.

Ayrıca bölgeden bölgeye hareket edebilir ve daha fazla dikey veya yatay bölme ekleyebilirsiniz. İşte bazı daha kullanışlı tuş kombinasyonları:

  • Ctrl+A: Mevcut ve önceki bölgeler arasında ileri ve geri gidin.
  • Ctrl+A, Q: Geçerli bölge dışındaki tüm bölgeleri kapatın.
  • Ctrl+A, X: Geçerli bölgeyi kapatın.

SSH Üzerinden ekranı kullanma

screen ile bir pencere oturumu başlatabilir, arka planda çalışmaya devam etmesi için ayırabilir, oturumu kapatabilir veya tekrar açabilir ve oturumu yeniden ekleyebilirsiniz.

ssh komutu ile farklı bir bilgisayardan bilgisayarımıza SSH bağlantısı yapalım. Bağlanacağımız hesabın adını ve uzak bilgisayarın adresini sağlamamız gerekiyor.

Örneğimiz için şunu yazıyoruz:

 ssh [email protected] 

Uzak bilgisayarda kimlik doğrulaması yapıp oturum açtıktan sonra “ssh-geek” adlı bir screen oturumu başlatmak için aşağıdakini yazıyoruz:

 ekran -S ssh-geek 

Gösteri amacıyla, screen penceresinde top koşacağız, ancak uzun süren veya sonsuz herhangi bir işlemi başlatabilirsiniz.

Aşağıdakileri yazıyoruz:

 Tepe 

Reklamcılık

Pencerede top çalıştığında, Ctrl+A'ya ve ardından pencereyi ayırmak için D'ye basıyoruz.

Orijinal, uzak terminal penceresine döndük.

Kullanıcı orijinal terminal penceresine döndü

Aşağıda gösterildiği gibi exit yazarsak, SSH oturumunun bağlantısını keser ve yerel bilgisayarımıza geri döneriz:

 çıkış 

Yeniden bağlanmak için aşağıdakileri yazıyoruz:

 ssh [email protected] 

Yeniden bağlanıp oturum açtıktan sonra, screen oturumunu yeniden eklemek için aşağıdakini yazabiliriz:

 ekran -r ssh-geek 

Şimdi hala çalışan top örneğimize yeniden bağlandık.

Bu, bir makinede bir işlem başlatmak ve ardından başka bir makinede kaldığınız yerden devam etmek istiyorsanız harikadır.

İLGİLİ: Linux Kabuğundan SSH Anahtarları Nasıl Oluşturulur ve Yüklenir

Ekran Paylaşımı Oturumu

İki kişinin aynı pencereyi görmesine ve onunla etkileşime girmesine izin vermek için bir screen oturumu da kullanabilirsiniz. Diyelim ki bilgisayarında Fedora çalıştıran biri Ubuntu sunucumuza bağlanmak istiyor.

Aşağıdakileri yazacaktı:

 ssh [email protected] 

Bağlandıktan sonra -S (oturum adı) seçeneğini kullanarak “ssh-geek” adlı bir ekran oturumu başlatır. Ayrıca, zaten ayrılmış olan yeni bir screen oturumu oluşturmak için -d (ayır) ve -m (zorunlu oluşturma) seçeneklerini kullanır.

Aşağıdakileri yazar:

 ekran -d -m -S ssh-geek 

Reklamcılık

Oturumu eklemek için -x (çoklu ekran modu) seçeneğini kullanarak aşağıdakileri yazar:

 ekran -x ssh-geek 

Bir Manjaro bilgisayarında, başka bir kişi Ubuntu bilgisayarına aşağıda gösterildiği gibi aynı hesap kimlik bilgileriyle bağlanır:

 ssh [email protected] 

Bağlandıktan sonra, screen komutunu yazar ve aynı pencere oturumuna katılmak için -X (çoklu ekran modu) seçeneğini kullanır, örneğin:

 ekran -X ssh-geek 

Şimdi, bir kişinin yazdığı her şeyi diğeri görecek. Örneğin, bir kişi tarih komutunu verdiğinde, ikisi de çıktısını olduğu gibi yazıldığı gibi görür.

Her iki kişi de uzak bir Ubuntu bilgisayarında çalışan bir screen oturumunu paylaşıyor.


İlk olarak 1987'de gün ışığına çıkan bir yazılım parçası için, screen hala iyi bir üretkenlik paketi sunuyor. Kendinizi tanımak, iyi harcanan bir zaman olacak!

İLGİLİ: Bilmeniz Gereken 37 Önemli Linux Komutu

İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar