General Operating Instructions

Pragma TelnetServer is executed automatically by InetD, when a user logs into the system using any telnet client.

Users need to type a username, password and domain of a valid Windows account with "Log on Locally" rights to log into TelnetServer. Leaving the domain prompt blank will cause the server to search for the username, beginning with the local accounts, then the current domain, followed by any trusted domains. A delay during user authentication might be caused by this network search. Speed up the process by entering a domain. The domain\username syntax can be used at the login name prompt. If the domain is entered with the username, the user will not be prompted for domain later. If the password needs to be changed, the user will be prompted to change the password, then will be returned to the logon prompt. This feature requires at least service pack 1 on any Windows 2000 machine. After login, the user may be prompted for session options that can be configured by the server administrator. Enter the best matching value for each prompt. See User Management for instructions on setting prompts. Automatic logon can be setup using the Auto Logon feature.

The user is given a command shell session and the security context is set to represent the logged on user account. Most console applications can be used during the telnet session. If an application does not appear to run and the command prompt does not appear, exit the application normally, then try launching the application with the wrapper technology. See the topic on the Wrapper Technology for more details.

To end the telnet session, type "exit" and the server will gracefully end the client session.

If a session fails to connect due to an AllocConsole error, the InetD Desktop Count should be increased. See InetD Configuration for more information.

Text Editors

Many text editors can be used in an Pragma TelnetServer telnet session. The DOS edit program, vi from the MKS Toolkit, and xvi, a freeware vi editor, can all be used without problem. The vi editor from the WIndows Resource Kit can be run using the Wrapper Technology. A version of Emacs can be obtained from the University of Washington's Windows port of Emacs. Version 19.34.2, or later, will work.

User Home Directory and Command Profile\Login Script

If a user's home directory, profile, and login script are specified in the Windows account database, accessed by the Windows User Management, TelnetServer will change to that home directory when the user logs on, and execute the profile and login script. A home directory and login script can also be specified in the TelnetServer configuration. See User General Settings for more information on specifying a home directory in TelnetServer, and Full Console Settings and Stream Settings Startup Program for more information on setting a login script under TelnetServer. If no home directory is specified, the system-wide default user directory ( %SystemDrive%\users\default ) is assumed as the home directory.

The Windows Logon Script can be turned off for telnet sessions under User General Settings.

Telnet Client Window Size

If the telnet client communicates the telnet terminal window size, TelnetServer will support the negotiated window size. If no window size is communicated by the telnet client, then a telnet window defined by the Full Console settings will be assumed. If a window size less than 24 lines is communicated, TelnetServer will still run session as 24 lines. Pragma TelnetServer uses the Negotiate About Window Size (NAWS) protocol for telnet, described in RFC 1073, to obtain telnet client window size.

24/25 line restriction

Telnet protocol defines the virtual terminal as 24 lines in length, but most of PC console screens have 25 lines. Therefore, TelnetServer is forced to squeeze 25 lines into 24. In normal operation, the 24th line is not displayed and line 25 is displayed in its place. For most editors and applications, this line (line 24) is relatively unimportant, whereas the last line of the text (line 25) usually contains important information. However, if the cursor is on the 24th line, then line 24 will be displayed instead of line 25. TelnetServer will dynamically decide which line to display.

If the client supports greater than 24 lines, set the client side and server side rows to the same value. If the client does not support NAWS, the 24th line can be seen by setting the server to 25 lines and the client to 26 lines. This should keep the client from scrolling the top line.

Use the optimized screen scraper to avoid the remapping completely. Using this option, the server will send only the number of rows determined by the client.

Check telnet keyboard mapping

If a key appears not to work from the telnet client application, check the keyboard mapping of the telnet application. Many terminal emulators do not map all the keys. They require the keys to be added to the keyboard mapping. Common examples of these are PAGEDOWN and PAGEUP, which many telnet client programs do not map initially. Check the telnet client for documentation on how to add entries into the keyboard mapping table.

Instructions for ALT Key keyboard mapping

Windows intercepts keys supplemented with the ALT key from programs (like a telnet client) and interprets them as local menu keys. As a result, some other keys have to be entered at the telnet client in order to have them be mapped to the ALT key by Pragma TelnetServer. By default, CTRL-A has been re-mapped to act as the ALT key in a telnet session. Many applications require the ALT key and most terminals do not specify an ALT key. For example, when working in EDIT.COM, to access the File Menu, instead of pressing ALT-F, press CTRL-A (release), then F to represent ALT-F. When using Pragma's Console Telnet Client this is not needed, all keys act as they would normally. The ALT key can be re-mapped in User General Settings.

Instructions for Edit keys

Pragma TelnetServer recognizes all editing keys (INS, DEL, END, etc) and all cursor keys. To use the number pad keys, make sure that NUM-LOCK is disabled.

Instructions for viewing graphic characters

PC applications use the PC's character set to generate character graphics. For example, the TREE and EDIT DOS commands use line drawing characters from the PC character set. Many terminal emulators' graphic character set is different than that of the PC, for example Digital VT terminals. In order to get all graphic characters properly displayed via TelnetServer, use a telnet client that supports character set or font selection. Choose the character set or font that is based on the IBM PC character set. For example, in the telnet client from NetManage, choose the NetPC font to get all PC graphics characters to display properly with TelnetServer. Similarly, in the shareware QVTNET32 telnet client, choose IBM or terminal font in its setup menu.

To change the displayed character from the client sent character, characters can be defined using the charmap.ini file. Following the examples in the file, assign a new value to a received character. This will improve many displays. See User General Settings for more information.

The graphic character set used with VT emulations also defines how characters are displayed. By default, Pragma TelnetServer uses the DEC Special Graphics character set. This can be changed by adding the registry string value "DECCharSet" under each user registry key in HKEY_LOCAL_MACHINE\SOFTWARE\PragmaSystems\TelnetD\Users. The possible values for DECCharSet are:

0 - ASCII;
1 - DEC Supplemental;
2 - DEC Special Graphics; ** default value
3 - DEC Technical;
4 - User-preferred supplemental
5 - ISO Latin-1 Supplemental

Instructions for running graphics applications

Telnet sessions only support character mode or console applications. GUI programs can be started, but there output will not be shown on the client. If the InetD Service is setup to start with the "Allow service to interact with desktop" setting, the GUI program will show on the server.

The utility guistart.exe can also be used to launch a GUI application on the server, without the "Allow service to interact with desktop" set for the InetD service. Run guistart with the program to run as a program argument on the command line, such as, guistart notepad hello.txt. Remember that once a GUI application has been launched on the server, it is unusable from the telnet session, unless the program implements an automated session, or is specifically designed to work with the telnet protocol. The program can be closed when the telnet session ends, by using Monitor Child Processes.

Generally, graphical applications should not be started from telnet sessions.