उपयोगकर्ता प्रति स्क्रिप्ट इनिट


6

एक स्क्रिप्ट है (एक कमांड की तरह अधिक) जिसे मैं प्रति उपयोगकर्ता-लॉगिन आधार पर निष्पादित करना चाहूंगा। मैंने init.dस्क्रिप्ट्स के बारे में सुना है, लेकिन उन्हें रूट अनुमतियों की आवश्यकता होती है और वे प्रति-उपयोगकर्ता अनुकूलन योग्य (AFAIK) नहीं हैं। सीधे शब्दों में कहें, तो मैं कुछ ऐसी चीज़ों की तलाश में हूं, जिनकी तर्ज पर .bashrcकेवल एक बार उपयोगकर्ता लॉगिन के बाद इसे निष्पादित किया जाएगा।

परिदृश्य के बारे में थोड़ा विस्तार करने के लिए, मैं वर्तमान में एक विंडोज़ होस्ट (वर्चुअलबॉक्स के अनुकरण शिष्टाचार) पर एक उबंटू अतिथि ओएस का उपयोग करता हूं। हर बार जब मैं अपने अतिथि ओएस में प्रवेश करता हूं, तो मुझे एक mountकमांड निष्पादित करने की आवश्यकता होती है जो मेरे साझा किए गए फ़ोल्डरों को उपयोगकर्ता की होम निर्देशिका में एक सामान्य निर्देशिका में माउंट करेगा।


mountगैर-रूट उपयोगकर्ताओं द्वारा वॉल्यूम को माउंट करने योग्य बनाने के लिए रूट, या कम से कम रूट कॉन्फिग परिवर्तन की आवश्यकता नहीं है?
— रिच होमोलका

1
@ रीच: वास्तव में यह करता है; जब मैं अपने शेल में आग लगाता हूं तो मुझे पासवर्ड प्रांप्ट देखकर कोई आपत्ति नहीं होती। यह सिर्फ इतना है कि mountकमांड बहुत जटिल है और मैं एक सहायक स्क्रिप्ट को निष्पादित करने के अतिरिक्त प्रयास में नहीं आना चाहता था।
— सासुके

जवाबों:


1

आप यहां विभिन्न विकल्पों की कोशिश कर सकते हैं: http://library.gnome.org/admin/gdm/stable/configuration.html.en , आप शायद PostLogin विकल्प चाहते हैं


1
यहां समस्या यह है कि उन सभी विकल्पों में / etc / * फाइलों में बदलाव की आवश्यकता होती है, जिन्हें रूट विशेषाधिकारों की आवश्यकता होती है। वहाँ किसी भी फाइल मैं यह सुनिश्चित करना है कि एक स्क्रिप्ट के निष्पादित होने पर ही / संपादन बना सकते हैं नहीं है मैं प्रणाली के लिए लॉग इन? ऐसा कुछ .bashrcजो हर बैश सत्र पर लागू किया जाता है और उपयोगकर्ता के लिए निजी है?
— sasuke

ठीक है, मैं जड़ अधिकार से चूक गया, जाहिर है। आप .xinitrc या a .xsession फाइल लिखने की कोशिश कर सकते हैं: acm.uiuc.edu/workbooks/cool_unix/xinitrc.html
— natxo asenjo

नहीं, वह काम भी जीता। स्टार्टअप स्क्रिप्ट में आपकी स्क्रिप्ट को जोड़ने के लिए क्या काम होगा (बशर्ते उबंटू के पास ऐसा कुछ हो)। फ़ेडोरा में आप सिस्टम -> वरीयताओं -> स्टारअप अनुप्रयोगों से वहां पहुंचते हैं। यहाँ एक ubuntu लिंक है: help.ubuntu.com/community/AddingProgramToSessionStartup
— natxo asenjo

मुझे लगता है कि यह अजीब है कि लिनक्स में इसके लिए कोई मानक नहीं है। सभी को वितरण के अनुसार एक अलग विधि की आवश्यकता है? या शायद कोई मानक है?
— एलिकएल्ज़िन-किलाका

5

जब आप लॉग इन करते हैं तो चलने के लिए कमांड का मानक स्थान ~/.profile। कुछ ऐसे वातावरण हैं, जहाँ यह फाइल स्किप हो जाती है जब आप सीधे ग्राफिक्स मोड में लॉग इन करते हैं, लेकिन Ubuntu 10.04 के साथ, ~/.profilegdm, kdm, lxdm और xdm लॉगिन स्क्रिप्ट (जब आप पाठ कंसोल या ओवरशो पर लॉग इन करते हैं, इसके अलावा) पढ़ते हैं। )।

यदि आपके पास एक है ~/.bash_profile, तो आपका ~/.profileकभी-कभी छोड़ दिया जाएगा। आपके लिए केवल निम्नलिखित दो पंक्तियों को रखना सबसे अच्छा है ~/.bash_profile:

. ~/.profile
. ~/.bashrc

फिर में ~/.profileऔर शेल कस्टमाइज़ेशन में लॉगिन-टाइम एक्शन डालें ~/.bashrc।


आपने 2-दिन की यात्रा का संकल्प लिया है कि क्यों .bashrc और .profile को लॉगिन पर अनदेखा किया जा रहा है। दूसरे व्यवस्थापक ने एक समय में -bash_profile बना दिया - इसे मिटाने और पुनः संग्रह करने के बाद, सब कुछ फिर से शानदार ढंग से काम किया! यहाँ प्रारंभ करें
— Dooley_labs

1

हो सकता है कि मैंने सभी सूक्ष्मताओं को नहीं समझा हो, लेकिन मुझे लगता है कि आप ऐसा कर सकते हैं कि यदि आप उबंटु का उपयोग कर रहे हैं, तो मुझे लगता है कि आप बस प्रत्येक उपयोगकर्ता के लिए एक स्क्रिप्ट लिख सकते हैं (या 'whoami' के आधार पर अलग-अलग नियमों वाली स्क्रिप्ट) और , यदि वे सूक्ति का उपयोग कर रहे हैं (जैसा कि यह Ubuntu के लिए डिफ़ॉल्ट है), तो उस स्क्रिप्ट को स्टार्टअप अनुप्रयोगों में जोड़ें।


1

लिनक्स क्रोन (पॉल विक्सी द्वारा लिखित, जिसे विक्सी क्रोन कहा जाता है) में मेटा कीवर्ड होता है @reboot, जो रिबूट के दौरान क्रॉस्टैब मालिक के रूप में चीजों को शुरू करेगा। देखें http://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-bboot/

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