मैं शेर पर TextEdit में रूट के रूप में एक फ़ाइल कैसे खोलूं?


13

मैं TextEdit में रूट के रूप में एक फ़ाइल कैसे खोलूं? मैंने इन आदेशों की कोशिश की है root, लेकिन TextEdit हमेशा कहते हैं कि यह बंद है:

open -e /etc/apache2/httpd.conf
open -e -F /etc/apache2/httpd.conf
open -e -F -W /etc/apache2/httpd.conf

और हां sudo !!इससे कोई फर्क नहीं पड़ता।

जवाबों:


14

वास्तविक निष्पादन योग्य के लिए पूर्ण पथ दर्ज करके आप एक टेक्स्टडाइट उदाहरण को रूट के रूप में खोल सकते हैं:

sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"

एक बार आपका मूल उदाहरण खुल जाने के बाद आप उस फ़ाइल को ब्राउज़ कर सकते हैं जिसकी आपको आवश्यकता है या कमांड लाइन से ऐसा करें:

sudo su - root -c "open -e /etc/apache2/httpd.conf"

धन्यवाद, यह काम किया! sudo /Applications/Textedit.app/Contents/MacOS/TextEditउसके बाद TextEdit से फाइल खोलें
Znarkus

यदि आप हर बार टर्मिनल में अपने घर निर्देशिका में जाकर एक उपनाम बनाना नहीं चाहते हैं, तो pico .bash_profile, alias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'फ़ाइल को जोड़ें , सहेजें, टर्मिनल को पुनरारंभ करें। अब आप केवल sudotextTextEdit को रूट के रूप में शुरू करने के लिए टाइप कर सकते हैं ।
Webbiedave

जैसा कि अन्य उत्तर बताते हैं, इसे 1 लाइनर में करने के लिए एकमात्र वास्तविक विकल्प एक 3 पार्टी संपादक है जो इसका समर्थन करता है। फिर सिर्फ open -t "/etc/hosts"उदाहरण के लिए टाइप करें । TextWrangler के साथ आप बस टाइप कर सकते हैं edit /etc/hosts
cregox

2
क्या एक भयानक उपयोगकर्ता अनुभव! वहाँ एक आसान तरीका नहीं है?
मार्क

2
ठीक है, मेरी योसेमाइट 10.10.2 पर sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"काम नहीं करता है :(
हेनरिक डी सुसा

8

2019 में ऐसा करने के लिए BBEdit मुफ्त टूल है और यह TextErangler की सभी कार्यक्षमता को बदल देता है और आप इसे ऐप स्टोर और डेवलपर वेब साइट से डाउनलोड कर सकते हैं।


TextEdit कॉन्फिग फाइलों को एडिट करने के लिए वास्तव में सही टूल नहीं है - इसके बजाय TextWrangler का उपयोग करें । यह मुफ़्त है, इसमें एक व्यवस्थापक खाते से रूट एक्सेस के साथ फ़ाइलों को संपादित करने की क्षमता है, साथ ही साथ अदृश्य फ़ाइलों और निर्देशिकाओं को खोलने जैसी चीजें आसानी से SFTP पर फ़ाइलों को संपादित करती हैं, आदि।


emacsएक अच्छा रंग-कोडित कॉन्फिड मोड भी है।
msanford

यह मेरे लिए माउंटेन लायन में काम नहीं करता है। TextWrangler में सिस्टम कॉन्फिग फाइल को सेव करने की कोशिश करने पर मुझे एक त्रुटि मिलती है। क्या यह बदल गया है?
साइमन ईस्ट

@Simon: ध्वनि की तरह आप से सीधे डाउनलोड App स्टोर से TextWrangler के संस्करण के बजाय है barebones.com । यदि ऐसा है, तो ऐप स्टोर की सुरक्षा नीतियों के अनुपालन के लिए इसे (एक को मिलाकर) कई विशेषताएं हटा दी गई थीं; तो इसे डंप करें और इसके बजाय सीधा संस्करण प्राप्त करें!
गॉर्डन डेविसन

क्या होगा अगर आप इंटरनेट के बिना एक विदेशी मैक पर हैं? 2 हैकिंग टर्मिनल लाइनों स्वीकृत समाधान अभी भी आम तौर पर बेहतर है। लेकिन व्यावहारिक रूप से दिन-प्रतिदिन के उपयोग के लिए, मैं पूरे रास्ते में 3 पार्टियों के साथ जाता हूं! :-)
क्रैगॉक्स

6

यहां TextEdit को रूट के रूप में चलाने से बचने का एक तरीका है:

EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf

