Neon/Docker: Difference between revisions
m (Update screenshot showing KDE running in containers. Also swap the ruby install and the gem install command as the ruby install has to come before the gem install) |
m (Update the styling and headers to make it easier to follow the guide. Also move the ubuntu installation steps to its own box that also show instructions on rpm based systems.) |
||
Line 28: | Line 28: | ||
Default user is ''neon'' and password is blank. The user has password-free sudo access. | Default user is ''neon'' and password is blank. The user has password-free sudo access. | ||
=== Dependencies & Setup === | |||
Before starting you need to make sure you have docker, ruby, ruby development, and xephyr installed on your system | |||
{{Input|1=<nowiki> | |||
#Ubuntu-based systems | |||
sudo apt install docker.io ruby-dev xserver-xephyr | |||
#rpm-based systems (tested on fedora) | |||
sudo dnf install docker ruby-devel xorg-x11-server-Xephyr | |||
</nowiki>}} | |||
To give it a try first set up Docker as you would for your distro | To give it a try first set up Docker as you would for your distro | ||
{{Input|1=<nowiki> | {{Input|1=<nowiki> | ||
sudo usermod -aG docker $(whoami) | sudo usermod -aG docker $(whoami) | ||
newgrp docker | newgrp docker | ||
systemctl unmask docker.service | sudo systemctl unmask docker.service | ||
systemctl unmask docker.socket | sudo systemctl unmask docker.socket | ||
systemctl start docker.service</nowiki>}} | sudo systemctl start docker.service</nowiki>}} | ||
This will download the latest unstable image from Docker Hub: | This will download the latest unstable image from Docker Hub: | ||
Line 42: | Line 49: | ||
docker pull kdeneon/plasma:unstable</nowiki>}} | docker pull kdeneon/plasma:unstable</nowiki>}} | ||
The neondocker or x11docker [https://github.com/mviereck/x11docker] script lets you run Neon docker images easily, this is pre-installed on recent KDE | The neondocker or x11docker [https://github.com/mviereck/x11docker] script lets you run Neon docker images easily, this is pre-installed on recent KDE neon installs but works on any distro | ||
neon installs but works on any distro | |||
{{Input|1=<nowiki> | {{Input|1=<nowiki> | ||
wget https://invent.kde.org/packaging/docker-neon/-/raw/master/neondocker/neondocker.rb -O neondocker | wget https://invent.kde.org/packaging/docker-neon/-/raw/master/neondocker/neondocker.rb -O neondocker | ||
chmod +x neondocker | chmod +x neondocker | ||
sudo gem install --version '1.22.0' docker-api</nowiki>}} | sudo gem install --version '1.22.0' docker-api</nowiki>}} | ||
=== Running KDE neon on Docker === | |||
By default it will run a full session inside a Xephyr window. | By default it will run a full session inside a Xephyr window. | ||
{{Input|1=<nowiki> | {{Input|1=<nowiki> | ||
Line 66: | Line 72: | ||
./neondocker -w</nowiki>}} | ./neondocker -w</nowiki>}} | ||
* For the container to persist after you have closed the window add -k | === Tips on using neondocker script === | ||
* To update to the latest build add -p | * For more help using neondocker:{{Input|1=<nowiki>./neondocker --help</nowiki>}} | ||
* To use the Neon All build which has more apps add -a | * For the container to persist after you have closed the window add <code>-k</code> | ||
* To run a different edition add -e unstable/plasma_lts | * To update to the latest build add <code>-p</code> | ||
* To use the Neon All build which has more apps add <code>-a</code> | |||
* To run a different edition add <code>-e unstable/plasma_lts</code> | |||
<br> | |||
You can also commit your Docker images if you make changes you would like to come back to such as installing applications. For more information on using Docker see [https://docs.docker.com/engine/userguide/ Docker Engine user guide.] | You can also commit your Docker images if you make changes you would like to come back to such as installing applications. For more information on using Docker see [https://docs.docker.com/engine/userguide/ Docker Engine user guide.] | ||
For an interactive session where you have access to your coding directory ~/src run | For an interactive session where you have access to your coding directory <code>~/src run</code> | ||
{{Input|1=<nowiki> | {{Input|1=<nowiki> | ||
xhost + | xhost + | ||
docker run -ti -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/src:/home/neon/src -e DISPLAY=:0 kdeneon/plasma:unstable bash</nowiki>}} | docker run -ti -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/src:/home/neon/src -e DISPLAY=:0 kdeneon/plasma:unstable bash</nowiki>}} |
Revision as of 02:16, 11 November 2021
KDE neon on Docker
Do you want to test KDE applications from master without installing KDE neon Dev Unstable edition? Maybe you have Dev Unstable edition installed but want to develop on your stable branch? Maybe you like your larswm setup but wonder if Plasma is the desktop for you and are looking for an easy way to test it out? KDE neon Docker images are the solution to quickly give you access to use or develop another branch without reinstalling your system or spending hours compiling.
The above screenshot shows a computer running its normal Plasma desktop with three KDE neon Docker containers. One is a full Plasma session of KDE neon User Edition, one is a full Plasma session of KDE neon Developer Unstable edition and one is a single app from Developer Stable edition running Okular.
KDE neon Docker Images comes in two variants each with the same Plasma editions as our archives. Plasma images (~2GB) come with the same software as our installable ISOs, Plasma and minimal applications. All Applications images (~4GB) come with all applications built on KDE neon. Note that all applications image is outdated.
Plasma minimal | All applications |
---|---|
kdeneon/plasma:unstable | kdeneon/all:unstable |
kdeneon/plasma:testing | kdeneon/all:testing |
kdeneon/plasma:user | kdeneon/all:user |
kdeneon/plasma:plasma | kdeneon/all:plasma |
kdeneon/plasma:developer | kdeneon/all:developer |
kdeneon/plasma:plasma_lts | kdeneon/all:plasma_lts |
Default user is neon and password is blank. The user has password-free sudo access.
Dependencies & Setup
Before starting you need to make sure you have docker, ruby, ruby development, and xephyr installed on your system
#Ubuntu-based systems sudo apt install docker.io ruby-dev xserver-xephyr #rpm-based systems (tested on fedora) sudo dnf install docker ruby-devel xorg-x11-server-Xephyr
To give it a try first set up Docker as you would for your distro
sudo usermod -aG docker $(whoami) newgrp docker sudo systemctl unmask docker.service sudo systemctl unmask docker.socket sudo systemctl start docker.service
This will download the latest unstable image from Docker Hub:
docker pull kdeneon/plasma:unstable
The neondocker or x11docker [1] script lets you run Neon docker images easily, this is pre-installed on recent KDE neon installs but works on any distro
wget https://invent.kde.org/packaging/docker-neon/-/raw/master/neondocker/neondocker.rb -O neondocker chmod +x neondocker sudo gem install --version '1.22.0' docker-api
Running KDE neon on Docker
By default it will run a full session inside a Xephyr window.
./neondocker
Or you can tell it to run a single app
./neondocker okular
This will give you a Bash prompt, you can code as you would on your host machine and run X apps. Type exit to quit, the ~/src directory will be preserved on your host machine.
For a Wayland session running in a window under either X or Wayland run. (This seems to stop any more X apps running though, spooky.)
./neondocker -w
Tips on using neondocker script
- For more help using neondocker:
./neondocker --help
- For the container to persist after you have closed the window add
-k
- To update to the latest build add
-p
- To use the Neon All build which has more apps add
-a
- To run a different edition add
-e unstable/plasma_lts
You can also commit your Docker images if you make changes you would like to come back to such as installing applications. For more information on using Docker see Docker Engine user guide.
For an interactive session where you have access to your coding directory ~/src run
xhost + docker run -ti -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/src:/home/neon/src -e DISPLAY=:0 kdeneon/plasma:unstable bash