[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

59.0. "Missing DECW$DISPLAY at startup" by HILLST::MASON (Explaining is not understanding) Sun Jan 29 1989 08:37

    I have developed a small(?) problem.  I am running 5.1 SDC.
    
    I no longer have DECW$DISPLAY established during startup.  On chasing
    the chain, I discover that I don't have DECW$DEV or DECW$DEVICE
    either, from which it appears to be set.  When I SET VERIFY and
    boot, I can see no errors at all, including DECW$STARTAPPS, where it 
    appears DECW$DISPLAY is set.  All I have done that I think might
    have affected this is to install DECwrite (the appropriate version). 
    When I set DECW$DISPLAY by hand, DECwrite plays just fine (it didn't,
    which is how I found the problem in the first place).
    
    Any ideas?
    
    Thanks...Gary

T.RTitleUserPersonal
Name
DateLines
59.1MU::PORTERa kinder, gentler nuclear arsenalSun Jan 29 1989 12:4514
    What do you mean, "startup"?
    System startup, or session startup?
    
    Once upon a time, DECW$DISPLAY was defined as a system-wide logical
    name.  Now it appears in the job table for a "DECwindows process".
    This means, for example, that FileView applications will get
    a suitable name definition, that subprocesses of the session manager
    will get one also, and that detached processes started by DECterm
    get a definition as well.  
    
    If you're running batch jobs or background processes which execute
    DECwindows applications, then you probably need to manually cause
    DECW$DISPLAY to be defined appropriately.

59.2HILLST::MASONExplaining is not understandingSun Jan 29 1989 15:3611
    Well, both I guess.  If I reboot and don't log in locally, but rather
    from a remote terminal, it's not defined.  After I log in locally
    and start DECterms, it is not there when examined from the DECterms
    either.  When attempting to run DECwrite from a DECterm window,
    using the command (as suggested in the docs) "RUN SYS$SYSTEM:WRITER",
    it won't start - fails with an "X toolkit error" or some such. 
    Defining DECW$DISPLAY from the DECterm solves the problem on the
    subsequent execution attempt.
        
    Gary

59.3MU::PORTERa kinder, gentler right to bear armsMon Jan 30 1989 09:337
DECW$DISPLAY will never be automatically defined for login from a remote 
terminal,  because of the way it works (as described earlier).   You
need to manually define it.

I don't understand why it isn't turning up in the job tables for
for DECterm logins, though.  It's supposed to!

59.4Works as advertised for meIAGO::SCHOELLERWho's on first?Mon Jan 30 1989 11:5422
re: .2

When you say it is not there for decterms, do you mean:

Session manager -pulldown Create Terminal Window
Wait for login to complete
show log decw$display

or are you doing something like the following?

Session manager -pulldown Create Terminal Window
Wait for login to complete
set host to someplace else
show log decw$display

The former case will work the latter will not.  It will also not
show up automagically in a detached process (logical names are not
inherited from creator).  It should be defined in subprocesses of
the session manager, file view and terminal emulator logins.

Dick

59.5Are you using to CHILD to create the terminals?ATSEA::ELLISONThat is truly a wetbrain concept.Tue Jan 31 1989 12:4721
	What the heck I'll ask here...

	I have the same problem when I create DECterms using CHILD. It appears
	that CHILD does not propigate (sic) the DECW$DISPLAY logical to the
	new process (or maybe I'm doing something wrong in the child command)

	BUT, it is similar to what the author of .0 is describing...

		Jan



	$ CHILD                                         -
            /detach/image=sys$system:loginout/nopass    -
            /pause=3    /insert     /page='p5'          -
            /ix='p1'    /iy='p2'    /x='p3'     /y='p4' -
            /process="''p6'"                            -
            /title="Term''p5'"      /ititle="Term''p5'" -
            /setup=sys$login:decw$terminal_default.dat

59.6Child it is...HILLST::MASONExplaining is not understandingFri Feb 03 1989 20:139
    Sorry, I've been away.
    
    Yes, I am using Child to create the DECterms at startup.
    
    I suppose that setting DECW$DISPLAY in SYLOGIN would be the easy
    answer.  Yes?  No?
    
    Thanks...Gary

59.7DEFINE/GROUP DECW$DISPLAY 'F$TRNLNM("DECW$DISPLAY")QUARK::LIONELAd AstraFri Feb 03 1989 20:365
    What I do is in my DECW$LOGIN.COM to define DECW$DISPLAY /GROUP.
    Works for me...
    
    				Steve

59.8I'll make it work if I canPRNSYS::LOMICKAJJeff LomickaMon Feb 06 1989 16:084
If somebody could tell me an easy way to convince CHILD to get
DECW$DISPLAY defined properly in the created detached processes, I
would be glad to do it.

59.9Set sys$error = WSA#STAR::BROUILLETTEMon Feb 06 1989 17:1515
    
    The way decw$display gets propogated to the DECterm processes by the
    session manager is as follows:
    	1. Session manager gets the current value of DECW$DISPLAY.  This
    should be a WSA workstation device which specifies a node, server,
    screen.
    	2. The session manager does a CREPRC with sys$error - WSA#
    	3. Loginout checks for sys$error device type a workstation and
    	   defines a job logical name decw$display = WSA#.
    
    So, try changing the call to create the DECterm process to have
    sys$error pointing to the current definition of decw$display.
    
    

59.10I'll give that a try.PRNSYS::LOMICKAJJeff LomickaTue Feb 07 1989 11:364
Thank's.

(That's so obvious I should have been able to figure it out for myself.)

59.11Not to be too picky, but what happens to sys$error in this case?IO::MCCARTNEYJames T. McCartney III - DTN 381-2244 ZK02-2/N24Thu Feb 09 1989 16:035
Ummmm.... How do I get my hardcopy error log for the created process then?

James

59.12sys$error=sys$outputSTAR::BROUILLETTEMon Feb 13 1989 18:468
    
    
    Yes, that is a problem.  Unfortunately, there are a limited number of
    ways to get information to the new process through CREPRC.  Loginout
    will set sys$error = sys$output after it defined decw$display for the
    new process.
    

59.13There is precedent for this techniquePRNSYS::LOMICKAJJeff LomickaTue Feb 14 1989 15:2810
LOGINOUT.EXE never used SYS$ERROR for SYS$ERROR.  LIB$SPAWN hooks
SYS$ERROR to a mailbox that it uses to send symbols and logicals to
LOGINOUT.  LOGINOUT reads SYS$ERROR to get this information, presumably
if the device type is right.

Personally, I find this method to be a little questionable - although it
would be a lot less questionable if it were better documented.

(Oh, and yes, I was being sarcastic in .10.)

59.14We really need a better way...IO::MCCARTNEYJames T. McCartney III - DTN 381-2244 ZK02-2/N24Tue Feb 14 1989 17:3220
Well, I'll accept that there's no way to communicate between a detached job
and the creator, but why does DCL prevent you from using the mechanims that 
has been hacked to do this? Doing a 

$ run/uic='f$getjpi("","UIC") sys$system:loginout.exe -
	/input=<input_command_file>
	/output=<output_log_file>
	/error=_WSAn:

results in no effect since (from Help): 

     "Note that the  /ERROR  qualifier  is  ignored  if  you  are  running
      SYS$SYSTEM:LOGINOUT."

Would it be too much to ask for a supported mechanism? Oh well, I guess it's 
off to write a program...

James