Re: [U2] How do you determine terminal emulator?
In message 19552-1268350334-97...@sneakemail.com, Tony Gravagno 3xk547...@sneakemail.com writes It does. ViaDuct was my favorite emulator in the early 90's until I found wIntegrate, and that was my favorite until the later 90's when I found AccuTerm. :) All support scripting. The problem is that they're all different. So if you send ESC:FOO to any one of the emulators, it might do something nice or it might lock it up. That's the chance you take and fine-tuning the scripts to play nice if they hit the wrong emulator is what I call the hard way. You may get it right with some experimenting but it could be time consuming to get it just right. So you configure all the emulators to respond to the same sequence. The problem is if you've got different real terminals that you can't program. But it looks like some variant of ctrlE might well be a common factor. Below is the code I used to tell whether the user was using a pt250, a wyse85, or wintegrate/pt250. As you can tell, it was written long, long ago. * Select Terminal Type Here * * * Use the answerback mechanism so the terminal is selected correctly. PRINT Requesting answerback ; * This message is necessary to clear the buffer CLEAR INPUT PRINT CHAR(27):CHAR(5) SLEEP 1 TTY = HUSH ON LOOP INPUT KEYSTAT,-1 WHILE KEYSTAT INPUT JUNK,1: ; TTY := JUNK REPEAT HUSH OFF * Now try again - the above code doesn't work with the new winterm. awy 21/09/01 IF TTY ELSE CLEAR INPUT PRINT XX:CHAR(5) SLEEP 1 TTY = HUSH ON LOOP INPUT KEYSTAT,-1 WHILE KEYSTAT INPUT JUNK,1: ; TTY := JUNK REPEAT HUSH OFF END SKIP = 0 IF TTY ELSE LOOP CRT ; CRT @SYS.BELL : Which terminal type 1 (VT100) 2 (PT200/wIntegrate) 3 (ignore) ? : : INPUT TTY : BEGIN CASE CASE TTY = 1 ; TTY = VT100 CASE TTY = 2 ; TTY = PT200 CASE TTY = 3 ; SKIP = 1 CASE 1 ; CONTINUE END CASE EXIT REPEAT END EXECUTE SET.TERM.TYPE : TTY : WIDTH 80 LENGTH 24 HUSH If I remember correctly, the wyse/vt answerback sequence was ctrlE, while for the pt250 it was escctrlE. The winterm thingy was a wyse thin terminal running WinCE or something like that. We played with them but ended up not using them. The requesting answerback tipped the user off that something was happening, and the 1-second sleep gave the terminal/emulator time to respond and fill the buffer. The program then checked what response it got and carried on ... as you can see, we'd programmed it to respond with the terminal type. So occasionally, when we got a new real terminal, things fell over until we remembered to program the terminal response :-) Cheers, Wol -- Anthony W. Youngman pi...@thewolery.demon.co.uk 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
Thanks for your input, Tony. I almost always find your responses to the list to be thought-provoking. I think for this project (converting greenbar reports to screen or exports) I'm going to go with the hard way approach. The easy way is interesting, but much more complex to set up than the hard way. I'm not even certain that Viaduct supports login scripting. It probably does, but I've not looked at it for much beyond data import/export scripting. If I understand how the easy way would work, the user would ask for a new connection/login from the emulator. In response, the emulator runs a script, prompting for userid, password, then passing it to the server. Once the user is logged in, the emulator's script would be able to call it's own specific programX which would store emulator type for that session. U2 would record the emulator type and then execute a logto into the regular MAIN account, which would then execute it's own LOGIN script. The emulator type would have to be stored under a unique id specific to that user/port id and/or process id to allow for multiple logins. Do people using login scripts with their emulators add auditing for changes of the scripts on each PC to their internal security scans? It would seem to be an ideal place for an unscrupulous someone to insert a password capture routine. No, a better, more secure approach would be to put the login script on the network, and have the emulator run the centralized (and audited) script. How you lockdown the emulator settings to only use the centralized script is another exercise. Regards, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
Beverly: AccuTerm Internet Explorer edition maintains a single configuration and script file. Users download and install the base AccuTerm applicatioin when connecting to a web server. All users use the same configuration and login script (or whatever script you run), so there's no need to worry about client changes to anything (configuration settings or login script). HTH, Bill Beverly Wilson said the following on 3/10/2010 9:44 AM: Thanks for your input, Tony. I almost always find your responses to the list to be thought-provoking. I think for this project (converting greenbar reports to screen or exports) I'm going to go with the hard way approach. The easy way is interesting, but much more complex to set up than the hard way. I'm not even certain that Viaduct supports login scripting. It probably does, but I've not looked at it for much beyond data import/export scripting. If I understand how the easy way would work, the user would ask for a new connection/login from the emulator. In response, the emulator runs a script, prompting for userid, password, then passing it to the server. Once the user is logged in, the emulator's script would be able to call it's own specific programX which would store emulator type for that session. U2 would record the emulator type and then execute a logto into the regular MAIN account, which would then execute it's own LOGIN script. The emulator type would have to be stored under a unique id specific to that user/port id and/or process id to allow for multiple logins. Do people using login scripts with their emulators add auditing for changes of the scripts on each PC to their internal security scans? It would seem to be an ideal place for an unscrupulous someone to insert a password capture routine. No, a better, more secure approach would be to put the login script on the network, and have the emulator run the centralized (and audited) script. How you lockdown the emulator settings to only use the centralized script is another exercise. Regards, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
From: Beverly Wilson I'm not even certain that Viaduct supports login scripting. It probably does, but I've not looked at it for much beyond data import/export scripting. It does. ViaDuct was my favorite emulator in the early 90's until I found wIntegrate, and that was my favorite until the later 90's when I found AccuTerm. :) All support scripting. The problem is that they're all different. So if you send ESC:FOO to any one of the emulators, it might do something nice or it might lock it up. That's the chance you take and fine-tuning the scripts to play nice if they hit the wrong emulator is what I call the hard way. You may get it right with some experimenting but it could be time consuming to get it just right. If I understand how the easy way would work, the user would ask for a new connection/login from the emulator. In response, the emulator runs a script, prompting for userid, password, then passing it to the server. As I see it, no emulator scripts are required. However, if you're already using scripts, then sure, you can do all of this automatically. I'm sure someone here can offer services to script this out with you. Without using scripts - Every site is different, but generally a user will open the emulator, see a login prompt, then manually enter user/password. What I'm suggesting is one of at least three methods: 1) When the user does a login with their user/psw, rather than putting them into MAIN, your user can manually or automatically connect into a different account which will then save their terminal preference. 2) Let users login with a different ID depending on their emulator (I don't like this but it's easy). 3) When they login, just display a prompt for which emulator they're using. The setting or prompt can be in a .profile or similar server-side config file. That's not all that elegant, and sure we want to automate such things, but sometimes the fastest and cheapest solution is to just ask the user a simple question rather than trying to make the environment smart enough to figure it out. Using the above methods, you don't need to worry about scripts in the clients - everything is on the server and there aren't any new security issues. I hope that helps. If you email I'll be happy to take this offline. I won't do the scripting but perhaps we can chat out the best solution for your environment. Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells Pick/MultiValue products worldwide, and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
I'd like to offer a different approach to the problem. Besides determining emulator, it can potentially determine location, which printer to use, and more. The trick is to pass an environment variable to the host, at login time. The emulator can be configured to send whatever is needed. This is possible with both the telnet and the SSH protocol. This used to be an easy option in the days of telnet. Then, owing to the security implications of passing things like a PATH variable, it was restricted in various telnetd (daemon) programs. However, with OpenSSH's sshd, this is configurable. A setting in the sshd_config file specifies what environment variables can be passed (the default is none). Wildcards are accepted. So for instance, if you use Anzio as an SSH client, and you configure your sshd_config to allow ANZ_*, then any environment variable that the emulator sends that starts with ANZ_ will be accepted. The sshd will place allowed variables into the environment that is inherited by everything downstream. Any shell script or program can query for the existence and value of any specific variable. I don't know how many of the other emulators allow this. Anzio users use this to specify their internal IP address, their program type (Anzio Lite or AnzioWin), Windows machine name, username, screen size, variations on terminal type, timezone, file locations, Terminal Services information, etc. Regards, Bob Rasmussen, President, Rasmussen Software, Inc. personal e-mail: r...@anzio.com company e-mail: r...@anzio.com voice: (US) 503-624-0360 (9:00-6:00 Pacific Time) fax: (US) 503-624-0760 web: http://www.anzio.com street address: Rasmussen Software, Inc. 10240 SW Nimbus, Suite L9 Portland, OR 97223 USA ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
In message 8363-1268176878-166...@sneakemail.com, Tony Gravagno 3xk547...@sneakemail.com writes You can try to do this the hard way and face lack of success, or you can do this the easy way, which is perhaps not as elegant but it's a fast and effectice solution. The hard way: try to come up with scripts that will return useful information from specific emulators without messing up any other emulators. You can probably create a single script for any two emulators, but that's pushing it, and three may be too much to ask. IF you've got decent emulators (like Wintegrate) this way is easy. It's when you've got real terminals it's a problem. As I said, luckily I had a sequence that would provoke a response from both *real* wyse85s and *real* pt2x0s. I then just added the correct answerback responses to Wintegrate's pt250 emulation so that worked, too. Wintegrate has a definition that says when the host sends sequence X, eat it and reply with sequence Y. The user *can* muck things up, but we never had any trouble. Cheers, Wol -- Anthony W. Youngman pi...@thewolery.demon.co.uk 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
* ViaDuct will return name revision to the following PCCMD=CHAR(27):CHAR(8);EQUATE ENDCMD TO CHAR(0) PRINT PCCMD:'WHAT':ENDCMD: INPUT REPLY -Original Message- From: Anthony W. Youngman [mailto:u...@thewolery.demon.co.uk] Sent: Tuesday, March 09, 2010 6:34 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] How do you determine terminal emulator? In message 6.0.1.1.1.20100309151717.05cc2...@12.167.143.145, Beverly Wilson bwil...@daedalus-books.com writes Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? Can you configure Viaduct? It should have some sort of answerback function. We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Been there done that, but what you're doing looks slightly odd to me. We had a mix of Prime PT200s, PT250s, Wyse85s, and Wintegrate configured as a PT250. All of the real terminals would respond to a sequence something like esc? (can't remember what it actually was). So I wrote the login program to send this sequence to the user, and the terminal would (as it was meant to) respond with some string without any user intervention. And I programmed Wintegrate to behave just like a pt250 including this answerback. If you look at the pt250.wis (or is it .wit?) file distributed with Wintegrate you might well find my code in there to do exactly that. You'll need to read the Viaduct docu, but if it's at all user-configurable, you should be able to program it to do an answerback. Cheers, Wol -- Anthony W. Youngman pi...@thewolery.demon.co.uk 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
Thanks Stuart, that worked great! Exactly what I was looking for. At 3/9/2010 05:02 PM, Boydell, Stuart wrote: Get and print information about ViaDuct 001 PCCMD=CHAR(27):CHAR(8) 002 PRINT PCCMD:'WHAT' 003 INPUT REPLY 004 PRINT 'This is ':FIELD(REPLY,' ',1): 005 PRINT ' version ':FIELD(REPLY,' ',2): 006 PRINT ' serial number ':FIELD(REPLY,' ',3): 007 PRINT ' running under DOS version ':FIELD(REPLY,' ',4) 008 PRINT ' running under Windows version ':FIELD(REPLY,' ',5) -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Beverly Wilson Sent: Wednesday, 10 March 2010 07:40 To: U2 Users List Subject: [U2] How do you determine terminal emulator? Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Thanks for your time, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
Thanks for your input Bill. Not quite the approach that I was thinking of, but it is certainly food for thought. Of course, I'd also have to make the term types wIntVP and ViaVP. :-) At 3/9/2010 05:29 PM, Bill Haskett wrote: ...based on the emulator (e.g. wIntWy60, AtWy60, VDWy60, etc). Of course viaWy60 may be a more appropriate prefix for a ViaDuct terminal. :-) Bill Bill Haskett said the following on 3/9/2010 2:23 PM: Bev: What I've always done, in all versions of PICK, is define separate term-types based on the emulator (e.g. wIntWy60, AtWy60, VDWy60, etc). Then define the term-type upon user login then you can query the terminal type via the standard SYSTEM(7) function (I use this function in one of our standard includes that assigns a standard variable used throughout our app). HTH, Bill Beverly Wilson said the following on 3/9/2010 12:39 PM: Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Thanks for your time, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
Get and print information about ViaDuct 001 PCCMD=CHAR(27):CHAR(8) 002 PRINT PCCMD:'WHAT' 003 INPUT REPLY 004 PRINT 'This is ':FIELD(REPLY,' ',1): 005 PRINT ' version ':FIELD(REPLY,' ',2): 006 PRINT ' serial number ':FIELD(REPLY,' ',3): 007 PRINT ' running under DOS version ':FIELD(REPLY,' ',4) 008 PRINT ' running under Windows version ':FIELD(REPLY,' ',5) -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Beverly Wilson Sent: Wednesday, 10 March 2010 07:40 To: U2 Users List Subject: [U2] How do you determine terminal emulator? Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Thanks for your time, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
Bev: What I've always done, in all versions of PICK, is define separate term-types based on the emulator (e.g. wIntWy60, AtWy60, VDWy60, etc). Then define the term-type upon user login then you can query the terminal type via the standard SYSTEM(7) function (I use this function in one of our standard includes that assigns a standard variable used throughout our app). HTH, Bill Beverly Wilson said the following on 3/9/2010 12:39 PM: Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Thanks for your time, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
...based on the emulator (e.g. wIntWy60, AtWy60, VDWy60, etc). Of course viaWy60 may be a more appropriate prefix for a ViaDuct terminal. :-) Bill Bill Haskett said the following on 3/9/2010 2:23 PM: Bev: What I've always done, in all versions of PICK, is define separate term-types based on the emulator (e.g. wIntWy60, AtWy60, VDWy60, etc). Then define the term-type upon user login then you can query the terminal type via the standard SYSTEM(7) function (I use this function in one of our standard includes that assigns a standard variable used throughout our app). HTH, Bill Beverly Wilson said the following on 3/9/2010 12:39 PM: Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Thanks for your time, --bev Bev Wilson 410.309.2700 voice 410.309.2701 fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
You can try to do this the hard way and face lack of success, or you can do this the easy way, which is perhaps not as elegant but it's a fast and effectice solution. The hard way: try to come up with scripts that will return useful information from specific emulators without messing up any other emulators. You can probably create a single script for any two emulators, but that's pushing it, and three may be too much to ask. The easy way: Users with different emulators login to different accounts which all have access to the MAIN accounts resources - MAIN.W, MAIN.V, MAIN.A, etc. If you use emulator scripts to login users then you can do this transparently. You could leave each user in their own account, or better, once you have someone in an emulator-specific account you can use a login macro to save their emulator type, then logto the common MAIN account. From then forward, just check the emulator type before exporting a stream of emulator-specific instructions. HTH Tony Gravagno Nebula Research and Development TG@ remove.pleaseNebula-RnD.com Nebula RD sells Pick/MultiValue products worldwide, and provides related development services remove.pleaseNebula-RnD.com/blog Visit PickWiki.com! Contribute! http://Twitter.com/TonyGravagno From: Beverly Wilson I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] How do you determine terminal emulator?
In message 6.0.1.1.1.20100309151717.05cc2...@12.167.143.145, Beverly Wilson bwil...@daedalus-books.com writes Hi folks, I'm wondering if anyone on the list can tell me what I can do to determine whether a user is using the Viaduct terminal emulator via UniBasic? Can you configure Viaduct? It should have some sort of answerback function. We have some code that can tell if the emulator is Accuterm or Wintegrate, but I haven't been able to come up with a command string that would cause Viaduct to return a value. I've looked through the docs, but haven't found anything. (I may be suffering situational blindness.) To give you an idea, these lines when run in through Wintegrate puts an X into the variable C: PRINT CHAR(27):CHAR(1):ENTER :DQUOTE(X):CHAR(13): INPUT C WAITING 1 ELSE C = Been there done that, but what you're doing looks slightly odd to me. We had a mix of Prime PT200s, PT250s, Wyse85s, and Wintegrate configured as a PT250. All of the real terminals would respond to a sequence something like esc? (can't remember what it actually was). So I wrote the login program to send this sequence to the user, and the terminal would (as it was meant to) respond with some string without any user intervention. And I programmed Wintegrate to behave just like a pt250 including this answerback. If you look at the pt250.wis (or is it .wit?) file distributed with Wintegrate you might well find my code in there to do exactly that. You'll need to read the Viaduct docu, but if it's at all user-configurable, you should be able to program it to do an answerback. Cheers, Wol -- Anthony W. Youngman pi...@thewolery.demon.co.uk 'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998 Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users