parasurv's webspace

Elementary OS

Table of Contents

Updated: 2020/05/04 Added a graphical way to manage Systemd services

This is my Elementary OS page, with some modifications, ideas, fixes for problems, etc. Nothing revolutionary though.

What is Elementary OS?

Elementary OS is an Ubuntu based distribution with a focus on simple and clear graphical interface. It has its own desktop environment, named pantheon, and uses Plank as its dock system. It has its own package manager in AppCenter.

There are many softwares that works specifically on Elementary OS (see below).

elementary-5.1-live-desktop.png Image source: Distrowatch

Download Elementary OS

Elementary OS resources

These are some of the sites that can be useful for Elementary OS users or who are interested in this distribution.

Before you install a 3rd party program…

You need to know an important thing. Elementary OS Juno and Hera (I recommend using Hera) are based on Ubuntu 18.04 LTS. It's an older distro which has a long-term support from Canonical, the makers of Ubuntu. However it means that most programs are old, outdated and you might want to use a newer version.

When you install a 3rd party software on Elementary OS, it's important to know that you use the proper PPA, or deb version for it, so you need to look for Ubuntu 18.04 (bionic) version.

Elementary OS 6.0 will be based on the upcoming Ubuntu 20.04 LTS, and there is no release date yet.

Customization

Wingpanel indicator

In default Elementary OS' panel (called wingpanel) doesn't have indicator support in Juno/Hera, which means that if you run programs like Steam, KeepassXC, etc, that places there icon's there, you won't see it, and you won't be able to interact with that program in that way.

However there is a simple solution for that to make it work. We use the terminal for that, quick and easy:

  1. First we need to enable to show the indicators, by using these simple 3 terminal commands:
mkdir -p ~/.config/autostart

cp /etc/xdg/autostart/indicator-application.desktop ~/.config/autostart/

sed -i 's/^OnlyShowIn.*/OnlyShowIn=Unity;GNOME;Pantheon;/'
~/.config/autostart/indicator-application.desktop
  1. You need to download and install the wingpanel-indicator-ayatana package, which is no longer available for Juno. Just download and install the deb package:
wget http://ppa.launchpad.net/elementary-os/stable/ubuntu/pool/main/w/wingpanel-indicator-ayatana/wingpanel-indicator-ayatana_2.0.3+r27+pkg17~ubuntu0.4.1.1_amd64.deb

sudo dpkg -i wingpanel-indicator-ayatana_2.0.3+r27+pkg17~ubuntu0.4.1.1_amd64.deb

After installation, you need to log out and log back in, and you will see the indicators after that. The 2020 March update made sure that the icons have proper space between them, and not the giant space like before.

How to customize Plank dock?

Plank dock is an integral part of Elementary OS, since we don't have a dedicated panel for running applications. You can start and switch software from the dock, but of course we want to customize things.

To get to the Plank Preferences, we need to use the Ctrl+right click on any part of the panel (or icons) and choose "Preferences".

We will get 3 tabs, that make it easier to

Appearance

This is where we can choose between themes. The themes are in the

~/.local/share/plank/themes

directory. If you download a theme, you need to extract it here.

You can also change the position of the dock, which screen part do you want to. If you have multimonitor setup, Plank works with that too.

And you can change the icon size, or you can make the dock a panel like element, within Alignment -> Fill.

Originally there is an option for Zooming icons in Plank, but Elementary's and Fedora's version didn't come with that, because it is under Apple's patient.

Behavior

This is where you can hide your dock, or modify if you want them to appear on all workspace (note Elementary OS in default has dynamic workspaces, which means if you close the last program on your second workspace, it will disappear if you leave that workspace). You can also lock icons, which is useful for elderly and children, not to make a mess of the dock.

Docklets

These are little apps that you can put on the dock. You can have a traditional menu (without search), or it can show you battery life, or clock, or the "show desktop" button. You can place them anywhere you want on the dock.

How to start a program with a shortcut?

First of all, sadly Elementary OS lacks a proper custom shortcut interface, along with a proper menu editor. However we can solve that easily.

elementary-custom-shortcut.png

Go to Settings -> Keyboard -> Shortcuts, and left side, Custom. Here is where you can add your shortcuts, however you still need to type in the proper, full path for the program executable, which is not very user friendly at all.

elementary-appeditor.png

To know the path we need to install AppEditor from AppCenter. This is an Elementary centric menu editor. Quite useful. Just search inside the program you want the shortcut to make and copy the Command line section and paste it in the custom shortcut section, then add the shortcut you want to that program.

How to handle Systemd services? (graphical way)

