Important hidden .dot files in your home partition

From Manjaro Linux
Jump to: navigation, search
27-11-2016: Valuable update found in the Directories section
re. .mozilla & ...


What's a hidden <.dot> file?

They are files & directories with a "." dot in front of them. Placing a "." dot in front of a file or directory tells the operating system that such files & directories are to be hidden from view in file managers, file requesters & such. File managers & other applications can usually be set to view these normally hidden files. These hidden files & directories usually contain config files of some sort.

I will refer to these hidden files as <.dot> files in this article.


Why is it worth knowing about these <.dot> files?

  • It is well worthwhile knowing which <.dot> directories & files in your ~/ directory are valuable in saving you time & effort if you have to reinstall Manjaro due to a hardware failure, corrupt data, user error...
  • If you are coming from, or going to another distro, this can be extremely valuable knowledge. As again, these <.dot> files can save you an enormous amount of time & effort in configuring your system to be just the way you like it. More on this to come.
  • This knowledge can also be used to backup important config files, some of which can have had many, many hours of work in them.


So, what do these <.dot> files in my /home do?

Looking in your ~/ directory (in a fashion that allows you to see all of the hidden <.dot> directories & files) gives us the ability to identify (& backup) any folders that have config or other customised data for our system, including the DE or WM that we use, as well as our applications.

Some examples of these are; panels, trays, clocks, text editors, image viewers, pdf viewers & whatever else that has been installed & configured on our system. A quick look in your ~/.config directory will make this clear.


Here is a guide to get you going

The following is a guide built from looking at my custom built Manjaro mongrel Openbox system. It has remnants of tried panels & the lal clock, xbmc & other stuff that I don't use. (Actually I deleted the .xbmc folder as it will never be used again.)

As far as your hidden files go you don't need all of them for reference or for use by copying directly into your new system. Looking at what's in there critically is a good learning experience as it helps you to become more familiar with your Linux system.

The following are hidden <.dot> directories & files that I would keep from my ~/ (this stands for my /home/<user.name> directory):


Directories

.config - you can drop this whole directory into your new distro as it keeps settings for any apps, DE/WM that you have been using in your previous distro. (Some apps stick their settings elsewhere so have a look in your ~/ for any of them that I miss here.)

Also, it is worth noting that any config files in this directory will have absolutely no effect if the program that they belong to is not installed on your machine. So orphan config files pose absolutely no danger.

.gimp-2.8 - if you are a gimp user (version may differ).

.griffith - for those that use the griffith movie database.

.mozilla &/or .moonchild productions - instead of copying out the contents of the alphanumeric directory & replacing the contents of a different named alphanumeric directory in another system install or other machine. All done 'cause you want to save yourself all of the time it takes to set up your browser (Firefox or Pale Moon) to be just the way you like it. You can instead us the absolutely brilliant add-on called FEBE, you'll find it here: [1] If I've done nothing else helpful for you in my time, this here little add-on really should make you grateful. :)

It can even backup whatever parts of your Firefox/Pale Moon systems for you on a recurring basis. Check out FEBE, you'll wonder how you ever lived without it. After you have installed you'll find it in the Tools menu. (If nothing else you can have it backup your Bookmarks once a week/month/whenever.)

.ssh -makes networking easier, more secure and better.

.themes - if you have a favourite or one that you have built or modified, then you most definitely want this folder.

.wallpaper - if you use feh to create a slideshow of your desktop backgrounds.

.worker - this holds the all important & oft laboured over ~/.worker/config file, which is one you never want to do twice.

.xbmc - if you are one who uses this software you will be wanting this important directory.

Files

.Xdefaults - if you use the lal clock, or some other app needs this file then grab it. It doesn't exist on most systems.

.bash_profile - is worth bringing along for reference at least. I modify this file so that my machine boots straight to my Openbox desktop without needing to login. I've also modified my user search path using this file & set my user default Terminal editor here.

.bashrc - if you modify your .bashrc you won't let this one escape your attention. My .bashrc is a monster (in size that is).

.conkyrc - if you use conky & any other files or directories that you may have that are associated with your conky.

.fehbg - if you use feh for your desktop background.

.gtickrc - if you use the gtick metronome, it has your settings held here.

.mtpaint - holds the mtpaint user config.

.pypanelrc - for anyone using the pypanel, here's your config.

.stalonetrayrc - holds its config here.

.xinitrc - a very useful file for some of us, so it is worth keeping hold of as it is used to start a variety of things in conjunction with the startx command.

It is certainly useful for reference, but is not necessarily a good candidate to overwrite an existing .xinitrc that has been installed by a different distro, or the same distro that is using a different DE/WM. So be careful with what you do with this one.


When changing distros

People often get into trouble due to their keeping their old /home partition for a couple of prime reasons:


1. Permission problems (if they are using a different user name for example).
2. They have a mixture of hidden <.dot> files from both distros in their ~/ partition.


No 2. above may understandably set off warning bells with some readers. .xinitrc is the prime candidate to cause trouble. So heed the warning I attached to that one previously. .bashrc may sometimes have something specific to a distro that you may desire.

This is OK, because you can combine what you want from one .bashrc with another & customise to suit yourself. When in doubt merge the two of them. As you learn more about bash you may go in & strip out some duplication (it is harmless if it exists anyway).

The following files may sometimes have something that is either useful (you may want to use it) or more rarely something important: .Xdefaults .Xresources .bash_profile .bashrc .conkyrc .xinitrc

So if in doubt, don't overwrite these files in an installation of a different distro, or If you are using the same distro with a different DE/WM. Do a little research on anything you are unsure about. The Manjaro team have gone along way towards removing the above problems, (including the permission problem) as can be read here: [2]

note: If you happen to have any important hidden <.dot> files before you use the above linked to Manjaro method; know that they will be overwritten.


Deleting ALL <.dot> directories/files from your ~/

Warning: Use the following method very carefully, as it will delete all hidden <.Dot> files inside of whichever directory it is used!
Tip: To be sure that you are in your ~/ directory, from inside of the Terminal, hold down the <Shift Key> & then hit the <~ key>, found in the top left area of your keyboard.


With this in mind, my method (which is not distro specific) is to have all of the important hidden <.dot> files & directories backed up into a different directory in the /home partition (though off of the machine is the best policy). Then just prior to installing the new distro I delete all of the hidden <.dot> files using a very powerful bash command in the Terminal. The following command will remove all of the hidden <.dot> files & directories from inside of the current directory:

sudo rm –rf .??*


The option –rf & the use of .??* will delete all hidden files & directories.

The initial . indicates a hidden <.dot> file and the ?? match at least two characters to exclude the parent-directory which is .. & to delete everything the * will match all alphanumeric characters that are used for naming directories & files.


note: If you choose to do the above after running the su command, be sure that you are still in your ~/ directory. As if you have landed in /root you must change directory into your /home/<user.name> directory, or else you will delete all of the /root hidden <.dot> files & not those from ~/ your user home.


Support

Following is a link to this page's forum counterpart where you can post any related feedback: [3]