UseOtherRepositorys
KDE Neon tracks the latest KDE software and builds upon the latest Ubuntu LTS.
Basic ubuntu + a couple of neon apps will use 2.5GB of disk.
Install lxc and dnsmasq:
sudo apt-get install lxc dnsmasq
Create /etc/default/lxc-net with the following:
USE_LXC_BRIDGE="true"
LXC_BRIDGE="lxcbr0"
LXC_ADDR="10.0.3.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="10.0.3.0/24"
LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
LXC_DHCP_MAX="253"
LXC_DHCP_CONFILE=""
LXC_DOMAIN=""
Enable and start the lxc networking component:
sudo systemctl enable lxc-net
sudo systemctl start lxc-net
Create a container for it:
sudo lxc-create --name neon -t download
Answers to its questions (for local pc testing, for on device will need neon support rumoured to be coming soon arm64):
ubuntu - xenial - amd64
This will have made your container in:
/var/lib/lxc/neon/
You'll need to edit the config:
sudo nano /var/lib/lxc/neon/config
Add:
lxc.aa_allow_incomplete = 1
Some useful commands to check things are all good:
sudo lxc-ls
sudo lxc-info --name neon
Start the container:
sudo lxc-start --name neon --logfile /home/[USER]/lxc_neon.log --logpriority DEBUG
Enter the container:
sudo lxc-attach --name neon
Install some packages:
root@neon:/# apt-get install nano dbus-x11 openssh-client
Then add to /etc/apt/sources.list
deb http://archive.neon.kde.org/user xenial main
Add the public key:
wget http://archive.neon.kde.org/public.key
sudo apt-key add public.key
Then:
sudo apt-get update
Now you can install apps as you desire.
Need to add root:1000:1 to subuid and subgid (on host system):
echo "root:$UID:1" | sudo tee -a /etc/subuid /etc/subgid
Update /var/lib/lxc/neon/config to add mount points for X (on host system):
lxc.mount.entry =/tmp/.X11-unix/X0 tmp/.X11-unix/X0 none rw,bind,create=file 0 0
lxc.mount.entry =/home/[USER]/.Xauthority home/[USER]/.Xauthority none rw,bind,create=file 0 0
Restart container:
sudo lxc-stop --name neon
sudo lxc-start --name neon --logfile /home/[USER]/lxc_neon.log --logpriority DEBUG
Re enter container:
sudo lxc-attach --name neon
Switch to user ubuntu:
su ubuntu
You should now be able to run neon apps.
Install docker:
apt-get install apt-transport-https dirmngr
Add 'deb https://apt.dockerproject.org/repo debian-stretch main' to /etc/apt/sources.list
Install the apt key:
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Update:
apt-get update
apt-get install docker-engine
Can then run full kdeneon within a window, or a single app.
Run Xephyr x in x system (picked half native size for testing on a desktop):
Xephyr -screen 1080x540 :1 &
Run neon in docker talking to the Xephyr x (Takes another +1GB of downloads):
sudo docker run -v /tmp/.X11-unix:/tmp/.X11-unix kdeneon/plasma:user
(this will actually install the image and container)
You can then login to the neon and use it as if you'd installed neon natively.
Run konsole from inside docker:
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=:0 kdeneon/plasma:user konsole
This maps the internal and external X11's together and as long as the internal/external userid's are the same you don't need to run xhost + to open up access.