KDE Containerization Talk at Akademy 2018

Being invited to the most eventful time in vienna

Posted by Shubham Chaudhary on September 27, 2018

This July I got the opportunity to be a part of the biggest gathering of KDE developers - Akademy 2018. The akademy conference gathers hundereds of KDE developers together for almost an entire week.

It was held at TU Wien (Techincal University of Vienna) in the beautiful city Vienna, Austria from Saturday 11th to Friday 17th August 2018.

TU Wien Front Gate

The akademy conference as usual has 2 days of talks by KDE contributors followed by the rest of the week comprising of BoF informal sessions, team outing and a lot more.

Talk: Containerizing KDE

At the conference Anu amazing enough to let me be a part of her talk. You should definitely go subscribe to Anu’s blog. We presented a talk regarding containerization of KDE applications.

In this talk we discussed various containerization techniques. We also demonstrated how containerization of KDE can be useful for developers and end users.

Overview

Setting up a development environment for a software can be time-consuming and at times a bit confusing. There are many libraries and packages that need to be installed and which might also cause conflict with the existing system packages. There are various ways to containerize an application, we discussed two major approaches - Docker and Flatpak.

Docker

Docker helps a developer by setting up a sandboxed development environment in a container which can be used for debugging, testing or developing a new feature. You can run multiple such environments in parallel e.g. stable & development environment.

Installing Docker

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
    
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce

sudo docker run hello-world

You can checkout more specific information on docker website here

Running KDE applications using docker

KDE Neon is a project focused on building tooling to make it easy to run KDE applications on docker.

wget https://cgit.kde.org/docker-neon.git/plain/neondocker/neondocker.rb
chmod +x neondocker.rb
sudo gem install docker-api
sudo apt-get install ruby-dev

./neondocker.rb okular

You can find out more information here about KDE Neon Dockerization.

Flatpak

Flatpak provides a sandbox environment in which users can run applications in isolation from the rest of the system. Flatpak is tightly coupled with linux and mainly focuses on bundling and sandboxing of desktop applications on linux hosts.

Installing Flatpak

sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
    
sudo apt install gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# sudo reboot now

You can checkout more specific information on flatpak website here

Running KDE applications using flatpak

There is a wide list of KDE applications available via flatpak. To run an application like Okular, you need to run just one command:

flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo
flatpak install kdeapps org.kde.okular

You can find out more information about KDE and Flatpak here


Come be a part of the KDE community :)

Coding is not the only way to contribute to KDE. Vienna, Austria You can find out many many different ways in which you can contribute to KDE. I can name like 10 things:

  1. Bug Reporting
  2. Bug Triaging
  3. Donation
  4. Translation
  5. Visual and Human Interface Design
  6. Documentation
  7. Promotion
  8. Accessibility
  9. Development
  10. Add your project to KDE Incubator

Checkout the community wiki for more information about contributing to KDE.

KDE India