2012-04-17 10 views
12

मैं हमेशा डेमॉन के रूप में Emacs चलाने लेकिन क्योंकि जड़ एक और Emacs उपयोग कर रहा है मैं यह नहीं कर सकते जब मैं कुछ एक जैसेक्या emacsclient (उपयोगकर्ता) के साथ फ़ाइल खोलने का कोई तरीका है लेकिन रूट अनुमति के साथ?

sudo emacsclient /etc/make.conf 

बनाना चाहते हैं और मैं नहीं है वास्तव में 2 डेमॉन चलाने के लिए या हमेशा की तरह Emacs इंतजार करना चाहते हैं सरल फ़ाइल के लिए लोड करें।

मैं कुछ समाधान के लिए एक जैसे emacsclientsudo /etc/make.conf :) की जरूरत उपयोगकर्ता Emacs ग्राहक के साथ प्रणाली फ़ाइलों को संपादित करने के लिए।

उत्तर

18

अपने ~/.profile में जोड़ें:

alias E="SUDO_EDITOR=\"emacsclient\" sudo -e" 

तो

E /etc/hosts 

आप sudo -e के बजाय sudoedit उपयोग करने में सक्षम होना चाहिए, लेकिन मैं अपने Mac पर पूर्व नहीं पा सके।

+2

साफ। मुझे लगता है कि आप बस अपने init स्क्रिप्ट में SUDO_EDITOR सेट और सीधे कॉल कर सकते हैं 'sudo -e' या' आप हालांकि चाहते हैं जो कुछ भी फाइल पर sudoedit'। –

4

मैं सीधे इसके बारे में यकीन नहीं है, लेकिन यहाँ एक चाल

emacsclient -e '(find-file "/sudo::/etc/passwd")' 

आवारा और रूट के रूप में /etc/passwd खोलने के लिए sudo विधि का उपयोग करता है है।

आप यह उपनाम और अपने खोल से सीधे उपयोग कर सकते हैं।

+0

सवाल यह है कि Emacs सर्वर या नहीं रूट के रूप में चलाता है स्पष्ट नहीं है,। दूसरा जवाब मानता है कि सर्वर रूट के रूप में चलता है। आपका जवाब मानता है कि सर्वर अप्रतिबंधित चलाता है। – ceving

+0

मेरा उत्तर किसी भी तरह से काम करता है। –

संबंधित मुद्दे

 संबंधित मुद्दे