Notes on Fedora Linux

David A. Wheeler

2011-07-29

I’m a long-time user of Fedora Linux. Here are some notes about using Fedora; you may find them useful.

The Unofficial Fedora FAQ has lots of useful notes. See Virtualbox with Fedora if you’re using Fedora on Virtualbox.

Fedora, like all modern Linux distributions, includes a package management system to automate installing, uninstalling, and updating packages of software. If you can, install or uninstall packages using the package manager to get the software you need. Try to not work against the package manager; you can install software directly if you must, but the package manager automates a lot. Most users will directly use the “Add/Remove Software” GUI application to install and uninstall packages. Under the hood, that GUI applications uses “yum” to figure out what packages need to acquired and how to get them (in particular, if package A needs package B, then if you try to install package A, it will tell you about the other packages it needs to install). Yum in turn uses the lower-level “rpm” program to actually install and uninstall packages (which are in “RPM” format). If you’re a developer, you might want to see see how to create an RPM package (for Fedora), and at the very least, please follow the time-tested community standards for “Releasing Free/Libre/Open Source Software (FLOSS) for Source Installation” (such as implementing DESTDIR).

General tricks

If you’ve installed some service but it’s not working, make sure the service is actually running, and start it if it isn’t (E.G., see “Administration/Services” or similar). Then make sure the Firewall is letting requests in.

If the desktop display is wonky (e.g., it seems to pop up windows you weren’t expecting), you might try logging out, then logging in as text user (control-alt-F2), and remove the “.cache” directory with “rm -fr ~/.cache”. Log out (with control-D), switch back to to GUI mode (control-alt-F7 or -F1).

As always, follow the Tech Support Cheat Sheet; in particular, remember that Google is your friend.

As with any system, you should run as a “normal user” most of the time. From the terminal you can run a privileged command using “su -c COMMAND”. You can also use sudo by adding your username to the group “wheel”; just execute “su -c 'usermod -G wheel YOUR_USER_NAME'” and from then on you can say sudo COMMAND.

Fedora 15

Fedora 15 printer configuration approach isn’t working for me. So instead, install the “system-config-printer” (a different printer configuration tool), “system-config-services”, and “cups” packages. Run system-config-services and start the “cups” service. Run “Firewall” and enable the Network Printing Client (port 631; you might want to enable the Network Printing Server too). Now run system-config-printer to configure the printer.

