Можно ли запустить команду после "паузы" на рабочем столе Linux? Например:

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

Мне нужно выполнить команду после успешного подключения к сетевому менеджеру, и я думаю, что лучший способ сделать это - дать ему 8-секундную паузу.

Как я могу выполнить что-то вроде:

gedit test.txt

примерно через 8 секунд после выполнения самой команды?

2 ответа2

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
1

Будет ли команда sleep делать то, что вам нужно? Как это:

sleep 4 && echo 'hello there!'

(Ждет четыре секунды, затем печатает сообщение)

РЕДАКТИРОВАТЬ: или для вашего примера,

sleep 8 && gedit test.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .