As promised, in this post I will detail how to install NX (No Machine) on your Ubuntu server and a NX client on your windows PC.

Open your favorite browser on your server, point it here and download the client, node and server. The client is needed because it ships libraries used by the node. The node is needed because it ships tools needed by the server. Make sure you install them in that order. Your web browser should automatically ask you if you want to install the files. If it doesn't, save the files, open a terminal window and issue the following commands:

$ sudo dpkg -i nxclient_3.3.0-3_i386.deb
$ sudo dpkg -i nxnode_3.3.0-3_i386.deb
$ sudo dpkg -i nxserver_3.3.0-8_i386.deb

Next you need to get the Windows Client and install it. Once installed, proceed by opening the client and it will present you with the Connection Wizard. Provide a name for your session (can be anything) and enter your server's IP address in the Host field. Leave the port set to 22. You can also select an Internet connection Type, since I am using it over my LAN I set it to LAN.

The next screen is where you set the Desktop you want to use in your Linux session that will get initiated by NX. I use the same as my server (Unix/GNOME), but you can pick anything you want, regardless of what you use normally on your server. You also set the screen size in this window, set it to available area to have your session run in a full screen window. And finally you can add a shortcut on your desktop so that you can launch this session directly just by double clicking the icon on your desktop.

If you want to send sound from your server to the NX client, you need to configure both the client and the server a bit more. Open the NX Client for Windows tool, select your just configured session and hit Configure. Go to the Services Tab and tick the box next to Multimedia Support.



On the server, you need to play sounds using the Enlightened Sound Daemon (ESD). Most Gnome applications use the gstreamer subsystem to play sounds so you will need to configure gstreamer to use esd as the output.

GNOME

System -> Preferences -> More Preferences -> Multimedia System Selector
-> Audio -> Default Output Plugin -> Output = ESD

KDE:

KDE Control Center -> Sound & Multimedia -> Sound System -> Hardware ->
Select the audio device = Enlightened Sound Daemon

I could not get this to work so I used VLC and the VLC ESD plugin and that works perfect.

8 comments

  1. Dereck // January 8, 2009 at 5:34 AM  

    For intrepid I did not find the menu item you refered to, but I was able to get sound. Under System>Prefs>sound change the three drop downs to use ESD and click ok! I had sound after that.

    I was not happy with using it over the internet however. It really was useless in my situation, but that might just be the fact that I have a smaller upload pipe at home, I'll have to try it on my local network next time I'm home.

  2. mvilrokx // January 8, 2009 at 9:38 AM  

    Hi Dereck,

    I guess I should mention that I am using Hardy when I explain these things.

    Also I have not tried it over the internet, just my LAN at home, but I can imagine it would not work very well. There is even a delay on my (1Gb) LAN!

    Thanks for your comments.

    Cheers,
    Mark.

  3. hugoheden // February 3, 2009 at 9:15 AM  

    For those of you who end up here but don't have E.S.D. as menu-item under System->Preferences->Sound, install the package gstreamer0.10-esd -- that did it for me (this is on Ubuntu Intrepid Ibex).

    At least the Test-buttons work. And mplayer. But not Flash in Firefox, nor vlc. Does all that work properly for you guys?

    Regards

    Hugo

  4. Hugo Heden // February 3, 2009 at 11:22 AM  

    vlc fixed by installing package vlc-plugin-esd

    Playing beautiful music over my little home network :-)

    But I really need to get Flash/Firefox sound working..

    Hugo

  5. mvilrokx // February 3, 2009 at 9:01 PM  

    Hi Hugo,

    Looks like you beat me to it, yes you need to install that VLC plugin. As for flash, no dice for me either, I will look into that when I find some time.

    Cheers,
    Mark.

  6. Hugo Heden // February 4, 2009 at 3:47 AM  

    Hi again Mark,

    To get flash-sound working as well, I installed flashplugin-nonfree-extrasound. (This is on Ubuntu Intrepid Ibex)

    $ sudo apt-get install flashplugin-nonfree-extrasound

    That should install the file
    /usr/lib/flashplugin-nonfree-extrasound/libflashsupport.so

    That was not enough though. I'm not really sure what is best practice here, but one way to make firefox/flash load that file at start-up would be to have a symlink in /usr/lib:

    $ cd /usr/lib
    $ sudo ln -s /usr/lib/flashplugin-nonfree-extrasound/libflashsupport.so

    Alternatively, invoke firefox (or epiphany-browser) within an environment that has a LD_LIBRARY_PATH that includes that directory, for example by appending it on the command line:

    $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/flashplugin-nonfree-extrasound/ firefox

    Note that flash sound still does not work very well -- audio and video are totally unsynchronized, the sound typically lags a few seconds behind. I don't know how to fix that, perhaps by somehow using PulseAudio after all, over the network, perhaps "outside" the nx session.. I have no idea.

    (Let me know if I should stop spamming your blog -- it's just that your article was good, so this seems a good place to collect some information for future reference)

  7. Hugo Heden // February 4, 2009 at 7:19 AM  

    libxine1-gnome makes xine-based apps working (this is on Ubuntu Intrepid Ibex). Ok, that's it, thanks :-)

  8. mvilrokx // February 4, 2009 at 4:37 PM  

    Hi Hugo,

    Thanks for that, and the more comments the better the blog will get so keep add it!

    Cheers,
    Mark.