Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

X inside VE

1,198 bytes added, 09:03, 13 April 2016
Using Xephyr: changed comma to dot in DISPLAY value
There are several ways to run X applications inside your [[VEcontainer]].
== X forwarding ==
=== Single application ===
To run an X application inside a [[VEcontainer]], one need needs simply to connect to a VE container with '''ssh -X''':
<pre>
host# ssh -2 -c blowfish -X user@address
</pre>
After login to VE container check that <code>$DISPLAY</code> variable is set and X11 forwarding is enabled:
<pre>
ve# echo $DISPLAY
</pre>
In case <code>$DISPLAY</code> is not set, make sure that X forwarding is enabled in <code>sshd</code> config inside VEcontainer. In most Linux distros sshd configuration is stored in <code>/etc/ssh/sshd_config</code>. You should set parameter <code>X11Forwarding</code> to <code>yes</code>. Also VE container should contain <code>xauth</code> package, thus install <code>xauth</code> if it is missing (in Debian this is part of the xbase-clients package). After that, restart your sshd daemon:
<pre>
ve# /etc/init.d/sshd restart
{{Note|Don't forget to reconnect after this}}
Now you can run X applications from your VEcontainer:
<pre>
ve# firefox
== VNC for X desktop ==
First, one need to run '''Xvnc''' server inside VEcontainer. The easiest way for this is to run
'''vncserver''' script. This scripts starts all the required services
and small http daemon which provides graphical web access to your desktop (via Java applet).
using '''vncviewer''' command:
<pre>
host# vncviewer <VE_IPcontainer_IP>:1
</pre>
=== Starting KDE desktop with VNC ===
To start KDE desktop instead of default twm one replace <code>twm &</code> line with <code>startkde &</code> in user's
<code>~/.vnc/xstartup</code> file on the VEcontainer.
=== Connecting with VNC from firewalled network ===
Change your display settings (don't forget to change them back after you establish a connection)
<pre>DISPLAY=:1,.0</pre>
Forward your application or desktop over ssh to Xephyr
[http://cafelinux.org/OptickleArt/albums/userpics/Xephyr.png Screenshot]
== Using xdm XDM with XDMCP ==First offThis method will give you a graphical login prompt remotely similar to VNC, as of December 2007but with some differences. Most notably, I was never able XDMCP is faster than VNC (due to successfully get an Xserver to run inside a VE and have it's display output onto virtual-terminal 7 (the Xserver defaultway each deals with screen handling)and but you CANNOT connect to existing sessions like you can with VNC. Each time you logout, However, your programs are closed. XDMCP is better suited in situations where you can get an Xserver running on the hostnode to don't have a local display output on virtual-terminal 7 without any special configuration (as the hostnode has direct access or dumb terminals/clients) but want to all necessary devices).run X11 programs
=== VE container Configuration ===
Install your desktop environment as you'd like (kde/gnome/xfce/etc) and ensure you install at least XDM. You can opt to use GDM/KDM as they also do the same job as XDM. The configuration for KDM/GDM is different than XDM's and I was only able to find one link on configuring GDM (more below).
(Please keep in mind the security implications by the above line. Read the comments found in the file and set it appropriately)
To provide the possibility to run sound applications from container, /dev/dsp device file needs to be exported in container:<pre>vzctl set 221 --devnodes dsp:rw --save</pre> Finally, if you intend to make xdm invoking a heavy desktop like kde, it is reasonable to increase the amount of memory available for allocation inside this container:<pre>vzctl set 221 --privvmpages 500M:600M --save</pre>For light desktop like icewm this is not needed. Once these changes have been made, start your xdm server by the appropriate startup script (typically similar to /etc/init.d/xdm start). That concludes the XDM setup in the VEcontainer.
===== GDM =====
Edit the '''gdm.conf''' file and in xdmcp section, comment out the '''0=standard ''' line under the [servers] section - this will prevent gdm from trying to launch an X server on the local machine - it will simply listen for xdmcp requests. Insert '''0=inactive''' in [servers] section. Insert '''Enable=1''' in [xdmcp] section. Also, change from VCAllocation=true to VTAllocation=false and comment out the FirstVT=7 lineif that lines exists. Change the access restrictions (if any) to suit your needs and then start GDM.
=== Hostnode Client/Host Configuration === On the HNClient/Host (whatever machine you are connecting from to the container), you need to install ONLY a bare Xserver as per your OS instructions (use yum, emerge, apt, whatever). A desktop environment like XFCE/GNOME/KDE are is entirely optional (and not recommended as on the client, but keep in mind that itwon'll unnecessarily just chew up resources) t be used while you're connecting to the desktop on the HNcontainer.
To get access to the XDM server, just start an Xserver with '''X -query <remote IP> :0''' (where :0 is the local display...set to :1 if you already have an X session running, or use Xnest)
There are guides online on howto securely tunnel XDMCP over the Internet (typically vpn as XDMCP settings can't be tunneled over ssh giving you securityafaik), in an otherwise INSECURE protocol. This approach has some major benefits over the VNC method described above === Errata ===On a side note, as of December 2007, but also has I was never able to successfully get an Xserver to run inside a couple of major drawbacks. The biggest pro being XDMCP is faster than VNC container and have the display output onto virtual-terminal 7 (due the Xserver default), However, you can get an Xserver running on the hostnode to display output on virtual-terminal 7 without any special configuration (as the way each deals hostnode has direct access to all necessary devices). Another user has done this with screen handling) XDM and X. Just follow the directions on the biggest con being that you CANNOT connect to existing sessions like you can with VNCwiki. Each time you logout, your programs are closed It is possible== See also ==* [[NX inside VE]]
== External links ==
* http://www.myatus.co.uk/2009/08/24/x-server-with-sound-inside-an-openvz-proxmox-container/
* http://forum.openvz.org/index.php?t=tree&th=235&mid=1115&&rev=&reveal=
* http://ait.web.psi.ch/services/linux/kde-desktop-sharingsoftware/local/by_task/desktop_sharing/index.htmhtml
* http://ait.web.psi.ch/services/ssh/vnc-ssh.html
* http://www.vnc.com/pipermail/vnc-list/2002-July/031831.html
[[Category: HOWTO]]
[[Category: Networking]]
[[Category: X]]
Anonymous user