如何使用命令在指定时间运行显示 GUI 的应用程序(例如 Chrome、Spotify 等)at
?
只做echo "/path/to/spotify" | at now
是没有用的。
编辑:我也尝试过echo "DISPLAY=0: /path/to/spotify" | at now
,echo "export DISPLAY=0: && /path/to/spotify" | at now
但是没有用。
答案1
您需要指定一个DISPLAY=:0
环境变量。
>at 15:35
warning: commands will be executed using /bin/sh
at> export DISPLAY=:0
at> /usr/bin/chromium-browser http://stackoverflow.com
at> <EOT>
job 8 at Thu Jul 9 15:35:00 2020
(<EOT>
实际上是 Ctrl-D)
或者你可以使用以下命令创建文件:
export DISPLAY=:0
/usr/bin/chromium-browser http://stackoverflow.com
然后使用:
>at 15:50 <at-commands
注意:DISPLAY
通常是:0
(IIRC 的缩写localhost:0
)。无论如何,它应该与DISPLAY
终端中变量的值相同,而不是在 GUI 中运行的值。