Before do anything try to rename .cache dir, logout and re-login and see if things return in normality.
If .cache folder is the culprit you can safely with no long term detrimental effects remove it (better after you have investigate on the cause)
I thought write an informative post about a problem that happens to me can facilitate a new user to do a local forum search here when needed instead be lost in Internet's crawlers high waters
- For every eventuality logout from the GUI session and from there login in a textual one
Note:
In a typical Linux box we've available seven independent login sessions where a user (or more users one at a time) can login into system. Typically(In MXLinux too) the seventh is the GUI(graphical) session the others six are text only based sessions(called Virtual Terminals aka VTs).
To pass from a GUI login session(seventh) to a text login session use: CTRL + ALT + F[1..6].
To pass from a text login session to another one or to GUI login session use: ALT+F[1..6] or ALT+F7 correspondingly
- Rename the hidden folders (.local, .cache, .conky, .config , regard the hidden files ,profile, .bash_logout, .inputrc, .bashrc renaming is not necessary because as you will see below they're protected from cp's -b(i.e. backup) option) e.g. for .local
Code: Select all
mv .local .local.bak
- And finally copy in home the entire skeleton structure
two words about glob symbols and why is necessary use that sequence .??* instead of simply * as I did in a first try and got
Code: Select all
cp -rb /etc/skel/.??* ~/
As you can read in WP's article * not catch hidden files(files that start with a point e.g. .file),Code: Select all
cp: cannot stat '/etc/skel/*': No such file or directory
on the other hand .* catch:
every file in the current dir that starts with point (hidden files) followed(that's mean *) by 0 or more characters: and that's ok for our search but also catch:
. (that's an alias for the current dir) and even worst catch:
.. (alias for the parent directory) that's absolutely not ok (cause -r aka recursive in cp's command we end up to copy the entire tree (from /skel back to to / (root) directory ) into our home dir)
So we must use .??* : mean every file that starts with point(i.e. is hidden) and have almost 2 other characters in sequence, that's why we've 2 ?? symbols followed(that's mean *) by 0 or more characters.
That's the way to exclude the parent directory(aka ..).
Parent directory of what? of the directory we're actually in (called also current or working directory)
Code: Select all
cp -b /etc/skel/.bashrc ~/
PS: the aforementioned method is not destructive but if for every eventuality you intend firstly to do an integral copy(backup) of your home take a glance here