Open main menu

OpenVZ Virtuozzo Containers Wiki β

NX inside VE

Revision as of 23:26, 22 February 2008 by Stonekeeper (talk | contribs)

My goals were simply to be able to connect to a VE using an NX client. This is handy for when I work from home and wish to run a web browser on my work's internal network to access local resources. I connect using a gutsy desktop and using nxclient.

Contents

Installation

Firstly i created a new VE using the gutsy template. I then installed X and XDM

apt-get install xorg xdm

Then I added this 3rd party repo to sources.list

deb http://www.datakeylive.com/ubuntu gutsy main
deb-src http://www.datakeylive.com/ubuntu gutsy main

Install the repo keys and update:

wget http://www.datakeylive.com/ubuntu/dists/gutsy/wjeremy.key -O - | sudo apt-key add -
wget http://www.datakeylive.com/ubuntu/dists/gutsy/alivesoftware.key -O - | sudo apt-key add -
sudo apt-get update

Install FreeNX

sudo apt-get install expect openssh-server tcl8.4 libxcomp2 libxcompext2 libxcompshad nxlibs nxagent nxproxy nxclient freenx

Finally I installed XFCE

apt-get install xfce4

Configuration

Configuring X

In /etc/X11/xdm/xdm-config, comment out the line where it says DisplayManager.requestPort: 0

In /etc/X11/xdm/Xservers, comment out the line :0 local /usr/bin/X :0 vt7 (this starts a local X server, which will fail)

In /etc/X11/xdm/Xaccess, uncomment the line with * #any host can get a login window (Please keep in mind the security implications by the above line. Read the comments found in the file and set it appropriately)

Configure NX Server

Edit /etc/X11/xorg.conf. Ensure that the files section looks similar to this:

Section "Files"

        # path to defoma fonts
        FontPath     "/usr/share/fonts/X11/misc"
        FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath     "/usr/share/fonts/X11/Type1"
        FontPath     "/usr/share/fonts/X11/100dpi"
        FontPath     "/usr/share/fonts/X11/75dpi"
EndSection

Now create a local user account:

useradd -m <username>

Now we add this user to nxserver:

sudo nxserver --adduser <username>

Configure NX client

Setup the Host/Port. In the desktop section select Unix and Custom. In Settings, select "Run the default X client script on server" and select "New virtual Desktop".

Now try to connect. You should get the XFCE desktop.