OS(rhel7.3) 설치 중에 모든 화면 블랭킹/잠금을 비활성화해야 합니다. 검색하다가 발견한
gsettings set org.gnome.desktop.session idle-delay 0
설치 후 그래픽 터미널에서 테스트할 때 작동합니다. 그러나 초기 설정으로 실행되는 스크립트에서 이 작업을 수행하면 실패합니다.
설치가 끝날 때 런레벨 3에서 실행되는 스크립트의 일부로 실행을 시도했지만 실패했습니다.
dconf-WARNING **: failed to commit changes to dconf: Error spawning command line 'dbus-launch --autolaunch=(long hex id here) --binary-syntax --close-stderr': Child process exited with code 1
그리고 일회성 시스템 서비스를 만드십시오 ssoff.service
.
[Unit]
Description=Disable screen blanking
[Service]
Type=oneshot
ExecStart=/usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
[Install]
WantedBy=graphical.target
하지만 표시된 로그에 동일한 오류 메시지가 나타납니다 systemctl status ssoff
. (이것이 모든 부팅에서 실행된다는 것을 알고 있는데 이는 올바른 방법은 아니지만 작동한다면 충분하다고 생각합니다.)
이러한 경우 시스템이 이 명령을 실행할 준비가 되지 않은 것 같습니다. 마지막에 수동으로 수행하지 않고도 어떻게 이를 달성할 수 있습니까?
답변1
gsettings와 dconf 모두 DBus를 활성화해야 합니다.
나는 이것이 다음과 같이 작동할 것이라고 상상한다(테스트되지는 않았지만):
[Unit]
Description=Disable screen blanking
[Service]
Type=dbus
Busname=org.example.ssoff
ExecStart=/usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
[Install]
WantedBy=graphical.target
또 할 수 있는 일은dconf write /org/gnome/desktop/session/idle-delay 'uint32 0'