If you need to install the proprietary Flash plug-in, see the Fedora project wiki page on how to do that. Hopefully HTML5 and unencumbered formats (like Google's VP8 video format and the Ogg Vorbis audio format) will make Flash go away in the long term.

There's no GUI to turn off the sounds on login, which is annoying. There is a way to disable gdm sounds, though.

GNOME 3 Shell on Fedora 15+

Fedora 15 comes with the new GNOME 3 shell, which introduces a radically new user interface. Change can sometimes be good, so I’ve tried to give the new GNOME 3 shell a fair trial. But after giving it some time, I’ve decided that I hate GNOME 3 shell as it’s currently implemented. It’s not just me; the list of people who have complaints about the GNOME 3 shell include Linus Torvalds, Alan Cox (who says “hopefully by FC16 Gnome will actually be usable again”), Theodore Ts'o and Ingo Molnar, Dedoimedo (see also here), k3rnel.net (Juan “Nushio” Rodriguez), Martin Sourada, junger95, and others (e.g., see the Linux Insider story). So many people are leaving GNOME 3, often moving to XFCE, that one person posted “GNOME 3, Unity, and XFCE: The Mass Exodus”.

The GNOME 3 shell is beautiful. No doubt. But as far as I can tell, the developers concentrated on making it beautiful, cool and different, while specifically working to make it not useful or efficient for people to use. Dedoimedo summarizes GNOME 3.0 shell as, “While it’s a very pretty and comely interface, it struck me as counterproductive, designed with a change for the sake of change.” In different post Dedoimedo says, “Gnome 3 is a toy. A beautiful, aesthetic toy. But it is not a productivity item... I am not a child. My computer is not a toy. It’s a serious tool... Don’t mistake conservative for inefficient. I just want my efficiency.”.

Some developers have tried to fix its worst problems with extensions, and if GNOME developers work at, I think they could change it into something useful. But I’m going to switch to XFCE so I can get work done, and perhaps try again later. Thankfully, Fedora 15 makes it easy to switch to another desktop like XFCE.

The problems with GNOME 3

GNOME 3’s shell makes it much harder to do simple, common tasks, and often hides how to do them. That’s not just my opinion, lots of people say this. k3rnel.net says, “Gnome’s ‘Simplicity’ is down right insulting to a computer enthusiast. It makes it impossible to do simple tasks that used to flow naturally, and it’s made dozens of bizarre ‘design decisions’, like hiding Power Off behind the ‘Alt’ key.” Let me explain what I mean.

GNOME 3, particularly its default GNOME shell, creates a lot of extra steps and work to do simple tasks that used to be simpler. To run a program whose name you don’t know, you have go to the far top left to the hot spot (or press “LOGO”), move your mouse to the hideously hard-to-place (and not obvious) “Applications” word slightly down the right, then mouse to the far right to choose a category, then mouse back to choose it. Remarkably, there doesn’t seem to be a quick way to simply show the list of (organized) applications you can start; there’s not even a keyboard shortcut for “LOGO Applications”. Eek. This is a basic item; even Windows 95 was easier. Would it really have killed anyone to make moving to some other area (say, the bottom left corner) show the applications? And why are the categories on the far right, where they are least easy to get to and not where any other system puts them? (Yes, the favorites area lets you start some programs, but you have to find it the first time, and some of us use many programs.) Also, you can’t quickly alt-tab between arbitrary windows (Alt-tab only moves between apps, and the undisoverable alt-‘ only moves between windows of the same app). GNOME shell makes it easy to do IM, but it makes it harder to do everything else. Fail.

Its capabilities are not discoverable, too. To log off or change system settings you click on your name — and that’s already non-obvious. But it gets worse. To power off, you click on your name, then press the ALT key to display the power off option, then select it. How the heck would a normal user find out about this? The only obvious way to power down the system is to log out, then power off from the front. If you know an application name, pressing LOGO (aka WINDOWS) and typing its name is actually a reasonable approach, but that is not discoverable either. If you want a new process or window (like a new terminal window or file manager window), you have to know press control when you select its icon to start a new process (for Terminal, you can also start it and press shift+control+N, but that is not true for all programs). Fail.

There are some nice things about it. I like the ability to press LOGO and then click on a window, and the ability to start typing a program name (which you can then select) - that is nice. But even then, this is not discoverable; how would a user new to the interface know that they should press the LOGO button?

LWN noted the problems of GNOME 3 shell way back.

The implementors seem to think that new is automatically better. Rediculous. I don’t use computers to have the newest fad interface. I don’t mind changes, but they should be obvious improments. Every change just for its own sake imposes relearning costs, especially for people like me who use many different computers and interfaces, and especially if they make common operations harder (like “show me the applications that are available”). Non-discoverability is especially nasty; people don’t want to read manuals for basic GUI interfaces, they want to get things done.

It’s also just not very mature. For example, as of 2011-07-28, GNOME 3 does not support screensavers - it just shows a blank screen after a timeout. But the previous GNOME 2 had screensavers. Heck, Windows 3.0 (of 1993) did better than that.

I’ve tried to get used to it, because I wanted to give new ideas a chance. Different can be better! But so far, I’m not impressed. The code may be cleaner, and it may be pretty, but the user experience is currently lousy.

There is hope

If you’re using the GNOME Shell, you basically must read the GNOME shell cheat sheet, because so much of what it does is un-intuitive, incompatible with everything else, and non-discoverable. Thankfully, after reading the documentation and with some configuration work, GNOME Shell can be made somewhat tolerable. I expect that it wouldn’t be hard for the developers to make it better; hopefully the GNOME folks will work to improve it.

One approach: Switch to another desktop

You could choose to switch to another, more productive and mature desktop environment. Obvious options are XFCE and KDE. There are also serious praises for OpenBox, though I haven’t tried that yet.

XFCE is a lightweight desktop environment, and is what I’ve chosen to use instead of the default GNOME 3 shell. (I found out later that other people have switched to XFCE after trying and hating GNOME 3’s shell).

You can quickly install XFCE on the command line by doing this:

yum groupinstall XFCE

XFCE doesn’t look as nice as GNOME 3, indeed, the GNOME 3 shell is really quite flashy by comparison. But the GNOME shell makes it hard for me to get anything done, and that’s more important. I expect that many of GNOME 3’s problems will be fixed over time, and then I’ll try it again. But I’m in no hurry; XFCE works just fine.

Here are some tricks for configuring XFCE. The XFCE terminal doesn’t blink, and gnome-terminal has problems in XFCE (it resizes inappropriately), so I decided to use sakura instead XFCE’s usual terminal. I set it to use a bold green font (I find that easier to read). I prefer panels to be at the bottom; You can move the XFCE panel to the bottom by right-clicking on the panel’s right edge, then Panel, Panel Preferences, and turn on “Lock panel”. Drag its left edge to the bottom, then re-lock it. I also added a screen lock button (to do that, right click on the panel, choose add new items, hoose action buttons, select action type as Lock); You can configure the XFCE or Orange clock’s format (note: their “custom format” string is the same as in “man date”, but that is not documented); I changed the clock options to “%F %R” so I can see the date and time. I used Nautilus as the file manager for a while (I’m more familiar with it than with XFCE’s native “Thunar” file manager), but it occasionally crashes. So I’ve switched to XFCE-native Thunar as the file manager; it generally works fine, but an annoying bug in Thunar 1.2.2 means that you can't see SMB (Samba) shares from Thunar. A work-around is to run Nautilus from the command line when you want to use SMB shares; upstream thinks it has found the cause and hopefully it will be fixed soon. Be sure to set Preferences > Preferred Applications (e.g., for Terminal and manager). If you set a custom theme there can be oddnesses; XFCE uses GTK+ 2, while GNOME uses GTK+ 3, but if you don’t set a custom theme that won’t matter. I installed the screensaver “rss-glx-xscreensaver” (GNOME 3 doesn’t even have screensavers!); they’re nifty.

The built-in XFCE window manager has some nice capabilities, but some of its nice visual improvements require you to first go to Preferences/Windows Manager Tweaks/Compositor to “Enable display compositing”; this enables partial transparency and such (I particularly like turning on transparency when moving or resizing windows). I’ve already asked the XFCE developers to make this more obvious. It's not fancy overall, though, and in a few cases that's mildly annoying; e.g., there's no visual indication when you launch a program that it is on its way (see XFCE bug 7869 - When a launcher is pressed, make it clear it's launching something (animate the launcher button). The standard XFCE window manager is reliable, but a little boring.

More recently I am using Compiz with XFCE. Compiz is much flashier than the XFCE built-in window manager, and those flashy effects are not only fun, but they can help make clearer what's going on. Compiz requires more graphics chip power; XFCE's window manager was designed for low-power systems, but my machine can handle the load that Compiz demands. To do this, Install Compiz with XFCE (this just adds "compiz-manager" to the programs run on session startup in Preferences/Session and Startup/Application Autostart). Then go to Preferences, CompizConfig Settings Manager, and change what you want. I suggest turning on the Desktop Cube, Rotate Cube, Animations, Wobbly Windows, and Resize info; on "move window" I changed opacity down to 85%. It doesn't have an easy way to make resizing windows transparent, sadly, but you can make resizing shade and that's nice (you can probably make them transparent, but I haven't delved into that). Now the bad news: Compiz doesn't work well with Xscreensaver (Fedora bug 730377). For now, you can work around this by installing my fixscreensaver script in your home directory, and then go to Preferences/Session and Startup/Application Autostart to make that script automatically start.

The “cairo-dock” launcher is graphically slick; you can position it where you want by holding down ALT while dragging it. I’m sure some people will love it, but after playing around with it, I decided to move on.

GNOME 3 shell does have a cool idea: you can press the LOGO (WINDOWS) button, start typing an application name, and it will show you the list of applications. But you can get the same basic effect in XFCE; it’s not as pretty, but just as functional. Simply select Preferences/ Keyboard/ Application Shortcuts, and then press the +Add button. Give it “xfce4-appfinder” as the command name, press OK, and then press and release LOGO-Right-LOGO. Now you have it - you can press LOGO-Right-LOGO and type in any part of the application name; one ENTER brings you to the matching list, and the next ENTER runs the selected applications. If you use “xfce4-popup-applicationsmenu” instead of “xfce4-appfinder”, you’ll get a more traditional popup of the applications menu.

Another approach: GNOME 3 Fallback mode

One approach, as discussed by Dedoimedo, is to force fallback mode. This turns on a more tradtional interface.

Unfortunately, there were odd problems with this in Fedora, e.g., I can minimize but I didn’t have a panel bar where they went to. (A traditional interface is supposed to be at the bottom, but I don’t see any) I think this is not well-tested, which is too bad, it has promise. Several people have declared that GNOME 3 fallback is better than GNOME shell itself.

I gave up on this, but if you want to try it, go to the user name (top right), click on it, select System Settings > System Info > Graphics, and turn on “Forced Fallback Mode”.

If you don’t like that, you can try to tweak the GNOME 3 interface; below is info on how to do that. I tried this for a while.

Adding minimize/maximize buttons

Install the gnome-tweak-tool (e.g., “yum install gnome-tweak-tool”). Run it, e.g., by pressing LOGO-button, typing “tweak”, and pressing Enter. Select the “shell” tab, and then set “Arrangement of buttons on the titlebar” to “all”. (The formatting of the shell tab is getting fixed). You can use gnome-tweak-tool to tweak the user interface in other ways, e.g.., to display date as well as time. Log out and back in to see it!

; You can also add minimize/maximize buttons by installing and running “gconf-editor”. Move to Desktop>gnome>shell>windows, find button_layout and enter the following to add Minimize and Maximize buttons: :minimize,maximize,close

Other fixes

The gnome-tweak-tool has other capabilities. For example, you can bring the desktop back (some think this is the most useful change); after running it, select the File Manager left-tab, then turn on “Have file manager handle desktop”.

Installing various gnome-shell-extension-* packages can help too.

Some useful extensions to install:

GNOME shell frippery (by Ron Yorston) can help. As of 2011-07-28, they aren’t in the Fedora yum repository, though there is an RPM package. What’s concerning is that he says “it’s almost inevitable that future changes to the shell will break them (though I’ll make every effort to unbreak them)... There will be conflicts between extensions [also]”. It’s absurd that a user interface infrastructure can’t handle normal cases, but there it is.

Working around hardware problems

Enabling the external SATA connector

In some cases, you may need to change a BIOS setting to enable an external interface. Unfortunately, on the Dell Optiplex 760, the external SATA connection is disabled when you have “ATA” as the disk interface setting (the default), so you must switch the BIOS to “AHCI” instead. If you can, switch to AHCI and then install Linux. If you’ve already installed Linux, before switching to ACHI, per http://www.ultimatebootcd.com/forums/viewtopic.php?p=6694 you should edit /etc/modprobe.conf and add a line like this:

  alias scsi_hostadapter2 ahci
Then run this command so that the ahci driver will become available at boot time:
mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r)

pci=nomsi

Some computers (such as the Dell Optiplex 760) do not have a working “MSI” system, and this interferes with external SATA connections. To fix this, edit /boot/grub/grub.conf so that the “kernel” line includes “pci=nomsi” at the end, like this:

 kernel /vmlinuz-2.6.18-194.3.1.el5 ro root=/dev/RaidSys/Root vga=791 pci=nomsi

ide=nodma

Some older computers (particularly Dell) do not have a working “DMA” system. The primary symptom is that if you try to test CD-ROMs or DVDs, they will fail, suggesting that they have the wrong data. To fix this, at boot time type this (for the kernel command line):

  ide=nodma


Feel free to see my home page at https://www.dwheeler.com. You may also want to look at my paper Why OSS/FS? Look at the Numbers! and by book on how to develop secure programs.

(C) Copyright 2011 David A. Wheeler.