我需要提醒自己参加每周一次的会议。我公司的标准提醒工具的问题在于它在葡萄酒下运行时会弹出一个屏幕外的虚拟桌面。
我认为看看我是否可以提出一个“at”命令弹出一个提醒窗口,然后在接下来的一周重新提交自己会很有趣。
我知道我可以使用cron或一些闹钟应用程序,但这引起了我的好奇心。
单拍版本将是:
echo "DISPLAY=$DISPLAY zenity --title='Weekly Meeting' --text='Time for the weekly meeting' --info" | at 0955 NEXT Monday
有人可以提出一个合适的quine - 类命令,每次运行时,它会在下一周重复提交相同的命令吗?
答案 0 :(得分:1)
尝试一下:
export reminder='"DISPLAY=$DISPLAY zenity --title='\''Weekly Meeting'\'' --text='\''Time for the weekly meeting'\'' --info" | at 0955 NEXT Monday'; echo $reminder | at 0955 NEXT Monday
将at
两个命令更改为at now + 1 minute
以进行测试。输入命令时将设置$DISPLAY
,并且在作业执行时可能不正确,但这与您问题中的命令行为相同。
答案 1 :(得分:0)
我可能在作弊,但你可以利用这个事实
at
保留了大多数环境变量的值
(不是$DISPLAY
,似乎$DISP
都没有:
export FOO=$DISPLAY CMD='DISPLAY=$FOO xmessage "hi there";
echo "$CMD" | at now + 1 minutes'
eval "$CMD"
我使用xmessage
一分钟,因为我有它们,
但当然你可以根据自己的需要定制它。
答案 2 :(得分:0)
很抱歉破坏了这种乐趣,但......某种cron工作不会更有意义吗?