Linux'un Ekran Komutu Nasıl Kullanılır
Linux screen
komutu 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?
screen
Komut 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, screen
komutu 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şitliscreen
pencerelerinizi tek bir pencerede görüntüleyebilirsiniz.- Uzak bir makineye bağlanabilir, bir
screen
oturum 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
screen
oturumu 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ı
screen
Ubuntu'ya 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
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 screen
etiketli 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
-S
Oturumunuzu 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 screen
baş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 screen
yazı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, exit
oturum penceresini kapatmak için yazıyoruz.
Çoklu Windows ile ekranı kullanma
Şimdiye kadar, screen
ayrı bir pencerede arka plana tek bir işlem yerleştiriyorduk. Ancak screen
bundan ç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. dmseg
Yeni 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. watch
Tekrar 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. screen
Pencereler 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 ( dmesg
bir) geçmek için Ctrl + A ve 0 tuşlarına basıyoruz.
Ctrl + A ve 1'e basarsak, bizi vmstat
pencereye 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 vmstat
ve 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 dmesg
bu 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, df
dosya 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 dmesg
pencereyi 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 screen
penceresinden, ancak herhangi bir uzun süren veya sonsuz işlemini başlatabilir.
Aşağıdakileri yazıyoruz:
üst
Bir kez top
pencerede ç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 exit
aş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, screen
oturumu 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
-X
Oturumu 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, screen
komutu 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 screen
uzak 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ı