Lion'da TextEdit'te dosyayı kök olarak nasıl açabilirim?


13

TextEdit'te bir dosyayı kök olarak nasıl açabilirim? Bu komutları denedim root, ancak TextEdit her zaman kilitli olduğunu söylüyor:

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

Ve elbette sudo !!hiçbir fark yaratmıyor.

Yanıtlar:


14

Gerçek yürütülebilir dosyanın tam yolunu girerek bir textedit örneğini kök olarak açabilirsiniz:

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

Kök örneğiniz açıldıktan sonra, ihtiyacınız olan dosyaya göz atabilir veya bunu komut satırından yapabilirsiniz:

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

Teşekkürler, işe yaradı! sudo /Applications/Textedit.app/Contents/MacOS/TextEditardından dosyayı TextEdit
Znarkus

Terminal'deki ana dizininize giderek bir diğer ad oluşturabildiğinizde bunu yazmak istemiyorsanız , dosya pico .bash_profileekleyin alias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"', kaydedin, Terminal'i yeniden başlatın. Şimdi sudotextTextEdit'i root olarak başlatmak için yazmanız yeterlidir.
webbiedave

Diğer cevapların işaret ettiği gibi, 1 astarda bunu yapmak için tek gerçek seçenek, onu destekleyen bir 3. taraf editörüne sahip olmaktır. Sonra sadece yazın open -t "/etc/hosts". İle TextWrangler sadece yazabilirsiniz edit /etc/hosts.
cregox

2
Ne korkunç bir kullanıcı deneyimi! Daha kolay bir yolu yok mu?
Marc

2
Eh, benim Yosemite 10.10.2 üzerinde sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"çalışmıyor :(
Henrique de Sousa

8

BBEdit 2019'da bunu yapmak için ücretsiz bir araçtır ve TextErangler'ın tüm işlevlerinin yerini alır ve App Store'dan ve geliştirici web sitesinden indirebilirsiniz.


TextEdit, yapılandırma dosyalarını düzenlemek için gerçekten doğru bir araç değildir; bunun yerine TextWrangler kullanın. Ücretsizdir, yönetici hesabından kök erişimi olan dosyaları ve SFTP üzerinden görünmez dosyaları ve dizinleri kolayca düzenleme gibi şeyleri düzenlemek için yerleşik bir yeteneğe sahiptir.


emacsgüzel bir renk kodlu konf modu da var.
27san12

Bu benim için Mountain Lion'da işe yaramıyor gibi görünüyor. Sistem yapılandırma dosyalarını TextWrangler'a kaydetmeye çalışırken bir hata alıyorum. Bu değişti mi?
Simon East

@Simon: Barebones.com'dan doğrudan indirme yerine App Store'dan TextWrangler sürümüne sahip olduğunuz anlaşılıyor . Öyleyse, App Store güvenlik politikalarına uymak için kaldırılmış birkaç özelliği vardı (bu özellik dahil); bu yüzden dökümü ve bunun yerine doğrudan sürümü alın!
Gordon Davisson

İnternet olmadan yabancı bir Mac kullanıyorsanız? 2 hack uç hatları çözelti hala kabul genellikle daha iyi. Ancak pratik günlük kullanım için 3. taraflarla birlikte gidiyorum! :-)
cregox

6

TextEdit'in root olarak çalıştırılmasını önlemenin bir yolu:

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

Dosyayı düzenledikten sonra TextEdit kopyasından çıkmanız gerekir.

sudo -e, bazen sudoeditOS X olarak da bilinir ancak geçerli kullanıcı için yazma izniyle dosyanın geçici bir kopyasını oluşturur, normal Unix tarzında bir düzenleyici çağırır ve sonra geri kopyalar.

Seçenekler open: -WTextEdit'in çıkmasını bekler, bu nedenle sudodosyayı ne zaman geri kopyalayacağını bilir. -ndaha önce açık olan ve bırakmak istemeyebileceğiniz bir TextEdit örneğini beklemesini sağlar. Ayrıca TextEdit dışında sık kullanılan bir metin düzenleyiciniz -tyerine de değiştirebilirsiniz -e.

EDITORKendi bekletme özellikli komut satırı aracıyla (TextMate veya BBEdit gibi) bir grafik düzenleyiciyi kullanmak için önceden ayarlanmış bir değişkeniniz varsa, bu hilelerden herhangi birine ihtiyacınız yoktur ve sudo -e <file>doğrudan kullanabilirsiniz .


2

Kök kullanıcı devre dışı bırakıldığından, isteğe bağlı bir OS X uygulamasını kök izinlerine sahip olmaya zorlamanın tek yolu, kök ve kök olarak oturum açmaktır.

Uygulamalar elbette sistemden kimlik doğrulama istemek ve bir yönetici kullanıcı ve şifre istendiğinde beklediğiniz iletişim kutusunu açmak için API'yı kullanabilir. TextEdit bu işleve sahip değildir, bu nedenle istediğiniz dosyaları açıp yazmadan önce ve sonra dosya izinleri üzerinde çalışmanız gerekir.

sudo open -a texteditUygulamayı açmak için kullanmayı denediniz mi?


Bu işlevselliğe sahip uygulamalarda önerileriniz var mı? Tercihen ücretsiz :)
Znarkus

3
Bu tam olarak doğru değil. Terminal.app içinde sudo su -bir kabuk kök olarak başlatmak için çalıştırın ve sonra open "/Applications/Textedit.app/Contents/MacOS/TextEdit"başarıyla çalıştırabilirsiniz . Kök kullanıcı etkin değil veya kök kullanıcı olarak giriş yapmadım.
EmmEff

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

Çalışmalı


Tamam, yani TextEdit'i root olarak başlatmak mümkün değil mi? İzinleri ileri geri değiştirme zorluğundan kaçınmak istiyorum.
Znarkus

1
Lion'da işler değişti, sanırım bu kum havuzu
Paul Eccles

Mesele şu ki, açmaya çalıştığınız dosya izinleri nedeniyle köklenmeye yazılamıyor. Bu senin dosyalarından birinde (aslında o kadar TextEdit'i, Kullanıcıların dosyaları için "akıllı" olması haricinde aynıdır için aynı olacaktır o sorarak izin değiştirir).
Gio

@Gio Gerçekten de, Lion'un korumalı alanı nedeniyle: /etc/apache2/httpd.confvarsayılan izinlere sahip 0444. Bütün dosyayı ( emacsuzaktan) düzenlemek için bütün sabah denedim ama (yeni aslan) izinlerini kontrol etmeyi hiç düşünmemiştim.
27san12

-5
sudo nano /etc/hosts 

Aslan için çalışıyor


2
Soru nano ile değil TextEdit ile ilgilidir.
gosmond
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.