OS X Redigera en fil med TextEdit som root eller superuser

Om du redigerar vissa filer på ett OS X-system krävs superanvändare eller root-behörigheter. Vanligtvis uppnås detta genom att använda sudo (vilket tillåter auktoriserade användare att anta superuser, cape och tights valfritt) och vi. Till de oinitierade kan vi orsaka tarmförlust och håravfall. Ett alternativ är användningen av TextEdit, det grafiska textredigeringsprogrammet, men under normala omständigheter kan du öppna en systemfil som värdar men kan inte spara den. Genom att följa stegen i detta recept kan du redigera en systemfil med TextEdit och avaktivera vi för en annan dag.


Sudo-kommandoradsprogrammet tillåter en användare att köra en annan applikation som om de är en annan användare. Vanligtvis (och som standard) är den andra användaren root, systemets superanvändare som kan göra någonting till någon fil på lådan. I det här fallet vill vi starta TextEdit-applikationen.

Om du aldrig har stött på en applikation i OS X är det intressant att ta en titt. När du tittar på mappen / Program i ett sökfönster ser du programmen listade med namn som TextEdit. Om du listar filerna från kommandoraden (ls -l / Applications) är de faktiskt kataloger, inte bara filer, och har en .app-förlängning som TextEdit.app. Du kan ändra katalogen till en av dessa kataloger och titta runt. Om du tittar på några ser du att det finns en standardorganisation i dem och det skulle få dig att känna dig lite varmare och möjligtvis snyggare om hela denna situation. Den här katalogstrukturen gör det möjligt för programmen att ha många stödjande filer och resurser som ligger snyggt i dem. Av intresse för oss är platsen för den verkliga körbara filen i app-katalogen. I fallet TextEdit är sökvägen till denna körbar /Applications/TextEdit.app/Contents/MacOS/TextEdit

Baserat på denna information blir körning av TextEdit med sudo för att redigera filen / etc / hosts en enkel uppgift (om en ganska lång kommandorad, ledsen):


sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit / etc / hosts

I många system kan detta terminalkommando fungera bättre:

sudo open -t / etc / hosts

När du kör det här kommandot från en kommandorad (i ett terminalfönster) blir du uppmanad till ett lösenord. Det korrekta lösenordet är ditt eget (lösenordet till användaren som är inloggad i OS X, även lösenordet du anger när du gör systemuppdateringar och så vidare), inte root-användarens lösenord (vilket inte existerar som standard).

När du har skrivit in ditt lösenord öppnas ett TextEdit-fönster och innehållet i filen du redigerar kommer att visas. Redigera till ditt hjärta innehåll och spara normalt när du är klar. Tänk bara på att de flesta systemfiler är skyddade från att skriva av en bra anledning (som om du gör ett misstag att redigera dem, dåliga saker kan hända) så redigera på egen risk.

Uppdatering:

Versionsfunktionerna i OS X Lion kommer att förhindra att denna handledning fungerar korrekt. Även om du kör som en superanvändare, kommer filen inom textedit att vara låst. Sedan Lion har rullat ut, har jag återvänt tillbaka till det gamla vänteläget med att använda nano för att redigera.

sudo nano / etc / hosts

Visst nano har den retro terminal känsla, men det är en lätt nog metod att göra enkla värdfil förändringar.