Nomachine

Dec 08, 2017 NoMachine supplies its remote access program with several security features. The program uses 128-bit encryption, which is standard for the industry. While many of the software on our lineup utilize a superior encryption level, this program also has inactivity timeout, keyboard locking and screen blanking. NX technology, commonly known as NX or NoMachine, is a proprietary software application for remote access, desktop sharing, virtual desktop (on Linux only) and file transfer between computers. It is developed by the Luxembourg-based company NoMachine. NX's design was derived from the Differential X Protocol Compressor project (DXPC).

  1. Nomachine M1
  2. Nomachine Download
  3. Www.nomachine.com
  4. Nomachine Nx

Setting up your noMachine client -- the best way to access the Demography Lab remotely

Below are instructions for setting up your personal computer to use the Virtual Demogrpahy Lab. For most people, the noMachine client will offer the fastest and best way of accessing the awesome array of Demography Lab services. It is easy and free to install. There are other options, however, so if this feels wrong check the Getting Started at the Demography Lab page for other possibilities.

The instructions below are mac-centric, owing to my lack of a windows machine with which to experiment. Please help improve them for windows users by sending instructions and screen shots to boe@demog.berkeley.edu. If you're a Linux user you'll be able to figure it out yourself...right?

Step by Step (First Time Setup)

  1. Get a userid:
    Acquire a valid Demography Lab userid/password
  2. Install the client software:
    Download and install the appropriate 'client' software You can download the no machine client software from https://www.nomachine.com/product&p=NoMachine%20Enterprise%20Client
    Choose the one that matches your operating system.
    You want the Enterprise client.Download and install accepting all of the defaults.
  3. Configure the noMachine Client:
  • Launch the noMachine client application
  • Create a 'new connection' when offered the chance
    This will launch a series of dialog screens. Mostly you'll choose the default options. exceptions in red
    • Protocol: NX
    • Host: nmx.demog.berkeley.edu ; Port: 4000; Use UDP for multimedia: yes
    • Authentication: Password
    • Proxy: Don't use a proxy
    • Save as Name: Best Demography Lab EVER
  1. Connect :
    Hit the 'Connect' button to connect for the first time
    • Enter your DemographyLab username and password -- If you don't have these then Go back to step 1
    • noMachine will then 'create a new desktop' for you..
      You can safely just click OK on the next 2 screens ultimately revealing... Your awesome new Linux Desktop (in a window on your local machine):

Mind bending truths about noMachine

Your new remote Linux Desktop is a fully functioning Linux workstation running on a server in the cloud. You control it from your local machine through an application (the noMachine client) But the desktop in that window is NOT an application on your local machine. It does not, in fact, know anything about your local machine. This can be confusing because it seems like you have just launched an application --but you didn't just launch an application -- you connected to a server in the clouds.

It thus follows:

  • Files on your local machine are NOT readable/writable from applications running on the Linux Desktop.
    If you want to operate on the same files using both your personal computer and the Linux machine in the cloud, you must either Upload and download files (see Upoading?) Or share a directory using Dropbox.
  • Simply Closing the noMachine client will not (generally) cause Linux applications to stop
    This is more of a feature than a bug since long running applications don't require persistent connections -- but it also means Politeness is required: you must close applications individually or terminate your noMachine session explicitly in order to not waste resources%.

The workflow

The canonical method of using the server is :

  1. Lanch the noMachine client
  2. Select the saved connection called 'Best Demography Lab Ever' and Hit 'Connect'
    1. This will 'create a new virtual desktop'; prompt you for userid/password; and connect you to it. (After you click OK a few times)
  3. Do science
  4. Log out to 'terminate' your session
    When you have completed you work and are ready to take a nap:
    1. Close each application that you are running on the virtual Desktop
    2. Log Out of the Linux Server.

Connecting and Reconnecting Disconnecting vs Terminating a Session

Occaisionally, you will find that you are ready to take a nap before your scale model of the Universe has converged. One of the advantages of noMachine is that long running projects can continue to run while you pursue other important priorities. This is done by Disconnecting rather than Logging out (aka Terminating). When you disconnect from the Linux server, your session continues as if you were right there watching. R, Stata or whatever application you are running will just continue to tick over -- exploring whatever scientific cul-de-sac you have designated -- and wait patiently for you to reconnect.

