Lionの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

実際の実行可能ファイルへのフルパスを入力することにより、rootとしてtexteditインスタンスを開くことができます。

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"'、保存、ターミナルを再起動します。これでsudotext、ルートとしてTextEditを起動するだけで入力できます。
webbiedave

他の回答が指摘したように、1ライナーでそれを行うための唯一の本当のオプションは、それをサポートするサードパーティのエディターを持つことです。次にopen -t "/etc/hosts"、たとえば入力するだけです。TextWranglerのは、単に入力することができますedit /etc/hosts
クレゴックス

2
なんてひどいユーザー体験でしょう!もっと簡単な方法はありませんか?
マーク

2
まあ、私のヨセミテ10.10.2ではsudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"動作しません:(
エンリケ・デ・Sousa

8

BBEditは2019年にこれを行う無料のツールであり、TextEranglerのすべての機能に置き換わるものであり、App Storeおよび開発者のWebサイトからダウンロードできます。


TextEditは実際には設定ファイルを編集するための適切なツールではありません。代わりにTextWranglerを使用してください。無料で、管理者アカウントからルートアクセスでファイルを編集する機能が組み込まれています。また、SFTPを介してファイルを簡単に編集する非表示のファイルやディレクトリを開くなどの機能があります。


emacs素敵な色分けされたconfモードもあります。
msanford

これはMountain Lionではうまくいかないようです。TextWranglerでシステム構成ファイルを保存しようとするとエラーが発生します。これは変わりましたか?
サイモンイースト

@Simon:サウンドあなたはむしろから直接ダウンロードするよりも、App StoreからのTextWranglerのバージョンを持っているようbarebones.com。その場合、App Storeセキュリティポリシーに準拠するために、いくつかの機能(この機能を含む)が削除されています。ダンプして、代わりに直接バージョンを入手してください!
ゴードンデイヴィソン

インターネットのない外国のMacを使用している場合はどうなりますか?2つのハッキング端末回線で受け入れられるソリューションは、一般的には依然として優れています。しかし、実用的な日常的な使用のために、私はサードパーティとずっと一緒に行きます!:-)
クレゴックス

6

ルートとしてTextEditを実行しないようにする方法を次に示します。

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

ファイルを編集した後、TextEditのコピーを終了する必要があります。

sudo -esudoeditOS Xでは知られていないこともありますが、現在のユーザーの書き込み権限でファイルの一時コピーを作成し、通常のUnix方式でエディターを呼び出してからコピーします。

open:のオプション-Wは、TextEditが終了するのを待つので、sudoいつファイルをコピーバックするかがわかります。-n終了したくない可能性がある既に開いているものではなく、TextEditの別のインスタンスで待機していることを確認します。TextEdit以外のお気に入りのテキストエディタがある場合は、-t代わりに置き換えることもでき-eます。

EDITOR独自の待機対応コマンドラインツール(TextMateやBBEditなど)でグラフィカルエディターを使用するように変数が既に設定されている場合、これらのトリックは不要で、sudo -e <file>直接使用できます。


2

rootユーザーは無効になっているため、任意のOS Xアプリに強制的にroot権限を付与する唯一の方法は、rootを有効にしてrootとしてログインすることです。

もちろん、アプリはAPIを使用してシステムに認証を要求し、管理者ユーザーとパスワードを要求されたときに期待するダイアログをポップアップ表示できます。TextEditにはその機能がないため、目的のファイルを開いたり書き込んだりする前後にファイルのアクセス許可を回避する必要があります。

sudo open -a texteditアプリを開くために使用してみましたか?


その機能を備えたアプリに関する提案はありますか?できれば無料:)
Znarkus

3
これはあまり正確ではありません。Terminal.appで実行sudo su -して、rootとしてシェルを起動すると、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
物事はライオンに変更されている、私はそれがサンドボックスだと思う
ポール・エクルズ

重要なのは、あなたが開こうとしているファイルは、許可のためにrootに書き込めないということです。それはあなたのファイルのいずれか(実際にはのでテキストエディットは、ユーザーのファイルのための「インテリジェント」であるという事実を除いて、同じであるため同じだろう、それはあなたを尋ねることによって許可を変更します)。
ジオ

@Gio確かに、これはLionのサンドボックス化によるもの/etc/apache2/httpd.confです0444。デフォルトの権限があります。私は午前中ずっとそのファイルを(emacsリモートで)編集しようとしましたが、(新しいLion)の許可を確認しようとは考えていませんでした。
msanford

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.