Thanks to Dirli, we can manage our systemd services right from the system settings GUI. Source

  1. We need to install some dependencies: $ sudo apt install libswitchboard-2.0-dev libgranite-dev libgtk-3-dev libgee-0.8-dev libpolkit-gobject-1-dev meson valac
  2. Then download the source into a directory (a permanent place): $ git clone https://github.com/Dirli/switchboard-plug-services.git
  3. Configure and build it: $ cd switchboard-plug-services $ meson build –prefix=/usr $ cd build $ ninja
  4. Then install it: $ sudo ninja install

You don't have to restart your computer, just start System Settings and you will find it Administration.

Favorite or recommended software I use

Elementary OS prides itself of its own software repository and AppCenter. AC is good enough for software discovery, and I periodically check it if something new pops up. People create programs for all kinds of needs. Currently the biggest problem is maintainence, so many problem abandoned from the Freya and Loki days.

Here is a list I can recommend to check out. You can install them via AppCenter, or otherwise from a PPA.

For using a PPA you need to enable it, with the following command

sudo apt install software-properties-common

These are just some of the software I recommend. Go to the AppCenter and browse yourself!

Note: images coming soon(tm)!

Customization

Elementary Tweaks It's a utility that you can use to customize your desktop outlook, and some of its behavior. You can change your fonts, themes, desktop animations, etc. While you can start as a separate option, it is directly built into System Settings.

screenshot.png

These are the terminal commands you need to use, for installation.

You need to add a PPA:

sudo add-apt-repository ppa:philip.scott/elementary-tweaks

Then update the repository list:

sudo apt update

And finally install Elementary Tweaks:

sudo apt install elementary-tweaks

You don't need to restart, or log out, you can use Tweaks immediately.

Happy customizing!

Desktop Folder If you don't like that you have no icons on your desktop, DF will help you turn back on. It has additional features, like placing images and notes on the desktop, and you can make containers with icons, so grouping is easier than before. It's a neat little program, and adds greatly to Elementary OS customization options. For me it's a little bit hit and miss, because when I switch to another workspace, everything disappears.

Utilities

Eddy In default Elementary OS doesn't support deb package install in a graphical way. With Eddy you can just click on a deb file in Files and Eddy will install it for you. You can add multiple files and install them at once.

Badger This little utility help you remind you to stretch or relax. For your eyes, fingers, neck, arms, neck. It's not bad, but I think it should be a little more detailed.

Media

Raddiu This is for people who are still listening to radio. After all not everyone is a podcast junkie. :) Simple software, you can search for your favorite station, or just filter it using country, style, etc. The database looks very up to date.

Ciano This is a multimedia converter. You can use it to convert from and to many formats. Works with audio, video and image formats too.

Torrential If you are using Bittorrent, this client is a simple way to do that. It's very barebone, but functional.

Fondo This is a simple software for downloading wallpapers from a repository of pictures. You can search, filter by orientation, look at categories, and even your history. Useful if you want something nice on your desktop.

Ideogram Personally I am not a fan of the emojies, but if you want a simple way to use it, you can install Ideogram, it has tons of them, and basically you can copy and paste it whereever you want to.

Writing

Quilter A nice, stylish markdown editor. If you want to learn this language, I highly recommend it.

Notes-Up A more complex markdown editor, note taking program than Quilter. You can have many notebooks, tags, etc, and you can search between these.

Planner If you have a lots of things to do, best way is to organize in some way. Here is Planner, a task and project manager, which support Todoist.

Minder It's a Mindmapper software. I am barely familiar with those, so I don't know if this worth your time or not, but it's cool to see a program like that in AppCenter.

Social media

Tootle Are you tired of Twitter? Do you want to met a diverse group of people? Mastodon is might be just right for you. There are many topical instances or go and choose some general one. Tootle is a Mastodon client, with multi-account support, and a good look.

Humanitary theme

Humanitary was a theme for Elementary Loki (0.4), it's based on the original theme, but it was colored like it was the old Ubuntu, light brown (or chocolate brown for the dark version). It's quite good looking, but since it's not maintained anymore, it has problems on Juno-Hera. My aim is to learn enough about theming that I can fix some of these stuff on the theme, and maybe maintain it for the future. It's not a promise though, so don't expect anything serious. There is also an icon theme on the same page.

Themes for Elementary OS

Helium Theme

Based on the default theme, with simpler graphics and the OS X window buttons (in fact worth switching to that layout). It has separate light and dark versions.

Download from github

eOS Sierra GTK

An OS X like theme. I haven't tried it yet, but looks good.

eos-sierra-gtk.png

Download eOS Sierra GTK

Elementary-X

Original theme with OS X window buttons. It has a dark version too. This theme needs maintainer! (the site has older screenshots)

Download from github

Elementary rgb

A weird theme in my opinion, colored with vertical gradient headerbar.

Download from github

Surface Pro like Burgundy theme

The screenshots shows the dark version, but there is a normal version too.

burgundy-theme.png

Download Burgundy theme

Firefox theme for Elementary OS

If you are using Firefox, there is a nice theme, that makes Firefox absolutely blend in with Elementary OS.

