有沒有辦法讓“螢幕”會話在重啟後仍然存在?
我正在使用Screen實用程序,並希望在機器重新啟動時保留會話。如果不可能,您可以推薦Screen的其他替代方案,以允許在重新啟動之間保留會話。
如果這很重要,我正在使用 Ubuntu Server 10.04 (Lucid Lynx)。
我通過螢幕打開了幾個會話。當機器重新啟動時,所有這些會話都失去了,我必須再次重新打開它們。我想找到一種方法來保留這些 Screen 會話。
首先,讓我們澄清幾個重要的事情:
- 涉及多少台機器?換句話說,您是連接到遠端電腦,還是本地電腦上的所有內容?
- 如果涉及遠端機器,哪台機器正在重新啟動:是伺服器還是客戶端?
如果涉及一台機器,或者如果伺服器正在重新啟動,那麼你很不走運。
如果您正在登錄遠端電腦,但需要重新啟動本地電腦,那麼只要您在遠端電腦而不是本地電腦上執行 screen 就沒有問題。我意識到這對於任何有經驗(甚至是稍微有經驗)的螢幕使用者來說都是非常明顯的,但我提到它以防萬一它可能會有所幫助。
另一種可能性(同樣,這是否對您有幫助取決於您的情況)是在 VM 上執行帶有螢幕的機器。假設它是一個遠端物理伺服器,需要重新啟動,但它在(例如)VMware 上有一個客戶作業系統。您可以暫停來賓作業系統並在硬體重新啟動後再次啟動它。這完全取決於您需要重新啟動的原因,未指定的原因,以及您對機器的控製程度,以及您是否願意遇到所有這些麻煩。
沒有簡單的解決方案,並且可能沒有一個解決方案對您有用。但祝你好運。
如果您要登錄多台機器,那麼在所有遠端機器上分別執行 screen 似乎太痛苦了,而且確實如此。在這種情況下,有一個中間機器執行螢幕很有用,它可以有許多螢幕視窗,每個視窗都登錄到另一台遠端機器。只要中間機器保持執行,您就可以重新啟動自己的本地機器(或將其打包並帶回家過夜,或其他任何東西)並且螢幕會在中間機器上繼續執行。(很明顯,如果任何遠端機器出現故障,您將失去與該機器的連接,但您的螢幕會話的其餘部分都很好。)
但很可能您指的是遠端機器或唯一正在重新啟動的機器,在這種情況下,沒有簡單的方法可以做到這一點。CryoPID 起初聽起來很有希望,但它的網站說它不適用於螢幕。
但還有另一種頗有前景的選擇值得探索。(它是否適合你在很大程度上取決於你想要做什麼。)在 github.com 上查看: https ://github.com/skoneka/screen-session/tree/master/ScreenSession/