OS X: Edit a file using TextEdit as root or superuser
Editing some files on an OS X system requires superuser or root permissions. Typically, this is accomplished using sudo (which lets authorized users assume superuser powers, cape and tights optional) and vi. To the uninitiated, vi can cause intestinal distress and hair loss. An alternative is the use of TextEdit, the graphical text editor application, but under normal circumstances, you can open a system file like hosts but cannot save it. Following the steps in this recipe, you can edit a system file using TextEdit and put off learning vi for another day.
The sudo command line application allows a user to run another application as though they are another user. Most commonly (and by default) the other user is root, the superuser of the system who can do anything to any file on the box. In this case we want to launch the TextEdit application.
If you've never poked around at an application in OS X, it's interesting to take a peek. When you look at the /Applications folder in a finder window, you'll see the applications listed by name such as TextEdit. If you list the files from the command line ( ls -l /Applications ) they are actually directories, not simply files , and have a .app extension like TextEdit.app. You can change directory into one of these directories and look around. If you look in a few, you'll see that there is some standard organization in them and that should make you feel a little warmer and possibly fuzzier about this whole situation. This directory structure allows the applications to have many supporting files and resources neatly contained within them. Of interest to us is the location of the actual executable file inside the app directory. In the case of TextEdit, the path to this executable is /Applications/TextEdit.app/Contents/MacOS/TextEdit
Based on this information, running TextEdit with sudo to edit the /etc/hosts file becomes a simple task (if a rather long command line, sorry):
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts
When you run this command from a command line (in a Terminal window), you'll be prompted for a password. The correct password is your own (the password of the user logged into OS X, also the password you provide when doing system updates and so on), not the root user's password (which doesn't exist by default, anyway).
Once you enter your password, a TextEdit window will open and the contents of the file you are editing will appear. Edit to your heart's content and save normally when you are done. Just keep in mind that most system files are protected from writing for a good reason (like if you make a mistake editing them, bad things may happen) so edit at your own risk.
Also see ...
H3If you've installed KDE and find yourself yearning for the Gnome desktop, here's what you need to do to get KDE off of your Ubuntu install:/H3PThe method for uninstalling KDE depends on the method you used to install the desktop environment. br / br /If KDE was installed by using span s
H3Compiz Fusion adds some very sexy desktop effects to Ubuntu. To easily customize these effects, it is vital to use the Compiz Config Setting Manager. Here's how to install this great utilitiy:/H3P1. Open a terminal window. br / br /2. Execute the following command:div class="code"sud
H3Installing a local version of wordpress is one of the first things most designers and developers need to do. Leopard adds many new wrinkles to this task. These steps should get you up and running as painlessly as possible on OS X 10.5./H3Pspan style="font weight: bold"*Install the MySQL
H3If you've installed the latest and greatest KDE, it hasn't taken long for you to notice that it won't accept your sudo password when it needs to run an application with administrative permissions. This is because Ubuntu uses sudo while KDE uses root. Here's how to fix this:/H3P1. Open a te
H3The SQL command 'describe' allows you to view the column structure of a MySQL table. It provides a listing of the columns of a table, the type of each column, and additional information on each column./H3PTo view the structure of a MySQL table called 'recipes' use the following SQL command:
