Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: TOC added, headings level updates, gototop added

Anchor
TOC
TOC
Include Page
KBCOMMON:KB-CSSstyle
KBCOMMON:KB-CSSstyle

Table of contents

Table of Contents
excludeTable of contents
stylesquare

Overview

This document is intended to provide you with advice on how to configure the use of X-Windows between an emulator instance (either Tru64 or OpenVMS) and it’s Windows or Linux host.

Prerequisites

  • Familiarity with X11
  • Familiarity with the guest operating system (Tru64 or OpenVMS)
  • Familiarity with the CHARON-AXP product

Conditions and Limitations

  • The X-server configurations described in this document were tested using the VcXsrv X-server on Windows.
  • The guest operating system versions tested were: Tru64 V4.0F/V5.1B, OpenVMS V7.1/V7.3-2

Terminology

For the purposes of this document, the following definitions apply:

TermDescription
HostThe system on which the emulator runs, and also on which the X11 session is displayed
GuestThe emulated system, on which the X11 clients run

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

Displaying Graphical Applications Over The Network

There are various ways of methods and styles when using a separate system (X11 Server System, “Host”) to display applications running on an emulator (X11 Client System, “Guest”). The first thing to decide is if the entire “desktop environment” is to be transported to the Host. The entire desktop environment means a sessions begins with a graphical login window. The user must authenticate himself using credentials associated with the Guest. After authentication, a session manager, either CDE or DECwindows/Motif is started. Transporting the entire desktop environment will be referred to henceforth as the “Desktop Environment Session” (DES).

...

If the Host has multiple Windows screens (i.e. monitors), and you are planning to transport the DES, you must additionally decide if you want all (or some subset) of the Windows screens to appear to the Guest as one large screen, or as several screens. One large screen allows windows to span the Windows screens, and be moved anywhere within the one large logical screen. Configuring several logical screens means that applications on the Guest must explicitly be directed to screens other than the first, for example, using “<Host>:0.1” as the display target would cause the application window to be directed to the 2nd logical screen.

One LargeWindow

A DES should almost certainly be encapsulated in a single window, with or without a frame. This can be combined with XDMCP (the X11 Display Manager Control Protocol), if the Guest supports it.

XDMCPXDMCP allows the system on which an X-Server is running (the Host) to send a DES initiation request to the system (“Guest”) on which the user would like to run X-applications locally. The session is almost identical to sitting in front of the display connected to the original Alpha hardware. When a new session has been started, the standardX login screen is presented, and the user must authenticate himself.
NO XDMCP

(info) This part will be described later

SeveralWindows

Without XDMCP, each application to be run on the guest system must be started individually. This is can be done from Windows using Putty with X11 tunneling enabled, if the Guest supports SSH. If the guest is running Tru64 V4.x or OpenVMS V7.1, it will not have an ssh-daemon. You have several choices in this case:

...

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

 


Security Considerations

X11 does not contain any provision for encrypting network traffic. This means you must satisfy one of the following conditions:

...

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

...


Host Configuration

The procedure for configuring the host depends completely on whether it is running Windows or Linux.

Linux

(info) This part will be enhanced/described later

In principle, it should be a relatively simple matter to configure the Linux host, because X11 is currently a standard Linux component. This will change soon, though, as many Linux distributions are evaluating new windowing systems, such as Wayland (RedHat, Fedora) or Mir (Ubuntu), which may not offer X11 compatibility.

Windows (7, 2008 R2)

You will need to install an X-Server on the Windows host. There are a variety to choose from. The Free and Open Source Software (FOSS) choices include Xming, VcXsrv, and the X-Server available as a package with Cygwin. There are many commercial packages available, including Hummingbird-Exceed, Reflection-X, X-WIN32 and MKS X-Server.

FOSS X-Servers

