So after a week of use here is my review compared to Fedora 16.
In summary, the distro is more polished and stable and I'm glad I upgraded.
The good
- Gnome 3 status icons are more functional and have a better layout
- Problematically slow yum and seapplet are much faster
- The firewall is better integrated with ports auto opened upon service enablement.
For example allowing ssh access is as simple as
for op in enable start; do sudo systemctl $op sshd; done - Package updates are better integrated into the system
- Notifications have got some design improvement
- Perfect hardware support for my laptop, including extended keys etc.
- Bootup is cleaner, and a better experience than I noticed with Fedora 18 and 19
- Firefox 34, Thunderbird 31 and Libreoffice 4.3 are included
- Very nice dark background and palette on gnome-terminal by default. It's tempting to enable the global (gtk3) dark theme option in gnome-tweak-tool, however apps aren't ready for that yet as they often don't adjust their colours accordingly, or inconsistencies are introduced with apps not using gtk3 widgets like gtk2 apps or libreoffce etc.
- A very useful feature of the new gnome-terminal is its reflowing text on resize
- I setup my openvpn using network manager. This worked very well, even down to appropriately presented errors for selinux misconfiguration. There was an issue with corrupted firewall profile names when a non default firewall profile was selected, though I didn't need that feature anyway. I also notice that password retry is supported which wasn't the case in Fedora 20
- Also related to VPNs, is better handling of DNS, which is awkward in the presence of multiple networks. With VPNs for example you usually don't want general DNS requests going over the VPN as it's generally slower, and prone to timeouts when you bring the VPN down. NetworkManager handles this nicely by setting up a split DNS setup in a helper dnsmasq process. To enable: crudini --set /etc/NetworkManager/conf.d/99-split-dns.conf main dns dnsmasq. Details of this setting are in man NetworkManager.conf, and you can see the entries populated at /var/run/NetworkManager/dnsmasq.conf. Note in Fedora 24 there will be a local DNS resolver used by default, to support DNSSEC, and so this should be supported automatically.
- I noticed some general speed improvements from low level tools. The following
coreutils task pulls together a lot of low level logic and is indicative of the speedup
f15$ time make sc_long_lines 0.677s f21$ time make sc_long_lines 0.441s
The bad
- I couldn't figure out how to add a swap partition in the manual partition setup in the installer
- I couldn't select uid 500, to match my existing install, due to Fedora aligning UIDs with other distros.
Not very problematic, though I needed to do this with my /home dir from
a virtual console during the install:
chown -R 1000:1000 . - The installer GUI still spins the CPU unnecessarily
- gnome-tweak-tool really should be installed by default. There is just too much config hidden away.
Some of the things I change from the default are:
- Set middle click on title bar to the "lower window" function
- Set window action key to Alt rather than Super. Note I also have Alt-x to close windows.
- Enable sloppy focus. This is a must for an overlapping window manager. Note there is a new problematic focus delay which caused me to input to the wrong window a few times now. That can be avoided (noting the caveats in this commit) using: gsettings set org.gnome.shell.overrides focus-change-on-pointer-rest false. I did notice another small issue with "focus follows mouse" where a new window will not get focus if it starts up outside the current mouse location, and the mouse is hovering over certain elements like the browser url entry. Rarely an issue though. I also noticed this can be an issue when accessing the global app menu on the top bar if the mouse moves over other windows, as they'll get focus and change the top menu bar. That can be avoided by using the Meta-F10 shortcut to access the global menu.
- Enable the alternate-tab extension, to essentially give a "Back" button to the desktop, where Alt-Tab will switch to the previous window. Note there is also a standard gnome setting to bind Alt-Tab to "switch windows", but this didn't seem to change anything for me
- There is still a delay after you typo a command, where it goes looking for matching uninstalled commands. Also this process locks up if packagekit is downloading updates for example. To avoid: rpm -e PackageKit-command-not-found
- 256 colours disabled by default in gnome-terminal due to it no longer setting the COLORTERM env variable (as it did in <= Fedora 20). See bug 1165439
- gparted is still not included on the live image
- There is no way to select a "terminal app" used for the "start terminal" shortcut. You can use a custom shortcut instead
- gnome-terminal prompts about "running processes" when I close it (since F14). This really should have an option in the GUI to disable, as I often have processes with no state running like viewing man pages or an ssh session etc., so I have to disable that with: gsettings set org.gnome.Terminal.Legacy.Settings confirm-close false
- The gnome-terminal menu bar is strange. You use F10 to highlight it which isn't obvious to me at least, and that very often conflicts with existing terminal apps. Also there is no option presented to disable the terminal menu bar globally or per profile, only per window ? See gnome bug 672433. To disable globally you can gsettings set org.gnome.Terminal.Legacy.Settings default-show-menubar false. Also when the menu is displayed, why is there no menu item to create a new tab (Ctrl-Shift-t)?. [Update]: Chris Irwin tells me that the settings above are accessible through the global app menu on the top bar which although awkward to access in "focus follows mouse" mode, can be accessed using the Meta-F10 shortcut.
- Nautilus lost its dual pane mode which handles many (most?) file management tasks very nicely. Also the nautilus keybindings are weird. At least it's not too onerous to get two nautilus windows side by side. Use Super-{left, right} to tile windows, and Ctrl-N to create window.
- google chrome will return a "shockwave flash crashed" error when playing flash videos. Disabling selinux avoids the issue, but the main issue is there were no sealert messages, nor anything logged in /var/log/audit/audit.log. BTW I did notice a separate nacl selinux alert related to chrome. Now given there was existing .config/ for chrome I decided to restorecon -R -v $HOME. That reset lots of stuff including changing some selinux types from user_home_t to config_home_t which fixed the issue
-
Notifications still confuse me greatly. There doesn't seem to be a permanent
icon anywhere? Why not add an icon to the top bar that indicates new messages?
I searched and found I can show the notification bar with "windows key + m".
There are more issues though. For example I see an xchat and sealert
icon there which can't be cleared and do nothing specific when clicked?
Well clicking with the mouse doesn't work, but usually you can use the keyboard to navigate
the icons and hitting enter shows the message list, and clears the icon.
Though I'm seeing the xchat icon sometimes and enter doesn't show any messages.
Also sometimes using the xchat icon to bring up the xchat window will hide
the window completely from the gnome interface. Restarting gnome-shell doesn't
bring the window back, so I need to kill the process and restart it :/
Showing the message bar by moving the mouse pointer down is finicky and I'm
still not sure of what gestures display the bar and don't.
I installed the "notifications alert" extension, which will make the notifications obvious in the always visible top bar. Perhaps the designers are more easily distracted than I and a temporary popup is enough to catch their attention and register in their brains that there are pending notifications. Anyway I've been able to work around the mouse interaction bugs mentioned above with the keyboard, but it's still far too finicky and needs some attention.
[Update: Feb 2015 Looks like Fedora 22 will have big improvements to notifications by integrating them with the date/time display at the top. It seems however there is still not going to be a permanent indicator that notifications are available.]
- Components are generally using more RAM:
# ps_mem Private + Shared = RAM used Program 9.2 MiB + 4.2 MiB = 13.4 MiB evolution-alarm-notify 13.4 MiB + 270.5 KiB = 13.6 MiB dhclient 28.5 MiB + 3.0 MiB = 31.5 MiB Xorg.bin 40.1 MiB + 4.0 MiB = 44.1 MiB evolution-calendar-factory 60.7 MiB + 3.0 MiB = 63.7 MiB gnome-software 63.7 MiB + 831.0 KiB = 64.5 MiB packagekitd 168.3 MiB + 5.3 MiB = 173.7 MiB gnome-shell
gnome-shell is increased 10% since F16, but worse it seems to be leaking as after about a week of use it's up to 600MiB! This seems to be a long known issue; see bug 977387. gnome-software and the related packagekitd are new and using a significant 128MiB? Xorg is using 300% more‽ Also why is the dhcp client started by network manager constantly running and why does it use 13MiB? (I see PERSISTENT_DHCLIENT in the network startup scripts. Perhaps it's to support consistent leases over system time changes?). Also I don't use evolution nor have never started it, so why are the evolution services above running and taking nearly 50MiB‽ The evolution-calendar is used by the gnome calender I understand, though you can get rid of evolution-alarm-notify and evolution itself with rpm -e evolution-help evolution evolution-ews bijiben
The ugly
- Nautilus can't write to a mounted (VFAT) usb stick, giving a "The destination is read-only" error message. See pad.lv/1021375 and bug 844713
- The default Cantarell font is very blurry and has noticeable aliasing artefacts. I changed the anti-aliasing mode from grayscale to RGBA to no avail. One could also see different text heights for the bold variant, which was apparent when navigating unread messages in the thunderbird list for example, where the message text would jump around as it changed from bold to normal. Using gnome-tweak-tool to change the font to "Sans" gave a much better experience. BTW I also changed the size to 10 for Sans, as it was much better proportioned than the default 11 size. The same goes for the default "Monospace Regular" font, which looks much better at size 10 with better proportioned letters and less aliasing. Looking into the Cantarell issue, it seems that it's the only font affected due to a CFF renderer issue in freetype >= 2.5. Note you can change most of the default fonts with gnome-tweak-tool though the setting for the default font must be manually edited as per these instructions. Note chrome only seems to honour GTK2 settings and so fonts for it would need to be adjusted separately. [Update June 2015: Notes on improving fedora font rendering.]
- The i915 graphics driver locked up in the kernel for a minute which has been reported for Fedora 21 quite a few times already
Miscellaneous notes
I found it difficult to find some of the gsettings values above, but found this technique useful: $ gsettings list-schemas | grep -Fi $keyword; gsettings list-recursively $promising_schemaI have a custom script that I run at resume time to spindown an unused hard disk (that the system spins up at a very low level). Previously this was run from the /etc/pm/sleep.d/ directory. Even though this directory is present, it's ignored in the systemd setup as the pm-utils hooks are no longer run. We probably should therefore remove the directory from the filesystem package. Options to fix this are described in Debian bug 744753. I also editied /etc/smartmontools/smartd.conf to not scan (spinup) all devices by default.
As part of this upgrade I switched back from chrome to firefox because:
- chrome linux integration has got slightly worse in later versions
- bug with opened search box in switched to tab, clearing selection buffer
- download manager is very weak and getting worse
- password manager often doesn't present passwords
- fonts are awkward to change and have bad defaults
- cert installation is awkward