Редактирование настроек Gsettings из Cron с помощью скрипта не работает [дубликат]

На этот вопрос уже есть ответ здесь:

Итак, я пытаюсь изменить свою тему с светлой на темную версию вечером и наоборот утром. Однако Gsettings не работает из Cron, и решения, опубликованные здесь и здесь , похоже, не работают, как и те, которые размещены в комментариях под ними.

Это сценарий, который выполняет Cron:

#!/bin/bash

#Export DBUS_SESSION_BUS_ADDRESS environment variable
PID=$(pgrep -o gnome-shell)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS/proc/$PID/environ|cut -d= -f2-)

#Change theme
gsettings set org.gnome.desktop.interface gtk-theme 'Arc-Dark'
gsettings set org.gnome.shell.extensions.user-theme name 'Arc-Dark'

И это ошибка, которую я получаю в dead.letter (способ регистрации ошибок Crons):

grep: /proc/1098/environ: Permission denied

(process:28536): dconf-WARNING **: failed to commit changes to dconf: The given address is empty


grep: /proc/1098/environ: Permission denied

(process:28811): dconf-WARNING **: failed to commit changes to dconf: The given address is empty

Я знаю, что могу использовать sudo -u для запуска скрипт, но я бы предпочел не использовать корневой cron.

0
задан 23 May 2017 в 15:39

1 ответ

У меня была подобная проблема, работающая dconf команда от крона. В моем случае я добавил dbus-launch к началу своей команды, а также добавления переменной DISPLAY=:0 в crontab файл.

мой crontab похож на это: DISPLAY=:0 0 6 * * * dbus-launch /path/to/my/dconf-script

0
ответ дан 26 July 2019 в 13:36

Другие вопросы по тегам:

Похожие вопросы: