NX Client Guide
Prepared by:
Silvia Regis
N°:
D-710_001-NXC-AMG
Approved by:
Sarah Dryell
Signature:
 
Date:
10/10/2007
Amended:
A


NX Client Guide




Index

  • 1. NX Client Guide
    1. 1.1 Download the appropriate package
    2. 1.2 What is the NX Client Package for?

  • 2. The NX Connection Wizard GUI
    1. 2.1 Configure Your Session Via the NX Connection Wizard
    2. 2.2 Choose which type of Session You would like to run
    3. 2.3 Create a Session Shortcut and Run the NX Client GUI

  • 3. The NX Client GUI
    1. 3.1 The General Tab
    2. 3.2 The Advanced Tab
    3. 3.3 The ServicesTab
    4. 3.4 The Environment Tab
    5. 3.5 The About Tab

  • 4. The NX Session Administrator GUI
  • 5. Customize the NX Client Behaviour
    1. 5.1 Run a New Login Dialog when the Session closes
    2. 5.2 Disable Saving Username and Password in the Session File
    3. 5.3 Disable Configuring the Session
    4. 5.4 Set Per-User Extra Proxy Options on the Client Side
    5. 5.5 Install NX Client in Silent or Verysilent Mode on Windows

  • 6. The NX Client Options
    1. 6.1 The NX Client Usage




    1. NX Client Guide

    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



    Up

    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).



    Up

    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.



    Up

    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.



    Up

    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.



    Up

    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.



    Up

    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.


    Up

    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.


    Up

    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



    Up

    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.



    Up

    3.5 The About Tab

    Fig.12 - The About tab.

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



    Up

    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.



    Up

    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.



    Up

    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.



    Up

    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.



    Up

    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.



    Up

    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



    Up

    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



    Up

    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.



    Up

    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.


    Up


    For further information about NX Client and NoMachine's range of other products, users are invited to visit our website at www.nomachine.com