Jak uruchomić polecenie sudo przy uruchamianiu z 1-minutowym opóźnieniem?

8

Chciałbym uruchomić sudopolecenie ( sudo service smbd restart) po 1 minucie od zalogowania. Jak miałbym to zrobić?

PS To system bez podłączonego monitora, myszy, klawiatury i głośników - to drukarka i serwer plików.

użytkownik2235532
źródło
1
Co rozumiesz przez zalogowany? 1 minuta po uruchomieniu komputera lub 1 minuta po zalogowaniu się użytkownika?
jhilmer
Co powiedział Fischer, zobacz także stackoverflow.com/questions/3964254/...
Richard
1
Jeśli jakaś odpowiedź spełnia kryteria, proszę zaznaczyć ją jako udzieloną. Zobacz meta.askubuntu.com/questions/8333/…
Rmano

Odpowiedzi:

10

A) Jeśli to jest podczas uruchamiania systemu , dodaj to na końcu swojego /etc/rc.local(1): (przed exit 0, oczywiście):

( sleep 60 && service smbd restart )& 

Uwaga:

  1. zewnętrzne ()są potrzebne, aby złożone polecenie odłączyło się i przechodziło w tło, umożliwiając zakończenie procesu rozruchu;
  2. sudonie jest tam potrzebny, /etc/rc.localjest wykonywany przez root;
  3. Czy naprawdę jesteś pewien, że to rozwiązanie? To warunek wyścigu z prośbą o zdarzenie ...

B) jeśli jest to login użytkownika , potrzebujesz dwóch kroków:

  1. skonfiguruj swój, sudoaby nie pytał o hasło do service smbd restartpolecenia (zobacz Jak uruchomić określone polecenia sudo bez hasła? );

  2. przygotuj skrypt o następującej treści i dodaj go do programu autorun / startup (różni się w zależności od używanego środowiska pulpitu).

Scenariusz:

#!/bin/bash
( sleep 60 && service smbd restart )& 

Przypisy

(1) sprawdź, czy /etc/rc.localjest wykonywalny. W przeciwnym razie zrób taksudo chmod +x /etc/rc.local

Rmano
źródło
4

Spróbuj man sleep:

sleep 60 && sudo service smbd restart

Umieść to w programach autorun lub skryptach wykonywanych podczas logowania.

landroni
źródło
Jeśli sudoersplik nie zostanie odpowiednio skonfigurowany , nie będzie działać (przestanie pytać o hasło). Zobacz askubuntu.com/questions/159007/…
Rmano
1
Zgoda. Twoja odpowiedź jest z pewnością bardziej kompletna niż moja. Tutaj po prostu próbowałem skierować użytkownika w stronę rozwiązania.
landroni