Access a Photon workspace on a remote node


phditto [-b baud] [-H time1[,time2][,time3]]
        [-h height] [-i igrp] [-k]
        [-M kbytes[,Mbytes]] [-m modem]
        [-N number] [-n path[+]] [-o options]
        [-p path]
        [-s service] [-t ipaddr[:port]]
        [-U userid[:password]] [-u] [-V[V]...]
        [-w width] [-X offset] [-x offset]
        [-Y offset] [-y offset] [host]

Runs on:



-b baud
Specify the effective baud rate of the communication link. The default is the current baud rate of the communication link.
-H time1 [,time2] [,time3]
Mouse holdoff times (in tenths of a second):

Default times are scaled, based on baud rate, yielding 1.2, 0.6, and 0.3 seconds at 9600 baud. The default mouse holdoff is disabled at baud rates above 115,200.

-h height
The height of the window, in pixels. The default is 480 pixels.
-i igrp
Specify phditto's input group. Default is 1.
Start in kiosk (full-screen) mode. Pressing Ctrl-Alt-K anytime toggles kiosk mode.
-M kbytes [,Mbytes]
Specify RAM cache (and optionally the disk cache) limits. The default is 4096,20, which corresponds to a 4M cache and a 20M disk cache.
-m modem
Specify the name of the QNX serial device to use for remote connect.
-N number
Set the number of messages buffered to allow write-ahead draws to phditto. The actual number used is the lesser of this option and the -b option of phrelay. The default value is 20. Use a lower value to save memory on the Neutrino host running phrelay at the expense of throughput, or, if memory is not an issue, a higher value to gain some additional throughput performance. Adjusting this setting has the most effect when end-to-end response time is slow compared with throughput, such as over a modem or when there are many network hops between the local and remote ends.
-n path[+]
View and interact with Photon in the specified path, e.g. -n /dev/photon. To create a new private Photon session on a QNX4 host, end path with +, e.g. -n//3+.
-o options

Combine options by addition, e.g. to specify BPE and CRC, select 9. If the selected baud rate requires it, compression will be automatically selected unless you specify 0.

-p path
Use the path for the disk cache. If not specified, the default is /usr/photon. If you don't have permission to write to this location caching is disabled.
-s service
Request a specific phrelay service. For more information, see Using predefined Photon services in the documentation for phrelay.
-t ipaddr[:port]
Connect via TCP/IP to this IP address (with optional port). (Specifying host does the same thing.)
-U userid[:password]
Login as this user (with optional password) when using services. The default is $LOGNAME.
Unlocked mode. Allow user to navigate independently at the remote Photon space.
Be verbose; more V characters cause more verbosity. Output is sent to standard output.
-w width
The width of the window, in pixels. The default is 640 pixels.
-X offset
Specify the initial x offset in the local Photon event space.
-x offset
Specify the x offset of the remote phditto window.
-Y offset
Specify the initial y offset in the local Photon event space.
-y offset
Specify the y offset of the remote phditto window.
Connect to this TCP/IP host or IP address.


The phditto utility lets you view and interact with another Photon workspace in a network. When you “ditto” the remote node, both you and the remote user can share the same workspace.

You can end the phditto session by selecting Close from phditto's window menu (click the right mouse button on the phditto label in the Taskbar).

Remote connectivity via modem

When you specify a modem (using -m), phditto first acts as a simple text terminal emulator so you can interact with the modem, dial up a remote QNX machine, and log in. Once you're logged in, you can then start up a Photon session by entering the following command:

exec  /usr/bin/phrelay

The phditto program will then synchronize with the remote phrelay program and start to function as a Photon graphics terminal.

Remote connectivity via TCP/IP

When you specify a TCP/IP connection (using -t), the inetd program running on the remote QNX host will automatically launch phrelay for you, provided phrelay and inetd have been configured properly.


Run an encapsulated Photon session (Photon within Photon) on the local machine:

phditto localhost

Start a private pfm service on host:

phditto -Spfm -t host

Connect through the modem on /dev/ser2 to a remote QNX box. Once logged into QNX, type exec /usr/bin/phrelay:

phditto -m/dev/ser2

Connect via the Internet to an IP port on a remote QNX machine where a remote Photon session will be automatically started:

phditto -t198.53.31.1:4869

Connect to a remote QNX machine and run an encapsulated PhAB session as user joe:

phditto -t198.53.31.1 -sphab -Ujoe:password


  1. To create a new private Photon session on a remote node, you must specify one of -m, -t, or host because native QNX messaging is not currently implemented as a transport mechanism.

    You can use Qnet to connect to an existing Photon session on a remote node. For example:

    phditto -tlocalhost -n/net/remotehost/dev/photon
  2. When connecting to a machine running an older version of phrelay, it's possible to exceed the draw buffer limit. In this case, the window title displays the error: “[Error: Large Draw Buffers]”.

See also:

phrelay, phrelaycfg

Using the Photon microGUI in the Neutrino User's Guide