It sounds like you have a .DS_Store file that for some reason or other you don't have write permissions to. To find out, lets take a trip to your root directory with the Terminal!
Open up a new Terminal window. You can find
Terminal in the
Utilities folder.
At the prompt that appears, type the following:
ls -ld /.DS_Store
and hit enter. You should see a single line of output similar to this:
Code:
-rw-r--r-- 1 esheep admin 6148 2 Apr 17:42 /.DS_Store
What you are looking for is what appears in the place of
-rw-r--r--, in the place of
esheep, and in the place of
admin. These are the
file permissions on your root directory's DS_Store file. Here's how they break down:
- | rw- | r-- | r--
The first character, '-', indicates that this is a generic file we are looking at.
The next group of three characters are the read/write/execute permissions for the owner of this file/directory (more about the owner later). If an 'r', 'w', or 'x' appears, that means that permission is granted. If a '-' appears, that means that permission is denied. So, r-- means that one has read permission, but does not have write or execute permission.
The next group of three characters are the read/write/execute permissions for the group of this file/directory (more about the gruop later)
The next group of three characters are the read/write/execute permissions for everybody else
The owner of the entry is whoever appears in the place of
esheep. The owner is always an individual user, and generally has the most freedom over the entry.
The group of the entry is whoever appears in the place of
admin. Multiple users can be assigned to multiple groups. Everyone in the groups has the permissions granted to that group. This information is only really useful if you know what groups you belong to! To find that out, type the following in the terminal:
groups myshortusername
where
myshortusername is the short form of your username. This is the same as the name of your home directory as it appears in the
Users folder. So, if my home directory is
/Users/esheep, my short user name should be
esheep
What you will get is a short list of all the groups you belong to. Try to remember this, or write it down somewhere.
Going back to what you saw when you typed
ls -ld /.DS_Store, start to consider:
Am I the owner of this? If I am, do I have write permissions?
If I am not the owner, am I a member of the assigned group? If I am, does that group have write permissions?
If I am not the owner, nor am I in the assigned group, do I still have write permissions as a member of 'everyone else'?
If the answer to all three of these questions is 'No', then that right there explains why you cannot change the icon arrangement.
To fix this, simply type the following in a terminal:
sudo chown myshortusername:myshortusername /.DS_Store
Where
myshortusername is, once again, your short username. You will need to enter your password to confirm this operation. Don't worry, even if you mistype something, this is a pretty benign command.
Next, to make sure you have read and write permissions on this file, type the following in a terminal:
sudo chmod 0644 /.DS_Store
Once again, you will need to enter your password to confirm this operation. It is also pretty benign, so don't worry about mistyping something.
Do a last
ls -ld /.DS_Store and check to see that you are now listed as the owner of this file, and you have read/write permission on it. You should now be able to change the icon arrangement and have it stick!