На этот вопрос уже есть ответ:
Добрый день ... работая разработчиком, я регулярно менял свою тему, днем и ночью, у меня есть 2 темы: «Свет и Dark ". я сделал bash-скрипт для изменения gtk-theme и shell-theme с cli, он работает нормально. Однако, когда я запустил скрипт через crontab, он не работал и сообщает о сбое подключения к дисплею и проблемах с Dbus
вот мой crontab
* * * * * DISPLAY=:0.0 /home/newton/scripts/dark-mode.sh
и вот мой скрипт
#!/bin/bash
export DISPLAY=:0.0
export WAYLAND_DISPLAY=wayland-0
/usr/bin/gsettings set org.gnome.desktop.interface gtk-theme 'Vimix-Dark-Laptop-Ruby'
/usr/bin/gsettings set org.gnome.shell.extensions.user-theme name 'Vimix-Dark-Laptop-Ruby'
P аренда поможет мне решить эту проблему, я думаю, это будет полезно для многих. С уважением Мохаммед Гритли
См. этот ответ об изменении настольного фона и как соединиться с DBUS_SESSION_BUS_ADDRESS
Спасибо @Kristopher Ives
Я попробовал тот ответ прежде, но PID стал каталогом, и DBUS_SESSION_BUS_ADDRESS становится пустым снова.
У меня есть путь вокруг с другом путем добавления следования вершины crontab файла:
DISPLAY=:0
WAYLAND_DISPLAY=wayland-0
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
я захватил переменную от своего огибающего вывода
впоследствии, все хорошо работало, мне также удалось измениться мой "vscode тема" через команду "sed" путем замены имени темы вперед
вот мои полные файлы "crontab-e"
#changing theme based on day-light
DISPLAY=:0
GNOME_SHELL_SESSION_MODE=ubuntu
USER=newton
DESKTOP_SESSION=ubuntu-wayland
WAYLAND_DISPLAY=wayland-0
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XAUTHORITY=/home/newton/.Xauthority
# m h dom mon dow command
*/5 19-05 * * * DISPLAY=:0.0 /home/newton/scripts/dark-mode.sh
*/5 06-18 * * * DISPLAY=:0.0 /home/newton/scripts/light-mode.sh
"содержание темного-mode.sh цвета"
#!/bin/bash
/usr/bin/gsettings set org.gnome.desktop.interface gtk-theme 'Vimix-Dark-Laptop-Ruby'
/usr/bin/gsettings set org.gnome.shell.extensions.user-theme name 'Vimix-Dark-Laptop-Ruby'
sed -i 's/Atom One Light/Ubuntu Style Theme/g' /home/newton/.config/Code/User/settings.json
"содержание света-mode.sh"
#!/bin/bash
/usr/bin/gsettings set org.gnome.desktop.interface gtk-theme 'Vimix-Light-Laptop-Ruby'
/usr/bin/gsettings set org.gnome.shell.extensions.user-theme name 'Vimix-Light-Laptop-Ruby'
sed -i 's/Ubuntu Style Theme/Atom One Light/g' /home/newton/.config/Code/User/settings.json
Отношения Mohammed Gritli