mkhaw@teknowledge-vaxc.UUCP (10/28/87)
We have a VMS 4.5 system on which some users want to run DEC/Shell as their default CLI, while most users want to run DCL. The problem is how to make the system not try to execute SYS$SYLOGIN when a DEC/Shell user logs in. Anyone know a solution? We don't want to get rid of SYS$SYLOGIN since it does a lot of useful things for DCL users, but it makes DEC/Shell barf and therefore fail to execute the user's private shell startup file (.profile) Thanks, Mike Khaw -- internet: mkhaw@teknowledge-vaxc.arpa usenet: {uunet|sun|ucbvax|decwrl|uw-beaver}!mkhaw%teknowledge-vaxc.arpa USnail: Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303
mxc@ecsvax.UUCP (Mark Cooperstein) (10/29/87)
In article <18342@teknowledge-vaxc.ARPA>, mkhaw@teknowledge-vaxc.ARPA (Mike Khaw) writes: > We have a VMS 4.5 system on which some users want to run DEC/Shell as > their default CLI, while most users want to run DCL. The problem is > how to make the system not try to execute SYS$SYLOGIN when a DEC/Shell > user logs in. Anyone know a solution? We don't want to get rid of > SYS$SYLOGIN since it does a lot of useful things for DCL users, but it > makes DEC/Shell barf and therefore fail to execute the user's private > shell startup file (.profile) > > Thanks, > Mike Khaw > -- Your problem is very simple... Go into the authorize utility, and set all DEC Shell users lgicmd to be something (or nothing!) other then mgr$login (which is a logical that points to syslogin.com). Our DEC Shell users have lgicmd set to .PROFILE (which is what dec suggests). They have a file called .PROFILE in their sys$login directory (naturally!), with Shell commands. All of this is modeled somewhat after unix I suppose. Hope this helps! Mark Cooperstein NCSU School of Veterinary Medicine Raleigh NC
ted@blia.BLI.COM (Ted Marshall) (10/29/87)
My memory on this is a little hazy and I am unfamiliar with the DEC/Shell, but this should work: The problem has come up before with users who wanted to have MCR as their default CLI. The trick is to define SYS$SYLOGIN without specifying a file type. For example, "DEFINE/SYSTEM SYS$SYLOGIN SYS$MANAGER:SYLOGIN" (not SYS$MANAGER: SYLOGIN.COM). Each CLI then supplies its default command file type. DCL users get SYLOGIN.COM and MCR users get SYLOGIN.xxx (damn if I can remember what it is). Anyway, I would expect that DEC/Shell will have its own default file type, maybe null (i.e. SYLOGIN.). Hope this helps. -- Ted Marshall ...!ucbvax!mtxinu!blia!ted <or> mtxinu!blia!ted@Berkeley.EDU Britton Lee, Inc., 14600 Winchester Blvd, Los Gatos, Ca 95030 (408)378-7000 The opinions expressed above are those of the poster and not his employer.
awp8101@ritcv.UUCP (Andrew W. Potter) (10/29/87)
>> how to make the system not try to execute SYS$SYLOGIN when a DEC/Shell >> user logs in. Anyone know a solution? We don't want to get rid of >> SYS$SYLOGIN since it does a lot of useful things for DCL users, but it >> makes DEC/Shell barf and therefore fail to execute the user's private >> shell startup file (.profile) >> >set all DEC Shell users lgicmd to be something (or nothing!) other then >mgr$login (which is a logical that points to syslogin.com). Our >DEC Shell users have lgicmd set to .PROFILE (which is what dec >suggests). They have a file called .PROFILE in their sys$login >directory (naturally!), with Shell commands. All of this is modeled >somewhat after unix I suppose. Wrong: The behavior of LOGINOUT is to attempt to run the procedure pointed to by the logical name SYS$SYLOGIN and THEN run the procedure specified in the authorize field LGICMD. (This changed in VMS from V2 to V3). If SYS$SYLOGIN does not translate then LOGINOUT goes directly to the LGICMD specified procedure. IF the UAF field LGICMD is blank as the default record is normally then LOGINOUT does a simple @LOGIN (or equivilant for the DEC shell I would assume) In our 2 CLI shop (DCL and MCR) this results in either LOGIN.COM or LOGIN.CMD being run depending on the CLI. (.CMD is what MCR wants). We have the logical name SYS$SYLOGIN ( $ DEFINE/EXEC natch) pointing to the file SYS$MANAGER:SYLOGIN. Note: NO .COM extension on the logical name. we then have SYLOGIN.COM (DCL) and SYLOGIN.CMD (MCR) flavors of our system login routines. I assume a similar action can happen with DECshell. SYLOGIN.PROFILE maybe? If not. I would set up a SYLOGIN.COM that has a command that will do 2 actions depending on whether it is running DCL or SHELL. If it is a DCL command then it would be a No operation command. If it was under DECshell then it would run some shell script and exit. - Andrew W. Potter - Rochester Institute of Technology
mkhaw@teknowledge-vaxc.UUCP (10/31/87)
Several people have posted the correct solution: The logical symbol SYS$SYLOGIN should not translate to a filename that has an extension (filetype?) on it; i.e., it should be define sys$sylogin sys$manager:sylogin So, for DCL users, you have sys$manager:sylogin.com, for MCR users, sys$manager:sylogin.cmd, and for DEC/Shell, sys$manager:sylogin. (there's a dot on the end of that name). Similarly, the UAF file should have LGICMD = LOGIN (with no extension). The DEC/Shell documentation DOES point out that this works fine if your sys$login:login. file says ". .profile" (assuming you want to use .profile as your startup dot file). Thanks all, Mike Khaw -- internet: mkhaw@teknowledge-vaxc.arpa usenet: {uunet|sun|ucbvax|decwrl|uw-beaver}!mkhaw%teknowledge-vaxc.arpa USnail: Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303
kvc@nrcvax.UUCP (Kevin Carosso) (11/03/87)
The solution is to make sure your definition of SYS$SYLOGIN does NOT specify a file type. For example: DEFINE/SYSTEM/EXEC SYS$SYLOGIN SYS$MANAGER:SYLOGIN If the user specifies DCL as his CLI at login time, DCL will open the file SYS$SYLOGIN with a default file specification of ".COM", and so will open and read SYS$MANAGER:SYLOGIN.COM The Shell does not specify a default file specification with a file type, and so will open and read SYS$MANAGER:SYLOGIN. You should then create SYLOGIN.COM with appropriate DCL commands and SYLOGIN. with appropriate Shell commands. I assume the same would work for MCR with SYLOGIN.CMD. Users can also have LOGIN.COM and LOGIN. files if the LGICMD field of their entry in SYSUAF does not specify the file type. /Kevin Carosso kvc@nrcvax.uucp Network Research Co.