Beginner Linux Distributions: From a experienced user perspective

Personally I’m using Arch Linux with Xfce a lot in the last time. A friend of mine also started to switching over from Windows 10 to Linux. She asked me for help and wanted some tips where to start. At this time I thought that for e.g. openSUSE is a very beginner friendly distribution. While this is true, there are other distributions which are even way more beginner friendly. So I tried 3 Linux “beginner” distributions and made some conclusions:

1. Ubuntu Linux

Image source: wikipedia.org

When I started working with Linux (if I remember correctly this was round about 13 years ago) Ubuntu released their first version which was called “Warty Warthog”, Version 4.10. I’ve never used this one. At this time I played around a lot with SuSE Linux Personal Edition 9.x. My first Ubuntu version was 6.06, called “Dapper Drake”. This one really got me into Linux. This was the first Linux version were almost everything worked with a exception of WLAN. But WLAN was a nightmare under Linux anyway until mid 2000s.

A lot of people complaining that Ubuntu didn’t contributed that much to the whole Linux economy. For me that’s not right. Ubuntu started to take care of the user and they tried to make a more end user friendly Linux. After more than 13 years later I would say that they reached their goal. Even if I think that there are a lot of other, way more user friendly distributions out there as of today.

Ubuntus Unity desktop is something you love or you hate. I personally like the idea of a bar on the left screen. With the newer versions of Unity you can also always modify the behavior of the left bar. For e.g. let them automatically slide in and out or change the size of the bar itself.
The hardware compatibility is very good. Almost every driver gets shipped with the installation. If there is a driver missing, Ubuntu provides a “Additional drivers” wizard, which installs you the driver you need within minutes.
The software repositories are really big. You almost find a piece of software for every single kind of use. In addition to that, you can always check out PPAs for even more software packages. Also, a lot of software like Steam or even Guitar Pro distributing their software as a downloadable .deb package file for easy installing under Debian and / or Ubuntu based distributions.

For me as a more advanced user, Ubuntu has two major downsides. The first one is, that they are really bad when it comes to develop for upstream projects. For example, Fedora and openSUSE are giving a lot of things back to upstream projects. Both are paying developers for just doing their normal daily development on the Linux Kernel, the audio subsystem and so on. In 2008 Ubuntu was criticized that they’re under 1% in contribution to upstream prjects.
The other major downside is the stability. A lot of people are using the LTS (= Long Term Support) version of the latest Ubuntu release. While this is a wise decision, even with the LTS I’m experienced a lot of stability problems. Anyways, the good mix of stability and “new software versions” is fine in Ubuntu. You could go of course with Debian stable as a rock solid base, but the software in this repositories are very old.

However, Ubuntu is still a very good starting point for beginners and users who just want to “get their work done”. I’m really excited with their next LTS release (18.04). Mark Shuttleworth (the initiator and founder of Ubuntu) decided to drop the Unity desktop and Mir display server and goes instead with the GNOME Shell and Wayland display server as a standard. For me this is a big huge and good step.

 

2. Linux Mint

Image source: wikipedia.org

Linux Mint started in August 2006 and was released based upon Ubuntu 6.06. After more than 10 years later, Linux Mint is one of the most used Linux distributions on the desktop.

Linux Mint is for a lot of people what Ubuntu should have been by the beginning. More stable and more polished. For me Linux Mint is a derivative of the latest Ubuntu LTS version with a lot of multimedia codec support and a really great Desktop solution called “Cinnamon”.

Cinnamon is with no doubt the heart of Linux Mint. The Linux Mint developers really had a lot of good ideas. With their concept they also trying to speak directly to people who want to switch over from Windows to Linux. Cinnamon is a classical desktop concept with a single bar at the bottom of the screen and a classic desktop which can be used to store applications shortcuts. The central system settings GUI comes with a lot of possibilities. With that being said, it’s somewhat like the Windows system control center.

Besides Cinnamon, Linux Mint offers a lot of other desktops to their users. One of them is MATE (a GNOME 2 fork), as well as Xfce and KDE. So, everybody will find a desktop solution for their needs here. Linux Mint also offers a “Linux Mint Debian” (LMDE) release. This version is based on Debian testing instead of Ubuntu and is something like a rolling release version. I’ve used this Linux Mint version on my own for a longer period.

Due to the fact that Linux Mint is literally Ubuntu, there are also the same benefits like extending the existing repositories with the Ubuntu PPAs and the usage of the “Additioinal drivers” wizard to install yourself the latest proprietary drivers you need.

