Home > Documents > Configuration > NX Client Guide
Download this same document as: PDF Format HTML Format
NX Client Guide
1. Introduction

Welcome to the NX Client Guide. Below you will find instructions on the NX Client GUI and on how to customize your NX sessions to better fit your needs.

The present document applies to NX Client version 3.0.0 or later. For specific issues related to earlier versions of the NX software you can refer to the documentation available in the NoMachine Knowledge Base:

http://www.nomachine.com/kb/index.php

Please note also that in the present document all the screenshots refer to NX Client running on Windows O.S. and use the NoMachine TestDrive as examples of connecting to NX Server.


1.1 Download the Appropriate Package

NoMachine offers packages suitable for the following platforms:

  • Windows
  • Linux i386/x86_64 bit
  • Mac OS X
  • Solaris sparc

You can download the appropriate package for your O.S. from the NoMachine Web site at:

http://www.nomachine.com/download

For more detailed instructions on how to install the client, you may refer either to the guidelines available in the download page of each package type, or to the NX Client installation guide:

http://www.nomachine.com/documents/client/install


1.2 What is the NX Client Package for?

NoMachine offers packages suitable for the following platforms:

  • Windows
  • Linux i386/x86_64 bit
  • Mac OS X
  • Solaris sparc

The NX Client package contains libraries and binaries to set-up your NX system. In particular it provides the proxy components and libraries needed to establish the communication between the end-user machine and the remote machine you want to access.

The package also provides a set of GUIs for creating and configuring session files (NX Connection Wizard and NX Client) and administering sessions (NX Session Administrator).



2. The NX Connection Wizard GUI

The NX Connection Wizard is a GUI to guide you through the basic steps to set-up a session. It allows you to create and configure your first session file by using the default settings, which should be enough in most cases.

Enhanced session configuration is possible via the NX Client GUI. You can run either the Connection Wizard and the NX Client GUI at any time, by accessing them via the NX Client entries in the Programs Menu.

Fig.1 - The NX Connection Wizard allows you to create your session file.


2.1 Configure Your Session Via the NX Connection Wizard

The first step is to give a name to the session and specify, in the Host field, either the hostname or IP address of the machine where your NX Server is running, and the port where the SSH daemon is listening on the server host, by default 22.

This wizard also allows you to specify the link type for your connection. More information which will help you to choose the best link type to fit your needs will be available in section 3.1 related to the NX Client GUI, General tab.

Fig.2 - Name your session and specify hostname or
IP of the machine where your NX Server is running.


2.2 Choose Which Type of Session You Would Like to Run

In the Desktop wizard you may choose which kind of session you would like to run. Let's say that you want to start a Gnome desktop with size 1024x768.

Fig.3 - Choose to run a GNOME desktop on your NX server.


2.3 Create a Session Shortcut and Run the NX Client GUI

The final stage of the NX Connection Wizard allows you to create a session shorcut on the desktop, associated to the session file you are creating.

By selecting the Show the Advanced Configuration dialog checkbox during this stage the NX Client GUI will run once you exit from the NX Connection Wizard, allowing you to further configure the NX Client.

Fig.4 - Create a desktop shortcut and/or run
the NX Client Advanced Configuration GUI.



3. The NX Client GUI

The NX Client GUI, coming with a default configuration suitable for most cases, allows you to configure specific settings that may better fit your environment.

The paragraphs to follow will explain one by one all the GUI tab and related settings.


3.1 The General Tab

Fig.5 - The General tab.

Server – Host
Specify the hostname or IP address of the machine where NX Server has to be contacted for starting the session.

Server - Port
Specify the port where the SSH daemon is listening on the NX Server host machine. By default the port is 22.

Server - Remember my password
Store your password in the session file. Next time you need to run that session, NX Client will not ask you to insert the username and password in the login dialog. This allows you to automate login by simply clicking on the session configuration icon saved on your local desktop. NX Client stores the password in a scrambled format. More information about the password scrambling algorithm in NX Client is available at:

http://www.nomachine.com/ar/view.php?ar_id=AR01C00125

Server - Key
Use customized SSH keys to access NX Server. More information about replacing the default SSH keys used by NX with keys generated for your server is available at:

http://www.nomachine.com/ar/view.php?ar_id=AR01C00126

Desktop
Select the session type to be run on the server. You may choose among:

Unix – run either a X11 desktop as KDE, GNOME, CDE and XDM or a single application by choosing the Custom option.

Windows – run a RDP session on a Windows Terminal Server.

VNC – run a VNC session on a VNC server.

Shadow – attach to an already running X11 session or to the native display (session shadowing and desktop sharing).

Some session types may require additional settings. For example the 'Windows settings' panel is for specifying hostname for the RDP server, while the 'VNC settings' panel is for specifying hostname and port for the VNC server. You may refer to the following article to get more information on support for RDP and VNC sessions with NX 3.0.0 or higher:

http://www.nomachine.com/ar/view.php?ar_id=AR06E00469

Fig.6 - Sample settings for an RDP session on NoMachine Testdrive.

In the "Custom Settings" panel you may instead specify the remote application to be run in seamless mode. When the "Floating window" option is selected, nxagent operates in rootless mode, i.e. it impersonates the application's display and can rewrite the X traffic down to the real X server to hide the details of the network and be extremely bandwidth efficient. When the "Disable X agent encoding" option is selected, the NX proxy tunnels the raw X protocol traffic. NX can't do much in this case, other than compress the X traffic better than any known generic compressor. The application, in fact, is connected to the real display and so it will still suffer from all the limitations of the X system. Running the single application as "New virtual desktop" still reaps the benefits of the nxagent capabilities, but, in this case the agent is not running in rootless mode, i.e. the the application window may not match the local desktop size and may be displayed inside a black parent window.

Fig.7 - Sample settings for running the console
in rootless mode on NoMachine Testdrive.

Desktop - Link type
Set the type of network connection that is going to be used to connect to the remote proxy. Some session parameters, such as the compression level, depend on this setting. For example, the link MODEM uses high compression levels for both protocol and images, while the link LAN disables the protocol compression and uses a low compression level for the image encoding, to make the best use of the available bandwidth.

The image encoding can be customized regardless of the link type. The different encoding types are explained in the Display - Use custom settings - Unix display settings section in this document.

Lazy encoding policies, i.e. the ability to defer image updates, are activated by default for all link types other than for LAN. However, you have the possibility to disable deferred screen updates in the NX Client GUI -> Advanced tab.

Display
Set the size for the X server window. In the case of 'Shadow' desktop type, when a different size other than 'As on the server' is selected, the X11 agent applies its own screen scaling capabilities.

Display - Use custom settings - Unix display settings

Fig.8 - The General tab and the
Unix - Display settings dialog for X11 sessions.

Unix - Display settings – Images
You can force the selected image encoding to be used, overriding the default encoding set according to the link type.

  • Use both JPEG and RGB compression
    The adaptive compression dynamically selects a lossy or a lossless encoding depending on how compressible the image data is.

  • Only use JPEG compression
    Use only the lossy encoding. This kind of compression is advisable on slow links, because a low image quality is covered by a minor amount of image data to transfer.

  • Only use RGB compression
    Use only the lossless encoding. This compression is advisable on fast links, since the high image quality increases the data to be sent.

  • Use plain X bitmaps
    The compression is disabled and images are sent in raw format. This setting is advised only on fast and wide links, because of the large amount of image data to transfer.

  • Quality - Use custom JPEG quality
    Specify the JPEG compression level. A lower level value means poorer image quality but higher data compression.

