Lightdm kimlik doğrulamam başarılı olur olmaz bir komut dosyası çalıştırmak istiyorum ve Birliğim yüklenmeye başlıyor. ve scriptlerimi root kullanıcısı olarak çalıştırmak istiyorum.
Unity'de başlangıç komut dosyaları nerede bulunur?
Lightdm kimlik doğrulamam başarılı olur olmaz bir komut dosyası çalıştırmak istiyorum ve Birliğim yüklenmeye başlıyor. ve scriptlerimi root kullanıcısı olarak çalıştırmak istiyorum.
Unity'de başlangıç komut dosyaları nerede bulunur?
Yanıtlar:
Önce komut dosyanızı yerleştirin /usr/bin
ve yürütme izni verin.
Şimdi /home/[user-name]/.config/autostart/
başlangıçta çalışan komut dosyanızı çalıştıran .desktop dosyası oluşturun .
Örnek: - Komut dosyasının dosya adı "örnek" veya "örnek.sh" olsun
Aşağıdaki satırlarla gedit ile .desktop dosyası oluşturun ve dosya adı olarak kaydedin. /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
Burada Exec=sudo example
veya Exec=sudo example.sh
komut
dosyanızı .desktop dosyasına yürütme izni ver'den bir kök olarak /usr/bin
çalıştırır.
Şimdi, Script başlangıçta çalışır.
Başka bir olasılık:
İçinde dosya oluştur $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
Başlatma ile ilgili diğer ayrıntılar :
http://ifdeflinux.blogspot.de/2013/04/upstart-user-sessions-in-ubuntu-raring.html
http://upstart.ubuntu.com/cookbook/
sudo
Şifre olmadan çalıştırılacak bilgiler :
Şifreyi sudo kullanarak bir uygulama nasıl çalıştırılır?
Parola olmadan belirli sudo komutlarını nasıl çalıştırabilirim?
/home/yourusername/.config/upstart/
. Nautilus'ta ev müdürünüzü açın, Ctrl + H tuşlarına basın ve .config
Bir komutu root olarak çalıştırmak için , giriş yaptıktan sonra başka bir basit numara var:
İki adım alır:
/etc/crontab
(Emriniz çalıştıran) küçük bir komut dosyasını çalıştırmak için,) eğer ve ancak eğer tetik dosya var. Tetikleyici dosya aynı komut dosyası tarafından kaldırıldığından, komutunuz yalnızca bir kez çalışır.Sıra şu şekildedir:
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
Kurulum
İki küçük senaryo:
Biri girişte tetikleyici dosyası oluşturmak için:
#!/bin/sh
touch $HOME/.trigger
ve bir iki komutu çalıştırır:
#!/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.sh
ve olarak kaydedin run_command.sh
.Başlangıç Uygulamalarınıza aşağıdaki komutu ekleyin (Kısa Çizgi> Başlangıç Uygulamaları> Ekle)
/path/to/create_trigger.sh
Aşağıdaki satırı /etc/crontab
dosyaya ekleyin ( sudo nano /etc/crontab
):
* * * * * root /path/to/run_command.sh
Şimdi tanımlanan komut, oturum açma işleminden itibaren bir dakika içinde tek bir kez çalışır.