=:The OpenVMS Frequently Asked Questions(FAQ)C

The OpenVMS Frequently Asked Questions(FAQ)



 r \ ^  
PreviousContentsIndex

g

11.7 How do I set the title on a DECterm window?



/If you are creating a new DECterm window, check

 

"
+$ HELP CREATE /TERMINAL /WINDOW_ATTRIBUTES 




?If you want to change the title of an existing window, use the Gfollowing control sequences, where [esc] is the ANSI escape Gcode, value decimal 27, and "text label" is what you want to display:

To set the DECterm title, send:

 

"
/[esc]]21;text label[esc]\




To set the icon label, send:

 

"
/[esc]]2L;text label[esc]\




?To set both the DECterm title and icon to the full device name:

 

"
$  esc[0,7] = 27 F$  fulldevnam = F$Edit(F$GetDVI("TT","FULLDEVNAM"),"UPCASE,COLLAPSE") 9$  write sys$output esc+ "]21;" + fulldevnam + esc + "\" 9$  write sys$output esc+ "]2L;" + fulldevnam + esc + "\" 




GYou can also change the title and the icon using the Options-Window... menu.

oAlso see Section 12.1 and Section 8.11.w

11.8 How do I customize DECwindows, including the login screen?



DTo customize various DECwindows Motif characteristics including the Fdefaults used by the SET DISPLAY command, the DECwindows login screen Gbackground logo used (the default is the DIGITAL, Compaq, or HP logo), Fvarious keymaps, the FileView defaults, session manager defaults, the ADECwindows login processing, DECwindows log file processing, and :various other DECwindows attributes, see the example file:

 

"
/$ SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE 




DThis example template file is typically copied over to the filename FSYS$COMMON:[SYS$STARTUP]DECW$PRIVATE_APPS_SETUP.COM and then modified #to meet site-specific requirements.

GAdditionally, various X tools such as xsetroot, bitmap and xrdb---some Gthese can be useful in customizing the appearance of an application or Gof the DECwindows Motif display---are provided in the DECW$UTILS: area.

EWhen using DECwindows V1.2-4 and later on OpenVMS Alpha, the default Edesktop is the Common Desktop Environment (CDE). You can select your Gprefered desktop (CDE or DECwindows Motif) when logging in, or you can Hchange the default to the DECwindows Motif desktop using the DCL symbol Cdecw$start_new_desktop in the DECwindows private application setup Hcommand procedure. See SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE for ?further details, and how to create DECW$PRIVATE_APPS_SETUP.COM.

GNote that with DECwindows CDE, the root window is no longer visible by Gdefault. The root window is hidden behind the "backdrop" window of the Dcurrent CDE workspace. To make the root window visible, use the CDE Estyle manager selection "backdrop none", and use information such as /that in the OpenVMS FAQ to set the root window.

FTo add a new backdrop to the DECwindows CDE environment, the backdrop ?must first be in or be converted into X11 pixmap format. (This 5conversion is often possible using tools such as xv.):Then (if necessary) create the default backdrop directory DSYS$COMMON:[CDE$DEFAULTS.USER.BACKDROPS]. Place the X11 pixmap file Gcontaining the desired image into the backdrops directory, ensure that Git has a filename extension of .PM. (The xv default filename extension Efor the X11 pixmap file is .XPM, while CDE expects only to see files Gwith .PM.) Now invoke the CDE style manager and select a new backdrop. BYou will find your image will be placed at the end of the list of backdrops available.i

11.9 Why doesn't XtAppAddInput() work on OpenVMS?



GYes, XtAppAddInput() does work on OpenVMS. The MIT definition of the X BWindows call XtAppAddInput() includes platform-specific arguments.

GOn platforms where C is the typically the primary programming language Ffor the platform, the file descriptor mask is one of the arguments to the XtAppAddInput() call.

DOn OpenVMS, the platform-specific arguments to this call include an Hevent flag and an IOSB, as these are the traditional OpenVMS constructs Hused to synchronize the completion of asynchronous operations. While it Fwould be easier to port non-OpenVMS C code that calls XtAppAddInput() Fover to OpenVMS if the arguments included the C file descriptor, this Ewould make the call unusable from other OpenVMS languages, and would Emake it extremely difficult to use OpenVMS features such as ASTs and sys$qio calls.

