जैसे ही मेरा लाइटमेड प्रमाणीकरण सफल होता है, मैं एक स्क्रिप्ट चलाना चाहता हूं, और मेरी एकता लोड होना शुरू हो जाती है। और मैं अपनी स्क्रिप्ट को रूट उपयोगकर्ता के रूप में चलाना चाहता हूं।
एकता में स्थित स्टार्टअप स्क्रिप्ट कहां हैं?
जैसे ही मेरा लाइटमेड प्रमाणीकरण सफल होता है, मैं एक स्क्रिप्ट चलाना चाहता हूं, और मेरी एकता लोड होना शुरू हो जाती है। और मैं अपनी स्क्रिप्ट को रूट उपयोगकर्ता के रूप में चलाना चाहता हूं।
एकता में स्थित स्टार्टअप स्क्रिप्ट कहां हैं?
जवाबों:
पहले अपनी स्क्रिप्ट डालें /usr/bin
और निष्पादन निष्पादित करें।
अब .desktop फ़ाइल बनाएं /home/[user-name]/.config/autostart/
जिसमें अपनी स्क्रिप्ट चलाएं जो स्टार्टअप पर चलती है।
उदाहरण: - स्क्रिप्ट का आपका फ़ाइल नाम "उदाहरण" या "example.sh" है
निम्नलिखित पंक्तियों के साथ gedit के साथ .desktop फ़ाइल बनाएँ और फ़ाइल नाम .desktop के रूप में सहेजें /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
यहाँ Exec=sudo example
या
.desktop फ़ाइल को निष्पादन की अनुमति दें से एक जड़ के रूप मेंExec=sudo example.sh
अपनी स्क्रिप्ट चलाता है ।/usr/bin
अब, स्क्रिप्ट स्टार्टअप पर चलती है।
एक अन्य संभावना:
में एक फ़ाइल बनाएँ $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
उपस्टार्ट के आगे विवरण :
http://ifdeflinux.blogspot.de/2013/04/upstart-user-sessions-in-ubuntu-raring.html
http://upstart.ubuntu.com/cookbook/
sudo
पासवर्ड के बिना चलने के लिए Infos :
/home/yourusername/.config/upstart/
। अपने घर के निदेशक को nautilus में खोलें, Ctrl + H दबाएं और आपको निर्देशिका को देखना चाहिए ।config
एक कमांड को चलाने के लिए रूट के रूप में , के बाद प्रवेश, वहाँ एक और सरल चाल है:
इसमें दो चरण हैं:
/etc/crontab
) द्वारा चलाएं, एक छोटी स्क्रिप्ट (अपनी कमांड चलाने) को चलाने के लिए यदि और केवल तभी ट्रिगर फाइल मौजूद है। चूंकि ट्रिगर फाइल उसी स्क्रिप्ट द्वारा हटा दी जाती है, इसलिए आपकी कमांड केवल एक बार चलती है।अनुक्रम तब है:
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
स्थापित करना
दो छोटी स्क्रिप्ट:
लॉगिन पर ट्रिगर फ़ाइल बनाने के लिए एक:
#!/bin/sh
touch $HOME/.trigger
और एक दो कमांड चलाते हैं:
#!/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
और run_command.sh
।निम्न आदेश अपने स्टार्टअप अनुप्रयोगों में जोड़ें (डैश> स्टार्टअप एप्लिकेशन> जोड़ें)
/path/to/create_trigger.sh
/etc/crontab
फ़ाइल में निम्न पंक्ति जोड़ें ( sudo nano /etc/crontab
):
* * * * * root /path/to/run_command.sh
अब परिभाषित कमांड लॉगिन से एक मिनट के भीतर एक बार चलती है।