Linux'un Ekran Komutu Nasıl Kullanılır

Linux screenkomutu ile, çalışan terminal uygulamalarını arka plana itebilir ve görmek istediğinizde ileri doğru çekebilirsiniz. Ayrıca bölünmüş ekran görüntülerini destekler ve bağlantıyı kesip yeniden bağladıktan sonra bile SSH bağlantıları üzerinden çalışır!

Ekran Komutu Nedir?

screenKomut bir terminal çoklayıcı olduğunu ve kesinlikle seçenekleri ile donatılmış. Çok şey yapabileceğini söylemek, yetersizliklerin büyükbabasıdır. Man sayfası 4.100'den fazla satıra sahiptir.

Aşağıdakiler, screenkomutu 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 yürüdüğünü görmek istediğinizde, pencereyi tekrar ön plana çekebilir (“yeniden iliştir”) ve tekrar kullanabilirsiniz. Bu, terminal penceresini kapatarak yanlışlıkla sonlandırmak istemediğiniz uzun işlemler için harikadır.
  • screenÇalışan bir oturumunuz olduğunda, yeni pencereler oluşturabilir ve bunlarda 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 screenpencerelerinizi tek bir pencerede görüntüleyebilirsiniz.
  • Uzak bir makineye bağlanabilir, bir screenoturum başlatabilir ve bir işlem başlatabilirsiniz. Uzak ana bilgisayardan bağlantıyı kesebilir, yeniden bağlanabilirsiniz ve işleminiz çalışmaya devam edecektir.
  • Bir screenoturumu iki farklı SSH bağlantısı arasında paylaşabilirsiniz, böylece iki kişi aynı şeyi gerçek zamanlı olarak görebilir.

Yükleme ekranı

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

sudo apt-get yükleme ekranı

screenManjaro'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

Başlamak için screen, aşağıda gösterildiği gibi yazmanız ve Enter tuşuna basmanız yeterlidir:

ekran

Bir lisans bilgileri sayfası göreceksiniz. İkinci sayfayı okumak için Boşluk çubuğuna veya komut istemine dönmek için Enter tuşuna basabilirsiniz.

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

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

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

İndirmemiz başlar ve curlçıktı bize ilerlemeyi gösterir.

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

İndirme işlemi hala devam ediyor ancak indirmeyi gösteren pencere kaldırıldı. screen Oturumu başlattığınız terminal penceresine geri dönersiniz. Bir mesaj size screenetiketli bir pencerenin 23167.pts-0.howtogeekçıkarıldığını söyler .

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

ekran -ls

Hazır olduğunuzda, -r(reattach) seçeneğini ve yeniden eklemek için oturum sayısını kullanabilirsiniz, örneğin:

ekran -r 23167

Arka planda çalışmakta olan pencere artık hiç gitmemiş gibi terminal pencerenize geri getirilir.

Sonuca varacak bir süreçse, sonunda tamamlanacaktır. Sürekli bir süreçse, sonunda onu sonlandırmak isteyeceksiniz. Süreç biter, sen yazabilirsiniz iki şekilde de,  exit çıkmak için screen. 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 dönersiniz. Tek ve tek müstakil penceremizi kapattığımız için screen, sona eren bir mesaj alıyoruz .

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

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

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

ekran -S bigfile

Oturumumuzu screenbaşlattığımızda, komut istemi içeren boş bir pencere görüyoruz. Büyük bir dosya indireceğiz, böylece uzun süren bir süreci örnek olarak kullanabiliriz.

Aşağıdakileri yazıyoruz:

curl //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 -ls(liste) seçeneğini kullanmak için aşağıdakileri screenyazıyoruz:

ekran -ls

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

ekran -r bigfile

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

İndirme tamamlandığında, exitoturum penceresini kapatmak için yazıyoruz.

Çoklu Windows ile ekranı kullanma

Şimdiye kadar, screenayrı bir pencerede arka plana tek bir işlem yerleştiriyorduk. Ancak  screenbundan çok daha fazlasını yapabilir. Ardından, bilgisayarımızın bazı yönlerini izlememizi sağlayan 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

Yeni pencere oturumumuzdaki komut isteminde dmesg , -H(insan tarafından okunabilir) ve -w(yeni mesajları bekleyeceğiz) seçeneklerini başlatıp kullanacağız . Bu, çekirdek tampon 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. dmsegYeni mesajları beklediği için komut istemine geri dönmedik ve geldiklerinde onları göstereceğiz.

İ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 pencereye ihtiyacımız var . Yeni bir pencere oluşturmak için Ctrl + A ve ardından C tuşlarına basıyoruz. watchTekrar tekrar çalıştırmak için kullanacağız vmstat, bu yüzden bilgisayarımızdaki sanal bellek kullanımının sık sık güncellenen bir görüntüsünü alıyoruz.

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

vmstat izle

