为什么幻灯片不能从我为每小时 cron 作业编写的脚本开始播放?

为什么幻灯片不能从我为每小时 cron 作业编写的脚本开始播放?

我在 cron.hourly 文件夹中创建了一些 bash 脚本,以便在机器开启时每小时运行一些任务。

cron_pull脚本cron_update_images在 cron 作业中运行良好。

53 * * * 2 /etc/cron.hourly/cron_pull
55 * * * 2 /etc/cron.hourly/cron_update_images
57 * * * 2 /etc/cron.hourly/cron_start_slideshow    #This is the problem script

最终的脚本没有按预期运行,我不确定为什么。如果我手动运行脚本,它会毫无问题地开始幻灯片放映。这是里面的代码cron_start_slideshow

# Code that will prevent duplicate cronjobs from happening
PIDFILE=~/Documents/scripts/cron_pull.pid
if [ -f $PIDFILE ]
then
  PID=$(cat $PIDFILE)
  ps -p $PID > /dev/null 2>&1
  if [ $? -eq 0 ]
  then
    echo "Process is already running"
    exit 1
  else
    # Process not found, assume it is not running
    echo $$ > $PIDFILE
    if [ $? -ne 0 ]
    then
      echo "Could not create PID file"
      exit 1
    fi
  fi
else
  echo $$ > $PIDFILE
  if [ $? -ne 0 ]
  then
    echo "Could not create PID file"
    exit 1
  fi
fi

# Start the slideshow of images
eog --slide-show /media/images

# Remove the PID file showing the process is complete
rm $PIDFILE

任何有帮助的都可以,谢谢!

答案1

首先,我认为您想要做的是在窗口管理器启动时启动此幻灯片,因此使用自动启动脚本启动它(具体取决于您使用的窗口管理器)。如果不是这种情况,您必须告诉任何程序,当您从 init 脚本运行它时,您想要连接到指定的显示器。

那么,您是否尝试添加可以在页面中找到的显示变量,man eog例如eog --display=0.0 --slide-show /media/images

相关内容