Friday, November 28, 2014

Customize Fedora's Out-of-the-Box Experience

My Fedora 21 Workstation - Customized


As if I need to tell you, I am 100% behind Fedora.  Those looking for a story on their 'other' Distro can turn away now.

There's nothing wrong with being selective and wanting the best of everything life has to offer, yes?

So, when it comes to Linux on the Desktop, I have put Fedora at the top of my list.  I'll show you my personal configuration and yes it is running remarkably well on my trusty Acer Aspire One D260 Netbook in just 2GB of ram.

I've been on the Fedora bandwagon for nearly a year.  I've watched what other Distro communities are doing and chose Fedora for several reasons.  As for security, there's no better platform than Linux equipped with SELinux, a Linux Security Module (LSM).

With the largest community and having the governance of Red Hat, you can be assured Fedora is going to be around in 5 years.  Safe is not just security;  it's also about stability and longevity.

The 'out of the box' experience with Fedora is quite good.  That is meant to say, one can assume little in the way of post-install configuration is needed.  All bases are covered.

Still, one can put their own personality into adding extra features which is part of the fun of Linux on the Desktop.  There is much one can do--just reach into the Linux parts bin for what you are looking for and bolt on.  Some things require more effort than others.  Let's see what I've done to personalize Fedora Workstation 21.

Fedora chose to break out three products -- Server, Workstation, and Cloud -- in revision 21.  This is no small undertaking and more than trebles the volume of work.  But with careful planning, they will meet their target date for general release, December 9, 2014.

Formerly called Fedora Desktop Edition, Workstation is approximately the same, but the target audience is slanted more towards Student and Developer.  That doesn't make it any more difficult to use -- instead it means the 'mix' of pre-installed applications is slightly different.  What you do is entirely subjective and up to you.  Here goes.

Post-Install Graphical Application Additions



Gnome-Tweak-Tool

As previously mentioned, this tool should be installed by default and as discussed below simply eases making configuration changes.






Gimp
As I do posting to Linux Advocates, often I need access to GIMP and it is a universe unto itself in terms of features for image editing and manipulation.  A must-have for me.







dwb
Fortunately, Fedora Workstation, as in previous revisions, comes with Firefox by default.  This is a pure open source web browser.  I no longer endorse or support Google's Chrome which is proprietary.

I trust that +Tom Callaway will be updating open source Chromium in due course and make it available on or before general release of 21.  I usually keep that on hand for special situations that benefit from using it.  A Big thank you goes to Tom for his hard work.

dwb is my day-to-day browser.  It is lightweight written in C, with webkitgtk bindings and vim keyboard optimizations.  Gear heads will appreciate the vim shortcuts which speeds up everything, besides the compiled C code being inherently super fast.

The version last checked in the 21 repo is from early spring of 2014 and flash isn't working in it.  So, if you are technically inclined, I would suggest getting the dwb-git version with a September 2014 commit number:

[dietrich@localhost ~]$ dwb --version
    This is : dwb-git
    Version : commit 2014-09-20 6a0e483
      Built : Oct 14 2014 13:19:42
  Copyright : (C) 2010-2014 Stefan Bolte
    License : GNU General Public License, version 3 or later

Naturally, you'll need to install the Developer tools that include git, gcc, make and the dependencies listed in the README file and manually with make and make install to fulfill an install of dwb-git.  If you are a true speed geek, it is well worth the effort.


Shutter
Shutter is written in Perl with GTK bindings and ImageMagick.  It is quite useful for special image edit and effects needs.  I recommend both Shutter and ImageMagick to those who are running a website.







Pidgin
Pidgin is a multi-protocol instant messenger GTK program and with the GNOME Shell Extension integration allows one to chat from the shell without opening a Pidgin Chat window.  I prefer it and have used it for years.







Corebird
I've only discovered Corebird in evaluating Fedora 21 Workstation and must say I like it.  This is a GTK Twitter client and it does a nice job of keeping track of those who I follow.





