2012-09-20 5 views
0

파이썬 스크립트를 내 서버 (그 파이썬 스크립트에는 GUI가 있음)에서 실행하고 싶습니다. 하지만 ssh에서 시작하고 싶습니다. 이런 식으로 뭔가가 : 출력을 리디렉션하지 않고 원격으로 ssh 명령을 실행하십시오.

  • ssh [email protected] -i my_key "nohup python script.py"

      ...> 스크립트 영원히 를 실행할 수 있도록하지만 출력으로 내 SSH 터미널을 사용하려고하기 때문에 "비디오 드라이버에 액세스 할 수 없습니다"를 뿌려줍니다. 당신이 뭔가를 할 서버를 말할> 그가 사용하는 모든 것을 할 것입니다 -

  • 는 어떻게 든 내 명령 출력은 기본적으로 뭔가 "웨이크 - 온 - 랜 기능"과 같은 ... 내 터미널 서버 시스템에서 실행되지 만들 수 자신의 시스템이

    +0

    "헤드리스"스크립트로 다시 작성하지 않으려면 X (X11 전달 또는 기타) 내에서 실행 해 보려면 시도하십시오. – Jokester

    답변

    0

    무엇 당신은 일부 원격 로그 파일 대신의 과정은/dev/null로 리디렉션을 사용할 수 있습니다

    ssh [email protected] -i my_key "nohup python script.py >/dev/null 2>&1" 
    

    에 대해 (다시 출력을 전송하지 않음). ? :)

    편집 : X의 GUI 응용 프로그램은 $ DISPLAY 변수를 사용하여 표시 할 위치를 알 수 있습니다. 또한 X11 디스플레이 서버는 권한을 사용하여 디스플레이에 연결하는 응용 프로그램을 허용하거나 금지합니다.

    export DISPLAY=:0 && xhost + 
    

    명령

    당신을 위해 도움이 될 수 있습니다.

    +0

    이것이 올바른 방향으로 진행되고있는 것 같지만 스크립트에 GUI 출력이 있으므로/dev/tty7 (내 디스플레이)로 리디렉션해야합니다. – kosta5

    +0

    "GUI 출력"은 무엇을 의미합니까? GUI 응용 프로그램 인 경우 X11 연결을 전달해야합니다. 다른 문제이므로 X 서버를 로컬에서 실행하거나 XQuartz 또는 sth와 같은 대체 서버로 실행하거나 원격 서버에서 원격 데스크톱에 액세스해야합니다. –

    +0

    아니, 아니 나는 그것을 전달하고 싶지 않아 ... 그 GUI 애플 리케이션. 하지만 GUI로 그 서버에서 시작하고 싶습니다. 기본적으로 GUI는 클라이언트의 ssh 요청에 기반한 서버 컴퓨터에 나타 내기를 원합니다. – kosta5

    0

    외부 응용 프로그램을 호출하는 대신 python ssh extension을 사용하는 것이 가능하지 않습니까?

    그것은 것 : 그 호출이

  • 는 "실행"
  • 가 (당신이 모든 것을 트로프 SSH를 보낼에서 오버 헤드를 잃게 가능한 모든 시스템 중 동일합니다

    • 실행 보장
    • 과정 하나 "; possibly local executed command과 같은 입력에 대해 걱정할 필요가 없습니다.

    그렇지 않다면 Piotr Wade 제안했다.

  • 관련 문제