Chcę uruchomić skrypt, gdy tylko moje uwierzytelnianie lightdm powiedzie się, a moja Unity zacznie się ładować. i chcę uruchomić moje skrypty jako użytkownik root.
gdzie znajdują się skrypty startowe w Unity?
Chcę uruchomić skrypt, gdy tylko moje uwierzytelnianie lightdm powiedzie się, a moja Unity zacznie się ładować. i chcę uruchomić moje skrypty jako użytkownik root.
gdzie znajdują się skrypty startowe w Unity?
Odpowiedzi:
Najpierw włóż skrypt /usr/bini zezwól na wykonanie.
Teraz utwórz plik .desktop, w /home/[user-name]/.config/autostart/którym uruchom skrypt, który uruchamia się podczas uruchamiania.
Przykład: - Niech Twoja nazwa skryptu to „przykład” lub „przykład.sh”
Utwórz plik .desktop za pomocą gedit z następującymi wierszami i zapisz jako filename.desktop w /home/[user-name]/.config/autostart/
[Desktop Entry]
Type=Application
Exec=sudo example
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=myscript
Comment=Startup Script
Tutaj Exec=sudo examplelub Exec=sudo example.shuruchamia skrypt jako root z /usr/bin
Daj uprawnienia do wykonywania do pliku .desktop.
Teraz skrypt działa podczas uruchamiania.
Inna możliwość:
Utwórz plik w $HOME/.config/upstart/my-upstart-script.conf
start on desktop-start
stop on desktop-end
script
sudo fdisk -l > /home/[user-name]/upstart-test.txt
end script
Dalsze szczegóły dotyczące Upstart :
http://ifdeflinux.blogspot.de/2013/04/upstart-user-sessions-in-ubuntu-raring.html
http://upstart.ubuntu.com/cookbook/
Informacje do uruchomienia sudobez hasła:
/home/yourusername/.config/upstart/. Otwórz swojego dyrektora domowego w nautilus, naciśnij Ctrl + H i powinieneś zobaczyć katalog .config
Aby uruchomić polecenie jako root , po zalogowaniu jest jeszcze jedna prosta sztuczka:
To zajmuje dwa kroki:
/etc/crontab), aby uruchomić mały skrypt (wyświetlanie polecenia) jeśli i tylko jeśli plik istnieje wyzwalacza. Ponieważ plik wyzwalający jest usuwany przez ten sam skrypt, polecenie jest uruchamiane tylko raz.Sekwencja to:
USER LOGIN > trigger file is created > cronjob runs script (with your command) and removes trigger file, > next time the script passes, since the trigger file does not exist anymore
Ustawić
Dwa małe skrypty:
Jeden do utworzenia pliku wyzwalającego podczas logowania:
#!/bin/sh
touch $HOME/.trigger
a raz dwa uruchom polecenie:
#!/bin/bash
FILE="/path/to/your/homedirectory/.trigger"
# don't use $HOME here, since you run it by root
if [ -f $FILE ]; then
<your command here, run by root>
rm -f $FILE
fi
create_trigger.shi run_command.sh.Dodaj następujące polecenie do aplikacji startowych (Dash> Aplikacje startowe> Dodaj)
/path/to/create_trigger.sh
Dodaj następujący wiersz do /etc/crontabpliku ( sudo nano /etc/crontab):
* * * * * root /path/to/run_command.sh
Teraz zdefiniowane polecenie uruchamia się jednorazowo w ciągu jednej minuty od zalogowania.