I started to gradually moving from Ubuntu to Fedora around 2011 after Unity had become the default desktop environment, which seemed to violate my requirements for a productive environment (also the controversy regarding sending search results to Amazon out-of-the-box certainly helped in me making my decision). I had a hard time getting accustomed to the Gnome3 environment as it, in my personal opinion, seemed to value aesthetics over utility with little out-of-the-box customizability options.
I did not learn about Ubuntu derivatives like kubuntu and xubuntu till much later, and instead switched to Fedora. Unfortunately, Fedora soon moved in footsteps of Ubuntu and made Gnome3 its default desktop environment starting Fedora 15. Fortunately, it didn't take long for MATE, a fork of GNOME2, to come out.
Fedora is great, but I had issues with its fast release cycles
(6 months) and short(ish) support life (less than 2
years). While upgrading
to a new release is possible, I have never felt comfortable
doing multiple upgrades and preferred doing a fresh install.
In fact, years earlier when I had done a similar update on my
main Ubuntu machine, my machine ended up half broken and I
ended up having to reinstall from scratch and restore my
/home/
.
There isn't much I look forward to but to be able to get work done, and in order to be productive, generally I only need my editor, a good terminal emulator, a good package manager, and for the desktop environment to stay out of my way with unnecessary distractions like transitions or full page menus popping up. More recently I decided to consider switching to OpenSuse Tumbleweed on my main laptop. Tumbleweed can be thought of as a 'rollingrelease' Linux distro. This post highlights my initial experience in switching to hopefully my new permanent OS.
The initial installation offers a wide set of options for
customizing your install, including option to specify in detail
what to (and not to) install which you may not need like word
processor suits such as LibreOffice, games, etc, lets you choose
between NetworkManager
or
SUSE's default wicked
, or select base desktop
environment (defaults to KDE).
I had no previous exposure to KDE, but it has been overall pleasant, stable, and more importantly, productive environment. As a bonus, the interface does not look dated out-of-the-box and I required minimal configurations before I was able to be get back to work. I did notice KDE's default launcher, krunner, seldom would crash, but otherwise has provided a very stable environment for working.
For Tumbleweed, there may be 1000s of updates pushed out every few weeks, which can happen e.g. if there is an update to texlive-full installation, or there is an update to gcc which may trigger for everything to be rebuilt. Nonetheless, so far I have not had any breakage.
I did notice few behaviors which caught me offguard:
Set solver.onlyRequires = true
in /etc/zypp/zypp.conf
to prevent this.
Alternatively, this can be specified as a flag:
> zypper dup --no-recommends
or, even better,
> zypper dup --no-recommends --no-allow-vendor-change
If started from the CLI, the following error may be displayed in the terminal:
terminate called after throwing an instance of 'YUIPluginException'
what(): Couldn't load plug-in qt
This can be fixed by installing libyui
> zypper in libyui-qt-pkg8
See forum post reporting similar issue in past.
As alluded to above, the package manager is zypper
. The
basic commands needed for basic workflows when migrating from
dnf/yum:
Search
zypper se package-name # `se` is shorthand for `search`
Install
zypper in package-name # `in` is shorthand for `install`
Passing in a --no-recommends
can mean a
significant difference in the resulting pulled
packages. Take an extreme case of installing texlive
.
zypper in texlive-latex
vs.
zypper in --no-recommends texlive-latex
can result in ~1 GB difference in pulled packages. Needless to say, without all of the recommended packages you may get errors trying to compile your documents.
List packages providing a specific capability
zypper wp capability # `wp` is shorthand for `what-provides`
Remove a package and its dependencies. Pass -u
flag
to also remove the pulled dependencies.
zypper rm -u package-name # `rm` is shorthand for `remove`
/tmp
Fedora cleans up /tmp
on boot. openSUSE by default
does not. Edit /usr/lib/tmpfiles.d/tmp.conf
to change
the default behavior. See
man tmpfiles.d
for more details.
If your laptop contains an "optimus"-enabled NVIDIA card with no option to disable in the BIOS you may have had a difficult experience trying to deal with it. While nouveau gets the job done for everyday tasks, as far as I know NVIDIA drivers are needed to use CUDA. As of this writing and to my best of knowledge, NVIDIA still does not offer full optimus support in their propiatory drivers, and instead it can be opted to to have it on all the time. When using them with Fedora, my personal experience was that they were very unstable and crash my system to become completely unresponsive at random times.
There is option to use the open-source drivers (see reference)
Install Mesa-dri-nouveau
(it is supposedly unstable)
> xrandr --setprovideroffloadsink 1 0
> xrandr --listproviders
> xrandr --setprovideroffloadsink 1 0
> DRI_PRIME=0 glxinfo | grep "OpenGL renderer"
> DRI_PRIME=1 glxinfo | grep "OpenGL renderer"
> DRI_PRIME=1 glxgears
> DRI_PRIME=1 vblank_mode=0 glxgears
Alternatively, to utilize NVIDIA, use Bumblebee by following these instructions. Without performing the steps titled "OPTIONAL: Install NVIDIA driver", I found that it would not work on my system.
firewalld
comes installed by default and it is
disabled by default. Unless default SSH port is unblocked during
installation, it has to be enabled with appropriate ruleset.
su -c "systemctl start firewalld"
By default and/or depending on your installation selection, there will some codecs missing along the H264. This means that a lot videos on firefox will not work. Existing documentation is well done.
Certain applications such as Inkscape, may have pop-up tooltip's text matching the tooltip's background color resulting in what appears to be "blank" tooltips. See work-around.
Alternatively, the colors may be specified.
Overall the OS experience, package manager, and the community have been great and I would recommend considering it for your development machine with understanding that some things may break in the many updates.