Mailnag
Mailnag is a fairly new Python program with GNOME Shell Extension integration support.  It works quite well in that I use Evolution Email to process my Gmail.  But I leave Evolution closed until Mailnag tells me there is mail.  The notification appears on the top bar with a count for number of emails found.  A python application must be installed and the accompanying Mailnag shell extension.  Opening Mailnag-config, and completing the details for your mail will automatically start a mailnag deamon process running in the background on your system.  I prefer not having Evolution open all the time as it is a memory consumer so go into it only if there is mail to process and then close it to conserve ram.


Under the Hood Non-Graphical System Tweaks



Zswap
Zswap is a Linux kernel loadable module that has been available since version 3.11. It runs resident in its own kernel memory space and compresses data destined for swap to its zram swap 'instead' of your physical swap partition.  When the kernel can put transient data into zram compressed swap, foregoing sending it to slower I/O disk swap space, there is a realized net speed benefit.  This utility is not user-friendly so I would leave it to the gear heads to install it.  There's plenty of documentation on it and I am hoping Fedora will soon upstate the LZO compression method to a newer LZ4 method.

Append the following bolded text to /etc/sysconfig/grub:
GRUB_CMDLINE_LINUX="rhgb quiet zswap.enabled=1 zswap.zpool=zsmalloc zswap.max_pool_percent=80" 

Then, save the changes made to grub and run:

#grub2-mkconfig -o /boot/grub2/grub.cfg

You will need then to reboot your PC to have the zwap kernel module load.

Preload
Preload runs as a deamon and monitors your habits, autonomously preloading applications into ram that are used most often.  This can be advantageous on PCs with less ram (2GB or less), such as mine.  Install Preload from a terminal with the following:

$sudo yum install preload

Then you'll need to sudo to root and type:

#systemctl enable preload.service
#systemctl start preload.service

This sets up preload to be maintained by systemd so it will always be resident on boot.

dconf-edit
This graphical tool allows the edit of gnome settings displayed in a tree-structured hierarchical fashion.  Without it you must use gsettings command line tool.  It's good to have not just for editing but for surveying the entire array of configurable settings available.

htop
I always include htop.  Even though I have system-monitor running in the shell tray, sometimes if I am already in a terminal window, it makes doing things easier and faster.  htop is an Ncurses application.

Wallpapers


I'll just mention that there is a nice array of 'stock' wallpapers that many will find aesthetically pleasing.  For those with special needs, there is a 'Pictures' button at the top of the Background application -- pressing that will open into Nautilus to show what you've downloaded into your ~/Pictures folder for selection (see samples below).  I've had more fun lately with GNOME Shell wallpapers than I've had in a long time.  Find that special wallpaper that fits your mood and sensibility.  Here are some that I like:








Customizations Using GNOME-Tweak-Tool



Most people will not go to a terminal to use gsettings and manually install an extension.  It's only gear heads like myself who brave the terminal prompt for various good and peculiar reasons.  As for myself, I prefer not to torture myself and so commenced with installing GNOME-Tweak-Tool.  It's a curiosity to me as to why this tool is not installed by default.  I hope that the Fedora Community will include it in the near term.

So, once installed you are presented with a nice graphical menu with categories, which I will walk down letting you know what changes, if any, I made in each.

Appearance

I've download a bunch of Themes from gnome-look.org and a couple of them are really nice, but, I keep returning to the default, Adwaita.  It's just that good and so I'll leave it up to you to peruse the themes on the website and experiment.

Before you can install a theme, however, you'll need to install the User Theme extension, which takes two seconds to do.  After installing, reload GNOME-Tweak-Tools and a change will be reflected at the bottom of the Appearance page which will allow selection of a user theme.  The only item I changed on the Appearance page is the Font.  I find Faenza icon theme quite pleasing to the eye.  I don't think it is available (yet?) in Fedora 21 repo, but you can still install it from Fedora 19's repo by typing from a terminal:

