it-swarm-tr.com

Ekran oturumu için ad belirleme

Unix ekran oturumuna belirli bir ad vermenin bir yolu var mı? Örneğin, aynı programı birden çok kez çalıştırıyorum, her biri farklı parametrelere sahip ve hangisinin hangisi olduğunu söylemek istiyorum.

62
well actually

Bir oturumu -S name Seçeneğiyle başlatırken adlandırabilirsiniz. Çalışan bir ekrandan CTRL-a, :sessionname name Yazarak değiştirebilirsiniz. screen -ls İle çalışan ekran oturumlarını görüntüleyebilir ve screen -xS name İle ada göre bağlanabilirsiniz.

Tek ekranlı bir oturumda her pencereyi de adlandırabilirsiniz. Bunu CTRL-a, A Yazarak istediğiniz ismi yazın. CTRL-a, " Yazarak adlandırılmış pencerelerin etkileşimli bir listesini görüntüleyebilir ve bu listeden geçmek istediğinizi seçebilirsiniz.

Hem ekranları hem de terminalleri ekranlar içinde adlandırmak, ne olduklarını ve neden onları ilk başta başlattığınızı hatırlamak için gerçekten yararlıdır.

73
Lars Yencken

Burada iki kavram var ve hangisini aklınızda tuttuğunuzdan emin değilim:

  • Birden çok ekran pencereniz olabilir. Her pencere bir Kabuk veya başka bir program çalıştırır. Tüm pencereler aynı işlem tarafından barındırılır. C-a c Bir pencere oluşturur, C-a n Ve C-a p Önceki/sonraki pencereye geçer, vb.
  • Birden çok ekran oturumunuz olabilir. Her oturum kendi süreci tarafından barındırılır ve diğer tüm oturumlardan bağımsızdır. Ekranı herhangi bir yeniden takma (-r Veya -R) Seçeneği olmadan başlatmak yeni bir oturum oluşturur.

Windows'un -t Komut satırı seçeneği, C-a A Tuş bağlama, title komutu veya \ek Kaçış dizisi ile ayarlanabilen başlıkları vardır. Daha fazla bilgi için shellter'ın cevabı konusuna bakın.

Oturumların adları olabilir. Genellikle komut satırında adı -S Seçeneğiyle ayarlarsınız; bir ad belirtmezseniz, ekran bir ad oluşturur. Birden çok ekran oturumu kullanırsanız, onlara genellikle farklı oturum adları verirsiniz. Çalışan ekran oturumunu screen -ls; her oturum satırındaki ilk Word 12345.sessionname, burada 12345 ekran işlem kimliğidir. Adıyla veya işlem kimliğiyle belirtilen oturuma devam etmek için screen -r sessionname Veya screen -r 12345 Kullanın.

Ah ... Ekran, beni geri götürüyor ;-)

Bir pencere için

-t name
    sets the title (a.k.a.) for the default Shell or specified program. 
    See also the "shelltitle" .screenrc command.

.Screenrc'nizden başlayan çoklu oturumlar için

screen -t top 2 Nice top
screen -t ....

İşte ekran için man-sayfasının bir çevrimiçi kopyasına bir bağlantı.

Düzenleme: eklendi

Geçerli ekranların adını değiştirmek için,

cat scrnTitle.sh
#/bin/bash
echo -ne '\ek${0}\e\\'

Test edilmedi, üzerinde çalıştığım sistemde ekranım yok.

12
shellter

screen çalıştırırken:

Ctrl+a (veya screen kaçış diziniz ne olursa olsun) A

4
ninjalj

Yukarıdaki cevaplar, bir ekranı başlattığınızda nasıl adlandırılacağını zaten söyler. Ayrıca, bir ekran başlatıldıktan sonra yeniden adlandırılamayacağına da işaret ediyorlar. Pencere başlığı ayarlanabilir, ancak ekrana eklemek için kullanılan ad pid.pty.Host olarak kalır.

Ancak, yararlı bir etki elde etmek için takma ad kullanmanın oldukça iyi çalıştığını gördüm. Bir ekranı adlandırmayı veya kendimi doğal olarak belirli görevler için ekran haline gelen bir grup ekranın bulunduğu bir oturumda bulmayı unutursam, komutun onlara eklenmesi için bir takma ad ayarlıyorum.

misal:

alias goncompile='screen -r 2354'

Diğer ad komutunu tek başına yayınlamanız size hangi ekranları kullandığınızı ve bunlara eklemek için ayarladığınız komutu hatırlatacaktır.

Bunları kaldırmak için unalias kullanın.

3
caoimhin