thanks Brian,
yes, I have about 4 of those running - unprivileged :) And I've had a go with TigerVNC (which supports 3d capabilities currently lacking in X2Go). I can run current versions of KDE and Unity on Xephyr, which I currently cannot with X2Go

But for this use case, I want desktop integration from an unprivileged container. I have achieved it with LXC on Ubuntu 16.04... but was hoping to be able to use LXD. It feels like I'm so close ... just missing something, probably quite trivial once you know how ... I wish i knew how

Currently I have the following containers
- Mythtv Backend (unprivileged, but with special user mappings which mean it can write to host devices when they're mounted in)
- Proxy with Openvpn and Dante
- Development - X2Go with Mate
- Browsing, semi secure, X2Go with Mate
- Desktop integrated browsing - Unsecure with Mate, on either Xephyr or Host desktop BUT running as lxc-start ie. legacy formate - Various other experimental containers, including one with KDE, X2Go, Xephyr and TigerVNC

Somewhat surprisingly current KDE is quite useful with X2Go as long as you autostart some applications, particularly dolphin and konsole ... then others can be started. You just won't have the panels etc. I haven't spent too much time with it because it's not close enough to what I want to achieve.

thanks again
  Rob

On 22/07/16 05:53, brian mullan wrote:
Rob

If you want to run single apps from the container like with microsofts remoteapp then a really simple way to accomplish it is with x2go & the x2go published applications <http://wiki.x2go.org/doku.php/wiki:advanced:published-applications> capabilty.

I just configured a new LXD container. Its simple to setup/configure and sound, printing, shared folders all work

*Step #1*

Create a privileged container & configure it to autostart:

# Launch an Ubuntu xenial 16.04 64 bit containers and name it cn1. We are launching CN1 as a
# PRIVILEGED container:

lxc launch images:ubuntu/xenial/amd64 cn1 -c security.privileged=true

# set LXC container CN1 to autostart when the Host is rebooted

lxc config set cn1 boot.autostart 1

*Step #2*

$ lxc exec cn1 bash

# you will be logged into the CN1 container as root so just execute the following to install
# Ubuntu-Mate Desktop

Note: you can put all of the following in a bash script..

# Install a desktop in it (I use Ubuntu-Mate:

echo "deb http://archive.canonical.com/ubuntu xenial partner" | tee -a /etc/apt/sources.list echo "deb-src http://archive.canonical.com/ubuntu xenial partner" | tee -a /etc/apt/sources.list echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse" | tee -a /etc/apt/sources.list echo "deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse" | tee -a /etc/apt/sources.list

# update & upgrade container
apt-get update
apt-get upgrade -y

# install apt
apt-get install apt -y

# From here on we can use apt to update Everything
apt dist-upgrade -y

#Install miscellaneous

apt install pulseaudio pulseaudio-utils alsa-base alsa-utils linux-sound-base gstreamer1.0-pulseaudio gstreamer1.0-alsa libpulse-dev -y

# Install UBUNTU-MATE desktop environment as default for all users including ones added in the # future

add-apt-repository ppa:ubuntu-mate-dev/xenial-mate -y
add-apt-repository ppa:x2go/stable

apt update

apt install lightdm ubuntu-mate-core ubuntu-mate-desktop ufw ubuntu-restricted-extras ubuntu-restricted-addons -y

echo "Desktop Install Done"

# Configure the Xsession file default desktop environment change ALL future User additions to default xsession to be UBUNTU-MATE

update-alternatives --set x-session-manager /usr/bin/mate-session

# and some gui based useful tools that aren't included in the minimal-xubuntu-desktop

apt install gdebi synaptic gedit wget git terminator network-manager -y

apt install x2goserver x2goserver-xsession

adduser yourID and password in the container and any others you want to add as users.

# reboot

*Step #3*

On the host all you have to do is install the x2go client

add-apt-repository ppa:x2go/stable

apt update

apt install x2goclient

*Step #4*

launch the x2goclient & follow the directions on the x2go published applications page (use the IP of your container)

In the x2goclient when you create the Published Application "profile" click on the connection tab and slide it all the way to the right so x2go doesn't waste cpu doing any compression.

Save that new Published Application Profile and it will move to the right side of the x2goclient menu.

Click on it & answer yes to the ssh question on adding the new server.

Look on your top menu bar and you will notice 2 new icons shown, Click on the one that has the little Seal icon on it (thats HOCA they mascot for x2go) and you will see
a pull down menu item called Published Applicaitons.

Click on any one of those and they will startup in the container but be displayed on your Host Desktop,

x2go has clients for Linux, Mac and Windows as well as a python client. All are open source.

Brian


_______________________________________________
lxc-users mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-users

Reply via email to