Tips for customizing your new Linux installation

Use these tips and tricks to customize your Fedora installation and keep it running just the way you like it.
Register or Login to like
Penguins on beach

Original photo by Rikki Endsley. CC BY-SA 4.0

I recently installed the latest release of Fedora 26 from scratch on a brand new laptop. If you've been using Linux for a while, you may opt to do upgrades instead of fresh installs to keep your preferences and configurations intact. After all, who wants to go searching for customizations every time a new version of your favorite distribution (in my case, Fedora) comes out?

Every once in a while, however, I do a fresh Linux install to keep up with any new options and capabilities that may have been added. In this article, I will share how I configured the latest Fedora 26 on my laptop to meet my needs—and how you can, too.

The obvious tips and tricks

If you are new to Linux and looking for installation tips, you'll find plenty of information on apps such as these:

  • gnome-tweak-tool to customize GNOME 3
  • RPM Fusion repos to install drivers, media encoders, and decoders that may not be part of the distribution or applications like VLC media player
  • Vim, which is part of the Fedora (and other Linux systems), but not on the default Fedora installation, to enhance the vi editor capabilities
  • GIMP, to edit images (also part of many Linux systems, including Fedora)
  • Google Chrome, the browser or its fully open source version Google Chromium (also available in the official Fedora repositories)

Many Linux users recommend at least two or three of these popular applications. Here are a few more customizations to consider for your Linux system:

Three fingers actions

You can swap between workspaces (virtual desktops) in GNOME 3 through keyboard shortcuts (Ctrl + Alt + Down or Ctrl + Alt + Up) or by clicking your mouse in the Activities corner and selecting a different workspace. You can also use the Windows key on your keyboard to get to the Activities, but I wanted to do it with the mouse—specifically, by sweeping three fingers up or down on my touchpad to switch between workspaces. To do that, install libinput-gestures packages and configure its behavior on /etc/libinput-gestures.conf.

I usually change the default configuration to make left- and side-swipes behave like the pinch-in and pinch-out predefined gestures. I also disable three-finger taps as paste via gnome-tweak-tool.

GNOME extensions

To add more functionality to your GNOME desktop, visit GNOME Extensions. The Fedora distribution comes with some packaged extensions, but to go beyond these, check out Top 9 GNOME shell extensions to customize your desktop Linux experience. Opensource.com has published articles about GNOME extensions before, so instead of covering these, I will discuss my three favorite GNOME extensions:

  1. Freon requires the lm_sensors package, but it lets you keep an eye on your fan speed and system temperature (also available packaged as an rpm in the distribution).
  2. System Monitor is a nice little graphical UI that gives you an overview of your system’s resources usage.
  3. Hide Top Bar is probably my favorite extension—it hides the GNOME top bar when you maximize an application, allowing you to get a full display of that application, and it's also very configurable.

Gnome 3 system monitor

The activities screen of GNOME 3, showing the System Monitor GNOME extension

The pre-packaged GNOME extension can be found on your system by running dnf search gnome-shell-extension. The extensions can be managed via gnome-tweak-tool.

To install extensions from Firefox, install the chrome-gnome-shell package and the Gnome Shell Integration Firefox add-on.

Scaling the display

My eyesight is not as strong as it used to be, and staring at computer screens for hours at a time can be tiresome. For that reason, finding a reasonable ratio between font size/scale, screen size, and resolution is important. My laptop’s display isn’t High Dots Per Inch (HiDPI), but it is small enough that a 1080p screen with default fonts will make me squint. So I use gnome-tweak-tool to change the Font Scaling Factor from 1.0 to about 1.15. I also change the config option layout.css.devPixelsPerPx in Firefox from -1.0 to 1.15. To get this option in Firefox, enter about:config in the address bar.

In Chromium, you can pass the parameter --force-device-scale-factor=1.15 to the chromium-browser command.

Tweaking performance

Performance tuning in Linux can reasonably be categorized as science: You literally can use mathematical formulas to decide which options a kernel-tunable parameter should take. I am not going to do that! Instead, I'll recommend two tools that I find improve the battery life and system performance of my laptop. (To learn more about exactly what these do to your system, read your system's documentation.)

PowerTOP helps diagnose various issues with power consumption and power management. It also has an interactive mode that lets you experiment with various power management settings. When invoked without arguments, PowerTOP starts in interactive mode (from the man pages).

To configure PowerTOP on your system, simply calibrate it, enable it, and start it:

  • powertop --calibrate: This will take a while and do things such as change the brightness of your screen.
  • systemctl enable powertop: This will enable PowerTOP the next time you reboot.
  • systemctl start powertop: This will start PowerTOP in auto-tune mode.

