Sha*_*aun 13 gnome cron environment-variables gsettings
我正在尝试使用 Indrajith Indraprastham 建议的脚本将我的墙纸更改为随机图像: How to change desktop background from command line in Unity?
当我从终端窗口运行脚本时,bg 改变得很好,但是当它从 cron 运行时,我收到了这个错误:
(进程:21901):dconf-警告**:未能提交对 dconf 的更改:错误生成命令行“dbus-launch --autolaunch=00216c114dcf433c9bb9009985d607d6 --binary-syntax --close-stderr”:子进程退出,代码为 1
我将不胜感激任何建议。
Jac*_*ijm 18
如果您从自己的环境(例如从终端窗口或从启动应用程序)运行脚本,将设置许多环境变量。cron但是,使用一组有限的环境变量运行您的脚本。
要从gsettings成功编辑cron,您需要设置DBUS_SESSION_BUS_ADDRESS环境变量。您可以通过在脚本中添加两行来实现,如此处(和下文所述)。
此处的脚本经过编辑以包含DBUS_SESSION_BUS_ADDRESS环境变量,然后变为:
#!/bin/bash
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
DIR="/home/indra/Pictures/wallpapers"
PIC=$(ls $DIR/* | shuf -n1)
gsettings set org.gnome.desktop.background picture-uri "file://$PIC"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5838 次 |
| 最近记录: |