If you’re new to Linux and you want to use a stable Linux distribution with a traditional desktop layout, then Linux Mint with Cinnamon is definitely a Linux distribution which you have to try.

 

3. Manjaro

Image source: heise.de

Manjaro is developed mainly in Germany, Austria and France. It’s based on Arch Linux and was initially released in July 2011. Their main goals are to provide a stable, rock solid Linux distribution on a already running rolling release based Linux. Because of this, Manjaro decided to go with Arch Linux as their base system.

Manjaro offers a lot of desktops and window managers. Even though, they have one major desktop environment which is Xfce right now. At a lot of interviews and statements they said that they think that Xfce is exactly how a desktop environment should be: flexible, fast and solid and that this would come hand in hand with the UNIX concept.

Being a Xfce user myself, I have to confirm this. Xfce is really rock solid and offers a lot of customization options. Xfce is a traditional way of how a Linux desktop. With that being said, if you’re searching for a more fresh and intuitive way of working with your upcoming Linux desktop, then maybe Xfce isn’t the right choice for you. However, Manjaro also offers images with KDE, i3, GNOME, Cinnamon and so on. So there is a desktop environment for every single kind of user out there.

As already said, Manjaro is based on Arch Linux, a Linux distribution which states itself to “keep it simple”. Arch Linux (as well as Manjaro) is a rolling release distribution. This means you install your Linux once and you just have to update. No big version jumps like in Ubuntu, no LTS / non-LTS versions, you will always be on top with the newest version of the software available. Manjaro tries to cut down the complex initial setup process you have with an Arch Linux installation and wants to offer something like a “Ubuntu Arch Linux” – Easy to install, easy to use, but a rock solid and optimized Arch Linux base with the benefits of it’s “keep it simple” principle.

One of the major upsides of Arch Linux and Manjaro is the Linux AUR (Arch Linux user repository). This extends the already big Arch Linux / Manjaro repository with another thousands of packages including proprietary software like Guitar Pro, TeamSpeak and so on. This is simply amazing.

If you ask me, Manjaros balancing act between being simple and optimized as Arch Linux while also being easy as Ubuntu is working here 100%. It just makes fun to work with a Linux distribution where so many packages are available and where the setup process is so easy and self explaining. Manjaro is definitely another good option if you just want to get your work done. I highly recommend it.

 

Conclusion

I can recommend all of the 3 Linux versions to beginners. If you’re a little bit more of a advanced user and want to try out something new, you should give Manjaro a try.

I’m really amazed how much the desktop Linux have evolved within the last years. Today almost every machine will be able to run a desktop Linux without having any kind of issue. So, if you tried Linux some years ago and you ran into a lot of troubles, maybe it’s the time now to try it out once more 😉

 

Rocket League under Linux: “There has been an error connecting to the Rocket Leauge servers please try again later”


Source: wikipedia.org

One of my favorite games actually is Rocket League. It’s competitive, supports splitscreen (yes, even on PC), makes a lot of fun and now it’s also available for Linux. I played Rocket League before as it was a part of the PS Plus monthly free games months ago. Now that Rocket League has official arrived for Linux, I decided to buy this game on Steam as well.

Unable to connect to servers

Well, the bad thing was, after I started the game, the following message appeared:

There has been an error connecting to the Rocket Leauge servers please try again later

I started to check my network connection, was googeling if the Rocket League server were down and so on. Then I started to feel that this has something to do with my distribution (for the records, I’m actually using openSUSE Tumbleweed, a rolling release distribution). After a short time of searching the web I found the solution for the problem. For openSUSE you simply have to issue the following command as root or with the //sudo// command:

user@opensuse:~$ sudo ln -s /etc/ssl/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt

This command creates a symbolic link which can later be found in ///etc/ssl/certs/ca-certificates.crt//. The link itself points to ///etc/ssl/ca-bunble.pem//. Rocket League needs this certificate to connect to their servers. It’s looking in the directory ///etc/ssl/certs// for the certificate which can’t be found. To solve this, we need the symbolic link of the certificate file where it is originally stored in openSUSE Tumbleweed (which is ///etc/ssl//).
The solution for this problem was originally discussed at the Steam community site: Link.