Unless the server crashes in the mean time, you can reconnect and pickup where you left off by following the same procedure as you followed when there is no currently running session -- e.g. when you Logged out last time: Launch the noMachine client app; select the saved connection; hit connect.

How to DisconnectThough typically, you will want to be a good doobie and Log out when you are finished doing science for the day, to keep your session active in your absence you'll want to disconnect:

  • Find and click on the noMachine icon (generally) in the upper right corner of the screen
    Alternate keyboard shortcut: Ctrl+Alt+0 (zero not Oh)
  • Select 'Display':
  • Select 'Disconnect':

What could possibly go wrong ? (Troubleshooting)

  • Did you enter your Demography Lab userid/password? Your laptop probably knows you as 'Firstname Lastname' or your middle school nickname but the Demography Lab knows you as the userid/password that you specified on your confidential data form. If you are not sure about your userid and password try logging in using ssh. If that works then you'll know that your userid and password are valid.
  • The NoMachine client connects to the server on port 4000. This is the default setting so if you changed it, change it back to 4000.
    Unfortunately, the CalVisitor WiFi setup (and no doubt others in the wide world) promises only to allow connections on ports 80 and 443. So if you are having trouble connecting on CalVisitor, then it's worth the effort to get your AirBears2 working.
    • If you cannot or will not get AirBears2 to work, then you can use the SSH protocol in place of the standard NX protocol (Edit the saved connection or create a new connection if that suits you) see that *should* cause the Port to show 22 instead of 4000.
      It would be wise to make sure the ssh is working from your machine. Ssh not working, would indicate other sorts of network problems. See ssh
  • Might your firewall be overly paranoid? Try disabling the firewall for a minute to see if that clears up the problem.
(Redirected from NoMachine)
NX technology
Initial release2003
Stable release
Size28 MB
TypeRemote desktop software
LicenseFreeware
Websitewww.nomachine.com

Nomachine M1

Background[edit]

NX technology, commonly known as NX or NoMachine, is a proprietary software application for remote access, desktop sharing, virtual desktop (on Linux only) and file transfer between computers. It is developed by the Luxembourg-based company NoMachine.[1]

NX's design was derived from the Differential X Protocol Compressor project (DXPC). In 2003, the compression and transport protocol NX was created to improve the performance of the native X display protocol so it could be used over slow connections such as dial-up modems. It wrapped remote connections in SSH sessions for encryption. The core compression technology was released under the GNU GPL2 license (NX 1) for Linux servers, whilst other components such as the NX Server and NX Client programs remained proprietary, on February 14, 2003. The last update to this open-source version was released in 2012.

In 2010, the company decided to close the source and a proprietary license was adopted.[2]

In 2013, the release of version 4.0 was released to the public under a closed-source license and for the first time provided a native version for Windows and Mac servers.[3] It was in 2013 that NX software became NoMachine software.

Features[edit]

NoMachine NX can be installed on Windows, Mac, Linux and Linux ARM servers to access the physical display. Client software is available for Windows, Mac OS X, iOS, Android, Linux, Linux ARM and HTML/JavaScript. Its Linux products also offer the ability to run multiple virtual Linux instances on the same machine (Linux Terminal Server functionality). Other features include USB redirection, session recording, file transfer, multimedia capability and browser-based access. Higher-end products include multi compute-node clustering and fail-over capabilities.

Nomachine Download

NX utilizes VirtualGL to run high-end OpenGL-based X applications and 3-D CAD programs.

Nomachine

NX 4 and later versions[edit]

NX 4 introduced optimal image compression and caching with the latest video-encoding techniques.

Client applications can connect using the SSH protocol, with the same authentication mechanisms as version 3, by a new SSH system login, or by the new SSL-enabled NX daemon. Once a secure connection is established, clients negotiate a desktop session using a text protocol compatible with that used in version 3. Clients can also use one of the various NoMachine subsystems, such as the file synchronization service, software updates, directory services, voice/video messaging and server clustering.

When connecting hosts across the network, the NX protocol works as a generic tunnel, with additional framing and flow control information, and dynamically adapts compression and bandwidth according to network speed and capacity. For compatibility, multiplexing is based on version 3.

