Why is /home/<user> called 'Home' in Nautilus (and other file managers, such as pcmanfm)?
Very simple question. When I am in my home directory in terminal and type pwd
I get /home/<myusername>
. And it is the same directory when I am in Nautilus Home
section:
Ubuntu and Lubuntu file managers:
So why is the same directory but it's called different ways? It's sometimes confusing when going through the directories in terminal.
Solution 1:
The "Home" in nautilus is simply a link to /home/<username>
. It is the same way that windows puts different names (.e.g. "My Documents", but it's "Documents" in terminal).
It is to make it more user friendly, they want your "Home" space to be obvious how to find. It is only more advanced users that find that it is different - so you don't get conflicts with other users. It's also easier when helping someone remotely, to say "Click on home"
Typically, your home folder is /home/user
but this is optional. A system administrator can put it anywhere, and nautilus's Home
link will redirect to the new place, if it is set in /etc/passwd
.
My pronouns are He / Him
Solution 2:
It is called the user's Home directory, even when working from the Linux Command Line. All the directories under /home
are called Home directories, they are grouped together for the sake of simplicity. Think of it this way: Just like /bin
stores binaries, /home
stores Home Directories.
So when Nautilus tells you the directory is "Home", it is literally "Your Home Directory", and therefore not a misnomer at all. It's the culture of Linux.
Another person pointed out that the $HOME environment variable is set to a user's Home Directory. The name for the variable has the same reason behind it as the name "Home," namely it's the culture.
Why is it the culture?
In an ideal Linux instance, everything the user does, all custom configuration, all documents, files of any kind, will exist inside that folder. It belongs to the user, it's in the user's Home Directory. That means the user can keep to himself, and makes knowing where your stuff is a bit easier. The computer kernel, programs, boot controls, all the stuff needed to run the computer, can go everywhere except inside the user-generated space, their home directory. Linux doesn't install any programs inside the home directory (third party programs might do this anyway), and there is always a system-wide configuration that a user could override if they want. The override configuration would be, of course, in their home directory. If you went from one Linux computer to another, and all you brought with you was your home directory, if the other computer [was set up to see you as a user, and] had the same programs installed, it would be almost as if you were on your original computer.
Solution 3:
The HOME
environment variable stores the path of your /home/<username>
directory.
$ echo $HOME
/home/avinash
$ pwd
/home/avinash
So when you are in /home/<username>
directory(nautilus), its corresponding variable HOME
is displayed.
Solution 4:
A user's Home folder is, conceptually, their own personal space within the filesystem. It's the place where they can do (almost) anything they want without having to worry about messing up the system in general. Ubuntu puts most people's home folders as /home/[username]
by default, but they can go just about anywhere in the filesystem. They can even be changed, though that isn't just a matter of dragging the folder to another place: you'd need to dig fairly deep into the system configuration to do it.
Ubuntu, Lubuntu, and other systems sometimes have their own names for this folder within their user interfaces. This is because, unlike Mac OS X or Windows, there is no single team that works on "the Linux GUI". In fact, there's no single piece of software that can be called "the Linux GUI". There are many different distributions derived from Ubuntu, but for many of them, the choice of which GUI they use by default is the biggest difference between them.
There is no single team that works on all of these GUIs: each one has its own. There are some standards that the different GUIs use to interoperate with each other, but there is no unifying standard for naming things like the home folder, so different GUIs do it differently. That's what you're seeing here.