SSH를 통해 원격 서버에서 Python 스크립트를 실행하고 있지만 마지막에는 X 서버가 활성화되어야 하는 pyplot을 사용하여 그래프를 저장하도록 요청합니다. 오랫동안 실행했기 때문에 "screen" 명령을 사용하고 그대로 놔두었다가 다시 돌아오면 복원하고 있습니다. 문제는 복원된 화면이 처음 연결했을 때 SSH에 사용했던 X 디스플레이(예: localhost:15.0)로 출력을 시도하지만 일반적으로 로컬 컴퓨터로 돌아가거나 서버가 나에게 다른 컴퓨터를 할당했을 때( 예: localhost :22.0), 출력할 위치를 찾을 수 없기 때문에 코드가 깨집니다.
이 시간 초과를 방지하거나 SSH 세션에서 사용할 디스플레이를 설정하는 방법이 있습니까? -X 및 -Y로 연결을 시도했지만 변경 사항이 없습니까?
감사해요!
답변1
첫째, X 프레임 버퍼가 필요하지 않은 matplotlib와 같은 다른 플로팅 라이브러리를 사용하는 것이 더 나을 것입니다.
반드시 pyplot을 사용해야 한다면 원격 측에서 Xvfb(가상 X 서버)를 시작하고 전달된 X 디스플레이 대신 $DISPLAY 변수를 지정해 보세요. 이렇게 하면 문제 없이 화면 내에서 실행됩니다.