Yeniden adlandırmak veya adlandırılmış bir ekran oturumu oluşturmak? (veya kalıcı ekran oturumları)


27

Temelde otomatik olarak tekrar bağlamak istediğim uzak bir ekran oturumum var.

ssh host -t screen -x thesessionname

Bu iyi çalışıyor, ancak oturum ne sebeple olursa ölürse, bir sonraki bağlandığımda yeniden oluşturulmasını isterim. -Rİçin bayrak screenolduğu neredeyse mükemmel:

ssh host -t screen -R -S thesessionname

..but oturum zaten ekli ise, ikinci bir oturum yapılır ( -Rilk ayrılmış oturumu basit bir şekilde görür , eğer hiçbiri yeni bir tane bulmazsa)

-RBayrağın ekli oturumları aramasını sağlamanın ve yoksa thesessionnameyoksa yeni bir tane yaratmanın bir yolu var mı?

Bu kolayca yapılamazsa, ekran oturumunu öldüğünde otomatik olarak nasıl yeniden oluşturabilirim? Belki de adlandırılmış oturumu arayan cron üzerinden çalışan bir komut dosyası, olmamalıdır oluşturuyor?

Yanıtlar:


32

Ekrana, denemek konusunda biraz daha ısrarcı olduğunu söyleyin:

-D -R
    Attach here and now. In detail this means: If a session is run-
    ning,  then  reattach.  If necessary detach and logout remotely
    first.  If it was not running create it and  notify  the  user.
    This is the author's favorite.

Öyleyse ikisini birleştirin ve çözümünüzü almalısınız ("-DR", "-D -R" ile eşdeğerdir):

screen -DR <yoursession> 

Ek olarak ve bilmek yararlı, çalışan oturumları aşağıdakilerle görüntüleyebilirsiniz:

screen -ls

5
Mükemmel, screen -x -R -S mainkullanmaya başladığım şey (zorla ayırmadan aynı şekilde çalışır), teşekkürler!
dbr,

Bazen kullanmak istediğinizde sceen -r <yoursession>, zaten eklendiğinde hata verir (yeni oturum oluşturmak yerine).
tehlike89

11

Birkaç iyi seçenek. İlk olarak, en sevdiğim:

screen -x -R

Bu, mevcut ilk ekran oturumuna eklenir (başka bir bağlantı bağlıysa paylaşılır) ve hiç ekran oturumu yoksa, yeni bir tane başlatın.

screen -d -RR

Bunun için Dokümanlar "Bir oturumu yeniden takın ve gerekirse ayırın veya oluşturun. Birden fazla oturum varsa, ilk oturumu kullanın." Temel olarak, double-R, eklenecek ilk oturumu arar.

screen -D -RR

“Buraya ve şimdi ekle. Bu ne demekse, sadece yap.” Diğer bağlı oturumları ayırır ve uzaktan kapatır ve yapabileceği ilk oturuma ekler. Temel olarak, mevcut bir oturuma eklemek için ne gerekiyorsa yapar ve orada hiçbir şey yoksa yeni bir tane oluşturur.

İlk olarak (-x -R) sorunlara neden olma olasılığı en düşüktür (diğer bağlantınızı koparmaz), ancak bağlantı kurmak için bir şey varsa bir şey ekler ve ekleyecek bir şey yoksa bir şey oluşturur.


1
Bunların hepsi güzel / kullanışlı seçeneklerdir, ancak hiçbiri bir oturuma isme göre (yeniden) bağlanacak olan orijinal soruyu cevaplamaz .
Daniel

5

kullanırım

screen -dRRS sessname

Diğer kabuktaki oturum açma işlemimin tamamının düşmesini istemiyorum, aynen -Döyle ve kesinlikle çoklu bağlantı modunu da istemiyorum -x.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.