Using the X Window System with the Display Wall

We have written four VNC utilities to allow you to show X Window sessions on the tiled display wall. These are "vncwall", "vncd" "tileviewer", and "killtile". They are described in the following sections.

vncwall (Version 1.0)

Introduction

The vncwall utility is used to display one or more VNC sessions on a tiled display wall. A single VNC session can be shown across multiple tiles on the display wall. The VNC Wall utility enables you to specify the number of tiles in the wall and the tiles that will show VNC sessions. A graphical user interface is available to simplify management of the VNC sessions. However, VNC Wall can also be invoked from the command line.

Required Software and Location

The following supporting software is required to use vncwall:

The vncwall program is located:

Using vncwall with the graphical user interface

To start the vncwall utility, type:

at the command prompt.


Figure 1: vncwall User Interface

The user interface shown in Figure 1 is divided into two parts -- server authentication (accessed by clicking the "Servers" tab) and wall configuration (accessed by clicking the "Wall" tab). It is assumed that at least one VNC Server session is already running on one of your systems and that the X server that was started is a multiple of the dimensions 1024x768.

See the description for the VNC Server in the VNC documentation (http://www.cam-orl.co.uk/vnc/docs.html) for more details on how to use it.

Server authentication

In order to display the VNC server on the display wall, you must submit a password to authenticate with that session. The password is used to verify that you have permission to use that VNC Server.

To authenticate with the VNC Server session:

  1. Click the "Servers" tab (if you have not already done so).
  2. Type the machine name and VNC server session number that VNC Server started in the "VNC Server" text field, and press the Enter key, or click "Add".
  3. In the password field, enter the VNC Server password for the session you just specified. (This is the same password you entered when creating the VNC Server session).

If you log in correctly, the password field disappears from the window and is replaced with the VNC Server's name, screen width and height, and the server tile configuration (Figure 2). This information is not editable. An error message is displayed if you do not log in correctly.


Figure 2: VNC Server Configuration

Wall configuration

To configure the display wall tiles:


Figure 3: vncwall Configuration

Each of the boxes displayed represents a single tile of the display wall. The number of boxes displayed depends on the number defined in the columns and rows text entry fields in the upper left of the window. In each box, there is a text entry field for the name of the machine used to display the tile, a graphical representation of the tile, and a combo box used to select which VNC Server tile to display.

To change the number of rows and columns in the display wall:

  1. Enter the desired value in the rows and columns text entry fields.
  2. Click the "Update" button.

To define the tiles to display:

  1. Enter the machine name in the text field above the monitor graphic for each of the tiles to be displayed.
  2. Click on the combo box below each monitor graphic and select the tile of the VNC server to display. If you do not want to display anything on a particular monitor, leave this selection as "None".
  3. When you are finished entering the information for each tile in steps 1 and 2, click on the monitor graphic for each tile. The selected VNC tile will be displayed on the wall.

Figure 4: An example of the configuration for a 3 column, 2 row display wall with imagery on 4 tiles.

Saving and Loading

The sessions you define with the vncwall graphical user interface can be saved and reloaded via the "Save" and "Load" options in the "File" menu.

To save a session:

  1. Click on the "File" option in the menu bar and select "Save". This will open a file dialog.
  2. Enter a name for the session and click "Save".
To load a saved session:

  1. Click on the "File" option in the menu bar and select "Load". This will open a file dialog.
  2. Select the name of the session you want to load and click "Open".
(To automatically load a previously saved session enter the command

where "session" is the name of the saved configuration file.

Note that for security purposes, the password you entered when configuring the session is NOT stored when you save the session. When you load a saved session, you will need to re-enter the password for that VNC server. The wall configuration part of the user interface will then re-establish the tile selections, and reset the state of all tiles on the display.

Using vncwall without the graphical user interface

To restart a session from a previously saved configuration file type:

Where savedconfig is the name of the configuration file you want to use. You will be prompted for the passwords required to connect to the VNC servers specified in the configuration file. Once the correct passwords are entered, the program brings up displays in the configuration that was specified in the file, and then exits. The tiles will continue to be displayed on the wall.

To stop all the tiles displayed on the display wall using a configuration file, type:

Entering this command will stop tileviewers specified in the configuration file that are running on the display wall. This is functionally equivalent to the "killtile" command, but you don't have to specify the individual machine names since that information is taken from the configuration file.

Interacting with the display

In order to type and move windows around on the display, you must run the x2x utility. The x2x utility will automatically translate your mouse movements and keyboard input to the VNC server being displayed on the display wall. See the documentation for x2x for more information.

Troubleshooting

If you have problems getting tiles to display, verify that:

  1. The VNCDd program is running on each system. You can check this by using the command "ps -ef" looking for the vncd program listed in the output. The vncd process is started at boot time, so it should always be running. If it's not running, type "vncd" at the command line to restart it.
  2. The tileviewer program is in a location that vncd knows about. The location of the tileviewer is specified in vncd.h in the vncd source. If you changed the location of the tileviewer from the default, you'll need to recompile vncd.

Other information sources

vncd (Version 1.0)

Introduction

The vncd daemon allows clients to launch and destroy the tileviewer program remotely. The vncd daemon listens on a socket waiting for incoming messages. Messages sent from client programs (such as vncwall, or killtile) tell vncd to start and stop the tileviewer program. The "Start" messages passed from the client programs to vncd are passed to the tileviewer which is launched with those parameters. Sending a "Quit" to vncd will kill the currently displayed tileviewer.

Required Software and Location

The following supporting software is required to use vncd:

The vncwall program is located:

Installation Instructions

The vncd program can be installed via the vncwall rpm. If you always want to start vncd at boot time, create the file /etc/rc2.d/S98vncd with the following contents:

The next time the system boots to at least run level 2, the vncd program will be started.

Using vncd

The vncd program should be started at system boot time. If it is not already running on the system it will need to be restarted.

To start vncd type:

and it will automatically put itself into background.

Once vncd starts running, it can accept connections from client programs.

If you move tileviewer to another directory other than /usr/local/bin, vncd will not work correctly because that's where vncd looks for the tileviewer executable. If you change the location of tileviewer, edit the "vncd.h" file and recompile the vncd program.

Troubleshooting

If vncd starts behaving strangely, kill all tileviewers that may be running on the system, kill vncd, and restart it.

tileviewer (Version: 1.0)

Introduction

The tileviewer program is a modified version of VNC viewer (http://www.cam-orl.co.uk/vnc/docs.html) adapted for use on tiled display walls. It functions just like VNC viewer but adds two additional features: region selection and VNC viewer destruction. Earlier versions of VNC viewer had a feature similar to region selection (it's been dropped in the most recent releases), but it was unsuitable for use on the tiled display wall without modifications.

Required Software and Location

The following supporting software is required to use tileviewer:

The tileviewer program is located:

Using tileviewer

To make a region selection, use the "-region" option.

The parameter accepts four arguments: x, y, width and height. When tileviewer is invoked with these parameters, it displays a subregion of the VNC server's full display. The subregion begins at location (x,y), is "width" pixels wide, and is "height" pixels high.

For example, entering the command

will bring up a tile on the display wall from a VNC server running at "tileserver:3".

To destroy all VNC viewers attached to a particular VNC server, use the "-killviewers" option.

For example, entering the command

will kill all viewers attached to "tileserver:3", regardless if they are running on the wall or not. This differs from the "killtile" command that only kills viewers started via the "vncd" program.

killtile (Version 1.0)

Introduction

The killtile utility is used to remove unwanted VNC sessions from the display wall. It does this by forcing the VNC daemon running on a system to stop displaying the currently displayed VNC session.

Required Software and Location

The following supporting software is required to use killtile:

The tileviewer program is located:

Using killtile

To kill the hostname's VNC session that is being displayed on the wall enter the command where the hostname refers to the machine displaying the tile, not the machine running the VNC session. More than one tile can be killed with one command invocation by specifying multiple hostnames.

This command will only work for VNC sessions that were started by the VNC daemon, vncd. Use the "-killviewers" option of the tileviewer command to kill all VNC sessions for a particular VNC server thereby leaving the other tiles on the display wall intact. See the tileviewer documentation for more information on using this command.