FOne restriction on the event flag: the event flag chosen must be from Cevent flag cluster zero. When using the traditional lib$get_ef and lib$free_efHcalls to allocate and deallocate event flags, you must first explicitly Ccall lib$free_ef to free up some event flags in event flag cluster Fzero. Please see the event flag documentation for specific details on Dthese calls and for specific event flags that can be freed in event flag cluster zero.

FHere is some example code that covers calling this routine on OpenVMS:

 

"
#    m->InputID = XtAppAddInput(         m->AppCtx,         m->InputEF,         m->InputIosb,         the_callback, 1 ); "    if ( !((int) m->InputID )) 
        {         XtAppErrorMsg(             m->AppCtx,             "invalidDevice",             "XtAppAddInput",             "XtToolkitError", #            "Can't Access Device",             (String *) NULL, !            (Cardinal *) NULL );         ... 


x

11.10 Why do the keyboard arrow keys move the DECwindows cursor?



ECongratulations, you have just stumbled into "dead rodent" Gmode. This DECwindows environment---where the keyboard arrow keys move Athe mouse cursor and where the [SELECT], [PREV], and [NEXT] keys Gemulate the three mouse buttons---allows rudimentary system operations 'when the mouse is among the casualties.

DTo enter or exit "dead rodent" mode, enter the following: [CTRL/SHIFT/F3]h

11.11 Why does half my DECwindows display blank?



GThis is likely a result of receiving an OPCOM or other console message Hon a system that shares the system console with the DECwindows graphics workstation display.

4You can toggle off the console display window using =[CTRL/F2] and you can enable a serial console per gSection 14.4 or Section 14.31.

FAlso see the console message window application available with recent GDECwindows versions---DECwindows versions V1.2-3 and later will enable Hthis window by default. For details on this console message window, see %the DECW$CONSOLE_SELECTION option in -SYS$STARTUP:DECW$PRIVATE_APPS_SETUP.TEMPLATE.

>On older releases, you can disable output using the following:

 

"
+$ SET TERMINAL/PERMANENT/NOBROADCAST OPA0:  $ DEFINE/USER SYS$COMMAND OPA0: $ REPLY/DISABLE 




ªAlso see Section 14.30, Section 14.37, and Also see Section 8.3,x

11.12 %DECW-W-NODEVICE, No graphics device found on this system?



To resolve the following error:

 

"
:%DECW-W-NODEVICE, No graphics device found on this system ?-DECW-I-NODECW, DECwindows graphics drivers will not be loaded 






:Also see Section 11.6.f

11.13 How can I reset the warning bell volume?



@With DECwindows CDE drivers and ECOs starting with ECOs for the EDECwindows keyboard driver SYS$IKBDRIVER.EXE in OpenVMS Alpha V7.1-2 Gand V7.2-1 and with the SYS$IKBDRIVER.EXE included in OpenVMS V7.2-1H1 Eand later, the DECwindows CDE controls will now correctly manage the #setting of the warning bell volume.

EUnfortunately, the equivalent controls in the older DECwindows Motif Ginterface are not compatible and can no longer manage the warning bell volume.

GIf you need to manage the volume with DECwindows Motif, consider using the following approach:

 

"
 $ @decw$utils:decw$define_utils $ xset b 1 100 100 




?The numerics are the volume, pitch, and duration, respectively.

GWhy? When OpenVMS first started supporting the PC-style keyboards, the GX Windows Server and the keyboard driver interface did not support the Epitch and duration, and neither did DECwindows Motif. The DECwindows Ckeyboard driver was accordingly changed to use the volume from the Hkeyclick setting (keyclick is not available in a PC-style keyboard) and :the bell volume setting to control the pitch and duration.

GDECwindows CDE does provide sliders for setting pitch and duration, so Fthe keyboard driver and X Windows Server were modified to provide all Bof the information, and now the DECwindows CDE sliders work. This Echange is unfortunately incompatible with the old scheme used on the Hpre-CDE desktops, and the volume controls are now incompatible with the 0current keyboard drivers. Hence the use of xset.j

11.14 How can I alter the DECwindows CDE backdrop?



CTo select a separate backdrop to be displayed on each screen using DECwindows CDE:

n

11.15 How can I enable the DECwindows TCP/IP Transport



FTo configure the TCP/IP transport for DECwindows, first ensure that a DTCP/IP package is installed and configured. Then set the DCL symbol GDECW$SERVER_TRANSPORTS in SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM to Hthe appropriate local value, based on the comments in that file. If you Edo not have a copy of SYS$STARTUP:DECW$PRIVATE_SERVER_SETUP.COM, the @use the following COPY command to create this file based on the provided template file:

 

"
8$ COPY SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.TEMPLATE - 4$_ SYS$COMMON:[SYSMGR]DECW$PRIVATE_SERVER_SETUP.COM 





P

Chapter 12
Miscellaneous Information


y

12.1 Where can I find information on escape and control sequences?



@Information on escape and control sequences can be found in the DOpenVMS I/O User's Reference Manual, in the chapter on the Bterminal driver. The chapter also includes details on the general &format and content of these sequences.

DSpecific details on the escape and control sequences supported by a Bparticular serial device are typically found in the documentation @provided with the specific device. Information on the sequences Fsupported by DECwindows DECterm terminal emulator are included in the DECwindows documentation.

GExamples of common escape and control sequences---those typically used Gby the OpenVMS screen management package---can be found in the OpenVMS $system file SYS$SYSTEM:SMGTERMS.TXT.

EThe following refers to the function keys on the LK-series keyboards Ffound on the VT-series terminals such as the VT220 and VT510, and the ?LK-series keyboards found on the OpenVMS workstations, and the Hkeyboards found on compatible terminals. (Though note that the keyboard @itself does not generate the sequence, the terminal or Hterminal emulator generates the sequence in response to user input.) In Dthe following, {CSI} is decimal code 155 and can be replaced by the Bsequence "{ESC}[" (without the quotes) particularly for seven-bit Doperations, SS3 is decimal code 143 and can be replaced by "{ESC}O" Hparticularly for seven-bit operations. Older VT1xx series terminals and Fany other terminals operating with seven-bit characters should not be 1sent eight-bit operators such as {CSI} and {SS3}.

 

"
,PF1={SS3}P PF2={SS3}Q PF3={SS3}R PF4={SS3}S BKP0={SS3}p KP1={SS3}q KP2={SS3}r KP3={SS3}s KP4={SS3}t KP5={SS3}u JKP6={SS3}v KP7={SS3}w KP8={SS3}x KP9={SS3}y KPCOMMA={SS3}l KPMINUS={SS3}m JKPPERIOD={SS3}n ENTER={SS3}M DNARROW={CSI}B UPARROW={CSI}A LFARROW={CSI}D IRTARROW={CSI}C FIND={CSI}1~ INSERT={CSI}2~ REMOVE={CSI}3~ SELECT={CSI}4~ JPREV={CSI}5~ NEXT={CSI}6~ F6={CSI}17~ F7={CSI}18~ F8={CSI}19~ F9={CSI}20~ AF10={CSI}21~ F11={CSI}23~ F12={CSI}24~ F13={CSI}25~ F14={CSI}26~ NHELP={CSI}28~ DO={CSI}29~ F17={CSI}31~ F18={CSI}32~ F19={CSI}33~ F20={CSI}34~ 




=An example of working with escape sequences (in DCL) follows:

 

"
$ esc5m = "*[5m" $ esc5m[0,8] = 27 $ esc0m = "*[0m" $ esc0m[0,8] = 27 3$ write sys$output esc5m + "blinking text" + esc0m 




BDocumentation on an ANSI terminal relatively similar to the VT525 series is available at:



<Also see the various documentation and manuals available at:



@Information on the ReGIS graphics character set is available at:



Also:



lAlso see Section 11.7, Section 8.11.s

12.2 Does DECprint (DCPS) work with the LRA0 parallel port?



HThe parallel printing port LRA0: found on many OpenVMS Alpha systems is Dcapable of some bidirectional communications, with enough for basic 'operations with most parallel printers.

HDECprint (DCPS) requires more than just the simple handshaking provided Dby the LRA0: port, therefore DCPS does not work with the LRA0: port.n

12.3 How do I check for free space on a (BACKUP) tape?



CYou cannot know for certain, though you can certainly estimate the remaining capacity.

CTape media is different than disk media, as disks have a known and Bpre-determined fixed capacity. Modern disks also appear logically Eperfect, based on bad block revectoring support and the extra blocks Bhidden within the disk structure for these bad block replacements.

DThe capacity of tape media is not nearly as pre-determined, and the Hcapacity can vary across different tape media (slightly different media Elengths or different foil markers or other variations, for instance) Hand even on the same media over time (as bad spots in the media arise). HTapes can vary the amount of recording media required, depending on the =remaining length of the tape, the numbers of correctable and Funcorrectable media errors that might occur, the numbers and sizes of ?the inter-record gaps and related tape structure overhead, the >particular media error recovery chosen, the tape density, the Eefficiently of any data compression in use, and the storage overhead 4required by BACKUP, tar, and other similar commands.

DBACKUP using with the default settings results in approximately 15% Foverhead, in terms of saveset size. (eg: Assuming a 500 KB input, the total size would be 575 KB.)

Assuming no compression:
. 4 GB media / 575 KB saveset = 7294 savesets

Assuming 1:2 compression:
,8 GB media / 575 KB saveset = 14588 savesets

ENote: There are no inter-record gaps on DAT tapes. (When determining Cmedia capacity, you have to consider these with nine-track magtape Gmedia. Not with DAT (DDS). However, the block structure underneath the Gvariable length record recording is based on a block size of circa 124 GKB. Further, writing doubles filemarks and such can cause a loss of up <to the underlying block size. Thus even though there are no Ainter-record gaps on DAT, larger savesets are still usually best.

EThe compression algorithms used on various devices are generally not Fdocumented---further, there is no way to calculate the effective data Fcompression ratio, the tape mark overhead, and similar given just the Cdata to be stored on tape---short of actually trying it, of course.

DA typical compression ratio found with "everyday" data is somewhere around 1:1.8 to 1:2.

FNote: OpenVMS often uses the term COMPACTION for compression control, -as in the qualifier /MEDIA_FORMAT=COMPACTION.]

12.4 So what happened to sys$cmsuper?



There is no SYS$CMSUPR service.

FThe typical wisdom for getting into supervisor access mode (from user ?mode) is to execute a routine in executive mode (via a call to FSYS$CMEXEC and the appropriate privilege) and then issue a SYS$DCLAST Gwith the ASTADR parameter pointing to your routine entry point and the *ACMODE parameter specified as PSL$C_SUPER.

DAlternatively, you can reset mode in the call stack return path and 9unwind from executive or kernel out into supervisor mode.b

12.5 Correctly using license PAKs and LMF?



HIf you have multiple LMF$LICENSE.LDB databases in your OpenVMS Cluster, Dthen each and every PAK must be installed in each and every license Ddatabase present in an OpenVMS Cluster. Even if you use /EXCLUDE or F/INCLUDE, you need to have a consistent set of PAKs registered across 7all licensing databases present in the OpenVMS Cluster.

CIf your software license permits it, you can use the following two "commands to transfer license PAKs:

 

"
$ LICENSE COPY... 2$ LICENSE ISSUE/PROCEDURE/OUTPUT=file product,... 




HTo display the particular license(s) required (such as when you receive 3a NOLICENSE error), use the following DCL sequence:

 

"
$ SET PROCESS/PRIVILEGE=ALL $ REPLY/ENABLE 4$ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE 




DThis logical name will cause all license failures to generate OPCOM Dmessages, and this will hopefully show which license(s) you need--- Athere may well also be additional license failures displayed, as Fvarious products can check for and can be enabled by multiple license <PAKs. You will want to deassign this logical name when done.

%Some of the more common license PAKs:

 

"
C  DECnet Phase IV:   DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP* C  DECnet-Plus:       DVNETRTG, DVNETEND, DVNETEXT, or NET-APP-SUP* *  TCP/IP Services:   UCX, or NET-APP-SUP* :  OpenVMS Alpha:     OPENVMS-ALPHA and OPENVMS-ALPHA-USER   OpenVMS VAX:       VAX-VMS $  OpenVMS Galaxy:    OPENVMS-GALAXY .  Cluster (Alpha):   VMSCLUSTER, NET-APP-SUP* .  Cluster (VAX):     VAXCLUSTER, NET-APP-SUP* 




DVarious NET-APP-SUP (NAS) license packages are available, each with Bdiffering collections of products authorized. See the various NAS BSoftware Product Description (SPD) documents for specific details.



GTo determine which license PAK is failing (via a license check failure OPCOM message), use the command:

 

"
9$ DEFINE/SYSTEM/EXECUTIVE LMF$DISPLAY_OPCOM_MESSAGE TRUE 




GRealize that defining this logical name will cause license checks that Hare otherwise hidden (unimplemented, latent, or part of a check for any Fof a series of licenses) to become visible. In other words, expect to ;see some spurious license check calls when you define this.

EFor information on PAKGEN and on generating license PAKs, please see 2Section 10.9.




 r Y \ ^  
PreviousNextContentsIndex