gdm3을 사용할 때 cron 작업에서 X 디스플레이에 액세스하는 방법은 무엇입니까? [복사]

gdm3을 사용할 때 cron 작업에서 X 디스플레이에 액세스하는 방법은 무엇입니까? [복사]

중복 가능성:
원격 X 모니터에서 창 열기("모니터를 열 수 없습니다" 이유)?

내 X 세션에 액세스해야 하는 크론 작업을 실행하려고 합니다. 내 X 세션은 항상 :0이라는 것을 알고 있으므로 일부는 간단합니다.

/30 * * * * DISPLAY=:0 command

그러나 문제는 gdm3이 더 이상 사용되지 않는다는 것입니다 $HOME/.Xauthority. 대신 /var/run/gdm3/auth-for-anthony-XXXXXX/databaseX를 사용하여 로그인할 때마다 위치를 변경합니다.

$HOME/.Xauthority로그인할 때마다 GDM3 파일에 심볼릭 링크하는 것(또는 로그인할 때마다 crontab 등을 편집하는 것 - 물론 자동으로 ) 외에 .xsessioncron 작업을 작동시키는 다른 방법이 있습니까?

답변1

쉘을 실행하고(로그인 모드에서 또는 $HOME 변수 설정) Xsession에 액세스하는 스크립트를 작성하려고 한다고 가정합니다. cronjob을 실행하면 프로세스에 유효한 tty가 제공되지 않아 Xsession에 액세스하기가 어려워지기 때문에 이것이 의심스럽습니다. 그러나 Xsession에 액세스하는 목적이 무엇인지 알고 싶습니다. xterm이나 브라우저를 시작하는 것처럼요? 헤드리스 터미널에서 자동화를 위해서만 이 작업을 수행하려는 경우 셀레늄을 사용한 자동화 도구와 같은 다른 대안을 찾는 것이 좋습니다.

답변2

좋아, 먼저 연결을 설정하는 xauth는 어떻습니까? 다음 명령은 MIT-MAGIC-COOKIE-1 프로토콜을 사용하여 라이센스를 생성하기 위해 server:0에 연결합니다. 이 인증을 사용하여 연결하는 클라이언트는 신뢰할 수 없습니다.

    %  xauth generate :0 . trusted

그런 다음 생성된 파일에 키 항목을 추가합니다.

    %  xauth add :0 . <key>

다음에 무슨 일이 일어나는지 알려주세요.

관련 정보