Tuned is a dynamic adaptive system-tuning daemon that tunes system settings dynamically depending on usage (also from the man pages). To configure tuned on your system, simply enable it, start it, and pick a performance profile:

  • systemctl enable tuned
  • systemctl start tuned
  • tuned-adm list (shows all the available profiles)
  • man tuned-profiles (if you want to learn more about each profile)
  • tuned-adm profile desktop (changes your system’s tuning profile to desktop)

Conclusion

I don’t always install Fedora from scratch, but when I do, I try to spend time looking for apps, features, and configurations that will help me polish my experience with my laptop and the operating system. What tweaks do you make to customize your Linux installs? Tell us about them in the comments.

Tags
User profile image.
Anderson was introduced to Linux by his uncle back in 1996. In the early 2000s, he transitioned from being a developer to a system administrator. Today, Anderson leads the Red Hat Information Security Incident Response team. He is also an active Fedora package maintainer.

12 Comments

After a catastrophic upgrade experience (the one time I gambled by not doing a back up before the attempt*), I pledged to to an install when I want to upgrade. I usually use the fedora netinstall disk, where I can pick groups of packages, which helps quite a bit.
One thing I have learned is to make a document which describes all the things I need to do before installing, as well as the post-installation tasks. Since this gets backed up and reloaded after the install, I always have it.
* Recovery involved using a boot CD to mount the hard drive, which would not boot, then copying my files to an external drive -- whew!

I want to concur - a document for pre/post-tasks of an install raises the willingness to (re)install, try new versions and meet catastrophes with equanimity.

In a bash script I note down three sections: "packages", "settings" and "manual". First it will provide `dnf` or `apt` with software I deem neccessary to be productive, then follow lines of `gsettings` for keyboard shortcuts, application and system preferences. Up to here it's seconds of customizing a fresh install. The third sections is in comments, as only some gnome extensions are attainable as packages and firefox addons need to be installed manually.
Ubuntus compiz-configmanager, has can export/import usersettings from a xml file. I should have a look if gsettings could differentiate and export user modified values to a file. Currently I go through `gsettings list-recursively` to build the "settings" list.

To conclude "customizing a new install", I use GNU stow and a dotfile directory to practically symlink bashrc, vim, mutt, gnupg-,ssh-keys and "pass". It's notable how command line tools simplified my computing life, with separate data backup I do not mind which hardware I happen to work on.

In reply to by Greg Pittman

Great tips! I already do most of these on my laptop (Fedora) so that's great.

I also edit fstab to set noatime on my laptop filesystems, since I don't have anything that is sensitive to access times. I think Elm and Pine relied on atime, a while back, but I have moved to other mail clients now. I wonder if this is still necessary? (But I think it does give a little performance boost, even on SSD.)

What are your thoughts on noatime?

Thanks for sharing... from the mount man pages....

relatime
Update inode access times relative to modify or change time. Access time is only updated if the previous access time was earlier than the current modify
or change time. (Similar to noatime, but it doesn't break mutt or other applications that need to know if a file has been read since the last time it was
modified.)

Since Linux 2.6.30, the kernel defaults to the behavior provided by this option (unless noatime was specified), and the strictatime option is required to
obtain traditional semantics. In addition, since Linux 2.6.30, the file's last access time is always updated if it is more than 1 day old.

----
by default it seems the linux kernel already does very little writing... unless using atime... So, I am not sure what the delta between noatime and relatime is.

In reply to by Jim Hall

What is the theme/icon theme in the screenshot? Thanks

Hello, great article, I'm on Fedora 26 and tuned-admin didn't work, turns out it's actually tuned-adm :)

Hi. Thanks for the note. I have asked the editor to update. Pretty sure I had this write on the original draft, someone's auto-correct probably messed that up. Thank you again!

In reply to by Paul Mellors (not verified)

Great article. If its relevant here, I'll recommend getting Guake Terminal and use it along with Tmux. IMHO, makes your work more smooth if you constantly need to keep switching between terminal and other apps.

I normally do a fresh install and leave my /home partition untouched, but mounted with my files and configurations, but after a while it all gets convoluted (I distro- and desktop-environment-hop).

So this last time, I installed Fedora 26 (which the installation experience is a whole 'nother write-up) I opted to again not touch my /home partition, BUT made my username different than all of the other times.

It created a nice, clean /home directory to start but at the same time all of my files are still present in my old /home directory. So if/when I need anything I can move it over, if it isn't in my ownCloud directory and already synchronizing.

I haven't had much luck with updating in-place, which is why I have come to this system of splitting out the root and /home (and /boot) directories into partitions, formatting the root (and /boot) partitions each time and leaving the /home mounted, but untouched.

Then I run a script I set up beforehand that installs everything for me so I get all my apps back.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

Are you new to open source?

Browse our collection of resources.