NX 4 added new channel types to handle services such as the new file-system redirection, new printing system, virtual network interfaces, smart cards and USB devices. Most NoMachine components, including the agent program that impersonates the desktop session on the server, embed so-called 'slave servers'—lightweight servers that provide inter-process communication and automation that can be used to create additional channels, under the control of the client and server.

Applications can still request that channels carry data using the NX X Window System protocol compression. Version 4 added new channel types for video and audio, allowing multiple codecs in the same stream. Currently, the display (video) channels can handle data in H.264, VP8, MJPEG and other formats, with additional primitives used to implement special encoding operations concurrent with standard audio and video streams.

Once the session is established between client and server, NX data can travel on TCP and UDP streams. The client and server dynamically select which transport to use, based on the type of data and network conditions. If communication over UDP is enabled, client and server can automatically instruct the router to open the necessary ports. UDP uses symmetric Blowfish encryption. The host interface and port, and Blowfish encryption key, are negotiated via a secure TCP link. UDP communication is disabled when using SSH tunneling, so that all data uses the same SSH link.

The display protocol uses a combination of video and image encoding, based on standard codecs and a number of techniques developed by NoMachine. NX monitors display and user activity to adapt quality and buffering to the displayed application.

Authentication[edit]

From version 4.0 on, when the default NX protocol is used, the login can be via password-based authentication, private key or Kerberos ticket authentication.

When NX is configured to send its data by SSH (available only on enterprise-version servers), the following authentication methods are available:

Client to Server

  • NX login as NX user using the NX SSH key and user password-based authentication
  • System login with password-based authentication
  • System login with SSH key-based authentication
  • System login with SSH key-based authentication and SSH key stored on a smart card
  • System login with Kerberos ticket existing on client side

Server to Node

  • Login with password
  • Login with SSH key forwarded from client (e.g. NoMachine Player) via server to node
  • Login with Kerberos ticket forwarded from client via server to node
  • Login with Kerberos ticket requested by Kinit on server host
  • Login with Kerberos ticket requested by PAM module on server host.
  • Login with password to Kerberos ticket requested by PAM module on node host

Legacy technology[edit]

NX compresses the X11 data to minimize the amount of data transmitted, and caches data to keep the session as responsive as possible. For example, the first time a menu is opened, it may take a few seconds, but is subsequently almost instant.

NX is faster than its predecessors, as it eliminates most of the X round trips, while dxpc and MLView only compress data.

The two principal components of NX are nxproxy and nxagent. nxproxy is derived from dxpc and is started on both the remote (client in X terminology) and local (server in X terminology) machines, simulating an X server on the client and forwarding remote X protocol requests to the local X server.

Simplest setup:[4]

nxproxy alone achieves 1:10 to 1:1000 compression ratios,[5] reducing bandwidth, but does not eliminate most of X's synchronous round trips, responsible for most of X's perceived latency.

Www.nomachine.com

nxagent, derived from Xnest (similar to Xephyr), is typically started on the remote (client) machine, thus avoiding most X11 protocol round trips. Together with nxproxy (built into nxagent), this setup performs well over low-bandwidth and high-latency links.

Typical setup:[4]

On systems with a functional X11 implementation, nxproxy and nxagent are all that is needed to establish a connection with low-bandwidth requirements between a set of remote X clients and the local X server. SSH can be used to establish a secure tunnel between the hosts. NX 3 relies on SSH functionalities and existing open-source SSH software, making it possible to run contemporary Unix and Windows desktops and arbitrary network applications over the Internet in a secured and controlled way.

FreeNX and the various NX Clients are used for setup, handling suspend and resume, secure tunnelling over SSH, and printing and sound.

Other display protocols[edit]

NoMachine's NX protocol allow client connections to hosts via Remote Desktop Protocol (for Windows Remote Desktop Services sessions) and remote Virtual Network Computing sessions (most modern general-purpose operating system platforms), as well as XDM.

NX derivatives and forks[edit]

Prior to version 4.0, NoMachine released core NX technology under the GNU General Public License, and offered non-free commercial NX solutions,[6] free client and server products for Linux and Solaris, and free client software for Microsoft Windows, Mac OS X and embedded systems.

