Since many years I'm running Arch Linux on my computers at home. Having "grown up" at work with UNIX and command line, this is just the best I can have. Everything configured is transparent, setup can be easily duplicated by copy & paste, own scripts can help to automate things, etc. And I always have the latest, greatest status of programs, libraries and kernel (and hardly ever experienced difficulties with that). In my earlier Linux days, I have been using (open)SuSE (also buying the boxes with several CDs or later DVDs) with its YAST installer and configuration GUI. Here it always was pretty tedious to make a larger upgrade to a newer version and it was not always clear where what configuration would end up. My first Linux experiences were on an old 386 computer in the 1990ies, with a Slackware distribution on 3.5" floppy disks. Command line only at that time.

The Arch Linux Wiki contains a lot of information, also valuable beyond Arch.

Correct umask Definition for GNOME Programs

Programs running under GNOME most likely create and store files with a default umask of 022. That means “world-readable”. Any umask command within a shell profile file only has effect for the shell but not for those other programs running under GNOME.

Remedy is to update the PAM setup file /etc/pam.d/system-login by adding a line as following:

session  optional  umask=0027

Then, after logging in again, GNOME programs will also obey the defined umask setting.

GNOME File Manager (Nautilus)

I have noticed that, despite the above umask correction, the default GNOME file manager Nautilus still is not obeying this. My solution is to deinstall Nautilus and instead use another file manager, like Thunar (from the XFCE environment), which does correctly obey the umask setting.

Anyway, I'm seldomly using the file manager GUI as I'm doing most on the command line (within XTerm).

Disabling Automatic Suspend on GDM Login Screen

Annoying might be that by default the GDM login screen would automatically suspend the computer after some time without interaction. The current setup for this can be checked with:

root@host$ sudo -u gdm dbus-run-session gsettings list-recursively org.gnome.settings-daemon.plugins.power

To deactivate this, following can be done:

root@host$ sudo -u gdm dbus-run-session gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
root@host$ sudo -u gdm dbus-run-session gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'

Separate GNOME Profiles

Having both a desktop/server computer and a laptop on which I work with the same user account (synchronizing data in between them with rsync), I'd like to have different GNOME setup for both. Screen sizes, keyboard layouts and more is different between the two computers.

By default, GNOME stores its (dconf) setup as:


That would be my default on my desktop/server computer. By adding a file /etc/dconf/profile/host on my laptop with following content (use e.g. a computer name instead of “laptop”):


And adding following line to /etc/environment:


Then GNOME will store my user setting on the laptop separately in following file:


To have some initial setup available for the laptop, the user file can be copied to the user_laptop file before logging in on the laptop (e.g. via remote login).

No Unwanted Sub-Directories in Home Directory

By default GNOME would create a set of sub-directories within one's home directory. Not all directories, like ~/Desktop, ~/Templates, ~/Public, etc. (see /etc/xdg/user-dirs.defaults) might be wanted. Automatic creation of these directories can be avoided by having following line active in /etc/xdg/user-dirs.conf (system-wide) or ~/.config/user-dirs.conf (user-based):


See also the manual pages of user-dirs.conf and xdg-user-dirs-update.

Built with Pelican · © 2024 Peter Kamphuis