“스크린”세션을 재부팅 후에도 유지할 수있는 방법이 있습니까?


25

Screen 유틸리티를 사용하고 있으며 컴퓨터가 재부팅 될 때 세션을 유지하려고합니다. 가능하지 않은 경우 재부팅간에 세션을 보존 할 수있는 Screen의 다른 대안을 추천 할 수 있습니다 .

중요하다면 우분투 서버 10.04 (Lucid Lynx)를 사용하고 있습니다.

Screen을 통해 여러 세션을 열었습니다. 컴퓨터가 재부팅되면 모든 세션이 손실되므로 다시 열어야합니다. 그 스크린 세션을 유지하는 방법을 찾고 싶었습니다.


무엇을하려고합니까? 기록 또는 화면 세션에서 실행중인 모든 내용을 유지 하시겠습니까?
Marcel G

1
이렇게하면 재부팅의 목적이 사라지지 않습니까?
Brian Knoblauch

'세션'이란 무엇입니까? 여러 화면 창에서 다른 호스트에 대한 ssh 연결이 있음을 의미합니까? 이것이 의미하는 것이라면 .screenrc 파일을 작성하고 ssh 암호가없는 로그인을 활성화 한 경우 로그인하려는 user @ host를 지정하여 트릭을 수행해야합니다 ... 그런 다음 화면을 시작하면 모든 ssh 연결이 자동으로 시작됩니다. rc.local에서 시작할 수도 있습니다 (su-yourusername에서 시작해야하기 때문에 약간 까다 로움). 로그인하면 실행중인 화면 세션을 다시 연결할 수 있습니다.
natxo asenjo 12

1
더 중요한 것은 왜 항상 재부팅을합니까? 유닉스 서버는 윈도우 서버가 아니며, 높은 가동 시간을 위해 설계되었으며, 시스템은 몇 년 동안 가동 시간이있는 것으로 알려져 있습니다 (커널 보안 패치 제외). 커널 보안 패치로 인해 재부팅하는 경우 ksplice와 같은 것을 살펴보십시오.
유닉스 수위

답변:


16

우선 몇 가지 중요한 사항을 분명히 해 보겠습니다.

  1. 몇 대의 기계가 관련되어 있습니까? 즉, 원격 시스템에 연결 중입니까, 아니면 로컬 시스템의 모든 항목입니까?
  2. 원격 시스템이 관련된 경우 어떤 시스템이 재부팅되고 있습니까? 서버입니까, 클라이언트입니까?

하나의 시스템이 있거나 서버가 재부팅되는 경우 대부분 운이 좋지 않습니다.

원격 컴퓨터에 로그인하고 있지만 로컬 컴퓨터를 재부팅해야하는 경우 로컬 컴퓨터 대신 원격 컴퓨터에서 화면을 실행하는 한 아무런 문제가 없습니다. 경험이 많은 (약간 경험이있는) 화면 사용자에게는 이것이 분명하다는 것을 알고 있지만 도움이 될 수있는 경우를 대비하여 언급합니다.

또 다른 가능성은 (여러분의 상황에 따라 도움이되는지 여부) VM에서 화면으로 컴퓨터를 실행하는 것입니다. 원격 물리적 서버이고 다시 부팅해야하지만 게스트 운영 체제 (예 : VMware)가 있다고 가정합니다. 하드웨어를 재부팅 한 후 게스트 OS를 일시 중단하고 다시 시작할 수 있습니다. 모두 재부팅 해야하는 이유, 지정되지 않은 이유 및 컴퓨터에 대한 제어 권한 및 모든 문제에 기꺼이 옮길 지 여부에 달려 있습니다.

EASY 솔루션은 없으며 어떤 솔루션도 도움이되지 않습니다. 그러나 행운을 빕니다.

많은 컴퓨터에 로그인하는 경우 모든 원격 컴퓨터에서 화면을 개별적으로 실행하기가 너무 어려워 보일 수 있습니다. 이 경우 중간 화면을 실행하는 화면이 있는데,이 화면에는 각각 다른 원격 시스템에 로그인 한 많은 화면 창이있을 수 있습니다. 중간 시스템이 유지되는 한 자체 로컬 시스템을 재부팅하거나 가방에 포장하여 밤새 집에 가져갈 수 있으며 화면이 중간 시스템에서 계속 실행됩니다. (그리고 원격 시스템이 다운되면 해당 시스템과의 연결이 끊어 지지만 나머지 화면 세션은 정상입니다.)

그러나 대부분의 경우 원격 컴퓨터 또는 재부팅되는 유일한 컴퓨터를 참조하는 경우 간단한 방법은 없습니다. CryoPID는 처음에는 유망한 것으로 들리지만 웹 사이트는 화면에서 작동하지 않는다고 말합니다.

그러나 다른 유망한 옵션이 있습니다. (어떻게 작동할지 여부는 정확히 무엇을하려고하는지에 달려 있습니다.) github.com에서 확인하십시오 : https://github.com/skoneka/screen-session/tree/master/ScreenSession/


cryoPID +1, 몰랐습니다!
유닉스 청소부

ScreenSession은 흥미로워 보입니다. 설명에서 이것이 바로 제가 원했던 것입니다
Sergey G

5

드문 경우이지만 이것이 가능하지만 ( CryoPID 또는 CryoPID2 참조 ) 일반적으로 이것은 어렵 기 때문에 수행 할 수 없습니다.


링크가 끊어졌습니다.
kasperd

4

화면을 사용하는 대신 작은 Virtualbox VM을 사용하고 그 내부에서 작업하십시오. 그런 다음 최대 절전 모드로 전환하고 호스트를 재부팅 한 다음 랩톱 덮개를 닫았다가 다시 여는 것처럼 VM을 다시 깨울 수 있습니다. 이 방법으로 원격 호스트에 대한 SSH 연결이 유지되지 않을 수도 있습니다. 보장 할 수는 없습니다.


실제로 나는 tmux-resurrect에
Gaius

tmux-resurrect는 매우 좋은 솔루션처럼 보입니다.
serv-inc


1

이 모든 것에서 화면 자체는 거의 한계가 있습니다. "저장"하려는 화면이 아니라 다양한 화면 세션 내의 환경이 무엇이든 상관 없습니다.

화면 세션을 저장하면 내부의 모든 SSH 프로세스와 모든 종류의 프로세스가 포함된다고 제안하는 것 같습니다. Screen 내부에서 실행되는 것은 전혀 Screen의 사업이 아니며, "저장"하기 어려운 것들입니다. 구현 가능한 경우 실제로 의미하는 것은 무엇이든.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.