ここでIndrajith Indraprasthamの推奨スクリプトを使用して壁紙をランダムな画像に変更しようとしています: nityのコマンドラインからデスクトップの背景を変更するには?
ターミナルウィンドウからスクリプトを実行すると、bgは正常に変更されますが、cronから実行すると、次のエラーが送信されます。
(プロセス:21901):dconf-WARNING **:dconfへの変更のコミットに失敗しました:コマンドライン 'dbus-launch --autolaunch = 00216c114dcf433c9bb9009985d607d6 --binary-syntax --close-stderr'の生成エラー:コード1で終了した子プロセス
提案をいただければ幸いです。
独自の環境(たとえば、ターミナルウィンドウまたはスタートアップアプリケーション)からスクリプトを実行すると、多くの環境変数が設定されます。 cron
ただし、限られた環境変数セットでスクリプトを実行します。
gsettings
からcron
を正常に編集するには、DBUS_SESSION_BUS_ADDRESS
環境変数を設定する必要があります。 here (および以下)で説明されているように、スクリプトに2行追加することで、これを行うことができます。
スクリプト ここから 、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"
関連: 5分ごとに.shを実行