The Cygwin, Xming, and VcXsrv servers are all based on the X-Org open-source XServer. Xming and VcXsrv in particular are very similar. Xming actually has two versions, a current version (7.5.0.77) with bug-fixes and new features, for which a donation (suggested amount: GBP 10) is required. Without making a donation, and getting a donor password, you can only download and older version (6.9.0.31) from sourceforge (http://sourceforge.net/projects/xming). VcXsrv, on the other hand, seems to be relatively current, with bug fixes and new functionality.

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

VcXsrv

This article will concentrate on using VcXsrv. Much will also apply to Xming, and to a certain extent, to the Cygwin server.

To install, download the Windows installer and run as “administrator”.

Configuring the Launcher

Start the VcXsrv “Xlaunch” program by clicking on Start → All Programs → VcXsrv → XLaunch.

...

Set up a desktop icon by starting a “Windows Explorer” window, browsing to the VcXsrv installation directory, inmost cases “C:\Program Files\VcXsrv”, rightclicking-and-dragging the xlaunch.exe file to the desktop. Rename the icon to something that makes sense, and then right-click on it and select “Properties”. Append “-run <path-to-xlaunch-config-file>” in the “Target” Field, which already contains the path to the xlaunch command.

Using Multiple Monitors

To configureVcXsrv to use severalmonitors as one large screen, add “-multimonitors” to the command line parameters. In an XLaunch file itmust be added to “ExtraParams”.

...

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop
 


Configuring the Guest System

Tru64 UNIX V4.X and V5.X

Desktop Environment Session (DES) Configuration

Both V4 and V5 support XDMCP. You have two choices of how to start the DES:

...

  • Find the file pointed to by /var/dt/Xservers. It will probably be /usr/dt/config/Xservers.nc. Edit this file, and make sure the line “* Local local@console /usr/bin/X11/X :0” is commented out. This stops the emulated system from trying to start an X-Server on the local hardware.
  • Add an entry for the Windows Host in /etc/hosts.
  • If you want to be able to log in as “root”, add a line to the end of /etc/securettys with the value “<windows-host>:0”, where “<windows-host> is the name you added to /etc/hosts.
  • Make sure there is a symbolic link from /sbin/rc3.d/S95xlogin to /sbin/init.d/xlogin. If not, create it using:

    ln -s /sbin/init.d/xlogin /

    etc

    sbin/rc3.d/S95xlogin

After satisfying the above requirements, you can use VcXsrv to initiate the DES via XDMCP. If you prefer to configure the Guest to start the DES, you must add a line to the “/var/dt/Xservers” file of the form:

<hostname>:0 foreign

where <hostname> is the name the you entered in /etc/hosts for the Host.
This approach may be preferable. If the XDM on Tru64 cannot start the DES, for example because the X-Server is not running on the Host, it will wait patiently until the X-Server becomes ready. When a DES is terminated, Tru64 immediately starts a new one.

Include Page

Non-DES Configuration

KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

Non-DES Configuration

(info) This part will be described later


OpenVMS V7.1 and V7.3-2

Depending on the OpenVMS version, various methods and mechanisms may or may not be available.

...

The commands below are all written in UPPERCASE, in order to differentiate them better. You can enter the commands using any mix of case you like, except in quoted strings, where case is significant.

Configure TCP/IP

On V7.1, run SYS$MANAGER:UCX$CONFIG, onV7.3-2, run SYS$MANAGER:TCPIP$CONFIG.

  • Core environment: configure at least one interface, routing, and time zone
  • Client components: enable “REXEC and RSH”, “RLOGIN”, and possible “TELNET” and “FTP Client”. On V7.3-2 enable “SSH Client”.
  • Server Components: enable RLOGIN, and on V7.3-2 SSH and XDM.

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

The Hosts Database (V7.1 and V7.3-2)

No matter how you intend to configure a VMS guest to use a remote X-Server, you will almost certainly want to add all relevant IP-addresses to the VMS UCX/TCPIP hosts database. This is done from the SYSTEM account by entering “UCX” on the command line on V7.1, or “TCPIP” on V7.3-2. You will then see the corresponding prompt “UCX> “ or “TCPIP> “, below represented as “PROMPT> “.

To add a host/IP-address to the database, enter the following command:

PROMPT> SET HOST "hostname"/ADDRESS=<IP-address>/ALIAS=HOSTNAME

Putting the “hostname” in quotes cases it to be entered in lowercase, assuming you also use lowercase characters, which is a Good Idea. The alias will be all uppercase.

After adding a host, you can ping it from within UCX/TCPIP using the command:

PROMPT> PING hostname

V7.1 reports “...host is alive” upon success. V7.3-2 uses the standard UNIX answer syntax, and sends ICMP packets until interrupted using CTRL-C.

The Proxy Database (V7.1 and V7.3-2)

The Proxy Database is also managed from within UCX/TCPIP.

...

The add an entry to the database, enter the following command:

PROMPT> ADD PROXY VMS_USER/HOST=remote-host/REMOTE_USER=rem_user

For example, to add a proxy for user “urban” on remote host “windows-privnet” for the VMS user “SYSTEM”, enter the following command:

PROMPT> ADD PROXY SYSTEM/HOST=”win-privnet”/REMOTE_USER=”urban”

The quote-characters are important. Please note that VMS will convert all non-quoted characters in commands to uppercase. A proxy entry for the remote user “URBAN” will not match the remote user “urban”.

After you have create such a proxy entry, you can test it from a Linux or Windows system with the command:

# rsh -l system vms-hostname directory

which should display a directory listing of SYSTEM’s login directory.

On Windows, you will need the “rsh_vista.zip” utility (see links below).

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

Remote Execution Using RSH

If you want to run a command on an OpenVMS Guest, use the rsh program. On Fedora/RedHat Linux, you will probably need to install the rsh package. On Windows, you will need the “rsh_vista.zip” package (see links below). On a Windows host, assuming you have unpacked “rsh_vista.zip” into “C:\Program Files\Rsh”, you can create a shortcut to the rsh.exe program by opening a Windows Explorer window, navigating to the above directory, right-clicking and dragging “rsh.exe” to the desktop. When you release the mouse button, you will get a pop-up menu from which you should choose “Create shortcuts here”. Right-click on the new desktop icon and select properties. In the “Target” field append -l <user> target-host “<command>” after the path to the program in quotes.

The entire field should look as follows:

“C:\Program Files\Rsh\rsh.exe” -l VMS_USER vms-hostname
“vms command line”

You should also change the value in the “Run” field from “Normal window” to “Minimized”, which avoids having the CMD-window pop up when the icon is executed.

On the VMS guest, you will probably need to write a small DCL command procedure in order to set up the remote display before starting a DECwindows program. For example, to start a DES, the following DCL procedure can be used:

$ SET DISPLAY/CREATE/NODE=<guest−system−name>/TRANSPORT=TCPIP
$ MC SYS$SYSTEM:DECW$STARTLOGIN
$LABEL:
$ WAIT 2 3 : 5 9 : 5 9
$ GOTO LABEL

This works on V7.1 and V7.3-2. If you only wish to start a single application, such as a DECterm, you can substitute “DECW$TERMINAL” for “DECW$STARTLOGIN” above.

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop

OpenVMS V7.1

The standard UCX version on VMS V7.1 is 4.1, which does not support XDMCP. You can use the above procedure to start the DES.

OpenVMS V7.3-2

V7.3-2, with the default TCPIP services version 5.4, supports XDMCP. In order to use it, you will need to configure XDM. Please note that I was unable to get XDMCP to work without disabling access control in VcXsrv (adding “-ac” to command line parameters).
To configure VMS V7.3-2 to respond to XDMCP requests, begin by entering the following commands (“$” is the DCL prompt):

$ SET DEF SYS$SPECIFIC:[TCPIP$XDM]
$ COPY XSERVERS.TEMPLATE XSERVERS.TXT
$ COPY XDM_KEYS.TEMPLATE XDM_KEYS.TXT
$ COPY XDM_CONFIG.TEMPLATE XDM_CONFIG.TXT
$ COPY XACCESS.TEMPLATE XACCESS.TXT

Next, edit XACCESS.TXT and add the IP-address of the Host at the bottom.
Next, edit XSERVERS.TXT and comment out any lines at the bottom that would start a remote X session, for example “rufus.compaq.com:0 foreign”.
Finally, restart the XDM service using the following commands:

$ @SYS$MANAGER:TCPIP$XDM_SHUTDOWN.COM
$ @SYS$MANAGER:TCPIP$XDM_STARTUP.COM

You might be tempted to add a line to XSERVERS.TXT to have the VMS system automatically start the DES, however I was unable to get this to work reliably.

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop
 

Related articles

Filter by label (Content by label)
showLabelsfalse
max5
spacesKBP
showSpacefalse
sortmodified
showSpacefalse
reversetrue
typepage
cqllabel in ("x-windows","decwindows") and label in ("tru64","openvms","windows") and label = "charon-axp" and type = "page" and space = "KBP"
labelscharon axp x-windows windows

Include Page
KBCOMMON:KB-GoToTop
KBCOMMON:KB-GoToTop