Final Case Study
Chapter 7: NoMachine
Objectives
After completing this chapter, you should be able to:
• Explain how NX components work
• Describe the NX system architecture
• Install NX Client
• Configure the NX client
• Set up NX client sessions
• Install NX Node
• Install NX Server
Key Terms
NoMachine
a network computing company established to provide remote access and
terminal services for enterprises in migration to the Linux platform
NX technology
a technology that compresses X-protocol traffic using differential
compression and uses a proxy X server to reduce X-protocol roundtrips
across the network
X client
a general program that requires a graphical interface for interaction
X server
a special program that draws the graphical interface of the X client and of
any other running program onto the screen
X11 (or X) protocol
7-1
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
a protocol used to build a basic desktop environment
Introduction to NoMachine
NoMachine is a network computing company established to provide remote access
and terminal services for enterprises in migration to the Linux platform.
NoMachine NX is an enterprise-class solution designed for the following purposes:
• Secure remote access
• Desktop virtualization
• Hosted desktop deployment
The NX server uses the X11 (or X) protocol. This protocol and the X Window
System are used to build a basic desktop environment. NX does not require high-
bandwidth network sessions to run remote X11 sessions. It is a platform-
independent solution that can allow sessions to be executed from any client
machines running on Windows, Linux, Mac OS X, and Solaris platforms to servers
running on Linux or Solaris, as shown in Figure 7-1.
Figure 7-1
NoMachine NX allows the user to run virtualized desktops on a variety of platforms.
7-1
7-2
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
NX includes X protocol compression techniques and an integrated set of proxy
agents to accomplish the following goals:
• Improve the power of the X Window System to transparently run graphical
desktops and applications through the network
• Reduce roundtrips and implementation of the strict flow control of data
traveling through low-bandwidth links
• Reduce the time required to start up any application
• Provide high performance even if the user is connected to a low-bandwidth
network connection; NX’s encoding algorithm automatically tunes itself to the
network bandwidth and latency parameters
NX Server
NX Technology
NX technology compresses X-protocol traffic using differential compression. It uses
a proxy X server to reduce X-protocol roundtrips across the network, as shown in
Figure 7-2.
Figure 7-2
NX technology uses a proxy X server to reduce X-protocol roundtrips.
The X protocol is the basis for communication between the X server and the X
client. The X client is a general program that requires a graphical interface for
interaction; the X server is a special program that draws the graphical interface of
the X client and any other running program onto the screen. The X client sends the
requests to the X server, which in turn sends the responses, events, and errors (if
any) to the X client.
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
X Window System
NX distributed computing uses the X Window System for the following reasons:
• Makes network computing easy
• Provides widespread Web browsing
• Enables any UNIX computer to work as a terminal server and clients
• Supports a wide range of platforms and operating systems
• Windowing system offers graphical user interfaces for the Linux and UNIX
operating systems
NX Performance
Using the NX method to run an X client and X server on different host machines
provides the following advantages:
• An efficient compression of the X traffic
• Reduction in time-consuming X roundtrips
• The lazy encoding algorithm to defer screen updates
To see the difference NX makes, the user can play with its various configurations
via the NX Client GUI (Figure 7-3).
7-2
7-3
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
Figure 7-3
NX settings allow the user to configure the GUI in a number of different ways.
NX Components at Work
The NX Server is composed of various components that can be installed in different
configurations. Communication between the local and remote computers can be
achieved by connecting a two-way proxy to the system. Proxies provided by the NX
Client package communicate using the NX protocol, which is based on X11 sessions,
as shown in Figure 7-4. These extensions are implemented to compress, cache, and
reduce the roundtrip X traffic between the NX proxies to near zero. In this
architecture, one proxy is on the local computer and the other system resides on
the NX Server.
Figure 7-4
Proxies provided by the NX Client package communicate using the NX protocol, which is based on X11 sessions.
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
The local proxy (NX Client) communicates with the local X server, which helps
translate the NX protocol back to X11. The remote proxy communicates with the
remote X11 applications and uses the X11 protocol. The remote NX proxy acts as if
it is the X server where all the roundtrips take place. However, because this
happens on the same host machine, the roundtrips are quickly resolved using UNIX
domain sockets. Both the local and remote proxies keep their own cache of
transferred data. These two sets of caches are synchronized in order to prevent
further transmission.
NX Sessions
NX sessions can be run in the following configurations:
• RDP and VNC sessions
• NX supports either RDP or VNC sessions by running the RDP (rdesktop) or
VNC (tightVNC) client directly within the X11 session.
• NX may suspend or reconnect the session types and hence can access these
sessions with the help of session shadowing.
• Full desktop sessions
• NX allows the user to run full desktop sessions, which can be displayed full
screen on the local machine or in windowed mode.
• The user can change the display size for the session window.
• Desktop types such as KDE, GNOME, CDE, and XDM are supported.
• Single applications running in floating window mode
• Single application window mode displays a floating window that draws a
single remote application on the local screen.
• In order to set up a single application, users select the custom desktop type
in the NX Client GUI and specify the application.
• Session persistence
• NX allows the user to disconnect a session, either a desktop or a floating-
window session, from the remote display.
• In this instance, the proxy agent will not be connected to any X client, and
the user will be able to reconnect the session later.
7-3
7-5
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
• Desktop sharing and session shadowing
• Desktop sharing and session shadowing are features that make NX suitable
for a full range of different usage scenarios, such as remote help-desk
activity and collaborative brainstorming.
• NX offers the possibility of connecting to a local desktop (shadowing).
• The server provides the list of available sessions to the client only upon the
request of the end user.
• Printing support and file sharing
• NX supports both SMBFS and CIFS protocols.
• NX Client specifies to the server the operating system that is running when
the session is configured to enable printer and file sharing.
• The default protocol for printing and file sharing is CIFS for Windows NT
–based, Linux, Mac OS X, and Solaris operating systems.
NX System Architecture
NoMachine offers software that helps customers access remote computers even if
the systems are connected to slow or low-bandwidth Internet connections. It
compresses the X protocol 50 times and makes the graphical applications usable
over the Internet at a speed of 9.6 kbps. Figure 7-5 depicts the NX system
architecture.
Figure 7-5
The NX system architecture compresses the X protocol 50 times.
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
NX Distributed Computing Architecture
NX distributed computing architecture is designed to distribute the workload
between nodes in a wide area network (WAN). The NX Servers are intended to
perform high-level manageability functions on the NX network. The distributed
architecture ensures that nodes export their familiar computing environment to
users’ sessions run on NX node computers in a virtual cluster. Numerous NX nodes
can be connected to one or more controlling servers to support thousands of
concurrent sessions.
NX Installation and Configuration
Prerequisites
NX Server installation has the following prerequisites:
• Installation of the NX Client package
• Installation of the NX Node package
The following platforms support NX Client:
• Windows: 2000/2003/XP/Vista
• Mac OS X i386: 10.3/10.4
• Solaris SPARC: 8/9/10
• Mac OS X PPC: 10.3/10.4
• Linux i386:
• Linuxi386
• Red Hat Enterprise Linux 4/5
• SuSe 10/10.1/10.2/Enterprise 10
• Mandriva 10.1/2005/2006/2007
• Fedora Core 3/4/5/6
• Fedora 7
• Debian GNU/Linux 4.0 Etch
• Ubuntu 5.10 Breezy Badger/6.06 Dapper Drake/6.10 Edgy Eft/7.04 Feisty
Fawn
7-5
7-6
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
• Xandros Desktop 4.1/Xandros Server 2.0
NX Server Tools
The following tools are components of the NX Server:
• Nxagent: Implements encapsulation and protocol translation of X
• Nxsensor and Nxstat: Daemons used by the NX Server Manager, the graphical
administration interface of NX Server, to retrieve and display NX statistics
• Nxclient: A multifunctional GUI manager
• Nxssh: SSH client used to log in to the remote NX Server
• Nxauth: A command-line tool based on xauth that replaces the standard xauth
that comes with X distributions. Nxauth handles X authorization cookies
without the need for X11 libraries, saving space in the installation packages.
Steps to Install NX Client
1. Run the installation program.
2. Click Next to continue the installation process (Figure 7-6).
Figure 7-6
Click Next to continue the installation process.
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
3. Select the destination to install NX Client by clicking the Browse option.
4. Click Next to proceed.
5. Select the Start Menu folder. Browse for the location and click Next (Figure
7-7).
Figure 7-7
Browse for the location and click Next.
6. The Select Additional Tasks dialog box appears. Check the Create a desktop
icon check box to create a desktop icon. Click Next.
7. The Ready to Install dialog box appears. Click Install to continue the
installation process.
8. A dialog box saying “Completing the NX Client for Windows Setup Wizard”
appears. Click Finish to exit setup (Figure 7-8).
7-6
7-7
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
Figure 7-8
Click Finish to exit setup.
Steps to Configure NX Client
The following steps will configure the NX Client:
1. Open the NX Client Connection Wizard and click Next to start the configuration
(Figure 7-9).
7-7
7-8
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
Figure 7-9
Click Next to start the configuration.
2. Provide the session name, hostname, and port number, and select the type of
Internet connection (Figure 7-10). Click Next to continue.
Figure 7-10
Provide the required information in the session window.
3. Select the operating system and change settings, if any.
4. Select the command to run (/usr/bin/icewm), check New virtual desktop, and
save the settings with the OK button (Figure 7-11).
7-8
7-9
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
Figure 7-11
Save the settings with the OK button.
5. Set the size of the remote desktop to fit properly in the display, and click Next
to proceed.
6. Select Show the Advanced Configuration dialog and click the Finish button.
7. Click OK to save the session configuration.
8. If SSH is being used on the NX Server host for the first time, then confirm the
connection.
Steps to Start an NX Client
The following steps should be used to start an NX Client:
1. In the login window, type the login name and session name, and click
Configure to continue (Figure 7-12).
Figure 7-12
7-9
7-10
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
Enter the login and session names in the login window.
2. In the General configuration tab, customize the desktop by selecting Unix and
Custom, and clicking the Settings button (Figure 7-13).
Figure 7-13
Customize the desktop by clicking the Settings button.
3. Check the server key in case there are problems with the NX authentication.
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
• If the key file client.id_dsa.key for the PSI NX servers (LCSL4a, LLCSL5A,
etc.) is missing, then download it.
• The key is a text file; import the downloaded file or simply paste the
content into the Key management window, and then click the Save
button.
4. Leave the advanced settings unchanged.
5. In the environment settings, adjust the font family and size, if needed, using
the buttons in Select NX fonts (Figure 7-14).
Figure 7-14
Customize the fonts in the environment settings.
6. Save the new settings for the specified session by clicking the Save and OK
buttons.
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml
NX Node Installation
The following NX Node packages are available:
• RPM, DEB, and Compressed TAR for 32-bit architecture
• RPM, DEB, and Compressed TAR for 64-bit architecture
• RPM, DEB, and Compressed TAR for 32-bit architecture for earlier Linux
versions
These packages can be installed in the following ways:
• NX Node RPM package: Open an xterm or similar terminal, move to the
directory the package was downloaded to, and install the package using the
following command to utilize the rpm utility:
sudo rpm -ivh nxnode-X.Y.Z-W.i386.rpm
PRINTED BY: Chandra Shrestha <[email protected]>. Printing is for personal, private use only. No part of this book may be reproduced or transmitted without publisher's prior permission. Violators will be prosecuted.
10/21/2018http://e.pub/rx0jwsmu4u96422v3qqj.vbk/OPS/loc_008-print-1540186513.xhtml