Linux ekran Komutu Nasıl Kullanılır
Yayınlanan: 2022-01-29 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şitliscreen
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.
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
Arka planda çalışan pencere, sanki hiç gitmemiş gibi şimdi terminal pencerenize geri getirildi.
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
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
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.
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
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
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.
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
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
Linux Komutları | ||
Dosyalar | tar · pv · kedi · tac · chmod · grep · diff · sed · ar · adam · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · birleştirme · jq · katlama · uniq · dergictl · kuyruk · stat · ls · fstab · yankı · daha az · chgrp · chown · rev · bak · diziler · tür · yeniden adlandır · zip · unzip · mount · umount · yükle · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · yama · dönüştürmek · rclone · parçalamak · srm | |
süreçler | takma ad · ekran · üst · güzel · renice · ilerleme · strace · systemd · tmux · chsh · geçmiş · at · toplu · ücretsiz · hangi · dmesg · chfn · usermod · ps · chroot · xargs · tty · pembemsi · lsof · vmstat · zaman aşımı · duvar · evet · öldür · uyku · sudo · su · zaman · groupadd · usermod · gruplar · lshw · kapatma · yeniden başlatma · durdurma · güç kapatma · passwd · lscpu · crontab · tarih · bg · fg | |
ağ | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · kazmak · parmak · nmap · ftp · curl · wget · kim · whoami · w · iptables · ssh-keygen · ufw |
İLGİLİ: Geliştiriciler ve Meraklılar için En İyi Linux Dizüstü Bilgisayarlar