スクリーンショットを撮ってGDrive接続フォルダに保存するスクリプトがあります。
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
SHELL=/bin/bash
#This takes and stores the picture:
gnome-screenshot -f /run/user/1000/gvfs/google-drive:host=gmail.com,user=sequestranaut/0AFiS_dr3-R8XUk9PVA/1g82k8rd0L54vmYTHzrqoR_4Ys7Rg_1w1/$(date '+%e-%m-%a-%T')
#This clears the folder:
if [ $(ls /run/user/1000/gvfs/google-drive:host=gmail.com,user=sequestranaut/0AFiS_dr3-R8XUk9PVA/1g82k8rd0L54vmYTHzrqoR_4Ys7Rg_1w1/* 2/dev/null | wc -l) -gt 799 ]
then rm -f /run/user/1000/gvfs/google-drive:host=gmail.com,user=sequestranaut/0AFiS_dr3-R8XUk9PVA/1g82k8rd0L54vmYTHzrqoR_4Ys7Rg_1w1/*
fi
スクリプトをテストし、端末で正常に実行された場合に動作することを確認しました。実行すると、終了コードはゼロで、シェルで実行すると期待どおりに機能し、すべてのユーザーに実行権限がありますが、何らかの理由でcrontabを介して実行することはできません。
*/1 * * * /home/iain/Scripts/ScreenshotScript.sh
*/1 * * * * /home/iain/Scripts/test.sh
上記の別のcronjobはうまく動作します。問題なく日付コマンドの出力をデスクトップのテキストファイルに追加するので、crontab自体の問題ではないようです。
ScreenshotScriptを使用するたびにエラーメッセージが表示されます。
(gnome-screenshot:110460): GLib-GIO-CRITICAL **: 15:07:01.783:
g_dbus_connection_call_sync_internal: assertion 'G_IS_DBUS_CONNECTION
(connection)' failed
** Message: 15:07:01.783: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.
$DISPLAY変数に問題があると考えて、これをスクリプトの上部に配置して変更しました。
if [[ -z "$DISPLAY" ]]
then
DISPLAY=":0"
export DISPLAY
fi
しかし、それは何も変えません。
また、Wayland(現在のディスプレイサーバー)の代わりにX11でスクリプトを実行しようとしましたが、まだ同じエラーが発生しました。
誰もが正しい方向に私を指すことができますか?