फ़ाइल को संपादित करने के बाद आपको TextEdit की कॉपी छोड़नी होगी।

sudo -e, कभी-कभी sudoeditओएस एक्स के रूप में जाना जाता है, लेकिन वर्तमान उपयोगकर्ता के लिए लिखित अनुमति के साथ फ़ाइल की एक अस्थायी प्रतिलिपि बनाता है, सामान्य यूनिक्स फैशन में उस पर एक संपादक को आमंत्रित करता है, और फिर इसे वापस कॉपी करता है।

के विकल्प open: -WTextEdit को छोड़ने का इंतजार करता है, इसलिए sudoजानता है कि फाइल को वापस कॉपी कब करना है। -nयह सुनिश्चित करता है कि यह TextEdit के एक अलग उदाहरण पर प्रतीक्षा कर रहा है, न कि आपके पास पहले से ही खुला है जिसे आप छोड़ना नहीं चाहते हैं। यदि आप TextEdit के अलावा कोई अन्य पसंदीदा टेक्स्ट एडिटर रखते हैं -t, -eतो आप उसका विकल्प भी चुन सकते हैं ।

यदि आपके पास EDITORअपने स्वयं के प्रतीक्षा-सक्षम कमांड लाइन टूल (जैसे कि TextMate या BBEdit) के साथ ग्राफिकल संपादक का उपयोग करने के लिए एक चर सेट है, तो आपको इनमें से किसी भी ट्रिक की आवश्यकता नहीं है और बस sudo -e <file>सीधे उपयोग कर सकते हैं।


2

चूंकि रूट उपयोगकर्ता अक्षम है, इसलिए रूट अनुमतियों के लिए मनमाने ढंग से OS X ऐप को बाध्य करने का एकमात्र तरीका रूट को सक्षम करना और रूट के रूप में लॉग इन करना है।

एप्लिकेशन बेशक प्रमाणीकरण के लिए सिस्टम का उपयोग करने के लिए एपीआई का उपयोग कर सकते हैं और उस डायलॉग को पॉप अप कर सकते हैं जो आपको प्रशासक उपयोगकर्ता और पासवर्ड के लिए कहा जाता है। TextEdit में वह फ़ंक्शन नहीं है जिससे आपको फ़ाइल खोलने से पहले और उसके बाद काम करना पड़े और वांछित फ़ाइलों को लिखना पड़े।

क्या आपने sudo open -a texteditऐप खोलने के लिए उपयोग करने की कोशिश की है ?


क्या आपके पास उन ऐप्स पर सुझाव हैं जिनकी कार्यक्षमता है? अधिमानतः नि: शुल्क :)
Znarkus

3
यह बिल्कुल सटीक नहीं है। Terminal.app में मैं sudo su -एक शेल को रूट के रूप में शुरू करने के लिए चलाता हूं और फिर मैं open "/Applications/Textedit.app/Contents/MacOS/TextEdit"सफलतापूर्वक चला सकता हूं । मेरे पास रूट उपयोगकर्ता सक्षम नहीं है और न ही मैंने रूट उपयोगकर्ता के रूप में लॉग इन किया है।
EmmEff

1
sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file

कार्य करना चाहिए


ठीक है, इसलिए TextEdit को रूट के रूप में लॉन्च करना संभव नहीं है? मैं वास्तव में आगे और पीछे अनुमति बदलने की अतिरिक्त परेशानी से बचना चाहूंगा।
ज़्नर्कस

1
सिंह में चीजें बदल गई हैं, मुझे लगता है कि यह सैंडबॉक्सिंग है
पॉल एक्सेल

मुद्दा यह है कि आप जिस फ़ाइल को खोलने का प्रयास कर रहे हैं, वह उनकी अनुमति के कारण रूट करने योग्य नहीं है। यह आपकी फ़ाइलों में से एक के लिए समान होगा (वास्तव में यह समान है, केवल इस तथ्य को छोड़कर कि TextEdit उपयोगकर्ताओं की फ़ाइलों के लिए "बुद्धिमान" है, इसलिए यह आपसे पूछकर अनुमति बदलता है)।
Gio

@Gio वास्तव में, यह शेर के सैंडबॉक्सिंग के कारण है: /etc/apache2/httpd.confइसमें डिफ़ॉल्ट अनुमतियां हैं 0444। मैं उस फ़ाइल ( emacsदूरस्थ रूप से) को संपादित करने के लिए पूरी सुबह कोशिश कर रहा हूं, लेकिन (नए शेर) अनुमतियों की जांच करने के लिए कभी नहीं सोचा था।
मिसेनफोर्ड

-5
sudo nano /etc/hosts 

सिंह के लिए काम करता है


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