Restart Rocket League and you should be able ready to go. Please keep in mind that the path of the certificate can differ if you use another distribution. Anyway the target path (which is ///etc/ssl/certs///) is always the same.

Good luck and have fun with a working Rocket League 🙂

How To get your Realtek RTL8111/RTL8168 working (updated guide)

Realtek Logo
Image Source: wikipedia.org

A lot of people will remember my guide how to get a RTL8111/RTL8168 running under your Linux box. This guide is almost 5 years old now and I wanted to make a complete overhaul, because a lot of things has changed since then.

Why do I need this driver anyway?

Some people asked me, “Why do I need this driver anyway? Doesn’t the Linux Kernel ship it?”. This is of course a valid question. As far as I can see this, the RTL8111/RTL8168 is not Open Source and this would be of course the reason why the driver isn’t included into the Linux Kernel. As long as the driver isn’t Open Sourced, we have to build it on our own.

The installation methods

A lot of things have changed since I written the initial article about how to compile the driver under Ubuntu / Debian. Today we can use 2 methods for installing the driver. The following lines describes both of them.

The automatic way

NOTE: Thanks to the user “Liyu” who gave me this hint!
NOTE2: For this way you need a working internet connection. You could use WLAN or a USB ethernet card like this one to get a temporary internet connection. You could also download every needed single package onto USB from another PC and install them in the right order.

As I said ealier, 5 years is a long time. And today Ubuntu and Debian have the driver included in it’s repository. For Debian you have to enable the non-free package sources. For Ubuntu you have to enable the universe package sources. You can easily do this by open your /etc/apt/sources.list as root with your editor of choice and add for each line starting with “deb” non-free or universe at the end. So for example, if you use Debian a line like:

deb http://ftp.de.debian.org/debian/ jessie main contrib

would become to

deb http://ftp.de.debian.org/debian/ jessie main contrib non-free

The same for Ubuntu:

deb http://de.archive.ubuntu.com/ubuntu/ xenial main restricted

would become to

deb http://de.archive.ubuntu.com/ubuntu/ xenial main restricted universe

After this you have to do a:

sudo apt-get update

You can of course use graphical ways to enable non-free or universe. After you enabled the missing package repository, you will be ready to install the driver. This can be easily done with the following command:

sudo apt-get install r8168-dkms

The procedure will take some time, depending on your CPU because the driver will be build for your working Kernel. The good side is, that if any Kernel update happens on your machine, the kernel will be rebuild against the new Kernel automatically after the update because of the use of dkms.
After the procedure is finished, you should be able to use your network card instantly. If not, you should consider a reboot of your PC then.

The manual way

Well, the manual way is almost the same as it was before in the initial article. Anyway, I want to rewrite the steps here again. This is also tested against newer Kernels ( >= 4.0) which caused a lot of trouble for some people in the past.

  • 1. Install dependencies: Once more you need a working internet connection for this. You could also use the Debian or Ubuntu DVD which includes the needed packages. To install the dependencies just enter the following command:
    sudo apt-get install build-essentials
  • 2. Download the driver: You can download the driver from the official Realtek homepage. This is the link: click me. From the table, select the “LINUX driver for kernel 3.x and 2.6.x and 2.4.x” for download.
  • 3. Blacklisting the r8169 driver: The r8169 is loaded when the r8168 is not found on your system. This will give you a network and internet connection, but with the r8169 driver your RTL8168 card will be very unstable. This means slow download rates, homepages taking hours to load and so on. To avoid that the r8169 is loaded, we blacklist it. This is be done by entering the following command:
    user@linux:~$ sudo sh -c 'echo blacklist r8169 >> /etc/modprobe.d/blacklist.conf'
  • 4. Untar the archive: After you successfully downloaded the driver, cd into the directory where the driver is downloaded and untar the driver with the following command:
    user@linux:~$ tar xfvj 0005-r8168-8.042.00.tar.bz2

    NOTE: Your tar filename can of course differs if you download a newer version in the future for e.g.

  • 5. Compiling and installing the driver: Now we have to start compiling the driver. For this you cd into the extracted directory:
    user@linux:~$ cd r8168-8.042.00

    NOTE: Don’t forget to change your version number in the future here.
    Now that you are in the right directory, we can start with the real compiling process. For this Realtek brings an easy to use script which is called autorun.sh. So, to start compiling and installing the driver enter:

    user@linux:~/r8168-8.042.000$ sudo ./autorun.sh

    You should see a output which looks like this:

    Check old driver and unload it.
    rmmod r8168
    Build the module and install
    At main.c:222:
    - SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
    - SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
    sign-file: certs/signing_key.pem: No such file or directory
    Backup r8169.ko
    rename r8169.ko to r8169.bak
    DEPMOD 4.4.0-31-generic
    load module r8168
    Updating initramfs. Please wait.
    update-initramfs: Generating /boot/initrd.img-4.4.0-31-generic
    Completed.

    You can ignore the SSL error for now. The driver should be successfully compiled and installed into your system. The driver is already loaded and should work.

  • 6. Check the driver: As a final step, you could start checking if the driver is really loaded into your Kernel. For this you can use the command lsmod. lsmod lists all drivers, which are usable by your Kernel. So, if everything was successful, you should see an output like this:
    user@linux:~/r8168-8.042.000$ lsmod | grep r8168
    r8168                 491520  0

    You can also check as well your ethernet device directly to see if the correct driver is loaded (special thanks goes to Tim which posted this in the comment section):

    user@linux:~$ sudo ethtool -i enp1s0
    driver: r8168
    version: 8.042.00-NAPI
    firmware-version:
    expansion-rom-version:
    bus-info: 0000:07:00.0
    supports-statistics: yes
    supports-test: no
    supports-eeprom-access: yes
    supports-register-dump: yes
    supports-priv-flags: no

    NOTE: You have to the change enp1s0 to the device name of your network card of course. This can be eth0, eth1, enp2s0, and so on.

    If your driver isn’t loaded until now, you should go with a reboot before further investigation.

That’s it

And that’s it. Now you’re ready to use your RTL8168/RTL8111 with the official Realtek drivers. If you have any questions and / or suggestions, please let me know in the comments.

Linux Mint: MDM fails to load after login

[Linux Mint Logo]
Image source: wikipedia.org

Some annoying problem has been occured on one of the client machines I work with. Every time when I tried to login, the MDM has thrown an error which says that it was unable to login due to undefined commands and variables. The client runs Linux Mint 17, but the problem happens with 18 as well.

The problem

If I tried to login MDM failed to load Cinnamon, Gnome, MATE or whatever I tried to use. If I expanded the error login message, it reported, that it was unable to use the additional scripts for the profiles, which were stored in /etc/profile.d/. This scripts, which are made by myself for a longer time now, are using a lot of specific bash stuff (variables, built-in commands, and so on).
Sadly, the MDM XSession file comes with a /bin/sh shebang which does not have the same spectrum of commands as bash.

The solution

The solution is rather simple. If MDM yells, that it is unable to load the Desktop because of a script error due to a file which is located in /etc/profile.d you simply have to modify the XSession script which comes with MDM.
The XSession Script for MDM is located at /etc/mdm/XSession. A simple change of the shebang does solve the problem. Just change the first line of the XSession file from

#!/bin/sh

to

#!/bin/bash

and you should be able to successfully login again.

You should always keep an eye of possible MDM updates. If the MDM Login Manager is updated on your system, it’s very likely, that the XSession file is getting overwritten and you will have the do this change again.

How to get your XBox 360 Wireless Controller working under your Linux box

Xbox 360 Wireless Controller, source: wikipedia.org
Image source: wikipedia.org

 

A lot of games today need a controller … yes, even on PC you can’t ignore that fact.

One of the best controllers out there in the wild is (IMHO) the XBox 360 Wireless Controller from Microsoft. The Wired version of this controller can be easily connected through Plug & Play. The standard loaded driver xpad then can handle it.
But what do you have to do if the controller is the wireless Version?

1. First things first

You need of course a receiver which gets all the signals that are sent from your controller. This receiver is (normally) not included when you’re buying the controller. The receiver also comes from Microsoft and costs ~ 19,-€ here in the EU. I have also seen some third party products here which are way more cheaper, but actually I really can’t say if they are working that well.
After you plugged in the receiver, the kernel will recognize it but yet it is actually unable to do anything.

 

2. The driver

As I mentioned before, if you’re useing the wired controller, then you have to nothing to be worried about. Everything will work out of the box.
Anyways, for the wireless XBox 360 Controller you need a driver which is called ‘xboxdrv’.

Under Ubuntu and Debian this driver can be easily installed with apt. This means the driver is already available in the repositorys:

sudo apt-get install xboxdrv

In openSUSE the driver is also in the official repositorys as long as you are on openSUSE Tumbleweed or Leap (42.1):

sudo zypper install xboxdrv

For Fedora, Arch and any other distribution you have to check for your owner whether you need a extra repository for the driver or not.

 

3. Start the driver

Starting the driver with default settings is rather simple. The following command starts the driver with default settings:

sudo xboxdrv

If you didn’t unloaded the xpad driver before you will run into an error message that the driver couldn’t be loaded because the xpad driver is already loaded.

To unload the xpad module you can use ‘rmmod xpad’ or let the xboxdrv do that for you:

sudo xboxdrv --detach-kernel-driver

Now you should see something like the following output on your terminal window:

Controller: Xbox 360 Wireless Receiver
Vendor/Product: 045e:0719
USB Path: 005:004
Wireless Port: 0
Controller Type: Xbox360 (wireless)

Your Xbox/Xbox360 controller should now be available as:
/dev/input/js0
/dev/input/event19

Press Ctrl-C to quit, use ‘–silent’ to suppress the event output

So this means, you’re ready to go. Useing buttons and pads on the controller should create tons of output which you can ignore. Do disable this output add the ‘–silent’ option to the xboxdrv command:

sudo xboxdrv --detach-kernel-driver --silent

Now you should be able to use your XBox 360 Wireless controller with almost every native Linux game which is available.

 

4. Useing xboxdrv with WINE
For useing xboxdrv with WINE there are a lot of tutorials out there. Some of them recommend to install a mapper which will map controller keys to keyboard keys and many other solutions. For me the simpelst way was to simply add the following parameter to the xboxdrv command line:

sudo xboxdrv --detach-kernel-driver --silent --mimic-xpad

The “–mimic-xpad” option says the xboxdrv driver that he should act and perform like a controller that is connected to your Linux box as an xpad Controller. Now you should be also able to use your controller under WINE games.

NOTE: I recently bought Dark Souls: Prepare to die edition from the Humble Bundle Sping Sale. This game does not come native to Linux but works well here with WINE. To get the correct mapping of your XBox 360 Wireless controller here you have to start xboxdrv like this:

sudo xboxdrv --detach-kernel-driver --silent --mimic-xpad --buttonmap 1=3,3=1,2=4,4=2,rt=start,lt=back,start=rt,back=lt --ui-buttonmap guide=KEY_LEFTSHIFT+KEY_TAB,rt=KEY_END,lt=KEY_G

If you want to play Dark Souls I with a controller on your Linux box with WINE, you have to add the “buttonmap” section to your xboxdrv command. Otherwise the B-Button in game will be the X-Button on your wireless controller for e.g.
Of course, this “buttonmap” section only works with Dark Souls I for now. Other games, other button mapping. You should consult the AppDB from WINE to find the right button mapping for your game.

Cockatrice RPM Packages are online!

Hello out there,

well, some of you already know, that I’m useing openSUSE beside Debian and Ubuntu, too.
At the beginning of this year, I’ve added a Ubuntu PPA for easily installing Cockatrice under Ubuntu, but today, there also exists a RPM for openSUSE users out there.

For building this RPM file I’ve used the openSUSE Build Service (which is just an awesome part of software). I like the way how packages are built this way much more than the way Debian (or Ubuntu) is doing this. Also the Build Service is much better in handling for me than PPA is (I just say “Webclient”). 🙂
But well, both, PPA and Build Service, helping me a lot to build my packages and I’m happy to use both to get my packages distributed 😉

Long story short, every openSUSE Tumbleweed, Factory, 12.2 and 12.3 (RC) user is now possible to use the “One-Click-Installer” to get cockatrice installed. Just goto opensuse.org and search for the “cockatrice” package or use the “One-Click-Installer” Button below to install the package for your openSUSE version:

openSUSE 12.2:
1-Click-Installer openSUSE 12.2

openSUSE 12.3:
1-Click-Installer openSUSE 12.3

openSUSE Tumbleweed:
1-Click-Installer openSUSE 12.3

At least I have to say: Have Fun with MTG and Cockatrice on openSUSE 😉

Greetings
ReCon

PS: I would glad about a commentary if you use this Repo … just for my self statistics 😉

Cockatrice, a MTG client

Greetings everbody,

do you know about the small program Cockatrice? Well, you can play the good old “Magic The Gathering” with it … for free.

It supports Network play and you’ll also be able to create you own decks with the latest editions which are available on the market. There is no AI or automatic rule management (like in the original MTGO Client) available, but it’s more than enough if you want to try new decks or if you just want to play some games with your friends.

Actually there is know Linux binary and, or DEB / RPM package to download, so you have to build it from the source. But if you use Linux Mint or Ubuntu (or the derivates) you’ll be able to use the following PPA:

https://launchpad.net/~s-elser/+archive/cockatrice

This PPA is mainted by myself and you’re welcome to use it. To easily install Cockatrice under Ubuntu or Linux Mint, do the following in a terminal session:

sudo add-apt-repository ppa:s-elser/cockatrice
sudo apt-get update
sudo apt-get install cockatrice

Than you have to wait a little bit and you’re ready to start cockatrice.

Even if the version number (20120702) looks “old” it isn’t at all. This version is the latest stable version released from the Cockatrice devs. If there is gonna be a new version out there, I will be uploading it into the PPA as fast as possible 🙂

Greetings
ReCon