Unix - Display settings – Performance

  • Disable the render extension
    Disable the use of render protocol extension between the X server and the X11 agent. This can become necessary when you need to migrate your session to a display of a X server missing the render extension.

  • Disable the backing-store
    Disabling the use of backing-store may degrade NX performances, but can be useful in case you need to lower memory usage on either server and client side.

  • Disable the composite extension
    Disable use of X server's composite extension in X11 agent.

  • Disable the shared memory extension and Disable emulation of shared pixmap
    Disabling shared pixmap emulation between X11 agent and X server may increase NX performance, since the pixmap created on the X server can't be shared, but has to be kept updated. Note that, since a number of applications using shared pixmap don't check if shared pixmap is available, these applications won't work if shared memory is enabled and shared pixmap is disabled.

Display - Use custom settings - Windows display settings

  • Colors
    Define the number of colors to be set for the RDP session. This setting applies to the RDP client run for establishing the RDP session with the Windows Terminal Server.

  • Images
    Force the selected image encoding to be used, overriding the default encoding set according to the link type. This setting applies to the X11 session inside which the RDP session is running. For more details, refer to Unix display settings.

  • Cache
    Enable the RDP image cache. This setting applies to the RDP client run for establishing the RDP session with the Windows Terminal Server.

Display - Use custom settings - VNC display settings

  • Images
    Force the selected image encoding to be used, overriding the default encoding set according to the link type. This setting applies to the X11 session inside which the VNC session is running. For more details, refer to Unix display settings.

3.2 The Advanced Tab

Fig.9 - The Advanced tab and the HTTP Proxy – Settings dialog

Network

  • Disable encryption of all traffic
    By default, the communication between NX Client and NX Server happens via an encrypted channel, allowing for establishing communication even when the server is behind a firewall.

  • Disable ZLIB stream compression
    Disable the ZLIB compression on the stream produced by the previous stages of the NX compression. Disabling the ZLIB stream compression can be useful to lower the CPU usage on the server, or to avoid overheads due to VPN software compressing the network traffic.

  • Connect through a HTTP proxy
    Allow to establish the connection via HTTP proxy, exploiting the proxy support provided by nxssh. The HTTP Proxy - Settings dialog is for specifying host and port for the HTTP proxy. User/password authentication method on the HTTP proxy is supported.

    You may refer to the following article about "How to set-up a basic environment to connect NX through a HTTP proxy":

    http://www.nomachine.com/ar/view.php?ar_id=AR04E00457

System

  • Grab the keyboard when the client has focus
    This setting is available only with NX Client for Windows. Disable the capturing of Alt-Tab and PrintScreen keys, allowing in this way to use the Alt-Tab key combination to switch you to a different remote window rather than minimizing your NX session window.

  • Disable DirectDraw for screen rendering
    This setting is available only with NX Client for Windows. Disable the use of DirectDraw engine by NXWin and use GDI engine instead. This option can be useful for solving possible conflicts due, for example, to concurrent attempts to use the DirectDraw engine by NXWin and another Windows application, and may result in better performance on Windows Vista.

  • Disable deferred screen updates
    Specify a different lazy encoding level to the default one. When the link type is WAN, the default lazy level is 1. Disabling deferred screen updates means deactivating the lazy encoding feature. When the link type is instead MODEM, ISDN or ADSL, the default lazy level is 2. So, disabling deferred screen updates means switching to lazy level 1. If the link type is LAN, the lazy encoding is not used, so disabling deferred screen updates has no effect.

  • Cache in memory
    Set size of the in-memory X message cache, by default 16 M.

  • Cache on disk
    Set size of the persistent image cache on disk, by default 64M. Setting the value to 0 will disable the persistent image cache.

  • Remove all cache files
    Delete all the cache-* files stored in the User NX directory, by default the user's home/.nx directory.

3.3 The Services Tab

Fig.10 - The Services tab and the Add a new resource dialog
to mount a local shared folder within the NX session.

