Skip to main content

Raymii.org Raymii.org Logo

Quis custodiet ipsos custodes?
Home | About | All pages | Cluster Status | RSS Feed | Gopher

OpenVMS CDE Desktop Remote X session GUI (on AXPbox)

Published: 26-01-2021 | Author: Remy van Elst | Text only version of this article


Table of Contents


Tetris

Gaming on OpenVMS over the network, Tetris from 1995

Last year November, I posted on a new OpenVMS related project, AXPbox, the open source Alpha emulator, a fork of es40 by Tomáš Glozar. Last week I put together the first official release of AXPbox, one of the changes being in the network code, making it more stable, thus being able to run a remote X session. Meaning, you can run the CDE desktop and enjoy everything the OpenVMS GUI has to offer.

This article shows you how to run the CDE GUI in a remote X session, including switching between the old Motif look and the new DECWindows and how to run Tetris.

Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.

You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days.

VSI offers a hobbyist program where you can get an OpenVMS license for free, and this guide is a great fit for hobbyists. I know of no OpenVMS server deployment where a GUI is actually used in day to day operations. (Most clusters I'm aware of run Rdb or oracle databases).

Prerequisites

You need an OpenVMS installation with networking, which can be the hobbyist program's FreeAXP from VSI if you're on Windows, or AXPbox on other operating systems.

If you install OpenVMS you will be asked if you want to install the GUI, during the installation. If you've answered NO there, you can download the PDF from the VSI product site to install it in your OpenVMS installation.

You can find my installation guide for OpenVMS with networking here, it sets up a networked OpenVMS installation in AXPbox which is my basis for this guide.

The GUI runs in a remote X session. On linux I prefer to use Xephyr, which is what I'll use in this guide. On Windows you can use xming, here on this topic you can find a few pictures of their settings.

The network in AXPbox is not as stable as it can be, it took me a few times, rebooting AXPbox, before I got a stable GUI. But, when I had one, it was rock solid.

In this guide I assume the IP of the OpenVMS machine to be 10.0.2.25 and the IP of the linux machine running the X server 10.0.2.15.

Starting the GUI

On your linux machine fire up an X server with Xephyr:

Xephyr -screen 1024x768 :1 -ac -listen tcp

If you use Windows, you can use xming, here and here are tips to set that up.

On your OpenVMS machine you must first enable the remote display to your local linux machine's X server:

set display/create/node=10.0.2.15/transport=tcpip/server=1/exec

Replace the IP address by your local linux machine. The server=1 part must match the :1 display number on your X server.

Start the CDE desktop login manager with the following command:

 run sys$system:decw$startlogin.exe

If you run VSI OpenVMS 8.4-2, this is the login screen:

VSI logo login

If you run HP OpenVMS 8.4 or 8.3, the logo is different (screenshot is from Tomáš):

HP logo login

If you run COMPAQ OpenVMS 7.3 (on Alpha), the logo is from Compaq:

Compaq logo login

After entering a correct username and password, a blue screen with one line of text (Starting the New Desktop for OpenVMS) pops up while the desktop is loading:

blue screen

When you're logged in, the desktop appears with a help window. This is how it looks for me:

default login

Click around and open up a few programs. There is not much pre-installed, you have a terminal, file manager, text editor, calendar, clock and a few more utilities. Here is a screenshot with some programs open:

desktop

On the first login my user password was expired and the login manager prompted me to set a new password. One of the nice features, well thought out, was to choose a new password right then and there:

new password

Tetris

This is were you all came for, gaming on OpenVMS. Digiater hosts the OpenVMS freeware archive, which includes Tetris. A simple game, but it's both precompiled and works well enough over this remote X session to be usable.

Lets make a folder and fire up FTP to download the file from Digiater.

Create a new folder to download Tetris into:

$ create /directory [.tetris]

Go into the folder:

$ set def [.tetris]

Download the executable via FTP:

$ ftp ftp.digiater.nl
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 12 allowed.
220-Local time is now 06:59. Server port: 21.
220-Only anonymous FTP is allowed here
220 You will be disconnected after 15 minutes of inactivity.
Connected to www.digiater.nl. 
Name (www.digiater.nl:system): anonymous
230 Anonymous user logged in

Don't forget binary and passive, otherwise you will get an error:

FTP> binary
200 TYPE is now 8-bit binary
FTP> passive on
Passive is ON.

Get the archive:

FTP> get /openvms/freeware/v40/tetris312/tetris_axp.exe    
200 PORT command successful
150-Connecting to port 49191
150 57.0 kbytes to download
226-File successfully transferred
226 0.858 seconds (measured here), 58.3 Kbytes per second
local: SYS$SYSROOT:[SYSMGR.TETRIS]tetris_axp.exe;1  remote: openvms/freeware/v40/tetris312/tetris_axp.exe    
58310 bytes received in 00:00:00.00 seconds (2289.00 Gbytes/s)
FTP> 

Exit FTP with CTRL+Z and open up a file manager to navigate to that new folder. Click tetris to launch, or open up a terminal and fire it up from there (run tetris_axp.exe). Below are two screenshots:

tetris 2

tetris 3

If you've launched Tetris via a DECterminal, you will be shown the scores:

tetris scores

The screenshot shows the time being 2018, but that is due to my HP hobbyist license only being valid in 2018, I had to set the time on OpenVMS back. But I assure you, it was 2021 when I took the screenshot.

For more gaming on OpenVMS, here is a guide on compiling DOOM.

DECWindows vs Motif

Over the years there have been different GUI's for OpenVMS. Quoting part of Wikipedia:

And that's where we're at today as of window systems. There is a WebUI coming, (demo video), but that is targeted at cluster / systems management, not at us hobbyists. Nonetheless, very cool though.

Here is the text editor in the old Traditional Desktop / Motif style:

motif style

The same text editor in the "modern" New Desktop / DECWindows style:

decwindows style

To select the other desktop as the default desktop, perform the following steps. If the file SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM does not exist, copy it from DECW$PRIVATE_APPS_SETUP.TEMPLATE:

COPY SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.TEMPLATE SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM

Edit SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM and add a symbol definition for DECW$START_NEW_DESKTOP. In that file it is already there, but commented out. Remove the exclamation point (!) from the beginning of the line to "uncomment" it.

EDIT /EDT SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM

You'll enter a line editor. To switch to visual mode, type change followed by Return. You can use the arrow keys to scroll down.

Exit visual mode with CTRL+Z, then type exit to save the file.

If you want the New Desktop as the default:

DECW$START_NEW_DESKTOP == "TRUE"

If you want the traditional desktop as the default:

DECW$START_NEW_DESKTOP == "FALSE"

Restart DECwindows using the following command:

@SYS$MANAGER:DECW$STARTUP RESTART

Built in GUI program commands

On my local installation, network is not as stable as it could be, so often I do not open a full CDE desktop session, but just fire up the programs I want.

This results in a black background and only the program open in the X session, no window borders like in the screenshot below:

no window manager

You can also use an alternative command to fire up a desktop session. First find out what's behind the logical name CDE$SESSIONMAIN:

$ show log cde$sessionmain
   "CDE$SESSIONMAIN" = "mcr cde$system_defaults:[bin]dtsession" (LNM$SYSTEM_TABLE)

Fire up that command:

$ mcr cde$system_defaults:[bin]dtsession

dtsession is the CDE login manager, also available on linux.

You can prefix any command with spawn/nowait/input=nl: to run it in the background, so you can start multiple commands without running a desktop. An example to start the file manager in the background:

SPAWN/NOWAIT/INPUT=NL: RUN SYS$SYSTEM:VUE$MASTER

Here is a list of most of the GUI commands:

Via the VSI site, Using DECwindows Motif for OpenVMS PDF.

More Screenshots

Below are a few more screenshots of different programs, to give you a nostalgic feeling of how the OpenVMS GUI looks, if you don't want to setup everything yourself but still want to enjoy the looks.

mail

Mail

sesson manager

Session manager

more session manager

More session manager

clock

Clock and Calendar

control panel

Control panel and extended calendar

decterm options

DECTerminal options

notepad

Notepad (not EVE)

EVE Split

EVE editor with split (2 files at once)

EVE

EVE editor with the save dialog open

Bookreader

Bookreader with the clock help

Tags: alpha , axpbox , blog , cde , dec , es40 , gui , openvms , vax , vms