एकता डेस्कटॉप के लिए स्टार्टअप स्क्रिप्ट कहां हैं?


11

जैसे ही मेरा लाइटमेड प्रमाणीकरण सफल होता है, मैं एक स्क्रिप्ट चलाना चाहता हूं, और मेरी एकता लोड होना शुरू हो जाती है। और मैं अपनी स्क्रिप्ट को रूट उपयोगकर्ता के रूप में चलाना चाहता हूं।

एकता में स्थित स्टार्टअप स्क्रिप्ट कहां हैं?


मैं अपने एक्स लोड होने के बाद स्क्रिप्ट चलाना चाहता हूं।
Shnd


@Sh X वास्तव में lightdm से पहले शुरू होता है, क्योंकि lightdm भी X में चलता है। इसलिए यदि आप अपने उपयोगकर्ता के रूप में कुछ चलाना चाहते हैं, तो आप शायद यह चाहते हैं कि "lightdm प्रमाणीकरण के बाद" या दूसरे शब्दों में "जब डेस्कटॉप शुरू हो रहा हो"। जब आप कंप्यूटर को केवल बूट करते हैं तो स्क्रिप्ट चलाना संभव है, भले ही आपके पास उपयोगकर्ता में कोई लॉग इन हो या नहीं (जो कि उदाहरण के लिए X शुरू होता है) इससे एक पूरी तरह से अलग सवाल है। यदि आप उपयोगकर्ता के रूप में कुछ चलाना चाहते हैं, तो आप शायद यही चाहते हैं और इसका उत्तर आपके init सिस्टम पर निर्भर करता है।
एरिक्बवर्क

जवाबों:


5

पहले अपनी स्क्रिप्ट डालें /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

अब, स्क्रिप्ट स्टार्टअप पर चलती है।


1
पासवर्ड के बिना sudo चलाने के लिए, askubuntu.com/questions/39281/…
पंड्या

धन्यवाद कि काम करता है। लेकिन ऊपर के साथ आप एक ही चीज़ को शायद थोड़ा सरल बना सकते हैं (मेरे उत्तर को देखें)।
तुकसन


मुझे नहीं लगता है कि .desktop फ़ाइल को निष्पादन योग्य फ्लैग करने की आवश्यकता है।
जूलियन

4

एक अन्य संभावना:

में एक फ़ाइल बनाएँ $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 :

पासवर्ड के बिना sudo का उपयोग करके एप्लिकेशन कैसे चलाएं?

मैं पासवर्ड के बिना विशिष्ट sudo कमांड कैसे चला सकता हूं?


"$ HOME / .config / upstart" मेरी मशीन पर ऐसी कोई निर्देशिका नहीं है।
कालामलका किड

1
@KalamalkaKid आप किस उबंटू संस्करण का उपयोग करते हैं? अपस्टार्ट निर्देशिका इस स्थान पर होनी चाहिए /home/yourusername/.config/upstart/। अपने घर के निदेशक को nautilus में खोलें, Ctrl + H दबाएं और आपको निर्देशिका को देखना चाहिए ।config
TuKsn

2

एक कमांड को चलाने के लिए रूट के रूप में , के बाद प्रवेश, वहाँ एक और सरल चाल है:

इसमें दो चरण हैं:

  • लॉगिन पर एक ट्रिगर फ़ाइल बनाएँ
  • एक क्रोनजॉब बनाएं, रूट (सेट इन /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
    

अब परिभाषित कमांड लॉगिन से एक मिनट के भीतर एक बार चलती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.