$sudo yum install --releasever=19 --nogpgcheck faenza-icon-theme

Desktop

On the Desktop page, I've changed nothing with exception to Background Location (aka wallpaper).  You can change it here or by right-clicking on the Desktop and selecting Change Background, or, by going into Settings and clicking the Background Icon.

Extensions
(Go here to view and select from all the available and compatible GNOME Shell Extensions referred to in this section.)

Bitcoin Markets
If you are using Bitcoin (I have a Coinbase account), then, you might want to know where the price is in realtime.  This is the only shell extension for Bitcoin as far as I am aware and updates on the Top Bar.

Caffeine
Have you had it with screensaver?  Well, fret no more.  Go straight to installing Caffeine and this widget will keep screensaver from kicking in.  It can be clicked on and toggled off/on at will and includes preferences in Tweak-Tool.

Dash to Dock
Dash to Dock takes the hidden Dash from the Activities Overview and anchors it to a Dock to so cause Dash to intelligently display and/or be forced to manually display by putting your mouse cursor on the left margin of your screen.  It also has various preferences and allows on appearance the rolling of the mouse wheel to move through your workspaces.

Frippery Applications Menu
This is a simple menu for finding your applications.  It has a right-click preferences menu wherein one can turn off 'text' which results in just the Fedora Icon showing on the left-most part of the Top Bar.  Installing this menu will remove 'Activities' from the Top Bar.  Putting the mouse cursor into the upper left corner of the screen still triggers Activities Overview mode.

Gradient Top Bar
A simple extension with a singular purpose.  It adds a translucent gradient to the Top Bar.  A nice touch.

Mailnag
You'll need this extension as well as the python Mailnag daemon application.  This extension shows a mail icon reminder when your mail arrives and rings a bell to get your attention.  Highly recommended.

OpenWeather
This is so simple, yet, I find it incredibly convenient.  It sits on your top bar and one-click will trigger it's overlay display of useful weather information.  Clean, professional, appropriate.  Recommended.

Pidgin Instant Message Integration
This extension simply integrates with the message tray and facilitates responding to chat directly in the shell message screen without setting focus to your Pidgin application.  An unobtrusive time-saving addition.

Remove dropdown arrows
This does what is says.  The default down arrow on Applications and Places is removed.  I say GNOME should drop the arrow, but that's just my personal preference.

System Monitor
This extension essentially loads your System-Monitor application resident into the message tray.  Using your superkey-M will show a graphical display of the CPU utilization and RAM consumption.  Clicking either sends you into the full-screen application.  I find this and htop quite informational.

User Themes
If you want to use user themes installable outside of the RPM repo and from a user directory, then you need to install this extension first.  After installing the extension, close GNOME-Tweak-Tool and reopen to reflect the change.  A menu option on the Appearance page, Shell Themes, then becomes enabled.

Workspaces to Dock
Much as Dash to Dock applies additional intelligence so too will Workspaces to Dock.  Moving your cursor to the right margin when running a full-screen application will reveal your workspaces in a slightly enhanced but beneficial format.  Drag and Drop of an application from one workspace to another works seamlessly too.  A must have.  I now find myself using workspaces more than ever, spreading out the applications.  A tap of the super-key reflexively goes into Activities Overview and reveals the Dock and Workspaces as well.


Conclusion


As mentioned, the out of the box settings for GNOME Shell are quite adequate.

But within a matter of minutes you can be up to speed installing Shell extensions, applications and tweaks that personalize your Desktop to your liking.  I have found the experience of using Fedora 21 Workstation quite satisfying and, dare I say, Linux on the Desktop has truly become fun again and rivals the professional feel of commercial counterparts Windows and Apple OSX.

That's Fedora 21 customized.  Get the prerelease here.  -- Dietrich




0 comments:

Post a Comment