Devices

  • Enable printer and file sharing
    Enable the forwarding of the SMB connections from NX Server to the client. The CIFS/SMB protocol is used by the server to let applications get access to printers and file shares made available on the client.

    More information on how printer and file sharing works on NX is available at:

    http://www.nomachine.com/ar/view.php?ar_id=AR08D00413


  • Enable CUPS printing
    This setting is available for NX Client for Linux. Enable the forwarding of CUPS/IPP (Internet Printing Protocol) connections from the server to the client.

  • System CUPS daemon
    This setting is available for NX Client for Linux , Mac OS X and Solaris. Path of the CUPS/IPP daemon that should be started by the client to enable printing support.

Multimedia

  • Enable multimedia support
    Enable the forwarding of audio streams inside the X11 session to an audio server running on the client. The media player running within the NX session has to provide the Esound support.

    More information on how to play sound inside the NX session is available here:

    http://www.nomachine.com/ar/view.php?ar_id=AR03D00355


3.4 The Environment Tab

Fig.11 - The Environment tab.

User NX directory
Specify the path where the .nx directory is to be created. The user's .nx directory contains session configuration files, session directories, persistent cache and all the information necessary for handling NX sessions.

Remove old session files
Allow NX Client to clean the user's .nx directory by removing session directories and their contents when these sessions are terminated.

System NX directory
Specify the directory from where the nxclient executable is run.

Font server
This setting is available only for NX Client for Windows. Allow to specify the font server to be used on the NX client side. This can be useful to ensure that fonts are available (and compatible) on both the NX client and the NX server side. It can be required to allow every NX application to be able to use a specific font.

Select NX fonts
Allow customize fonts to be used in the NX Client GUIs.


3.5 The About Tab

Fig.12 - The About tab.

Retrieve information about the version of NX Client you are running on.



4. The NX Session Administrator GUI

The NX Session Administrator GUI allows to monitor and manage your NX sessions. You can use this GUI to start a new session, disconnect a session, view the session log file and retrieve NX protocol statistics.

Fig.13 - The NX Session Administrator GUI shows
your sessions on the NoMachine TestDrive.



5. Customize the NX Client Behaviour

The default behaviour of NX Client allows you to create and configure your session files, storing your NX password or not. When you launch NX Client, the login dialog allows you to:

  • Choose which session you would like to run, rename a session or create a new one.

  • Modify settings for any session by accessing the NX Client GUI.

  • Specify username and password to access the NX system, if you haven't already stored the password for that session. You can also modify these credentials if needed, including the possibility to log as guest user on the server, if your NX Server supports this feature.

Fig.14 - The NX Client login dialog.

The next paragraphs will give you some hints on how to modify the NX Client default behaviour.


5.1 Run a New Login Dialog When the Session Closes

You can disable all the available 'Close' buttons in the nxclient GUI by creating the noexit file in System NX dir/share directory, e.g.:

/usr/NX/share/noexit

In this case, when you close the running session, a new nxclient dialog box automatically appears on your desktop, ready to start a new session.

This is ideal when a client terminal has multiple users who need to access their session quickly and easily.


5.2 Disable Saving Username and Password in the Session File

You can disable the functionality to save username and password in the NX session file by creating the nopasswd file in the System NX dir/share directory, e.g.:

/usr/NX/share/nopasswd

This is appropriate when a client terminal has multiple users and the administrator needs to ensure that only pre-established users can access via NX Client.


5.3 Disable Configuring the Session

You can disable the possibility to configure sessions by creating the noconfig file in the System NX dir/share directory, e.g.:

/usr/NX/share/noconfig

This allows the Administrator to lock down the type of session that a user can run.

This feature works only when the NX client is started with the --session or --plugin option.


5.4 Set Per-User Extra Proxy Options on the Client Side

You can specify extra proxy options by creating a file named options, in the User NX directory, i.e. by default the user's home/.nx directory. This feature is useful for passing to nxcomp those options that are not accessible through the NX Client GUI (e.g. the http=8080 option would enable a channel to forward HTTP connections) or for experimental purposes.

