$ type sys$input I use the following procedure (DECWREMOTE.COM) to start DECwindows clients on remote nodes. Just put DECWREMOTE.COM in your SYS$LOGIN area on all the systems to use [Note: the remote systems must allow DECnet TASK=name connections via your proxy accounts] and define a symbol like DWR*EMOTE to invoke the procedure. Then a command like $ dwremote daffy notes/decwindows executed from your workstation will run NOTES as a client on the remote node (DAFFY) and display the Notes windows on your workstation. Note: On our systems we have disabled TASK= object usage by the default DECNET/FAL account(s). However, we explicitly allow TASK= usage via proxy accounts. Alternatively, the system manager could create a DECWREMOTE object pointing to DECWREMOTE.COM stored in a system area. = Dr. Frank J. Nagy "VAX Guru & Wizard" = Fermilab Computing Division/Distributed Computing Dept/Special Projects Grp = HEPnet/SPAN: WARNER::NAGY (43198::NAGY) or FNAL::NAGY (43009::NAGY) = BitNet: NAGY@FNAL = Internet: NAGY@FNALF.FNAL.GOV = USnail: Fermilab POB 500 MS/234 Batavia, IL 60510 $! ------------------ CUT HERE ----------------------- $ v='f$verify(f$trnlnm("SHARE_VERIFY"))' $! $! This archive created by VMS_SHARE Version 7.2-007 22-FEB-1990 $! On 24-SEP-1990 08:55:15.34 By user NAGY $! $! This VMS_SHARE Written by: $! Andy Harper, Kings College London UK $! $! Acknowledgements to: $! James Gray - Original VMS_SHARE $! Michael Bednarek - Original Concept and implementation $! $! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER $! AND EXECUTE AS A COMMAND PROCEDURE ( @name ) $! $! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING: $! 1. DECWREMOTE.COM;11 $! $set="set" $set symbol/scope=(nolocal,noglobal) $f=f$parse("SHARE_TEMP","SYS$SCRATCH:.TMP_"+f$getjpi("","PID")) $e="write sys$error ""%UNPACK"", " $w="write sys$output ""%UNPACK"", " $ if f$trnlnm("SHARE_LOG") then $ w = "!" $ ve=f$getsyi("version") $ if ve-f$extract(0,1,ve) .ges. "4.4" then $ goto START $ e "-E-OLDVER, Must run at least VMS 4.4" $ v=f$verify(v) $ exit 44 $UNPACK: SUBROUTINE ! P1=filename, P2=checksum $ if f$search(P1) .eqs. "" then $ goto file_absent $ e "-W-EXISTS, File ''P1' exists. Skipped." $ delete 'f'* $ exit $file_absent: $ if f$parse(P1) .nes. "" then $ goto dirok $ dn=f$parse(P1,,,"DIRECTORY") $ w "-I-CREDIR, Creating directory ''dn'." $ create/dir 'dn' $ if $status then $ goto dirok $ e "-E-CREDIRFAIL, Unable to create ''dn'. File skipped." $ delete 'f'* $ exit $dirok: $ w "-I-PROCESS, Processing file ''P1'." $ if .not. f$verify() then $ define/user sys$output nl: $ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='P1' PROCEDURE Unpacker ON_ERROR ENDON_ERROR;SET(FACILITY_NAME,"UNPACK");SET( SUCCESS,OFF);SET(INFORMATIONAL,OFF);f:=GET_INFO(COMMAND_LINE,"file_name");b:= CREATE_BUFFER(f,f);p:=SPAN(" ")@r&LINE_END;POSITION(BEGINNING_OF(b)); LOOP EXITIF SEARCH(p,FORWARD)=0;POSITION(r);ERASE(r);ENDLOOP;POSITION( BEGINNING_OF(b));g:=0;LOOP EXITIF MARK(NONE)=END_OF(b);x:=ERASE_CHARACTER(1); IF g=0 THEN IF x="X" THEN MOVE_VERTICAL(1);ENDIF;IF x="V" THEN APPEND_LINE; MOVE_HORIZONTAL(-CURRENT_OFFSET);MOVE_VERTICAL(1);ENDIF;IF x="+" THEN g:=1; ERASE_LINE;ENDIF;ELSE IF x="-" THEN IF INDEX(CURRENT_LINE,"+-+-+-+-+-+-+-+")= 1 THEN g:=0;ENDIF;ENDIF;ERASE_LINE;ENDIF;ENDLOOP;t:="0123456789ABCDEF"; POSITION(BEGINNING_OF(b));LOOP r:=SEARCH("`",FORWARD);EXITIF r=0;POSITION(r); ERASE(r);x1:=INDEX(t,ERASE_CHARACTER(1))-1;x2:=INDEX(t,ERASE_CHARACTER(1))-1; COPY_TEXT(ASCII(16*x1+x2));ENDLOOP;WRITE_FILE(b,GET_INFO(COMMAND_LINE, "output_file"));ENDPROCEDURE;Unpacker;QUIT; $ delete/nolog 'f'* $ CHECKSUM 'P1' $ IF CHECKSUM$CHECKSUM .eqs. P2 THEN $ EXIT $ e "-E-CHKSMFAIL, Checksum of ''P1' failed." $ ENDSUBROUTINE $START: $ create 'f' X$ verify = 'F$VERIFY(0)' X$!.. DECWREMOTE.COM`09`09Execute a DECWindows application on remote node X$!.. Description/history at end of file. X$ IF F$MODE() .NES. "NETWORK" THEN $ GOTO LOCAL_END X$! X$! Get name of image to run. X$! X$ Open /Read`09T2T SYS$NET: X$ Read`09T2T server X$ Read`09T2T command X$ Close`09T2T X$! X$! Set DECWindows display as remote server X$! X$ SET DISPLAY /CREATE /NODE='server' /USER_MODE X$ Set Noon X$'command' X$ EXIT`09F$VERIFY(verify).OR.1 X$LOCAL_END: X$ ON CONTROL_Y THEN $ EXIT`09F$VERIFY(verify).OR.1 X$ ON ERROR THEN $ EXIT`09F$VERIFY(verify).OR.1 X$ server = F$Trnlnm("SYS$NODE") - "_" - "::"`09!Get local node name X$ OPEN /WRITE /ERROR=NODE_DOWN`09T2T`09'p1'::"TASK=DECWREMOTE" X$ WRITE T2T server X$ WRITE T2T p2," ",p3," ",p4," ",p5," ",p6," ",p7," ",p8 X$ CLOSE`09T2T X$ EXIT`09F$VERIFY(verify).OR.1 X$NODE_DOWN: X$ WRITE SYS$OUTPUT "%DECWREMOTE-F-NODE, ",p1," down or no DECWREMOTE task" X$ EXIT`09F$VERIFY(verify).OR.1 X$!========================================================================== V=== X$!+ DECWREMOTE X$! Execute a DECWindows application (client) on a remote node. Assumes X$! this procedure is being executed from the server node. X$! X$!`09@DECWREMOTE`09node`09command X$! X$! where node is the name of the remote node for the client and command X$! is a command line for a DECWindows client application (often RUN of X$! some image). X$! X$! The node can also include a non-default proxy or an explicit access X$! control string: X$! X$!`09@DECWREMOTE`09node"user" command X$! X$!- X$!========================================================================== V=== X$! Modifications: X$! 22-May-89`09FJN`09Created from RMTMONITOR and REMOTEDCL.COM as first X$!`09`09`09attempt at remote DECWindows clients X$! 08-Jun-89`09FJN`09Get remote node name BEFORE closing SYS$NET channel X$! 12-Jun-89`09FJN`09Make sure to always delete WSAn device by setting it X$!`09`09`09/NOPERMANENT X$! 12-Jul-90`09FJN`09Get local node name and pass to remote node over X$!`09`09`09logical link (if from VAXCluster node and the DECnet X$!`09`09`09object TASK has ALIAS OUTGOING Enabled then the X$!`09`09`09remote node will see the cluster alias node in X$!`09`09`09SYS$REM_NODE logical) and add /USER_MODE now that we X$!`09`09`09have DECWindows V2 running $ CALL UNPACK DECWREMOTE.COM;11 1601768039 $ v=f$verify(v) $ EXIT /* ---------- */