Screenshot_hera.png

Read it here.

Gaming on Elementary OS

My personal experience is that Elementary OS is very good for gaming, no matter if you want to use native games, or Windows games. I personally have an nVidia card, and the below guide will be mostly about that. I play games from Steam, GOG, both with and without Proton, DXVK. I also use Feral's gamemode, which might help in some instance.

Most of these stuff needs a terminal, but don't worry we will get through this!

These guides are for Elementary OS 5.0 Juno or Hera (5.1)!

For enabling PPA support, use this terminal command:

sudo apt install software-properties-common

Update your system

Before we start make sure you have a totally upgraded system. Just start AppCenter and checked the Installed tab for any new stuff…

Installing nVidia proprietary drivers

Let's face it, we have no other choice as the green monster card users, that to use the closed source drivers. It's still the best option, so shut up about it!

We will use the terminal for this, just make sure you don't miss any of the steps and you will get through this in one piece! Ready?

Add the PPA that has the proprietary nvidia drivers:

sudo add-apt-repository ppa:graphics-drivers/ppa

Enable 32-bit support:

sudo dpkg --add-architecture i386 

Update repository sources:

sudo apt update

Install the drivers (at the time of writing, I had the version 435 installed, this is an example):

sudo apt install nvidia-driver-435 libnvidia-gl-435 libnvidia-gl-435:i386

To install Vulkan support (some newer games support it, plus it helps for DXVK for Windows games):

sudo apt install libvulkan1 libvulkan1:i386

And finally, reboot your computer.

For AMD and Intel drivers, check the Lutris Wiki!

Wine, the tricky sheep

This really shouldn't be that difficult, but for some reason it is. I use the wine-staging branch for my system.

This is from the Winehq wiki:

Download and add the repository key (2 commands!)

wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

Then add the PPA for Wine:

sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic
main'

Install Winehq staging:

sudo apt install --install-recommends winehq-staging

However this doesn't end our journey, since we will have some dependency issues. According to the wiki (linked above), Ubuntu 18.04 (and also Elementary Juno and Hera), doesn't have FAudio as dependency, so we need to install it, according to this guide:

We need to download to files for 64 and 32 bit support: https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu18.04/amd64/libfaudio019.07-0~bionicamd64.deb https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu18.04/i386/libfaudio019.07-0~bionici386.deb

Graphically we can't install deb packages on Elementary, but there is a good utility for that in AppCenter called Eddy. Install that, then go into the folder you downloaded the deb files above, and click on both of them. This will add it in Eddy, and then just click install.

Go back to terminal and install wine-staging:

sudo apt install --install-recommends winehq-staging

Now it will successfully install wine-staging on our system!

Lutris, your games in one place

Lutris is a program that collects your gaming library on your computer, no matter if it's native or wine, if Steam or GOG, it will be all in one place. Other than that you can manage your own prefixes, although I don't do that.

For installation use these commands in terminal (these are from the website):

Add Lutris PPA:

sudo add-apt-repository ppa:lutris-team/lutris

Update repository sources:

sudo apt-get update

Install Lutris:

sudo apt-get install lutris

Through the Lutris website it's one click to install games from the proper source. Note, that for GOG games, you need to give your account name and password.

For importing games to Lutris, use the plus sign on the headerbar and "Import games…", then select the games you want to handle Lutris.

The latest Lutris version have DXVK (a directX to Vulkan stuff, very useful for modern games), by default! One less thing to worry about!

Feral's Gamemode

This little gem might help you give some little extra performance for gaming. Made by Feral Interactive (who ported many games to Linux and OS X):

"GameMode is a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS and/or a game process.

GameMode was designed primarily as a stop-gap solution to problems with the Intel and AMD CPU powersave or ondemand governors, but is now host to a range of optimisation features and configurations."

We are going to build this from source, so we need a terminal:

First we need some packages for building:

sudo apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev
libinih-dev

Choose a directory, and use these commands for building (every line is one command):

git clone https://github.com/FeralInteractive/gamemode.git
cd gamemode
git checkout 1.5.1 # omit to build the master branch
./bootstrap.sh

After installing we have a couple of options to run games with Gamemode.

If you want to use with a native game or a Wine game from command line, you need to use it like this:

gamemoderun ./game

If you want to use it for Steam games, edit Launch Options:

gamemoderun %command%

For Lutris, you need to go to Preferences -> System Options, then you edit Enviromental variables:

LD_PRELOAD /usr/lib/x86_64-linux-gnu/libgamemodeauto.so.0

This make sure that every game you start from Lutris, you will have Gamemode enabled.

Steam

This one is really easy, just go to the terminal:

sudo apt install steam

Or you can use AppCenter and search for Steam Installer.

Make sure your video card driver is installed and up to date (see above if you use nvidia), otherwise Steam will give you a warning message when you start it.