Individual Entry

Terminal-(L)ies.

The venerable DEC VT100 is long gone; consigned to a pedestal in some computer history museum (or in a corner of my basement), or so the proponents of GUI interfaces would have you believe. Yet, there is still a need for terminal-like interaction with today's systems. Gone may be the VT-series terminals but their functionality is not. It's found in GUI applications on the desktop. If your desktop is X11-based, you can use the DECterm which accompanies OpenVMS. Simply issue $ CREATE/TERMINAL and you have most of what you would have asked for in a real VT-series terminal. In lieu of that, there are other terminal applications which emulate, to varying degrees, a VT-series terminal that can be used to access OpenVMS. The key, at least as far as I am concerned, is the application's ability to handle everyday escape sequences and properly mirror the alternate keypad of the VT-series terminals.

First off, and this has been a pet peeve of mine since the dawn of the IBM-PC, is the lack of 18 keys on the alternate keypad of PC keyboards. Where there are three keys above the ENTER key on the VT-series alternate keypad, the IBM-PC systems and clones have only two. The VT-series , and - are fused into one large + key on the PC keyboards.



VT-series Alternate Keypad
IBM-PC Alternate Keypad
Apple Mac Alternate Keypad



The two keys, , and -, represent the delete and undelete character and the delete and undelete word, respectively, in the EDT editor. If you've been using OpenVMS for half as many years as I have, you're probably conditioned to use these key without giving it much thought. I, personally, find it very annoying to use any IBM-PC style keyboard because of these fused keys.

I also find the tactile feel of most IBM-PC style keyboard very uncomfortable too. In fact, one of the things that sold me on Apple's products was the layout of their keyboards. They have a keyboard layout very similar to the DEC VT-style keyboard and their keyboards have a nice and comfortable feel too like my venerable VT-series (LK) keyboards.
DEC VT220 Keyboard

APPLE Mac Keyboard

I did have to make some concessions when I picked up my 17" Toshiba Satellite laptop. I selected that particular model because it had not only the traditional QWERTY keyboard but also an alternate keypad. The only drawback is that the alternate keypad has the fused + key of the typical IBM-PC keyboards. I'll discuss what I did to work with this in an upcoming paragraphs.

A word about WEENDOZE emulations

In the WEENDOZE world there are several terminal emulators. Each one has it share of misgivings. The most popular has gotten better but it still has some major emulation flaws. I presented these flaws to this product's manufacturer back when DECUS National Symposium events where still semi-annual events. That was over a decade ago and this product still purports that it faithfully emulates a VT-series terminal replete with the flaws I demonstrated to them in the late 1990s.

This terminal emulation product has been a thorn in my side for well over a decade and I don't even use it! However, the sad fact is, some applications have been written and tested using this particular PC-based VT-terminal emulator as the test bed. This has led to the bed of thorns I've had to wrestle upon. These applications often fail, and fail miserably, when run on real VT-terminals because they were written against a flawed emulation model. I've been maintaining a product for over a decade that relies upon the faithful handling and reproduction of VT-terminal escape sequences. I'll not say much more other than to say that for this poor emulation, people pay significant money. The terminal applications for Mac OSX and Linux might not be perfect but, at least, you won't have to pay for a bug infested software dwelling.

Ubuntu Linux

On Ubuntu, I use the gnome-terminal application. This is very similar to xterm and it reads all of the XTerm resources from the .Xresource file. I have it configured as an icon in the menu panel to launch with a geometry of 132×24. It doesn't handle double-wide or double-high/double-wide characters out of the box and I've never bothered to configure the XTerm resource to use a replacement font. I simply don't encounter these escape sequences enough to bother. When a double-wide sequence is encountered, it is diplayed with a single space between each character. For double-high/double-wide, the characters are stacked and displaced with a single space. This has been acceptible to me. However, if you feel you need to see these, you will need to configure the appropriate XTerm resources in your .Xresources file. I have run the VTTEST (available from the DECUS Library and the OpenVMS Freeware) in the gnome-terminal and it performed remarkably well. Save to the double-wide and double-high/double-wide character set tests, the gnome-terminal passed even the more stringent VT-compatibility tests.

The key to a satisfactory emulation with gnome-terminal or xterm is to have the XTerm.vt100 resources defined in .Xresources. Below are the resource definitions I maintain in my .Xresources file. These work to allow me to ssh into most OpenVMS systems to accomplish most (all) tasks from monitoring system performance to editing source code and debugging it.

VT100 resources in .Xresources


