是否可以在linux桌面“暂停”后运行命令?


0

是否可以在linux桌面“暂停”后运行命令?例如:

#=========================================================
#NetworkManage Auto Connect:
chkconfig NetworkManager off
echo "service NetworkManager start" >> /etc/rc.d/rc.local
#=========================================================

我需要在networkmanager成功连接后执行命令,我认为最好的方法是暂停8秒。

我怎样才能执行以下操作:

gedit test.txt

命令本身执行后约8秒?

Answers:


2

NetworkManager具有内置功能:它可以在网络上下事件中为您运行脚本。

您必须将脚本放在:/etc/NetworkManager/dispatcher.d/

每个脚本都会从NetworkManager获取两个参数,第一个是接口有事件,第二个是事件(向上或向下)。

示例脚本:

#!/bin/bash

INTERFACE=$1 # The interface which is brought up or down
STATUS=$2 # The new state of the interface

echo interface $INTERFACE went $STATUS

我打开了一个关于此的新问题。 stackoverflow.com/questions/16848021 / ...

1

sleep命令你需要什么?像这样:

sleep 4 && echo 'hello there!'

(等待四秒钟,然后打印一条消息)

编辑:或者为你的例子,

sleep 8 && gedit test.txt

sleep 8 && gedit test.txt通过将其添加到底部/etc/rc.d/rc.local进行测试,由于某种原因它在重新启动后根本没有执行。

事实上甚至“gedit test.txt”在该启动文件中不起作用,所以该命令没有任何问题,也许这是针对不同的问题?

哦,我不是专家,但我认为你需要一个开放的终端才能运行一个编辑器。你可以让rc.local这样打开一个吗?bbs.archlinux.org/viewtopic.php?id=133065 但@ user89709有一个很好的答案,因为最好不要在每次重启时让启动过程休眠8秒。

这可能会这样做:xterm -hold -e "sleep 8 && gedit test.txt"

如果我在桌面上手动运行:sleep 10 && gedit test.txt它可以工作,但在rc.local文件中唯一有效的是gnome-terminal -e "gedit test.txt"睡眠它不起作用。我都尝试gnome-terminal -e "sleep 10 && gedit text.txt"以及sleep 10 && gnome-terminal -e "gedit test.txt"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.