Design Failure: Removing the Minimize Button Elementary OS 5.0 Luna

Recently ElementaryOS 5.0 Juno got released. I immediately upgraded. Looked at it for two seconds and decided to go with Ubuntu.

The ‘killer’ feature that was missing was a small one – the minimize button is still not enabled by default.

Why was the minimize button removed?

Digging into this topic I found a statement about removing the default button.


a plan had already been laid out for the new standard of elementary apps: They would open and close instantly and even better, they would save their state before closing. 

Elementary Blog – Shaking up Window Controls (http://blog.elementary.io/post/107662532976/the-road-to-luna)

Basically they decided that elementary apps should act as mobile apps. Thus combining the minimize function with the close button.

Elementary OS is a desktop OS and if it wants to be successful it allows you to use all programs and not only apps designed for elementary OS.

Is it a good design decision?

Removing the minimize button is a bold move. It radically changes how the user deals with window management.

The Pros

Instead of minimize you need to use tools like multiple desktops Users could start working more with multiple desktops.

The Cons

  1. The concept of a minimize has been around since even before 1988 – It has become one of the core components of Desktop OS and Window management. Every user will have to relearn their interaction.
  2. The communication of the user with the computer is awkward and creates misunderstandings. The apps will guess what you want to do: Did you want to listen to music and keep the program open in the background or did you want to stop listening for music? The user has only one button to express both of these commands.

Probably the button is actually not used that often anymore, since most things are done with a browser and that window is always open. – I do not know I do not have any data to back that claim.

However I know that that line of thinking lead to the removal of the start button in Windows 8 and that was definitely not a good idea.

Goodbye Elementary OS

While Elementary OS has a wonderful UI and they try to focus a lot more on usability. The missing of this button makes the OS unusable for me.

In Elementary OS 0.4 Freya – I enabled the button with the command:

gsettings set org.pantheon.desktop.gala.appearance button-layout 'close,minimize,maximize'

However that made the UI look a little weird and sometimes it just did not work. I just assumed that when a lot of people are googling for the problem and mentioning it – that eventually they will reconsider their choice. However currently it does not seem to be the case.

So back to Ubuntu – that UI also has flaws, but it got it right to have a minimize button.

Ubuntu 18.10: NVidia RTX Drivers

NVidias newly released RTX Graphics cards will not be automatically detected by Ubuntu. In order to get the cards running properly you need to install the NVidia drivers with the version 410 or newer.

In order to install the driver you must run following commands:

sudo add-apt-repository ppa:graphics-drivers
sudo apt update
sudo apt install nvidia-driver-410 
sudo reboot

Things to do after installing Elementary OS 0.4.1 (Loki)

When you start out with elementary OS there are a couple of useful things that you should do to have a better experience working with your system.

General

“Software & Updates” for Additional Drivers

The easiest way to install the proprietary NVidia Drivers (in Ubuntu) is to go to System Settings > Additional Drivers and then simply select the driver.

This option is not available in Elementary. However, by installing the package software-properties-gtk you can get the program.

sudo apt install -y software-properties-gtk

Now by clicking on Applications on the top right, and then type “Software & Updates” you can access the Settings.

Easy way to add PPA

With the command line tool add-apt-repository you have a quick way to add additional PPA’s. To get this tool you need to install the package

sudo apt-get install software-properties-common

MS Fonts

sudo apt-get install ttf-mscorefonts-installer

Add a Minimize Button to Windows

Some of the Elementary Windows do not have an easy way to minimize the window. With Elementary Tweaks, you can add a button to the windows.

Officially the elementary team does not encourage users to use the tweaking tool. It exposes switches to functionality that could mess up your system – use the tool with caution.

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

Chromium Browser

sudo apt install chromium-browser
sudo apt remove epiphany-browser -y

Screenshot Tool

sudo apt remove screenshot-tool
sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update
sudo apt-get install -y shutter

Video Lan

sudo apt install -y vlc
sudo apt remove audience -y

Web Development Tools

Visual Studio Code

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code

git

sudo apt install git

NodeJS

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

System Update

sudo apt-get update
sudo apt-get dist-upgrade

Remove Programs

sudo apt remove pantheon-mail -y
sudo apt remove maya-calendar -y
sudo apt autoremove

Other

Productivity

sudo apt install libreoffice
sudo apt install gimp inkscape shutter

Codecs

sudo apt-get install ubuntu-restricted-extras ffmpeg

Elementary: Changing the Layout of the Window Controls

While Elementary focuses a lot on UI and is beautiful to use. It is totally mind-boggling that they decided to remove the minimize button.

By changing the value for “gsettings set org.pantheon.desktop.gala.appearance button-layout” you can adjust the button layout to your preference. The value would be in the format of [leftElements] : [ rightElements ]

So the default Elementary setting would be:

gsettings set org.pantheon.desktop.gala.appearance button-layout close:maximize

While the Windows Layout would be

gsettings set org.pantheon.desktop.gala.appearance button-layout :minimize,maximize,close

Sadly the official Elementary Apps do not support this setting, so a program like VSCode would have its Icons on the correct side, while the Pantheon-files still has the same button Layout as before. But well it is a good start.

Elementary OS: Things to do after installing Elementary OS 0.4 (Loki)

When you start out with elementary OS there are a couple of useful things that you should do to have a better experience working with your system.

General

“Software & Updates” for Additional Drivers

The easiest way to install the proprietary nVidia Drivers (in Ubuntu) is to go to System Settings > Additional Drivers and then simply select the driver.

This option is not available in Elementary. However, by installing the package software-properties-gtk you can get the program.

sudo apt install -y software-properties-gtk

Now by clicking on Applications on the top right, and then type “Software & Updates” you can access the Settings.

Easy way to add PPA

With the command line tool add-apt-repository you have a quick way to add additional PPA’s. To get this tool you need to install the package

sudo apt-get install software-properties-common

Add a Minimize Button to Windows

Some of the Elementary Windows do not have an easy way to minimize the window.  With Elementary Tweaks you can add a button to the windows.

Officially the elementary team does not encourage users to use the tweaking tool, since it also exposes switches to functionality that could mess up your system, so use the tool with caution.

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

Microsoft Font Compatability

sudo apt-get install ttf-mscorefonts-installer

Replace Screenshot tool

sudo apt remove screenshot-tool
sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update && sudo apt-get install -y shutter

Chrome

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome-stable

Skype

wget https://go.skype.com/skypeforlinux-64-alpha.deb
sudo dpkg -i skypeforlinux-64-alpha.deb

Office

sudo apt install libreoffice

Graphic Editors

sudo apt install gimp inkscape shutter

Video

Video Lan

sudo apt install -y vlc

Codecs

sudo apt-get install ubuntu-restricted-extras ffmpeg

Other

Redshift

A simple program to prevent Eye Strain

sudo apt install redshift gtk-redshift

Laptop Battery Saver

sudo apt install tlp tlp-rdw

Last Steps

Remove Programs

sudo apt remove pantheon-mail -y
sudo apt remove maya-calendar -y
sudo apt remove epiphany-browser -y
sudo apt remove audience -y

Update your system

sudo apt-get update && sudo apt-get dist-upgrade

Some content has been disabled in this document

Elementary OS: Windows Apps with Play on Linux

One of the major issues when using Linux is that you would like to use Software that was written for Windows. Thankfully more and more new Software is cross-platform compatible. However especially older Software and most newer Games will not support Linux.

If you are dependent on using Windows Software then you have several options available. Dual-Boot Windows and Linux, use a Virtual Machine (like VirtualBox or try  WineHQ

Wine essentially translates the Windows Commands to Linux Commands at run-time. Eliminating the penalty of using a virtual machine. The downside of Wine is, that not all new programs run properly. However, it seems games that were written for Windows XP work better with Wine than with Windows 10.

The last time I was playing with Linux I found it very difficult to configure and find packages. You need wine, wine-tricks, then install some other windows package into wine etc.  This time I found another project Play on Linux that provides an easy to use GUI with quick Installers for many different programs.

The other thing which makes “Play on Linux” great, is that it can create multiple virtual drives, for your various programs. So you can use different versions of Wine, or configure the different drives to emulate a different version of Windows, use different components etc.

Install Play on Linux

wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
sudo wget http://deb.playonlinux.com/playonlinux_trusty.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

Battle.net games

Play on Linux shines the most when it already provides an installer that automatically configures Wine correctly to install all components that the program simply runs without any additional work.

You just locate Hearthstone, Diablo or Starcraft from the list and press install and the program will work without any issues.

Windows Steam Games

Step 1#

Install Windows Steam. Play on Linux provides easy installers for Steam, simply search for steam in the installer menu and press install.

Step 2

You will have to look up in the Wine AppDB if your game is supported by Wine.

If it is supported you then can log into steam and install games from your library just like in windows.

Step 3

Usually, you will need to install some sort of additional windows package to get the program running.

In my case, I wanted to install Tron 2.0, in the documentation for the program. Something like needs “winetricks directmusic” was mentioned.

To install “directmusic” you need to select Steam and click on Configure. Then switch to the Install components Tab and then select the component from the list and press install.

In some cases, like with my Tron 2.0 example, this is not enough and you have to google some more to find some helpful [article] (http://www.gamersonlinux.com/forum/threads/tron-2-0-guide.628/) that then tells you to install additional components  and not to use the Windows XP emulation but the Windows 7 emulation.

Custom Installers

Of course, you may have your own Programs, you can simply click on “Install non-listed program” navigate to the installation files and install your program.

Access to Files

Play on Linux installs a handy shortcut into your home directory so that you can easily access the various virtual hard drives of the Play on Linux instances, if you have the need to copy&modify files.

Conclusion

While Wine is not perfect and not everything runs smoothly and out of the box like when using Windows directly. It is worth fiddling around with Wine/Play on Linux to not have to dual boot or get a VM running.

Elementary OS: Loki

Elementary OS is a new Operating System that wants to be an alternative to Window or OSX. The team behind the project puts a high emphasis on Usability and Design.

Over the next couple of days, I will try to actually switch to the system. Elementary is based on Ubuntu, which in turn is based on Debian, so all *.deb packages and programs can be installed without any problems. As with all Linux, Distributions Elementary is free. However, the developers require you to think about it if you would like to support their efforts or not. If not you enter a 0 into the download field.

For my initial setup, I will essentially install all the common programs I use on a day to day basis.

How To install Elementary.io

Step 1 Download the ISO

Go to www.elementary.io and download the current Version. If you have some money to spare you can donate to the project. If not enter a 0 and you can download the iso for free.

Step 2: Prepare a USB Stick

Go to https://rufus.akeo.ie/ and download the Rufus tool, this allows you to easily create a bootable USB stick.

Step 3: Install

Well for the last step you really just have to boot from the stick and follow the instructions.

First Steps

Remove Default Programs

The team focuses a lot on providing a suite of programs that also follow it’s design principles.

I would prefer to use Chrome as my Browser, and VideoLan for videos and I do not need an email client or a dedicated calendar.  I removed them with these commands:

sudo apt remove pantheon-mail -y
sudo apt remove maya-calendar -y
sudo apt remove epiphany-browser -y
sudo apt remove audience -y

(The program “audience” is the default video player)

Install General Programs

Chrome

Since Chrome has some Google stuff in it you first have to add it to apt with this command:

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome-stable

VideoLan

To install VideoLan simply enter the following command:

sudo apt-get install vlc -y

###Skype Microsoft has just recently announced that they will create a Skype Client for Linux. For now, there is only the official “Skype for Linux Alpha”. Essentially the program is still barebones and is in very early stages of development. – If you install it do not expect that everything will be working.

wget https://go.skype.com/skypeforlinux-64-alpha.deb
sudo dpkg -i skypeforlinux-64-alpha.deb

Shortcuts

| Shortcut | Command | | ==== | ==== | | ⌘+Space | App Launcher | | Alt+Tab | Window Switcher | | ⇧+Alt+Tab | Switch Windows Backwards| | ⌘+Left/Right | Switch Workspace | | ⌘+S | Workspace Overview | | Ctrl+⌘+Left/Right | Snap Window to Half of Workspace | | ⌘+T | Terminal |

Conclusion

The OS looks awesome, it feels like a system you actually could work with for a longer period of time. In the past, I have always tried Linux for a couple of days and then said, well interesting, but a lot of my programs simply do not work and I would like to go back to Windows.

Let’s see how long this time the experiment is going to last and if Linux has become more user-friendly over time.

EdX: Introduction to Linux

I recently completed the course “Introduction to Linux” by the Linux Foundation on the edX platform. Instead of paying 2500USD for the course you now can pay 250USD for a verified certificate, or simply get an honor certificate.

https://www.edx.org/course/linuxfoundationx/linuxfoundationx-lfs101x-introduction-1621#.U-YKjfmSyyY

Course Structure

The course is self-paced, you can take the exam any time and at the end of the month, the certificate is going to be issued.

Course Materials

Unlike other edX courses, most of the materials are short articles covering the core topics. There are short videos, however, they are mostly useless.

Learning Objectives

Sadly the first couple of Lessons are more like Advertisements that Linux is great and that Linux is used everywhere and being able to use Linux is an important skill. The rest of the course covers the basic operations when interacting with a Linux system. The course briefly takes a look at the graphical interfaces of three major Linux distributions Ubuntu, CentOS and openSUSE. As expected most of the course covers how to interact with the Console covers the basic interaction with the console, file operations, security principles, text manipulation and concluding with bash scripting.

Final Exam

The final exam is a 30 question multiple choice test. Sadly some questions are easier to be answered using Google than the actual course material. People with a basic understanding of Linux could just skip the entire course and just take the exam. It’s rather straightforward.

Conclusion

The course is a great introduction to the Linux System. The course is designed for IT-Specialists (Programmers, Web-Developers, and Administrators etc.) that have not worked with Linux and need a quick introduction how to work with the system. Sadly with the emphasis on using the console most users interested in using Linux as an alternative to Windows/OSX will simply say “Oh god, what a hassle, I’ll stick to my current system.” Once again Linux does not realize that GUIs have been invented to solve an issue where most people find it confusing when they do not see what they are doing. Most users interacting with a computer are not aware that it is possible to interact with a computer without GUI, telling those users that sometimes you simply do not have a GUI confuses them. Most of the success of Linux as the core of Android is the GUI and that users have a simple way installing programs and are not able to access any console/text only mode. Once again the core of Linux is great, however, the presentation and usability are that what is lacking.

SteamOS: Beta

Valve has released a beta version of their OS. Hyped as the “killer app” for Linux and many hoped it will be the replacement for Windows. In reality, SteamOS is not going to be the Windows Desktop replacement OS. It is going to be an OS to be used with your TV and game-pad. Exactly like Valve has originally advertised the system, an OS for a “steam machine”; a computer controlled primarily by a game controller. The system is designed to compete with other consoles like the XBox or Playstation. The system is now in its beta state. Mostly Linux enthusiasts and hardware distributors are probably interested in the system. The OS will be delivered to the majority of users on a pre-installed “steam machine”. Most Users will never have to interact with the underlying Linux environment and the computer will only be used for gaming purposes. However, time will tell how this development will affect the overall perception and acceptance of the Linux platform. Hardware developers like Nvidia and AMD have already announced a better driver support for the Linux platform. Hopefully, major software developers will follow suit. System Requirements From the official site the hardware requirements are as follows:

  • Intel or AMD 64-bit capable processor
  • 4GB or more memory
  • 500GB or larger disk
  • NVIDIA graphics card (AMD and Intel graphics support coming soon)
  • UEFI boot support
  • USB port for installation

Oddly the requirements stated is the need for a 500GB disk. However, after installation the OS requires only around 2.7GB, making the installation on a smaller disk is technically possible. Valve has not yet said anything more specific why 500GB is needed. It looks like the requirements are more of a guideline for a suitable gaming system. Installation There are two ways of installing the OS either restoring an existing image or doing a clean install.  Many users were reporting issues with the restore method as well as the requirement of a 1TB disk to restore the image. Thus it is easier to do a clean install.

Clean Install

  1. Prepare a disk, the installation will automatically partition your drive, no matter what the previous system is installed. (= everything is going to be deleted)
  2. Download the installation files from http://repo.steampowered.com/download/SteamOSInstaller.zip
  3. Extract the zip file to an USB-disk (formatted as FAT32)
  4. Boot the system from the USB-disk and follow the automatic installation setup

First Start

  1. Select the Gnome Desktop
  2. Log on as user “steam”, password: “steam”
  3. Log on as user “desktop”, password: “desktop”

Initial Impression

Sadly the Steam Interface never loaded on my system. I did not spend a lot of time on tinkering around with it, as it is currently in the state of preview/beta software. I hope Valve gets a lot of feedback and can fix these issues. However most of the experience is positive, the install procedure was smooth and automated and you did not have to know anything about computers to get it running except how to “boot from USB-stick”. Mostly user-friendly, however, they currently have not put a lot of work into their installer and a couple of more options would be nice.

Conclusion

Sadly I can’t say a lot about the new OS – it is beta software and I could not get it to work with my PC – However, it is going to be an interesting development to watch in the next couple of years.

Official Links

Ubuntu 13.04: Post Install Setup

After the installation of Ubuntu, you want to start being productive as fast as possible. There are three things you need to do:

  1. Install the Programs you need
  2. Remove the unwanted pre-installed Programs (for example Amazon Integration, Rhythm box)
  3. Install all System Updates

While you could use the Ubuntu Store to install all programs by clicking through various screens. You will have a great performance gain by using the console and the “apt-get” package manager.

In the spirit of never having to repeat myself, I simply collected all the console commands I needed to complete the three steps.

Ubuntu 13.03 Post Install Script

Your personal setup will be slightly different to my setup, feel free to modify and adjust the script to suit your needs.