Final Case Study

profileBabu Dev
ISSC424CH7pg1.pdf

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