Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017



on - execute a command on a remote system with the local environment


on [-i] [-d] [-n] host command [argument] ...


The on program is used to execute commands on another system, in an environment similar to that invoking the program. All environment variables are passed and the current working directory is preserved. To preserve the working directory, the working file system must be either already mounted on the host or be exported to it. Relative path names will only work if they are within the current file system. Absolute path names may cause problems.

The standard input is connected to the standard input of the remote command. The standard output and the standard error from the remote command are sent to the corresponding files for the on command.

Note that the on program requires that the rpc.rexd(1M) service be running on the remote machine. By default, rpc.rexd is present but not running on an Oracle Solaris system. Because of its better security, ssh(1) is the preferred method of invoking commands on remote machines.


The following options are supported:


Debug mode. Prints out some messages as work is being done.


Interactive mode. Uses remote echoing and special character processing. This option is needed for programs that expect to be talking to a terminal. All terminal modes and window size changes are propagated.


No Input. This option causes the remote program to get EOF when it reads from the standard input, instead of passing the standard input from the standard input of the on program. For example, –n is necessary when running commands in the background with job control.


See attributes(5) for descriptions of the following attributes:


See Also

chkey(1), rlogin(1), rsh(1), ssh(1), telnet(1), rpc.rexd(1M), attributes(5)


unknown host

Host name not found.

cannot connect to server

Host down or not running the server.

can't find

Problem finding the working directory.

can't locate mount point

Problem finding current file system.

RPC: Authentication error

The server requires DES authentication and you do not have a secret key registered with keyserv. Perhaps you logged in without a password. Try to keylogin. If that fails, try to set your publickey with chkey.

on server: RPC: can't encode arguments

The 10240 byte limit for arguments to be encoded and passed from the sending to the receiving system has been exceeded.

Other diagnostic messages may be passed back from the server.


When the working directory is remote mounted over NFS, a Control-Z hangs the window.

Root cannot use on.