在 GUI 加载后运行脚本

在 GUI 加载后运行脚本

我知道如何在启动时、登录时(系统 > 首选项 > 启动应用程序)或打开 shell (.bashrc) 时运行程序。我也读过“桌面加载后执行脚本吗?”。我发现,每个添加到启动应用程序的应用程序都会延长桌面可用时间。因此,我正在寻找一种方法,从常规启动完成后运行的脚本(已成功运行)启动所有“好用”程序。

我不太清楚如何实现这一点。我是否可以使用第二个脚本,用 & 调用第一个脚本(这样它在后台运行),并为第一个脚本添加等待(几秒钟|特定事件)?

答案1

sleep只需在“锦上添花”脚本的开头调用即可。这不会阻止桌面加载。您还可以通过后台运行每个进程来加快多核硬件的速度。

例如

sleep 20s
<something that takes a long time> &
<this can now start immediately> &
...

这两个命令将并行运行,但它们将等待 20 秒后才开始。如果您不想等待几秒钟,可以使用“m”、“h”或“d”来指定分钟、小时或天。=)

答案2

如果你要启动一些昂贵的功能,请延迟在后台启动。例如

after 20s find-all-the-dirty-dishes &
after 1m find ~ -name '*~' -mtime +30 -exec rm '{}' ';'

你必须after自己实现,但可以是这样的

#!/bin/sh
sleep "$1"
shift
exec "$@"

相关内容