gdm3이 시작된 후 로그인하기 전에 스크립트를 시작하십시오.

gdm3이 시작된 후 로그인하기 전에 스크립트를 시작하십시오.

스크립트를 실행하려고 합니다.뒤쪽에gdm3이 시작되지만앞으로사용자 로그인. 그 이유는 스크립트에 활동 모니터가 필요하지만 정전이 발생하면 전원이 복구될 때 시스템이 복구 기능을 시작하도록 하기 때문입니다.

다른 답변을 기반으로 다양한 반복을 시도했지만 그 중 어느 것도 필요한 방식으로 수행되지 않는 것 같습니다. 또한 이를 사용자 정의 시스템 서비스 정의에 포함시키고 가능하면 다른 서비스 정의는 건드리지 않으려고 했습니다. 현재 (작동하지 않는) 반복은 다음과 같습니다.

[Unit]
Description=Testing
After=network.target network-online.target gdm3.service

[Service]
Type=oneshot
User=root
Group=root

GuessMainPID=no
ExecStart=/bin/bash /home/user/test.sh
Restart=never

[Install]
WantedBy=multi-user.target

다시 시작 -> 없음. 로그인 후 -> 아무것도 없습니다. 수동으로 시작하고 활성화할 수 있습니다. 편집한 후 데몬을 다시 로드했지만 여전히 결과가 없습니다.

답변1

로그는 스크립트가 실행되는 것처럼 보이지만 실제로는 아무 일도 일어나지 않기 때문에 혼란스럽습니다. 나는 로그와 많은 인터넷 검색을 기반으로 이것을 알아 냈습니다.

gdm에는 2개의 세션이 있는 것 같습니다. 하나는 로그인 전이고 다른 하나는 로그인 후입니다. 스크립트 줄에서 Xauthority와 함께 DISPLAY를 설정하면 DISPLAY는 정확하지만 Xauthority는 로그인 이후입니다. 로그인하기 전에 SSH에 로그인하고 ps a | grep X올바른 Xauthority(아직 gdm을 통해 로그인하지 않았기 때문에 현재 유일한 것임)를 찾고 올바른 Xauthority로 스크립트를 변경하고 재부팅해야 했으며 지금은 괜찮은 것 같습니다. .

관련 정보