LinuxCommandLibrary

nx

Execute commands on remote NX server

TLDR

Build a specific project

$ nx build [project]
copy

Test a specific project
$ nx test [project]
copy

Execute a target on a specific project
$ nx run [project]:[target]
copy

Execute a target on multiple projects
$ nx run-many --target [target] --projects [project1],[project2]
copy

Execute a target on all projects in the workspace
$ nx run-many --target [target] --all
copy

Execute a target only on projects that have been changed
$ nx affected --target [target]
copy

SYNOPSIS

nx [options]

PARAMETERS

--help
    Displays help information.

--version
    Displays version information.

--server
    Specifies the server address (host:port).

--user
    Specifies the username.

--session
    Specifies the session id.

--geometry
    Specifies the screen resolution.

--link
    Specifies the link type (e.g., modem, isdn, wan, lan).

DESCRIPTION

NX provides a fast and efficient way to access remote X11 desktops, particularly over slow network connections. It achieves this through a combination of compression, caching, and protocol optimization. The nx command itself is the main command-line tool for interacting with the NX server. It's used to create, connect to, disconnect from, and manage NX sessions.

NX essentially creates a 'virtual' display on the remote machine that can then be accessed by the client. Data is highly compressed before being sent across the network, reducing bandwidth requirements. The client side NX program is responsible for decompressing the data received from the server and displaying the graphical desktop to the user. It can be used to connect to either a new desktop or an existing one.

Unlike a traditional VNC server, NX works on a difference-based approach. Instead of sending the entire screen every time a change occurs, it only transmits the changed portions. This, combined with its compression techniques, makes NX significantly faster and more responsive, especially for applications that involve a lot of screen updates. NX support has diminished in favour of alternatives such as X2Go.

CAVEATS

NX is largely deprecated in favor of X2Go due to development stagnation, and some distributions may not include it by default.

SECURITY CONSIDERATIONS

While NX offers improved performance, it's crucial to secure the connection. Using SSH tunneling is highly recommended to encrypt the traffic between the client and server. Ensure the NX server is properly configured to prevent unauthorized access.

HISTORY

NX was initially developed by NoMachine as a proprietary solution for remote X11 access. It gained popularity for its performance benefits compared to VNC. A open source version was also available but it's development has been slow.

SEE ALSO

X2Go(1), ssh(1), vncserver(1)

Copied to clipboard