सबसे अच्छा तरीका है स्क्रिप्ट और निलंबित करने से पहले लिनक्स पर निलंबित और फिर से शुरू करें (या फिर शुरू होने के बाद) सिस्टमड इनिट सिस्टम का उपयोग करना है। यह इस तथ्य के कारण है कि init सिस्टम सीधे कर्नेल, और पावर सिस्टम के साथ इंटरैक्ट करता है। इस उपकरण के साथ काम करना सीखना किसी भी उपयोगकर्ता को अपने लिनक्स ऑपरेटिंग सिस्टम पर बहुत अधिक नियंत्रण प्राप्त करने की अनुमति देगा,
कृपया समझें कि आपके पीसी पर init सिस्टम के साथ गड़बड़ करना खतरनाक हो सकता है यदि आप नहीं जानते कि आप क्या कर रहे हैं। इस ट्यूटोरियल में दिए गए निर्देशों का पालन यथासंभव सुनिश्चित करें, ताकि किसी भी संभावित दुर्घटना से बचा जा सके।
हर आधुनिक लिनक्स वितरण सिस्टमड इनिट सिस्टम का समर्थन नहीं करता है। कुछ पूरी तरह से अपस्टार्ट या कुछ और का उपयोग करते हैं। इस ट्यूटोरियल में, हम सिस्टमड पर ध्यान केंद्रित करेंगे क्योंकि यह सबसे आम दीक्षा प्रणाली है। यदि आप इस कार्य को उस चीज़ पर पूरा करना चाहते हैं, जो इस लेख में हमारे द्वारा कवर किए गए भाग पर नहीं है, तो निर्देशों के लिए अपने ऑपरेटिंग सिस्टम के मैनुअल पर विचार करें।
नोट: डेबियन उपयोगकर्ताओं को सभी उदाहरणों को बदलना चाहिए
usr / lib / systemd / प्रणाली नींद साथ में /lib/systemd/system-sleep/स्क्रिप्ट को निलंबित करने से पहले चलाने के लिए, कोई भी स्क्रिप्ट स्क्रिप्ट फ़ाइल में रखें /usr/lib/systemd/system-sleep/ निर्देशिका। स्क्रिप्ट स्वयं कुछ भी कर सकती है, लेकिन एक निश्चित वाक्यविन्यास है जिसका पालन करना चाहिए। एक टर्मिनल विंडो खोलकर शुरू करें। सुडो-एस का उपयोग करके, एक रूट शेल प्राप्त करें।
अगला, सिस्टम-स्लीप डायरेक्टरी के अंदर नैनो टेक्स्ट एडिटर:
nano /usr/lib/systemd/system-sleep/pre-suspend.sh
स्क्रिप्ट की शुरुआत में शेबंग को जोड़ें। इसे जोड़ना महत्वपूर्ण है, और इसके बिना, दुभाषिया कोड और आदेशों को सही ढंग से पढ़ने में सक्षम नहीं होगा।
#! / Bin / bash /
स्क्रिप्ट का अगला भाग "यदि" है। यह पावर कंट्रोल सिस्टम को बताएगा कि "यदि" सिस्टम सस्पेंड के लिए नीचे जाने वाला है, तो कुछ होना चाहिए। नीचे दिए गए कोड को चिपकाएँ:
अगर ["$ {1}" == "पूर्व"]; फिर। sh /path/to/script/to/run.sh
परिवर्तन sh /path/to/script/to/run.sh स्क्रिप्ट में जो कुछ भी आप अपने लिनक्स पीसी (या सर्वर) पर चलाना चाहते हैं, उससे ठीक पहले सिस्टम डाउन हो जाता है। ध्यान रखें कि "अगर" के बाद की रेखा को सीधे होने की आवश्यकता नहीं है sh /path/to/script/to/run.sh. आप विभिन्न कमांड निष्पादित करने के लिए भी इसका उपयोग कर सकते हैं। जब तक bash इसे कमांड के रूप में पहचान सकता है, तब तक यह चलेगा।
"सस्पेंड से पहले" स्क्रिप्ट का अंतिम भाग "और यदि" भाग जोड़ना है। स्क्रिप्ट के इस पहलू को संशोधित करने की आवश्यकता नहीं है, जैसा कि इस उदाहरण में, हम कुछ करने के बारे में चिंतित हैं इससे पहले सिस्टम नीचे चला जाता है, न कि जब वह वापस उठता है।
elif ["$ {1}" == "पोस्ट"]; फिर। # यहां कुछ भी नहीं जाता है। फाई
जब सब कुछ फ़ाइल में जोड़ा गया है, तो दबाएं Ctrl + O नैनो को बचाने के लिए।
रेज़्युमे के बाद कमांड को एक्सेप्ट करना सस्पेंड से पहले कुछ चलाने जैसा काम करता है। केवल वास्तविक अंतर स्क्रिप्ट के "यदि" भाग के बाद एक कमांड जोड़ने के बजाय है, तो आप "एलिफ" लाइन के बाद होने वाले कोड का सबसे महत्वपूर्ण हिस्सा बनाते हैं।
पोस्ट-रिज्यूम स्क्रिप्ट बनाने के लिए, पहले शेबंग को पहली पंक्ति के रूप में जोड़ें।
#! Bin / bash
अगली पंक्ति में, स्क्रिप्ट का "यदि" भाग जोड़ें।
अगर ["$ {1}" == "पूर्व"]; फिर। # यहां कुछ भी नहीं जाता है
उस बिट कोड को बैश स्क्रिप्ट में पेस्ट करने के बाद, "और यदि" सेक्शन पेस्ट करें।
elif ["$ {1}" == "पोस्ट"]; फिर। sh /path/to/script/to/run.sh फाई
एक बार फिर, "एलिफ" लाइन के तहत कुछ भी लिखना ठीक है। जब तक यह एक सामान्य कमांड ऑपरेशन सिस्टमड है और बैश इसे चलाएगा।
यदि आप दो विपरीत कमांड चलाना चाहते हैं; सस्पेंड से पहले एक, और फिर से शुरू होने पर, यह संभव है। इसका मतलब सिर्फ स्क्रिप्ट को कस्टमाइज़ करना और दोनों both अगर "लाइन के तहत लाइनों को जोड़ना है, साथ ही साथ" और "लाइन।
हमेशा की तरह, दुभाषिया के लिए स्क्रिप्ट में शेबंग पोस्ट करके शुरू करें।
#! / Bin / bash
अगला, यदि कोड का अनुभाग पेस्ट करें।
अगर ["$ {1}" == "पूर्व"]; फिर। # कमांड के साथ बदलें
यदि, सिस्टम के नीचे जाने से पहले आप जो भी कमांड चलाना चाहते हैं, उसके साथ "# कमांड के साथ बदलें" बदलें। फिर, "एलिफ" अनुभाग पर जाएं, और ऐसा ही करें।
elif ["$ {1}" == "पोस्ट"]; फिर। # कमांड के साथ बदलें। फाई
फ़ाइल को Ctrl + O के साथ सहेजें,
सभी आवश्यक कमांड स्क्रिप्ट फ़ाइल के अंदर हैं, लेकिन इसे चलाने से पहले, आपको अनुमतियों को अपडेट करना होगा। एक टर्मिनल खोलें, और इसके साथ रूट प्राप्त करें: su या sudo -s। फिर करो:
chmod + x /usr/lib/systemd/system-sleep/pre-suspend.sh
अब से, जब भी आप निलंबित या फिर से शुरू करते हैं, तो स्क्रिप्ट के अंदर कस्टम कमांड चलना चाहिए।
नोट: सिस्टमैड सिस्टम-स्लीप के बारे में प्रश्न हैं? के साथ मैनुअल की जाँच करें आदमी systemd-suspend.service.
अपने को फिर से स्थापित करने की बीमारी LXQt डेस्कटॉप पर्यावरण हर बार...
यदि आप बग्गी डेस्कटॉप, पैनल, विजेट्स, और उस सभी का बैकअप लेना चाहते...
Speedtest.net लिनक्स सर्वर व्यवस्थापक और उत्साही लोगों के लिए एक उप...