XTerm.backarrowKeyIsErase: true
XTerm.keyboardType: vt220
XTerm.toolBar: true
XTerm.title: VT220
XTerm.iconName: VT220
XTerm.termName: vt220
XTerm.vt100.c132: true
XTerm:vt100.decTerminalID: vt100
XTerm.vt100.geometry: 132x24
XTerm.vt100.saveLines: 500
XTerm.vt100.scrollBar: true
XTerm.vt100.rightScrollBar: true
XTerm.vt100.background: white
XTerm.vt100.foreground: black
XTerm.vt100.faceName: DejaVuSansMono-Bold
XTerm.xt100.cacheDoublesize: true
XTerm.xt100.fontDoublesize: true
XTerm.vt100.faceSize: 10
XTerm.vt100.locale: iso8859-15
XTerm.vt100.cursorBlink: true
XTerm.vt100.utf8Latin1: true

XTerm.VT100.charClass: 33:48,35-37:48,43:48,45-47:48,64:48,94:48126:48

XTerm.vt100.translations: #override\
Meta P: print() \n\
Meta minus: smaller-vt-font() \n\
Meta KP_Subtract: smaller-vt-font() \n\
Meta plus: larger-vt-font() \n\
Meta KP_Add: larger-vt-font() \n\
Meta C: select-cursor-start() \
select-cursor-end(PRIMARY, CUT_BUFFER0) \n\
Meta V: insert-selection(PRIMARY, CUT_BUFFER0) \n\
Meta M: iconify() \n\

The reason I picked up the 17" Toshiba Satellite was because it had the alternate keypad. I was looking for a cheap (and this laptop was obtained from a liquidation sale, so it was a steal) laptop I could tote about to run Linux and which I could use more easily to access OpenVMS. Because it had the alternate keypad, I opted to take this unit off the hands of the liquidator.

After installing Ubuntu 8.10 over the commercial virus sitting on the laptop's drive, I tried terminal access to an OpenVMS system. The alternate keypad almost worked straight-away. There were a few problems with the obvious, the + key, aas well as a few others namely: the - key, the * key, the / key and the NUM LOCK key. Never fear! .Xmodmap and xev to the rescue.

I first ran xev (X event) on the 17" Toshiba Satellite Ubuntu laptop and depressed each of the aforementioned problem keys. I noted the keycodes for each (86, 82, 63, 106 and 77, respective of the aforementioned list). I then ran xev on my OpenVMS system. I recorded the keysym values for the , key, the - key, the PF4 key, the PF3 key, the PF2 key and the PF1 key. For reference: 0xffac, 0xffad, 0xff94, 0xff93, 0xff92 and 0xff91, respectively. The information I needed to map the laptop keys was now complete. The only issue was that I had one too few keys on the laptop. I thought about it and decided that the EDT delete and undelete character function was used more prevalently than the EDT delete and undelete word. So, I decided to map the fused + key to the EDT keypad's , key. Fortunately, however, in .Xmodmap I can specify key modifiers. So, I decided that using the CTRL key in conjunction with the + would map to the EDT - keypad delete and undelete word key. I set out and composed the .Xmodmap file shown below.

Key mappings in .Xmodmap


!! [+] = [,] !! CTRL-[+] = [-]
keycode 86 = 0xffac 0xffad
keycode 82 = 0xff94
keycode 63 = 0xff93
keycode 106 = 0xff92
keycode 77 = 0xff91

This defeats the normal use of these keys but I have never used the alternate keypad on any keyboard for its numerical application, so this was of no concern to me.

Mac OS X

Using the default terminal app that ships with OS X? Don't. What a piece of crap that is. If you need to use a terminal, download and install the application, iTerm. Little to no configuration is needed to use iTerm with OpenVMS. It passes nearly all of the VTTEST sequences that gnome-terminal does on Ubuntu. It suffers from the same double-wide character and double-high/double-wide character issues that plague the gnome-terminal but, other than that, it works quite well as a VT terminal emulator when working on OpenVMS. One other thing, if you have an Apple keyboard, the alternate keyboard is automagically mapped for use as the EDT keypad. There/s no need to establing an .Xmodmap. Also, since the alternate keypad on Apple keyboards has 18 keys, you don't have to sacrifice and work-around the missing key that haunts the IBM-PC keyboards. A huge plus as far as I am concerned.


Comments?


To thwart automated comment SPAM, you must answer this question to post.

Comment moderation is enabled. Your comment(s) will not be visisble until approved.
Remember personal info?
Notify?
Hide email?
All html tags, with the exception of <b> and <i>, will be removed from your comment. You can make links by simply typing the url or email-address.
Powered by…