vmstatÇıktı görünür ve her iki saniyede günceller.

İki işlemimiz şimdi çalışıyor. screenPencereler arasında gezinmek için  Ctrl + A tuşlarına ve pencerenin numarasına basın. İlk oluşturduğumuz pencere sıfır (0), sonraki pencere 1, vb. İlk pencereye ( dmesgbir) geçmek için Ctrl + A ve 0 tuşlarına basıyoruz.

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

Bu oldukça şık! Bu oturumdan çıkmak için Ctrl + A ve ardından D'ye basabiliriz; daha sonra yeniden ekleyebiliriz. Her iki seans 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ı tek bir pencerede görüntüleyelim. Bunu yaptığınızda, terminal pencerenizi bu adımı kullanışlı kılan bir boyuta uzatacaksınız. Örneklerimiz ekran görüntülerimizin boyutuyla sınırlıdır, bu nedenle pencerelerimiz biraz sıkışık görünecektir.

Bunu yapmak için Ctrl + A ve ardından Shift + S tuşlarına basıyoruz (büyük harf "S" gereklidir).

Pencere iki "bölgeye" ayrılır.

Üst bölge hala görüntülenir vmstatve alt bölge boştur. İ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çekte 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ıp ardından dmesgbu bölgedeki pencereyi görüntülemek için “0” a basıyoruz.

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

  • Ctrl + A, S: Pencereyi yatay olarak ayırın.
  • Ctrl + A , Tab: Alt bölgeye gidin.
  • Ctrl + A, 0: Alt bölgede pencere sıfırı göster.

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

Ardından, dfdosya sistemi kullanımını kontrol etmek için komutu çalıştırıyoruz :

df

Biz bkz zaman dfçalışan, biz Ctrl + A ve boru karakterini çarptı (|). 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 dmesgpencereyi 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 geri atlayın.
  • Ctrl + A, Q: Mevcut bölge dışındaki tüm bölgeleri kapatın.
  • Ctrl + A, X: Mevcut bölgeyi kapatın.

SSH Üzerinden Ekran Kullanımı

İle screen, bir pencere oturumu başlatabilir, arka planda çalışmaya devam etmesi için ayırabilir, oturumu kapatabilir veya yeniden açıp oturumu yeniden ekleyebilirsiniz.

ssh Komutu ile bilgisayarımıza farklı bir SSH bağlantısı yapalım  . Bağlanacağımız hesabın adını ve uzak bilgisayarın adresini sağlamalıyız.

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

ssh [email protected]

Uzak bilgisayarda kimlik doğrulaması yaptıktan ve oturum açtıktan sonra, screen"ssh-geek" adlı bir oturum başlatmak için aşağıdakileri yazıyoruz:

ekran -S ssh-geek

Gösteri amaçlı, biz koşacağız  top içinde screenpenceresinden, ancak herhangi bir uzun süren veya sonsuz işlemini başlatabilir.

Aşağıdakileri yazıyoruz:

üst

Bir kez  toppencerede çalışırken, biz Ctrl + A çarptı, ardından D penceresini ayırmak için.

Orijinal, uzak terminal penceresine geri döndük.

Biz yazarsanız exitaşağıda gösterildiği gibi, bu SSH oturumu bağlantısını keser ve bizim yerel bilgisayarda döndük:

çıkış

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

ssh [email protected]

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

ekran -r ssh-geek

Hâlâ çalışmakta olan örneğimize yeniden bağlandık top.

Bir makinede bir işlem başlatmak ve ardından başka bir makinede kaldığınız yerden devam etmek istiyorsanız bu harika.

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

Bir ekran oturumunu paylaşma

screenİki kişinin aynı pencereyi görmesine ve etkileşim kurmasına izin vermek için bir oturum da kullanabilirsiniz . Bilgisayarında Fedora çalıştıran birinin Ubuntu sunucumuza bağlanmak istediğini varsayalım.

Aşağıdakileri yazardı:

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 oturum oluşturmak için -d(ayır) ve  -m(zorunlu oluşturma) seçeneklerini kullanır screen.

Aşağıdakileri yazar:

ekran -d -m -S ssh-geek

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

ekran -X ssh-geek

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

ssh [email protected]

Bağlandıktan sonra,  screenkomutu 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, herhangi bir kişi yazarsa diğeri görecek. Örneğin, bir kişi tarih komutunu verdiğinde, ikisi de yazıldığı gibi onu ve çıktısını görür.

Her iki kişi de artık screenuzak bir Ubuntu bilgisayarında çalışan bir oturumu paylaşıyor .

1987'de ilk kez gün screen yüzüne çıkan bir yazılım parçası için hala iyi bir üretkenlik duvarı var. Kendinizi tanımak, iyi harcanan zaman olacaktır!

İLGİLİ: Bilmeniz Gereken 37 Önemli Linux Komutları