जवाबों:
वास्तविक निष्पादन योग्य के लिए पूर्ण पथ दर्ज करके आप एक टेक्स्टडाइट उदाहरण को रूट के रूप में खोल सकते हैं:
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
एक बार आपका मूल उदाहरण खुल जाने के बाद आप उस फ़ाइल को ब्राउज़ कर सकते हैं जिसकी आपको आवश्यकता है या कमांड लाइन से ऐसा करें:
sudo su - root -c "open -e /etc/apache2/httpd.conf"
pico .bash_profile
, alias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
फ़ाइल को जोड़ें , सहेजें, टर्मिनल को पुनरारंभ करें। अब आप केवल sudotext
TextEdit को रूट के रूप में शुरू करने के लिए टाइप कर सकते हैं ।
open -t "/etc/hosts"
उदाहरण के लिए टाइप करें । TextWrangler के साथ आप बस टाइप कर सकते हैं edit /etc/hosts
।
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
काम नहीं करता है :(
2019 में ऐसा करने के लिए BBEdit मुफ्त टूल है और यह TextErangler की सभी कार्यक्षमता को बदल देता है और आप इसे ऐप स्टोर और डेवलपर वेब साइट से डाउनलोड कर सकते हैं।
TextEdit कॉन्फिग फाइलों को एडिट करने के लिए वास्तव में सही टूल नहीं है - इसके बजाय TextWrangler का उपयोग करें । यह मुफ़्त है, इसमें एक व्यवस्थापक खाते से रूट एक्सेस के साथ फ़ाइलों को संपादित करने की क्षमता है, साथ ही साथ अदृश्य फ़ाइलों और निर्देशिकाओं को खोलने जैसी चीजें आसानी से SFTP पर फ़ाइलों को संपादित करती हैं, आदि।
emacs
एक अच्छा रंग-कोडित कॉन्फिड मोड भी है।
यहां TextEdit को रूट के रूप में चलाने से बचने का एक तरीका है:
EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf
फ़ाइल को संपादित करने के बाद आपको TextEdit की कॉपी छोड़नी होगी।
sudo -e
, कभी-कभी sudoedit
ओएस एक्स के रूप में जाना जाता है, लेकिन वर्तमान उपयोगकर्ता के लिए लिखित अनुमति के साथ फ़ाइल की एक अस्थायी प्रतिलिपि बनाता है, सामान्य यूनिक्स फैशन में उस पर एक संपादक को आमंत्रित करता है, और फिर इसे वापस कॉपी करता है।
के विकल्प open
: -W
TextEdit को छोड़ने का इंतजार करता है, इसलिए sudo
जानता है कि फाइल को वापस कॉपी कब करना है। -n
यह सुनिश्चित करता है कि यह TextEdit के एक अलग उदाहरण पर प्रतीक्षा कर रहा है, न कि आपके पास पहले से ही खुला है जिसे आप छोड़ना नहीं चाहते हैं। यदि आप TextEdit के अलावा कोई अन्य पसंदीदा टेक्स्ट एडिटर रखते हैं -t
, -e
तो आप उसका विकल्प भी चुन सकते हैं ।
यदि आपके पास EDITOR
अपने स्वयं के प्रतीक्षा-सक्षम कमांड लाइन टूल (जैसे कि TextMate या BBEdit) के साथ ग्राफिकल संपादक का उपयोग करने के लिए एक चर सेट है, तो आपको इनमें से किसी भी ट्रिक की आवश्यकता नहीं है और बस sudo -e <file>
सीधे उपयोग कर सकते हैं।
चूंकि रूट उपयोगकर्ता अक्षम है, इसलिए रूट अनुमतियों के लिए मनमाने ढंग से OS X ऐप को बाध्य करने का एकमात्र तरीका रूट को सक्षम करना और रूट के रूप में लॉग इन करना है।
एप्लिकेशन बेशक प्रमाणीकरण के लिए सिस्टम का उपयोग करने के लिए एपीआई का उपयोग कर सकते हैं और उस डायलॉग को पॉप अप कर सकते हैं जो आपको प्रशासक उपयोगकर्ता और पासवर्ड के लिए कहा जाता है। TextEdit में वह फ़ंक्शन नहीं है जिससे आपको फ़ाइल खोलने से पहले और उसके बाद काम करना पड़े और वांछित फ़ाइलों को लिखना पड़े।
क्या आपने sudo open -a textedit
ऐप खोलने के लिए उपयोग करने की कोशिश की है ?
sudo su -
एक शेल को रूट के रूप में शुरू करने के लिए चलाता हूं और फिर मैं open "/Applications/Textedit.app/Contents/MacOS/TextEdit"
सफलतापूर्वक चला सकता हूं । मेरे पास रूट उपयोगकर्ता सक्षम नहीं है और न ही मैंने रूट उपयोगकर्ता के रूप में लॉग इन किया है।
sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file
कार्य करना चाहिए
/etc/apache2/httpd.conf
इसमें डिफ़ॉल्ट अनुमतियां हैं 0444
। मैं उस फ़ाइल ( emacs
दूरस्थ रूप से) को संपादित करने के लिए पूरी सुबह कोशिश कर रहा हूं, लेकिन (नए शेर) अनुमतियों की जांच करने के लिए कभी नहीं सोचा था।
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
उसके बाद TextEdit से फाइल खोलें