Bir "Ekran" oturumu yeniden başlatma işleminde hayatta kalmanın bir yolu var mı?


25

Ekran yardımcı programını kullanıyorum ve makine yeniden başlatıldığında oturumu korumak istiyorum. Mümkün değilse , yeniden başlatmalar arasındaki oturumları korumaya izin verecek başka Ekran alternatifleri önerebilirsiniz .

Eğer önemliyse Ubuntu Server 10.04 (Lucid Lynx) kullanıyorum.

Ekrandan birkaç oturum açtım. Makine yeniden başlatıldığında tüm bu oturumlar kaybolur ve tekrar açmam gerekir. Bu Ekran oturumlarını korumanın bir yolunu bulmak istedim.


ne yapmaya çalışıyorsun ekran oturumunuzda çalışan geçmişi veya her şeyi korumak ister misiniz?
Marcel G

1
Bunu yapmak, yeniden başlatma amacını bozmaz mıydı?
Brian Knoblauch

'oturumları' ile ne demek istiyorsun? Çeşitli ekran pencerelerinde diğer ana bilgisayarlarla ssh bağlantınız olduğunu mu kastediyorsunuz? Eğer demek istediğin buysa, bir .screenrc dosyası yazmak ve ssh şifresiz oturum açmayı etkinleştirdiyseniz, hile yapmak için oturum açmak istediğiniz kullanıcı @ ana bilgisayarını belirtmek .... Sonra ekranı başlattığınızda, tüm ssh bağlantıları otomatik olarak başlayacaktır. Hatta rc.local'dan başlatabilirsiniz (biraz zor, çünkü onu su - kullanıcı adınızdan başlatmanız gerekir), böylece giriş yaptığınızda çalışan ekran oturumunu yeniden bağlayabilirsiniz.
natxo asenjo

1
daha önemlisi, neden her zaman yeniden başlatılıyorsunuz? Unix sunucular, Windows sunucuları değildir, yüksek kullanım süreleri için tasarlanmıştır, makinelerin yıllarca çalıştıkları bilinmektedir (çekirdek güvenlik yamaları olmadan). Çekirdek güvenlik düzeltme ekleri nedeniyle yeniden başlatmanız durumunda, ksplice gibi bir şeye bakın.
Unix Kapıcısı,

Yanıtlar:


16

Öncelikle, birkaç önemli şeyi açıklığa kavuşturalım:

  1. Kaç tane makine var? Başka bir deyişle, uzaktaki bir makineye mi bağlanıyorsunuz, yoksa yerel makinenizdeki her şey var mı?
  2. İlgili bir uzak makine varsa, hangi makine yeniden başlatılıyor: sunucu mu yoksa istemci mi?

İlgili bir makine varsa veya sunucu yeniden başlatılıyorsa, çoğunlukla şansınız kalmaz.

Uzak bir makineye giriş yapıyorsanız, ancak yerel makinenizi yeniden başlatmanız gerekiyorsa, yerel makineniz yerine uzak makinede ekran çalıştırdığınız sürece sorun olmaz. Bunun, ekranın herhangi bir deneyimli (hatta biraz deneyimli) kullanıcısı için oldukça açık olduğunun farkındayım, ancak yardımcı olması durumunda söylüyorum.

Yine bir başka olasılık (yine, bunun sizin için yararlı olup olmadığı durumunuza bağlı olarak) makineyi ekran üzerinde bir VM'de çalıştırmaktır. Uzak bir fiziksel sunucu olduğunu ve yeniden başlatılması gerektiğini varsayalım, ancak (örn.) VMware'de bir misafir işletim sistemi var. Konuk işletim sistemini askıya alabilir ve donanım yeniden başlatıldıktan sonra yeniden başlatabilirsiniz. Bunların hepsi neden belirtilmediğine, hangisinin belirtilmediğine ve makine üzerinde ne kadar kontrole sahip olduğunuza ve tüm bu sorunlara girmeye istekli olup olmadığınıza bağlıdır.

KOLAY çözüm yoktur ve çözümlerin hiçbiri sizin için işe yaramaz. Ama iyi şanslar.

Birçok makineye giriş yapıyorsanız, tüm uzak makinelerde ekranı ayrı ayrı çalıştırmak çok fazla acı gibi görünebilir ve öyle. Bu durumda, her biri başka bir uzak makineye giriş yapan birçok ekran penceresine sahip olan bir ara makine çalıştırma ekranına sahip olmak yararlıdır. Ara makine kaldığı sürece, kendi yerel makinenizi yeniden başlatabilir (veya çantanıza koyabilir ve gece ya da her neyse eve götürebilirsiniz) ve ekran ara makinede çalışmaya devam eder. (Ve belli ki uzaktaki makinelerden herhangi biri kapanırsa, bu makineyle olan bağlantınızı kaybedersiniz, ancak ekran oturumlarınızın geri kalanı iyidir.)

Fakat çoğu durumda, uzak makineye veya yeniden başlatılan tek makineye atıfta bulunursunuz, bu durumda bunu yapmanın basit bir yolu yoktur. CryoPID ilk bakışta umut verici görünüyor, ancak web sitesi ekran için işe yaramadığını söylüyor.

Ancak keşfedilmeye değer biraz umut verici seçenek daha var. (İşe yarayıp yaramayacağının tam olarak ne yapmaya çalıştığınıza bağlıdır.) Bunu github.com adresinde bulabilirsiniz: https://github.com/skoneka/screen-session/tree/master/ScreenSession/


CryoPID için +1, bunu bilmiyordu!
Unix Kapıcısı,

ScreenSession ilginç görünüyor, açıklamasına göre tam olarak istediğim bu
Sergey G


4

Ekranı kullanmak yerine küçük bir Virtualbox VM kullanın ve bunun içinde çalışın. O zaman sadece kış uykusuna yayabilir, ana bilgisayarı yeniden başlatabilir, ardından VM'yi tekrar uyandırabilirsiniz (tıpkı bir dizüstü bilgisayarın kapağını kapatıp yeniden açmak gibi). Uzak ana bilgisayarlara SSH bağlantıları muhtemelen bu yöntemle devam etmez, bunu garanti etmenin mümkün olacağını sanmıyorum.


Aslında ben tmux-diriliş
Gaius

tmux-diriliş çok iyi bir çözüm gibi görünüyor.
serv-inc


1

Bütün bunlarda, Ekranın kendisi oldukça marjinaldir. “Kaydetmek” istediğiniz Ekran değil, öyle değil mi, ancak çeşitli ekran oturumlarındaki ortamlar, her neyse.

Bir Screen oturumu kaydetmenin, içindeki SSH işlemlerini ve her şeyi kapsayacağını öneriyor gibi görünüyorsunuz. Screen'in içinde çalışan şey, Screen'in hiç bir işi değil ve bunlar uygulanabilirliği ne olursa olsun, "kurtarması" zor olan şeylerdir.

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.