Due to the free-software nature of older NX releases, the FreeNX project was started to provide wrapper scripts for the GPL NX libraries.[7] FreeNX was developed and maintained by Fabian Franz, but has not announced a release since 2008.[8]

2X Software has developed another commercial terminal server for Linux using the NX protocol.[9]

On July 7, 2009, Google announced their open-source NX server, Neatx, as an internal project.[10][which?] The project had no releases and is not actively developed. Its source code is available under the GNU GPL v2 license.[11]

X2Go is based on the 3.x NX libraries, but is not compatible with other implementations.[12][13] The client and server are released under a combination of GNU GPLv2 or later, and GNU AGPLv3 or later.[14]

Clients[edit]

The primary NX clients are the official freeware, NoMachine, and NoMachine Enterprise Client. Several open-source projects can also use the NX protocol but many of these OSS projects do not work with more recent versions of the official NX software.

An OS mature project was Lawrence Roufail's nxc client library, a full library which can be used for other clients to build upon. The nxrun application utilizes this library. As of 2006, the library does not allow suspending or resuming sessions, and uses only JPEG graphics compression.

The kNX project was a proof-of-concept application written by Joseph Wenninger, with plans for it to eventually become a complete NX client to show that an open-source client could be written. Its development was halted before it was completed. In late 2005, Fabian Franz and George Wright began modifying kNX to use the nxc library, but abandoned the project.

Nomachine Nx

More recent open-source efforts include QtNX, which offers full suspend and resume. However, it has been reported as incompatible with the most recent NX libraries.

Nxcl, an update to nxclientlib, the core of QtNX, was completed by Seb James in September 2007, and works with version 3 of the NX core libraries.[citation needed] It also drops dependency on Qt, which prevented nxclientlib from becoming widely used as a cross-platform basis for NX client programs. nxcl provides a library that can be linked to a client program (libnxcl), and a self-contained NX client with a D-BusAPI (the nxcl binary). It is available from the FreeNX Subversion server.

Another obsolete (last updated Jan 2013) OSS NX client is OpenNX, described as a 'drop-in replacement for NoMachine's [proprietary] nxclient' with full suspend and resume.

Various open-source terminal server projects, such as X2Go, also use the NX protocol. However, X2Go is not compatible with other NX servers or clients.

Remmina, another recent GTK+ remote desktop client project, announced the ability to use the NX protocol in its release 0.8.

Previous X11 compression schemes[edit]

  • Low Bandwidth X (lbxproxy; obsolete and of historical interest only)

See also[edit]

  • Thinstation – a thin client Linux implementation with optional built-in NX client
  • GNU Screen – a terminal multiplexer for console-mode (text-mode) applications
  • Xpra – a system for attaching and detaching remote X programs
  • xmove – a tool allows you to move programs between X Window System displays (outdated)

References[edit]

  1. ^NoMachine.
  2. ^NX Compression Technology To Go Closed Source, Slashdot
  3. ^Delivering remote Mac, Linux and Windows desktops with NoMachine NX, brianmadden.com
  4. ^ ab'Building and using NX components'. NoMachine. 2015-05-22. Retrieved 2015-08-21.
  5. ^Building and using NX components, NoMachine.
  6. ^NX Terminal Server and Remote Access Software (product details), NoMachine.
  7. ^'FreeNX – the free NX'. DE: Berlios. Archived from the original on 2013-11-11. Retrieved 2014-02-14.
  8. ^FreeNX (project page), DE: Berlios.
  9. ^'2X TerminalServer for Linux Features'. 2X. Archived from the original on January 16, 2012. Retrieved 2016-03-30..
  10. ^'Releasing Neatx, an Open Source NX Server', Open source (World Wide Web log), Google, Sep 2009.
  11. ^'Neatx', Code, Google.
  12. ^'X2Go – everywhere@home'. 2013-12-28. Retrieved 2014-02-14.
  13. ^FAQ, X2go.
  14. ^License information, X2go.

External links[edit]

Nomachine for windows
  • X2Go X2Go Introduction Page
  • FreeNX project page on BerliOS.
  • FreeNX project page at Arch Linux.
  • OpenNX project page, SourceForge.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=NX_technology&oldid=1027343180'