जवाबों:
Defaults editor=/path/to/editorSudoers फ़ाइल में जोड़ने से बदलावों के लिए निर्दिष्ट संपादक का उपयोग करने के लिए विडोको कारण होगा।
इसके अतिरिक्त, यदि आपका sudo पैकेज --with-env-editor के साथ बनाया गया है, जैसा कि कुछ लिनक्स वितरण पर डिफ़ॉल्ट है, तो आप EDITOR वातावरण चर को क्रियान्वित करके भी सेट कर सकते हैं export EDITOR=/path/to/editor। कमांड लाइन पर प्रदर्शन किया जाता है, जैसे ही शेल सत्र समाप्त हो जाता है, यह वापस आ जाएगा। वैरिएबल को एक ~ .bashrc या / etc / प्रोफाइल में सेट करने से परिवर्तन जारी रहेगा।
visudoसम्मान नहीं है $VISUALऔर $EDITOR?
--with-env-editorमें इंटरनेट की मेमोरी के भीतर हाल ही में यहां अर्थ को शामिल नहीं करने के लिए अपने सुडो पैकेज के बिल्ड मापदंडों को बदल दिया है । इसके अतिरिक्त सुडो पैकेज ने कुछ समय पहले vi को उनके डिफ़ॉल्ट संपादक के रूप में उपयोग करने के लिए अपना डिफ़ॉल्ट बदल दिया था, जो मुझे लगता है कि पर्यावरण चर की स्वीकृति के संबंध में व्यवहार में बदलाव के साथ मेल खाता है। मेरे पास इस समय कैसे, कब, या अगर ये घटनाएँ एक दूसरे से संबंधित हैं, इसकी स्पष्ट समयरेखा नहीं है।
निम्नलिखित
alternatives(मूल रूप से सिर्फ डेबियन और इसके कांटे, लेकिन अब सबसे प्रमुख डिस्ट्रोस, IIUC)।इसका फायदा यह है कि
sudoersपहले इसके डिफ़ॉल्ट संपादक के साथ संपादन करने की आवश्यकता नहीं होगीsudoहै नहीं के साथ बनाया गया--with-env-editorएक कमांडलाइन से:
sudo update-alternatives --config editorsudo visudo अब अपनी पसंद का संपादक खोलना चाहिए।
एक सामान्य यूनिक्स कार्यक्रम जो एक संपादक को आमंत्रित करना चाहता है, वह प्रोग्राम चलाएगा जिसका नाम EDITORया VISUALपर्यावरण चर में है, और यदि चर unset है, तो सिस्टम-निर्भर डिफ़ॉल्ट। कई, लेकिन सभी नहीं, कार्यक्रम दोनों की जांच करते हैं EDITORऔर VISUAL; अंतर लंबे समय तक अप्रचलित है (एक बार जब आप EDITORटेलेटाइप VISUALपर और एक "ग्लास" टर्मिनल पर चलेगा ) तो आपको दोनों को एक ही मूल्य पर सेट करना चाहिए। इस बात पर कुछ असहमति है कि क्या चर की सामग्री एक निष्पादन योग्य के लिए पूर्ण पथ होनी चाहिए, एक निष्पादन योग्य नाम जो ऊपर देखा गया है $PATH, या एक शेल स्निपेट है, इसलिए आपको निष्पादन योग्य पथ पर चिपके रहना चाहिए जिसमें कोई शेल कचौड़ी नहीं है। जब चर सेट नहीं किया जाता है तो सिस्टम डिफ़ॉल्ट रूप से पारंपरिक रूप से होता हैvi, हालांकि कुछ वितरणों ने इसे अधिक नौसिखिया-अनुकूल संपादक जैसे बदल दिया है nano।
visudoदोनों की जाँच करता है VISUALऔर EDITOR(यह संकलित किया जा सकता है, संभवतः मूल रूप से एक संपादक का उपयोग करने से जिसकी सेवा वितरण निर्माता को भरोसा नहीं है, लेकिन यहां तक कि OpenBSD भी ऐसा नहीं करता है)।
इन चरणों ने मुझे Ubuntu पर 12.04 के लिए vi के लिए संपादक को सेट करने दिया, वे शायद अधिकांश वितरण के लिए काम करते हैं:
मुद्दा आदेश:
sudo visudo
यह नैनो में sudoers फ़ाइल को खोलता है। शीर्ष के पास आपको यह रेखा दिखाई देगी:
Defaults env_reset
उपरोक्त पंक्ति के नीचे निम्न पंक्ति जोड़ें:
Defaults editor=/usr/bin/vi
फ़ाइल सहेजें और बाहर निकलें। अपने डिफ़ॉल्ट उपयोगकर्ता के रूप में फिर से खोलें:
sudo visudo
Sudoers फ़ाइल अब VI में खुलती है।