More information is available at:

http://www.nomachine.com/ar/view.php?ar_id=AR06E00466


5.5 Install NX Client in Silent or Verysilent Mode on Windows

If you wish to install NX Client or the NX Add-On fonts without having any windows shown during the installation, you can choose to use the silent or verysilent switch. You can run from a DOS shell:

>nxclient-3.0.0-73.exe /silent

or

>nxclient-3.0.0-73 .exe /verysilent

More information is available at:

http://www.nomachine.com/ar/view.php?ar_id=AR02D00347



6. The NX Client Options

When the NX Client binary is run from command line, it can accept a number of options which are listed in the usage that can be printed by running the nxclient –help command from a console or similar.


6.1 The NX Client Usage

Below you can find the output of the nxclient --help command.

Usage: nxclient [OPTIONS]

--config FILENAME | DIRECTORY
Run nxclient reading global configuration settings from the file FILENAME. FILENAME can either be an absolute or relative path. In the latter case the path is searched for starting from the current directory. If no FILENAME is found in the current directory then FILENAME is searched for starting from the user's home directory. If DIRECTORY is given and a file 'client.cfg' is found in that directory, then the global configuration settings are read from this file. The filename does not need to end with the string '.cfg'.

--dialog TYPE [--caption TITLE] [--message MESSAGE] [--local]
              [--window ID] [--class {info|warning|error}]
              [--allowmultiple]
Show a dialog box. The option must be followed by a 'type' parame- ter which specifies the type of dialog.

TYPE can be either:

yesno
ok
error
panic
quit
pulldown
The user should specify a caption and a message to be shown. The option --local can be used to specify the proxy mode.

The 'pulldown' dialog is a special tiny window that is embedded in the window specified in the --window parameter, to allow the user to suspend or terminate a session running in seamless mode.

The --class option specifies the class of the message. When no class is specified the message will be assumed to be of the class 'Info'.

The --allowmultiple option specifies the possibility to launch more than one dialog with the same message.

--monitor [--owner USERNAME]
Run the "NX Shadow Monitor" application for tracking users when connected either to the local display or to the master session. This application allows a message to be sent to the selected user and to disconnect him/her.

--help
Display this help and exit.

--printer PRINTER_NAME
Show a dialog box with the list of CUPS printer drivers found on the server.

It may return:

- Exit code 0 and the name of the driver selected by the user. The name of the driver
  is written on the STDIN.

- Exit code 1 in the case of an error. The error message is printed on the STDERR.

- Exit code 2 and no error message, if the user chose to abort the operation.

--session FILENAME
Run a session reading the configuration settings from FILENAME.

--plugin FILENAME
Run the client in the special 'plugin' mode, reading the configuration settings from FILENAME.

--version
Output version information and exit.

--wizard
Guide the user through the steps required to configure a session.

--admin
Run the "NX Session Administrator" interface. The interface can be used to perform administrative tasks on the NX sessions run by the user, for example viewing the logs, printing the statistics or closing the session.

--display
Specify the X11 display where the client must connect. The option is only useful on platforms where the client is using the X-Window protocol for the display.

Technology Brief
Data encryption and security

NX security is guaranteed at every layer involved in the communication process. NX uses SSH public-key encryption and 128 bit volatile random cookie generation.

Multimedia support

NX transparently tunnels Linux multimedia channels. Not only does NX play KDE and Gnome system sounds, but you can listen to MP3s played on the server and local workstation simultaneously.

Windows file sharing support

Share a file, folder or entire disk from your local Linux computer and let it be accessed by the remote applications running on the NX server. Full support of industry standard SMB protocol.



 


Home | News | About Us | Partners | Contact Us
Products | Download | Support | Documents | Customers
Copyright 2002-2008, Medialogic - VAT 05773981005