仅在当天首次登录时运行Linux图形程序

时间:2019-04-26 15:54:16

标签: linux x11 autostart

我想将系统设置为每天第一次登录时运行Thunderbird(需要x11)(因此,如果我在同一天重新启动,它将无法运行)。我该如何进行设置?


对我来说,最简单的启动Thunderbird的方法是使用.xinitrc,但我不知道将它限制为每天运行一次的干净方法。

我可以这样做的方法是将今天的日期与上次启动时间(在此时间之前)进行比较,但是我不知道这种情况的标准化方法,因此我问这个问题是为了避免使用{ {3}}。

1 个答案:

答案 0 :(得分:0)

我最终没有找到惯用的方法来获取上次启动日期,因此我决定将它们存储在自定义文件中,而不是使用/etc/rc.local(在系统启动时执行),如下所示:

# Save boot time
date +%s >> /var/log/bootdate

然后,只有在上次启动的日期不是今天(即今天是第一次启动)时,我才能在.xinitrc中使用此文件启动Thunderbird:

lastboot="$(date +%D -d@"$(tail -2 </var/log/bootdate | head -1)")"
today="$(date +%D)"
if [ "$today" != "$lastboot" ]; then
    # Run given programs only on the first boot of the day
    thunderbird &
fi