Notes on customizing Fedora 17

Adopting Fedora 17 as my personal system at home was inevitably going to put me on the desktop tweaking treadmill that I jumped off almost 6 years ago. Only this time things are a bit more complicated. The Gnome developers seem not to get what the “Personal” in Personal Computer means. Sorry guys, but you brought that on yourselves. Cheers!

Some customization notes below.

1. Disable SELinux by changing “enabled” to “disabled” in /etc/selinux/config. Reboot to effect change. Yes, I know this makes me theoretically more vulnerable but despite everyone’s best efforts Mandatory Access Controls are still too much of a hassle to maintain on a personal desktop.

2. If this is will be a server, turn off and disable its firewall. Again, no one is paying me to mess around with port settings on my personal machine.

systemctl stop iptables
systemctl disable iptables
systemctl stop ip6tables
systemctl disable ip6tables

Note: If you invoke any iptables commands past this point it will result in the firewall being re-enabled.

3. If a stationary desktop, back up existing network files and scripts (/etc/hosts, /etc/resolv.conf, /etc/sysconfig/network-scripts/eth-*) and stop and disable NetworkManager. As I have said many times before, NetworkManager is evil and should only be allowed to live where absolutely necessary.

systemctl NetworkManager stop
systemctl disable NetworkManage

Make sure the following appear in /etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=yourhost.example.com
GATEWAY=10.1.0.1

HOSTNAME is obvious. GATEWAY is the default gateway for your network.

Now modify /etc/hosts to add a line for your host IP and name:

127.0.0.1  localhost
10.1.0.30  myhost.example.com   myhost

Your /etc/resolv.conf should have at least your local DNS servers (I usually add a couple of external ones as well — just in case, in this example the Google’s public DNS servers):

nameserver 10.1.0.8
nameserver 10.1.0.10
nameserver 8.8.8.8
nameserver 8.8.4.4
search     example.com

Modify the existing ifcfg-* scripts for existing physical interfaces so they look something like this (note the example given is for my particular system on my particular network, adjust to conform to your own environment):

UUID=6fe3ec95-5209-4bdc-a490-9d207a7a6d5a
NM_CONTROLLED=no
HWADDR=18:13:63:cc:2f:4b
DEVICE=em1
TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.1.0.30
NETMASK=255.255.252.0
GATEWAY=10.1.0.1
NETWORK=10.1.0.0
BROADCAST=10.1.0.255
ONBOOT=yes

Special Note: Be sure to include the directive “NM_CONTROLLED=no” in every script, including ifcfg-lo. Otherwise you will find NetworkManager raising its ugly head again and overwriting your network files.

Enable and restart the network.

systemctl enable network
systemctl restart network

4. Download and install the rpm for the rpmfusion repository. It doesn’t have everything you’ll want, but most of it.

5. Install gnome-tweak-tool, the MVP of Fedora utilities.

6. Turn on the following features with the gnome-tweak-tool:

a. Have file manager handle the desktop.
b. Computer icon visible on desktop.
c. Home icon visible on desktop.
d. Trash icon visible on desktop.
e. Show mounted volumes on the desktop.
f. Fonts. Set the following in place of the default fonts:

Default font DejaVu Sans 11
Document font DejaVu Serif 11
Monospace font DejaVu Sans Mono 10
Window title font DejaVu Sans Bold 11

g. Show date in clock.
h. User themes extension.
i. Menus have icons.
j. Buttons have icons.

7. Install nautilus-open-terminal and gconf-editor and then open gconf-editor to drill down to apps… nautilus-open-terminal. Check “desktop_opens_home_dir” (this will allow you to right-click on the desktop to bring up a terminal that will open up in the root of your home directory instead of the Desktop folder).

8. Install the Applications Menu Gnome Shell extension to get a nice, organized, drop-down menu of installed applications. The only drawback to this is that you need to do an extra click to reveal currently running applications (the obscurely labeled “Activities Overview” item), but that’s a small price to pay for not having to scroll through the entire disorganized list of applications every time you look for something.

9. Mess with whatever else you’d like, such as desktop background, lock screen background and login screen background. Personally the fireworks show artwork didn’t do anything for me so I installed the backgrounds from the solar theme.

yum install solar-backgrounds

To make this the login background for the system:

xhost +SI:localuser:gdm
sudo -u gdm dbus-launch gnome-control-center

and then pick your background from the menus available.

The simplest way to change the lock screen background is to backup and then copy over the existing file. This example shows me using the appropriate file from the solar backgrounds package and copying over the “active” background on my system:

cd /usr/share/backgrounds
tar czf beefy-miracle.tgz beefy-miracle
cp solar/standard/1600x1200/solar-1-noon.png 
beefy-miracle/default/normalish

The location of the active background file can be found in

/usr/share/backgrounds/beefy-miracle/beefy-miracle.xml