COSmanager/User Guide/Appendices
This page was last modified 06:47, 6 August 2007.From Documentation
Revision as of 02:09, 26 April 2006 Daniels (Talk | contribs) (→Scroll/Keep) ← Previous diff |
Current revision Daniels (Talk | contribs) (→Appendix C — COSmanager GUI Server for Windows) |
||
Line 2: | Line 2: | ||
The user interface to all COSmanager applications is provided through a series of reusable software tools known collectively as The Functional Toolset. Both graphical (GUI) and character (CUI) mode interfaces are provided. | The user interface to all COSmanager applications is provided through a series of reusable software tools known collectively as The Functional Toolset. Both graphical (GUI) and character (CUI) mode interfaces are provided. | ||
- | The GUI mode features a Motif-style ‘look and feel’. It can be used from an X terminal, or a PC running Windows 3.11, Windows 95 or Windows NT, without the need for X emulation software. | + | The GUI mode features a Motif-style ‘look and feel’. It can be used from an X terminal, or a PC running MS Windows without the need for X emulation software. |
The CUI mode is intended for users who access COSmanager from a character terminal or via terminal emulation from a PC. It features a full-screen interface with support for function keys and pop-up windows. | The CUI mode is intended for users who access COSmanager from a character terminal or via terminal emulation from a PC. It features a full-screen interface with support for function keys and pop-up windows. | ||
Line 10: | Line 10: | ||
This appendix introduces the major components of The Functional Toolset, including examples of both GUI and character mode screens. | This appendix introduces the major components of The Functional Toolset, including examples of both GUI and character mode screens. | ||
+ | <br> | ||
=== The Functional Toolset === | === The Functional Toolset === | ||
The key components of the user interface are: | The key components of the user interface are: | ||
Line 31: | Line 32: | ||
*a toolbar providing shortcuts to common actions. | *a toolbar providing shortcuts to common actions. | ||
- | Detailed reference information is contained in the manual pages for the interface tools. See the [[COSmanager Reference Guide]]. | + | Detailed reference information is contained in the manual pages for the interface tools. See the [[COSmanager_User_Man_pages | COSmanager Reference Guide]]. |
+ | <br> | ||
=== Methtool === | === Methtool === | ||
- | methtool allows you to select actions or methods from a menu bar to perform on data base tables or items selected from a list. | + | Methtool allows you to select actions or methods from a menu bar to perform on data base tables or items selected from a list. |
Function keys available within methtool are: | Function keys available within methtool are: | ||
- | {| border="0" cellpadding="3" cellspacing="0" | + | {| border="1" cellpadding="3" cellspacing="0" |
|- | |- | ||
|<strong>Button</strong> | |<strong>Button</strong> | ||
Line 64: | Line 66: | ||
|} | |} | ||
- | ==== GUI Notes ==== | + | |
+ | ''' GUI Notes ''' | ||
+ | |||
The menu bar contains the COSmanager pulldown, Help button, and any pulldowns specific to this methtool. The COSmanager pulldown contains Search and Print, and a number of configurable Options: | The menu bar contains the COSmanager pulldown, Help button, and any pulldowns specific to this methtool. The COSmanager pulldown contains Search and Print, and a number of configurable Options: | ||
;Multiple prompt: whether you can perform table maintenance operations such as Remove and Change on multiple rows at once. | ;Multiple prompt: whether you can perform table maintenance operations such as Remove and Change on multiple rows at once. | ||
Line 75: | Line 79: | ||
The status line shows messages relating to the selected option or the last action that was performed. | The status line shows messages relating to the selected option or the last action that was performed. | ||
+ | <br> | ||
=== Prompt === | === Prompt === | ||
- | prompt is COSmanager’s data entry tool. It enables COSmanager database tables to be created and maintained via screen-based forms. | + | Prompt is COSmanager’s data entry tool. It enables COSmanager database tables to be created and maintained via screen-based forms. |
- | prompt allows a user to fill in the fields in a form. Each field consists of (from left to right): | + | Prompt allows a user to fill in the fields in a form. Each field consists of (from left to right): |
*a ‘prompt’ to indicate what the field is | *a ‘prompt’ to indicate what the field is | ||
*a data area, in which text is entered or changed | *a data area, in which text is entered or changed | ||
Line 124: | Line 129: | ||
|} | |} | ||
- | ==== GUI Notes ==== | + | |
+ | ''' GUI Notes ''' | ||
*Input fields appear recessed. Display-only fields have the same appearance as the background of the form. | *Input fields appear recessed. Display-only fields have the same appearance as the background of the form. | ||
*Clicking button 1 in an input field makes it the active field. prompt still performs any validations on the intervening fields, so mandatory fields cannot be bypassed. | *Clicking button 1 in an input field makes it the active field. prompt still performs any validations on the intervening fields, so mandatory fields cannot be bypassed. | ||
Line 132: | Line 138: | ||
*Groups of related fields may be framed by a border. | *Groups of related fields may be framed by a border. | ||
+ | <br> | ||
=== Menu === | === Menu === | ||
- | menu implements a hierarchical menu structure based on a user’s access capabilities. The user selects an option via the keyboard or mouse. | + | Menu implements a hierarchical menu structure based on a user’s access capabilities. The user selects an option via the keyboard or mouse. |
Function keys available within menu are: | Function keys available within menu are: | ||
Line 163: | Line 170: | ||
|} | |} | ||
- | ==== GUI Notes ==== | + | |
+ | ''' GUI Notes ''' | ||
+ | |||
*Posted menus stay on the screen until you press Exit. Cascading submenus appear to the right of the selected option, and are transient—that is, they disappear once an action is selected. | *Posted menus stay on the screen until you press Exit. Cascading submenus appear to the right of the selected option, and are transient—that is, they disappear once an action is selected. | ||
*A symbol indicates that the option will display a submenu. An ellipsis ( … ) indicates that the submenu will be a posted menu. | *A symbol indicates that the option will display a submenu. An ellipsis ( … ) indicates that the submenu will be a posted menu. | ||
Line 169: | Line 178: | ||
*Pressing button 3 displays help text for the highlighted option, if available. Clicking on the box dismisses the help window. | *Pressing button 3 displays help text for the highlighted option, if available. Clicking on the box dismisses the help window. | ||
- | ==== Button bar ==== | + | <br> |
+ | === Button Bar === | ||
The COSmanager button bar is the main menu through which you launch and configure COSmanager applications. The button bar has a button for each installed application that you have access to, and a Config button through which you can configure COSmanager applications and the COSmanager framework. | The COSmanager button bar is the main menu through which you launch and configure COSmanager applications. The button bar has a button for each installed application that you have access to, and a Config button through which you can configure COSmanager applications and the COSmanager framework. | ||
Line 182: | Line 192: | ||
;Exit All: exit all COSmanager windows launched from this button bar (except xterms and windows in another process group). | ;Exit All: exit all COSmanager windows launched from this button bar (except xterms and windows in another process group). | ||
- | To move the button bar, middle-click and drag to the new location. | + | |
- | Note To use the Product configuration menu you must have the Admin, Config, or Manager role in at least one application. | + | To move the button bar, middle-click and drag to the new location. |
+ | |||
+ | {{Note|To use the Product configuration menu you must have the Admin, Config, or Manager role in at least one application.}} | ||
+ | |||
+ | <br> | ||
=== Scroll/Keep === | === Scroll/Keep === | ||
Line 218: | Line 232: | ||
|} | |} | ||
- | ==== GUI Notes ==== | + | |
+ | ''' GUI Notes ''' | ||
+ | |||
The GUI scroll does not have the concept of a standard page size or page number. Instead, the vertical scroll bar shows the current position. | The GUI scroll does not have the concept of a standard page size or page number. Instead, the vertical scroll bar shows the current position. | ||
+ | <br> | ||
=== Keep === | === Keep === | ||
keep is a real-time version of scroll. keep tracks the output from a running command, displaying new data as it is generated. | keep is a real-time version of scroll. keep tracks the output from a running command, displaying new data as it is generated. | ||
Line 241: | Line 258: | ||
|} | |} | ||
- | ==== GUI Notes ==== | + | |
+ | '''GUI Notes ''' | ||
+ | |||
The GUI keep retains approximately the last ten windows of output. If the current end of data is not visible, keep keeps the view over the rows that are currently displayed. To resume tracking the end of data, press Follow. | The GUI keep retains approximately the last ten windows of output. If the current end of data is not visible, keep keeps the view over the rows that are currently displayed. To resume tracking the end of data, press Follow. | ||
- | Appendix A—the COSmanager User Interface 121 | + | <br> |
- | Choose/Order | + | === Choose/Order === |
- | choose is typically used to select one or more rows of data for further action, or in | + | choose is typically used to select one or more rows of data for further action, or in a prompt form to select from a list of valid values for a field. |
- | a prompt form to select from a list of valid values for a field. | + | |
- | Figure 47 — Choose tool, CUI version | + | The current item is indicated by a > symbol, and is selected by pressing the Return key or Accept. |
- | The current item is indicated by a > symbol, and is selected by pressing the Return | + | |
- | key or Accept. | + | |
You can move through the list in the same way as for scroll: | You can move through the list in the same way as for scroll: | ||
- | • using the Up or Down Arrow keys or the space bar | + | *using the Up or Down Arrow keys or the space bar |
- | • pressing the first letter of the item you want to choose | + | *pressing the first letter of the item you want to choose |
- | • using Search to search for rows containing a text string or pattern. | + | *using Search to search for rows containing a text string or pattern. |
- | In some cases, a multiple line choose facility is available. This enables more than | + | |
- | one row to be selected using choose. If the multiple choose facility is available, | + | In some cases, a multiple line choose facility is available. This enables more than one row to be selected using choose. If the multiple choose facility is available, the Select/DeSelect button will be enabled. |
- | the Select/DeSelect button will be enabled. | + | |
- | 122 Appendix A—the COSmanager User Interface | + | |
The available function keys within choose are: | The available function keys within choose are: | ||
- | GUI Notes | + | |
- | Figure 48 — Choose tool, GUI version | + | {| border="1" cellpadding="3" cellspacing="0" |
- | Button Function | + | |- |
- | Help Display the extended help facility. | + | |<strong>Button </strong> |
- | Exit Exit without choosing any rows. | + | |<strong>Function</strong> |
- | Search Display the first occurrence of the specified character string. | + | |- |
- | Select/ | + | |Help |
- | DeSelect | + | |Display the extended help facility. |
- | Where multiple rows can be selected, Select highlights a row and DeSelect | + | |- |
- | removes the highlight. (CUI) | + | |Exit |
- | Go to Move the viewing window to the top of the specified page. (CUI) | + | |Exit without choosing any rows. |
- | Accept Accept the selection(s) and proceed | + | |- |
- | Appendix A—the COSmanager User Interface 123 | + | |Search |
- | Some choose screens allow multiple rows to be selected. The following mouse | + | |Display the first occurrence of the specified character string. |
- | actions are available in the multiple choose facility: | + | |- |
+ | |Select/DeSelect | ||
+ | |Where multiple rows can be selected, Select highlights a row and DeSelect removes the highlight. (CUI) | ||
+ | |- | ||
+ | |Go to | ||
+ | |Move the viewing window to the top of the specified page. (CUI) | ||
+ | |- | ||
+ | |Accept | ||
+ | |Accept the selection(s) and proceed | ||
+ | |} | ||
+ | |||
+ | |||
+ | ''' GUI Notes ''' | ||
+ | |||
+ | Some choose screens allow multiple rows to be selected. The following mouse actions are available in the multiple choose facility: | ||
For references to mouse actions, B1 is the primary button (usually the left button). | For references to mouse actions, B1 is the primary button (usually the left button). | ||
+ | |||
+ | {| border="1" cellpadding="3" cellspacing="0" | ||
+ | |- | ||
+ | |<strong>Mouse Action</strong> | ||
+ | |<strong>Function</strong> | ||
+ | |- | ||
+ | |B1 | ||
+ | |select the row under the pointer. Double-click to accept it. | ||
+ | |- | ||
+ | |B1-drag | ||
+ | |select several rows | ||
+ | |- | ||
+ | |Shift-B1 | ||
+ | |select all the rows between the pointer and the nearest previously selected row. | ||
+ | |- | ||
+ | |B2 or Ctrl-B1 | ||
+ | |add row to the previously selected rows, or deselect the row if it was already selected. | ||
+ | |- | ||
+ | |B2-drag | ||
+ | |across unselected rows: adds them to the selection. across selected rows: deselects them. | ||
+ | |- | ||
+ | |Ctrl-Shift-B2 | ||
+ | |toggle every row | ||
+ | |} | ||
+ | |||
On UNIX B2 is usually the middle button. On Windows B2 is usually the right button. | On UNIX B2 is usually the middle button. On Windows B2 is usually the right button. | ||
- | Order | + | |
- | order is a version of choose that lets you reorder a items in a list. | + | <br> |
- | You move the cursor to a row and press PickUp. The selected row is highlighted | + | === Order === |
- | and the label of the PickUp button changes to PutDown. Next, move the cursor | + | order is a version of choose that lets you reorder a items in a list. You move the cursor to a row and press PickUp. The selected row is highlighted and the label of the PickUp button changes to PutDown. Next, move the cursor to the new location (using the scroll keys or Search if necessary). Press PutDown to put the row down. |
- | to the new location (using the scroll keys or Search if necessary). Press PutDown | + | |
- | to put the row down. | + | If the selected row is being moved down the list, it will be put down below the current pointer position. If it is being moved up the list, it will be put down above the current pointer position. |
- | If the selected row is being moved down the list, it will be put down below the current | + | |
- | pointer position. If it is being moved up the list, it will be put down above the | + | Press Accept to save the items in their new order. Press Exit to exit without saving changes to the order of the rows. |
- | current pointer position. | + | |
- | Press Accept to save the items in their new order. Press Exit to exit without saving | + | |
- | changes to the order of the rows. | + | |
- | Mouse Action Function | + | |
- | B1 select the row under the pointer. Double-click to accept it. | + | |
- | B1-drag select several rows | + | |
- | Shift-B1 select all the rows between the pointer and the nearest previously | + | |
- | selected row. | + | |
- | B2 or Ctrl-B1 add row to the previously selected rows, or deselect the row if it | + | |
- | was already selected. | + | |
- | B2-drag across unselected rows: adds them to the selection. | + | |
- | across selected rows: deselects them. | + | |
- | Ctrl-Shift-B2 toggle every row | + | |
- | 124 Appendix A—the COSmanager User Interface | + | |
- | Figure 49 — Order tool, CUI version | + | |
The available function keys within order are: | The available function keys within order are: | ||
- | Button Function | + | |
- | Help Display the extended help facility. | + | {| border="1" cellpadding="3" cellspacing="0" |
- | Exit Exit from the current operation without saving changes. | + | |- |
- | Search Display the first occurrence of the specified character string. | + | |<strong>Button </strong> |
- | PickUp/ | + | |<strong>Function</strong> |
- | PutDown | + | |- |
- | PickUp highlights a row to be moved elsewhere in the list. PutDown | + | |Help |
- | places the row in its new location. Pressing PutDown over the old location | + | |Display the extended help facility. |
- | cancels a selection. | + | |- |
- | Go to Moves the viewing window to the top of the specified page. | + | |Exit |
- | Accept Accept the selection(s) and save the rows in the new order | + | |Exit from the current operation without saving changes. |
- | Appendix A—the COSmanager User Interface 125 | + | |- |
- | GUI Notes | + | |Search |
- | Figure 50 — Order tool, GUI version | + | |Display the first occurrence of the specified character string. |
- | If both the old and new locations are visible in the same window you can click and | + | |- |
- | drag the row to its new location. | + | |PickUp/PutDown |
+ | |PickUp highlights a row to be moved elsewhere in the list. PutDown places the row in its new location. Pressing PutDown over the old location cancels a selection. | ||
+ | |- | ||
+ | |Go to | ||
+ | |Moves the viewing window to the top of the specified page. | ||
+ | |- | ||
+ | |Accept | ||
+ | |Accept the selection(s) and save the rows in the new order | ||
+ | |} | ||
+ | |||
+ | |||
+ | ''' GUI Notes ''' | ||
+ | |||
+ | If both the old and new locations are visible in the same window you can click and drag the row to its new location. | ||
To cancel a selection, press PutDown or click again on the selected row. | To cancel a selection, press PutDown or click again on the selected row. | ||
- | 126 Appendix A—the COSmanager User Interface | + | |
- | Search | + | <br> |
- | The search tool allows you to find occurrences of a character string or pattern in | + | === Search === |
- | a scroll box (e.g. a scroll, choose or order window). | + | The search tool allows you to find occurrences of a character string or pattern in a scroll box (e.g. a scroll, choose or order window). Enter the string or pattern to be searched for. If a matching row is found it is indicated by the > cursor. To repeat the search, press Search twice. Searching starts from the first row of data in the current window. If the search string is not found before the end of the data, the search wraps around to the start. ‘Pattern not found’ indicates that the search string was not found anywhere in the data. |
- | Enter the string or pattern to be searched for. If a matching row is found it is indicated | + | |
- | by the > cursor. To repeat the search, press Search twice. | + | |
- | Searching starts from the first row of data in the current window. If the search string | + | '''GUI Notes ''' |
- | is not found before the end of the data, the search wraps around to the start. ‘Pattern | + | |
- | not found’ indicates that the search string was not found anywhere in the data. | + | |
- | GUI Notes | + | |
- | Figure 51 — Search tool, GUI version | + | |
GUI search includes two options that affect how the search is performed. | GUI search includes two options that affect how the search is performed. | ||
- | • If Ignore case is selected, the string that was entered will match either | + | *If Ignore case is selected, the string that was entered will match either upper-case or lower-case numbers. |
- | upper-case or lower-case numbers. | + | *If Regular expression is selected, the search string can be an arbitrary regular expression (see (ed(1)). If it is not selected, search does a simple string comparison with no pattern matching. |
- | • If Regular expression is selected, the search string can be an arbitrary | + | |
- | regular expression (see (ed(1)). If it is not selected, search does a simple | + | If the search string is found, the row is highlighted and the label on the Search button changes to Next, as shown in Figure 51. |
- | Appendix A—the COSmanager User Interface 127 | + | To search for the next occurrence, press Next. If Search reaches the end of the data without finding the string, the label Next changes to Restart. Pressing Restart resumes the search from the start of the data. |
- | string comparison with no pattern matching. | + | |
- | If the search string is found, the row is highlighted and the label on the Search | + | |
- | button changes to Next, as shown in Figure 51. | + | |
- | To search for the next occurrence, press Next. If Search reaches the end of the | + | |
- | data without finding the string, the label Next changes to Restart. Pressing | + | |
- | Restart resumes the search from the start of the data. | + | |
Once you have found the line you were searching for, press Accept to remove the | Once you have found the line you were searching for, press Accept to remove the | ||
- | search window. To cancel the search and return to the original location in the scroll | + | search window. To cancel the search and return to the original location in the scroll box, press Cancel. |
- | box, press Cancel. | + | |
The available function keys within the GUI version of search are: | The available function keys within the GUI version of search are: | ||
- | Button Function | ||
- | Help Display the extended help facility (GUI). | ||
- | Exit Exit the search window and return to the original location in the scroll | ||
- | box. | ||
- | Search/ | ||
- | Next/ | ||
- | Restart | ||
- | Search for the next occurrence of the entered string or pattern. Restart | ||
- | resumes searching from the top of the data. | ||
- | Clr Fld Clear the text in the search field. | ||
- | Accept Exit the search window, and return to the scroll box at the position of the | ||
- | found row. | ||
- | Appendix B—Terminal Support 129 | + | {| border="1" cellpadding="3" cellspacing="0" |
- | Appendix B—Terminal Support | + | |- |
- | COSmanager uses the UNIX Terminfo facility to support different character terminal | + | |<strong>Button </strong> |
- | types. Terminfo is a database of the features and capabilities of various terminals | + | |<strong>Function</strong> |
- | and printers that may be used with UNIX systems. | + | |- |
- | These features are not always implemented consistently or correctly in the standard | + | |Help |
- | Terminfo definitions. COSmanager includes tools to check and correct Terminfo | + | |Display the extended help facility (GUI) |
- | definitions for character terminals and PC terminal emulators. | + | |- |
- | We recommend that you check all the Terminfo definitions for any terminals that | + | |Exit |
- | you will use to access COSmanager. | + | |Exit the search window and return to the original location in the scroll box. |
+ | |- | ||
+ | |Search/Next/Restart | ||
+ | |Search for the next occurrence of the entered string or pattern. Restart resumes searching from the top of the data. | ||
+ | |- | ||
+ | |Clr Fld | ||
+ | |Clear the text in the search field. | ||
+ | |- | ||
+ | |Accept | ||
+ | |Exit the search window, and return to the scroll box at the position of the found row. | ||
+ | |} | ||
+ | |||
+ | <br> | ||
+ | |||
+ | == Appendix B—Terminal Support == | ||
+ | COSmanager uses the UNIX Terminfo facility to support different character terminal types. Terminfo is a database of the features and capabilities of various terminals and printers that may be used with UNIX systems. | ||
+ | |||
+ | These features are not always implemented consistently or correctly in the standard Terminfo definitions. COSmanager includes tools to check and correct Terminfo definitions for character terminals and PC terminal emulators. | ||
+ | |||
+ | We recommend that you check all the Terminfo definitions for any terminals that you will use to access COSmanager. | ||
+ | |||
This appendix shows you how to: | This appendix shows you how to: | ||
- | • use ticheck to test alternate characters, video attributes, function keys, | + | *use ticheck to test alternate characters, video attributes, function keys, cursor movement keys, and tab stops and margins |
- | cursor movement keys, and tab stops and margins | + | *use ticonfig to rebuild a Terminfo definition |
- | • use ticonfig to rebuild a Terminfo definition | + | *troubleshoot common problems. |
- | • troubleshoot common problems. | + | |
- | 130 Appendix B—Terminal Support | + | === How to Check a Terminfo Definition === |
- | How to Check a Terminfo Definition | + | To check a Terminfo definition, use the ticheck command. Pay particular attention to the function keys (F1 through F8), and the Page Down and Page Up keys. It is common for these keys to need configuring, especially for terminal emulators and terminals with programmable function keys. |
- | To check a Terminfo definition, use the ticheck command. Pay particular attention | + | |
- | to the function keys (F1 through F8), and the Page Down and Page Up keys. It | + | If the function keys are not recognized by ticheck, use the ticonfig command to rebuild your Terminfo definition to recognize the sequences sent by your terminal. |
- | is common for these keys to need configuring, especially for terminal emulators and | + | |
- | terminals with programmable function keys. | + | ==== To check a terminal definition ==== |
- | If the function keys are not recognized by ticheck, use the ticonfig command | + | *Use ticheck to check the Terminfo definition for your current terminal. ticheck verifies that all the graphics characters and video attributes used by COSmanager display correctly, and that function keys, cursor-movement keys and editing keys are recognized. |
- | to rebuild your Terminfo definition to recognize the sequences sent by your terminal. | + | |
- | To check a terminal definition | + | {{Note|if there is already a definition for this terminal in your current directory, you should first save a copy of it.}} |
- | 1. Use ticheck to check the Terminfo definition for your current terminal. | + | |
- | ticheck verifies that all the graphics characters and video attributes used | + | *If necessary, run ticonfig to rebuild the Terminfo function key definitions for the current terminal. |
- | by COSmanager display correctly, and that function keys, cursor-movement | + | *If you have run ticonfig, then run the tic command to compile your new definition for the current terminal. |
- | keys and editing keys are recognized. | + | |
- | Note if there is already a definition for this terminal in your current | + | {{Caution|you may affect other users if your TERMINFO environment variable is not set or is set to a public directory.}} |
- | directory, you should first save a copy of it. | + | |
- | 2. If necessary, run ticonfig to rebuild the Terminfo function key definitions | + | *Repeat step 1 to confirm that you have correctly configured the function key definitions for your current terminal. If need be, repeat steps 2 and 3 and rerun ticheck until they work correctly. |
- | for the current terminal. | + | *Repeat the above for each different terminal type on which you wish to run COSmanager. |
- | 3. If you have run ticonfig, then run the tic command to compile your | + | |
- | new definition for the current terminal. | + | The following sections contain detailed descriptions of how to check and configure your terminal definition. |
- | Caution you may affect other users if your TERMINFO environment variable is not set or is | + | |
- | set to a public directory. | + | === Checking Your Terminal Definition === |
- | 4. Repeat step 1 to confirm that you have correctly configured the function | + | Enter ticheck at the UNIX command line to check the definition for your current terminal. You should see a screen that looks similar to this: |
- | key definitions for your current terminal. If need be, repeat steps 2 and 3 | + | |
- | and rerun ticheck until they work correctly. | + | |
- | 5. Repeat the above for each different terminal type on which you wish to run | + | [[image:Ticheck.jpg]] |
- | COSmanager. | + | ;Figure 52 — ticheck: Checking your terminal definition |
- | The following sections contain detailed descriptions of how to check and configure | + | |
- | your terminal definition. | + | If the screen doesn’t look like this, or if it is garbled, then your terminal type may be incorrectly specified. Echo the TERM environment variable to see whether it is set correctly for your terminal. For example, on a VT220-compatible terminal you |
- | Appendix B—Terminal Support 131 | + | |
- | Checking Your Terminal Definition | + | |
- | Enter ticheck at the UNIX command line to check the definition for your current | + | |
- | terminal. You should see a screen that looks similar to this: | + | |
- | Figure 52 — ticheck: Checking your terminal definition | + | |
- | If the screen doesn’t look like this, or if it is garbled, then your terminal type may be | + | |
- | incorrectly specified. Echo the TERM environment variable to see whether it is set | + | |
- | correctly for your terminal. For example, on a VT220-compatible terminal you | + | |
should see something like the following: | should see something like the following: | ||
- | If the TERM variable appears to be correct, it is possible that the Terminfo definition | + | |
- | is wrong. If this is the case then you will need help from someone knowledgeable | + | {{code| |
- | in the Terminfo facility. | + | |
- | If all is well, the top line of the ticheck screen tells you the terminal’s name and | + | |
- | description. The rest of the screen is divided into four regions: | + | |
- | • the alternate character set region | + | |
$ echo $TERM | $ echo $TERM | ||
+ | |||
vt220 | vt220 | ||
- | 132 Appendix B—Terminal Support | + | }} |
- | • the character attribute region | + | |
- | • the tab stop and margin check region | + | If the TERM variable appears to be correct, it is possible that the Terminfo definition is wrong. If this is the case then you will need help from someone knowledgeable in the Terminfo facility. |
- | • the function key checking region. | + | |
+ | If all is well, the top line of the ticheck screen tells you the terminal’s name and description. The rest of the screen is divided into four regions: | ||
+ | *the alternate character set region | ||
+ | *the character attribute region | ||
+ | *the tab stop and margin check region | ||
+ | *the function key checking region. | ||
+ | |||
The following sections describe how each of these may be interpreted. | The following sections describe how each of these may be interpreted. | ||
- | Checking the alternate character set | + | |
- | The alternate character set (ACS) comprises line drawing and other special characters | + | ==== Checking the alternate character set ==== |
- | (such as arrows and blocks). The ACS region of the ticheck screen is used to | + | The alternate character set (ACS) comprises line drawing and other special characters (such as arrows and blocks). The ACS region of the ticheck screen is used to check the terminal’s support for ACS characters. |
- | check the terminal’s support for ACS characters. | + | |
- | The left of this region shows the arrow and block characters. If your terminal supports | + | The left of this region shows the arrow and block characters. If your terminal supports special characters they will be drawn here. The characters in brackets are the Terminfo symbols used to identify the graphics characters. |
- | special characters they will be drawn here. The characters in brackets are the | + | |
- | Terminfo symbols used to identify the graphics characters. | + | In the middle of this region are the line-drawing characters. If the terminal is configured properly, a box with a cross in the middle is drawn. If your terminal does not support line-drawing characters, the box will be made up of – and | characters, with |
- | In the middle of this region are the line-drawing characters. If the terminal is configured | + | + characters in the corners. |
- | properly, a box with a cross in the middle is drawn. If your terminal does not | + | |
- | support line-drawing characters, the box will be made up of – and | characters, with | + | On the right of this region are the Terminfo characters used to represent each of the line drawing characters. |
- | + characters in the corners. | + | |
- | On the right of this region are the Terminfo characters used to represent each of the | + | ==== Checking character attributes ==== |
- | line drawing characters. | + | Character attributes are used to enhance the visual effect of COSmanager screens. The character attribute region of the ticheck screen is used to check the terminal’s support for the four primary attributes used by COSmanager: |
- | Checking character attributes | + | *bold (B) |
- | Character attributes are used to enhance the visual effect of COSmanager screens. | + | *reverse (R) |
- | The character attribute region of the ticheck screen is used to check the terminal’s | + | *underline (U) |
- | support for the four primary attributes used by COSmanager: | + | *blinking. |
- | • bold (B) | + | |
- | • reverse (R) | + | The character attribute region shows all combinations of character attributes except blinking as a table with two rows and four columns. Each table entry has three characters, each representing an on/off switch for an attribute. The first character is “U” |
- | • underline (U) | + | for underline, the second is “R” for reverse video and the third is “B” for bold. As an example, the second column in the second row is U-B, indicating that both underline and bold are turned on but not reverse video. |
- | • blinking. | + | |
- | The character attribute region shows all combinations of character attributes except | + | Not all terminals can support all these attributes, and some cannot support all combinations. For example, some PC-based terminal emulators are unable to support the ‘underline’ attribute due to limitations of PC video interfaces. Often colors can be used to differentiate between attributes. See [[COSmanager/User_Guide/Appendices#Terminfo_Technical_Details | Terminfo Technical Details]] for more information on configuring Terminfo definitions. |
- | blinking as a table with two rows and four columns. Each table entry has three charcosmos. | + | |
- | Appendix B—Terminal Support 133 | + | ==== Checking Tab-stops and margin settings ==== |
- | acters, each representing an on/off switch for an attribute. The first character is “U” | + | |
- | for underline, the second is “R” for reverse video and the third is “B” for bold. As | + | Tab stops are used by COSmanager to align text on the screen. If the tab stops are not correctly set, then COSmanager screens will not appear correct. |
- | an example, the second column in the second row is U-B, indicating that both | + | |
- | underline and bold are turned on but not reverse video. | + | The lower line in the tab-stop region is a ruler with a tick at every tenth character. If tab-stops are set correctly, the line above the ruler should have a number above each ruler tick. |
- | Not all terminals can support all these attributes, and some cannot support all combinations. | + | |
- | For example, some PC-based terminal emulators are unable to support | + | An “L” is drawn at the left end of the ruler and an “R” at the right end. Above the “R” there should be drawn two more. If this is not correctly displayed, then the “auto-margin” features of the Terminfo are incorrect. The “L” and “R” characters are all drawn in bold. If other characters in the tab-stop region are bold, then there is a problem with the Terminfo setup. |
- | the ‘underline’ attribute due to limitations of PC video interfaces. Often colors can | + | |
- | be used to differentiate between attributes. See Terminfo Technical Details on page 139 | + | ==== Checking function keys ==== |
- | for more information on configuring Terminfo definitions. | + | COSmanager uses a terminal’s keypad and function keys to speed access to various facilities. |
- | Checking Tab-stops and margin settings | + | |
- | Tab stops are used by COSmanager to align text on the screen. If the tab stops are | + | You use the function key region of the ticheck screen to check whether the Terminfo definition recognizes your terminal’s key definitions. |
- | not correctly set, then COSmanager screens will not appear correct. | + | |
- | The lower line in the tab-stop region is a ruler with a tick at every tenth character. If | + | |
- | tab-stops are set correctly, the line above the ruler should have a number above each | + | |
- | ruler tick. | + | |
- | An “L” is drawn at the left end of the ruler and an “R” at the right end. Above the | + | |
- | “R” there should be drawn two more. If this is not correctly displayed, then the | + | |
- | “auto-margin” features of the Terminfo are incorrect. The “L” and “R” characters | + | |
- | are all drawn in bold. If other characters in the tab-stop region are bold, then there is | + | |
- | a problem with the Terminfo setup. | + | |
- | Checking function keys | + | |
- | COSmanager uses a terminal’s keypad and function keys to speed access to various | + | |
- | facilities. | + | |
- | You use the function key region of the ticheck screen to check whether the Terminfo | + | |
- | definition recognizes your terminal’s key definitions. | + | |
To test your keys, push each of the following and note the response from ticheck: | To test your keys, push each of the following and note the response from ticheck: | ||
- | • function keys 1-8 | + | *function keys 1-8 |
- | • page up and page down | + | *page up and page down |
- | 134 Appendix B—Terminal Support | + | *home and end |
- | • home and end | + | *insert and delete |
- | • insert and delete | + | *clear line. |
- | • clear line. | + | |
If any of these keys are not recognized, read the next section on configuring function | If any of these keys are not recognized, read the next section on configuring function | ||
keys. | keys. | ||
- | Appendix B—Terminal Support 135 | + | |
- | How To Configure Function Keys | + | === How To Configure Function Keys === |
- | Typically, the only change required to the terminal definition is make it recognize the | + | |
- | function key sequences sent by your terminal. | + | Typically, the only change required to the terminal definition is make it recognize thefunction key sequences sent by your terminal. |
- | This is done by logging in to the COSmanager account and running the ticonfig | + | |
- | command. ticonfig reads the current Terminfo definition, prompts you to | + | This is done by logging in to the COSmanager account and running the ticonfig command. ticonfig reads the current Terminfo definition, prompts you to press each function key and keypad key in turn, and then writes a new Terminfo definition modified to recognize the key sequences. |
- | press each function key and keypad key in turn, and then writes a new Terminfo definition | + | |
- | modified to recognize the key sequences. | + | {{Note|When configuring Terminfo support for COSmanager use the COSmanager user account.}} |
- | Note When configuring Terminfo support for COSmanager use the | + | |
- | COSmanager user account. | + | Before running ticonfig you should make sure that your terminal is sending the default terminal sequences for your terminal type. One way to check this is to use the cat -v command to display each function key in turn. For example, if you run cat -v and press F1 through F4, then ^D (ctrl-d) to exit cat, you will see something like the following: |
- | Before running ticonfig you should make sure that your terminal is sending the | + | |
- | default terminal sequences for your terminal type. One way to check this is to use | + | $ cat -v |
- | the cat -v command to display each function key in turn. For example, if you run | + | ^[OP |
- | cat -v and press F1 through F4, then ^D (ctrl-d) to exit cat, you will see something | + | ^[OQ |
- | like the following: | + | ^[OR |
- | If you are not sure, then it may be possible to reset or reprogram the terminal’s | + | ^[OS |
- | function key sequences. You will need to refer to the terminal manufacturer’s manual | + | ^D |
- | for more information. | + | $ |
+ | |||
+ | If you are not sure, then it may be possible to reset or reprogram the terminal’s function key sequences. You will need to refer to the terminal manufacturer’s manual for more information. | ||
+ | |||
When you run ticonfig, you should see a screen similar to the following: | When you run ticonfig, you should see a screen similar to the following: | ||
- | $ cat -v | + | |
- | ^[OP | + | Terminfo generator |
- | ^[OQ | + | Hit "q" at any time to quit |
- | ^[OR | + | You are modifying the terminfo description for terminal type "xterm". If this is not the case, please enter its name: |
- | ^[OS | + | |
- | ^D | + | |
- | $ | + | ticonfig uses the current value of the TERM variable for the name of the terminal type you are creating. If you do not like this choice, then enter another name. In the following examples we will use the name myterm. ticonfig uses this name, with an extension of .ti, to create a Terminfo definition file in the current directory – e.g. myterm.ti. |
- | Terminfo generator | + | |
- | Hit "q" at any time to quit | + | If this file already exists, ticonfig issues a warning and allows you to give another name for this definition. If the file does not exist, ticonfig prompts for the name of an existing Terminfo definition. This is used to provide the basic Terminfo functions. |
- | You are modifying the terminfo description for terminal type "xterm". | + | ticonfig displays the current terminal description and allows you to change it. |
- | If this is not the case, please enter its name: | + | |
- | 136 Appendix B—Terminal Support | + | File myterm.ti doesn't exist. |
- | ticonfig uses the current value of the TERM variable for the name of the terminal | + | It should be created by copying another terminal's definition. |
- | type you are creating. If you do not like this choice, then enter another name. In | + | Enter the terminal type to use (default xterm): |
- | the following examples we will use the name myterm. ticonfig uses this name, | + | The terminal description is currently: |
- | with an extension of .ti, to create a Terminfo definition file in the current directory | + | xterm terminal emulator |
- | – e.g. myterm.ti. | + | Do you want to change this description? (y/n) y |
- | If this file already exists, ticonfig issues a warning and allows you to give another | + | Enter the new description |
- | name for this definition. If the file does not exist, ticonfig prompts for the name | + | |
- | of an existing Terminfo definition. This is used to provide the basic Terminfo functions. | + | Once you have done this you can go on to press each function key in response to the prompt from ticonfig. After you have hit the key, ticonfig will show the key sequence sent by your terminal. |
- | ticonfig displays the current terminal description and allows you to | + | |
- | change it. | + | {{Note|You must wait for ticonfig to prompt for each key before pressing it.}} |
- | Once you have done this you can go on to press each function key in response to | + | |
- | the prompt from ticonfig. After you have hit the key, ticonfig will show the | + | This information is used to create the new Terminfo definition. You can abort this process at any stage by typing q. |
- | key sequence sent by your terminal. | + | |
- | Note You must wait for ticonfig to prompt for each key before pressing | + | In response to the following questions, hit RETURN if you don't have that key, or to take the default value. |
- | it. | + | If you make a mistake, please quit (q) and start again. |
- | File myterm.ti doesn't exist. | + | Please hit the F1 key: \E[11~ |
- | It should be created by copying another terminal's definition. | + | Please hit the F2 key: \E[12~ |
- | Enter the terminal type to use (default xterm): | + | Please hit the F3 key: \E[13~ |
- | The terminal description is currently: | + | Please hit the F4 key: \E[14~ |
- | xterm terminal emulator | + | Please hit the F5 key: \E[15~ |
- | Do you want to change this description? (y/n) y | + | Please hit the F6 key: \E[17~ |
- | Enter the new description | + | Please hit the F7 key: \E[18~ |
- | Appendix B—Terminal Support 137 | + | Please hit the F8 key: \E[19~ |
- | This information is used to create the new Terminfo definition. You can abort this | + | Please hit the F9 key: \E[20~ |
- | process at any stage by typing q. | + | Please hit the F10 key: \E[21~ |
- | Caution You may affect other users if your TERMINFO environment variable is not set or is | + | Do you have standard function key labels (i.e. F1, F2 etc.)? Yes |
- | set to a public directory. | + | Please hit the UP ARROW key: \E[A |
- | In response to the following questions, hit RETURN if | + | Please hit the DOWN ARROW key: \E[B |
- | you don't have that key, or to take the default value. | + | Please hit the LEFT ARROW key: \E[D |
- | If you make a mistake, please quit (q) and start again. | + | Please hit the RIGHT ARROW key: \E[C |
- | Please hit the F1 key: \E[11~ | + | Please hit the NEXT PAGE/SCROLL DOWN key: \E[6~ |
- | Please hit the F2 key: \E[12~ | + | Please hit the PREVIOUS PAGE/SCROLL UP key: \E[5~ |
- | Please hit the F3 key: \E[13~ | + | Please hit the HOME key: \E[^@ |
- | Please hit the F4 key: \E[14~ | + | Please hit the BACKSPACE key: \b |
- | Please hit the F5 key: \E[15~ | + | Please hit the BACK/REVERSE TAB key: <none> |
- | Please hit the F6 key: \E[17~ | + | Please hit the INSERT key: \E[2~ |
- | Please hit the F7 key: \E[18~ | + | Please hit the DELETE CHARACTER key: ^? |
- | Please hit the F8 key: \E[19~ | + | Please hit the CLEAR TO END OF LINE key: <none> |
- | Please hit the F9 key: \E[20~ | + | Please hit the END key: \E[^@ |
- | Please hit the F10 key: \E[21~ | + | Please hit the ENTER key: <none> |
- | Do you have standard function key labels (i.e. F1, F2 etc.)? Yes | + | Terminfo generation complete. |
- | Please hit the UP ARROW key: \E[A | + | |
- | Please hit the DOWN ARROW key: \E[B | + | |
- | Please hit the LEFT ARROW key: \E[D | + | {{Caution|You may affect other users if your TERMINFO environment variable is not set or is set to a public directory.}} |
- | Please hit the RIGHT ARROW key: \E[C | + | |
- | Please hit the NEXT PAGE/SCROLL DOWN key: \E[6~ | + | The Terminfo definition file has now been created. Before you can use this new definition it must be compiled. ticonfig will ask if you wish to compile the definition. We suggest that you let ticonfig do this. |
- | Please hit the PREVIOUS PAGE/SCROLL UP key: \E[5~ | + | |
- | Please hit the HOME key: \E[^@ | + | Do you want to compile the terminfo entry now? (y/n) y |
- | Please hit the BACKSPACE key: \b | + | You can test the terminal using "ticheck". |
- | Please hit the BACK/REVERSE TAB key: <none> | + | Make sure you set your TERM variable to "myterm" first. |
- | Please hit the INSERT key: \E[2~ | + | |
- | Please hit the DELETE CHARACTER key: ^? | + | |
- | Please hit the CLEAR TO END OF LINE key: <none> | + | |
- | Please hit the END key: \E[^@ | + | |
- | Please hit the ENTER key: <none> | + | |
- | Terminfo generation complete. | + | |
- | 138 Appendix B—Terminal Support | + | |
- | The Terminfo definition file has now been created. Before you can use this new definition | + | |
- | it must be compiled. ticonfig will ask if you wish to compile the definition. | + | |
- | We suggest that you let ticonfig do this. | + | |
Once the definition is compiled you can check the definition using ticheck. | Once the definition is compiled you can check the definition using ticheck. | ||
- | Do you want to compile the terminfo entry now? (y/n) y | + | |
- | You can test the terminal using "ticheck". | + | === Terminfo Technical Details === |
- | Make sure you set your TERM variable to "myterm" first. | + | All COSmanager screen handling is performed through a set of user interface tools called The Functional Toolset. This chapter will help you to write Terminfo definitions for use with COSmanager applications. It presumes that you are reasonably familiar with the UNIX Terminfo and Curses facilities. |
- | Appendix B—Terminal Support 139 | + | |
- | Terminfo Technical Details | + | Although each tool in The Functional Toolset is a separate program, all the tools present a consistent ‘look and feel’. All interface tools use the UNIX Curses facility to perform screen management on character terminals and terminal emulators, resulting in optimized screen updates. Curses uses the UNIX Terminfo database to look up the capabilities of the user’s terminal. |
- | All COSmanager screen handling is performed through a set of user interface tools | + | |
- | called The Functional Toolset. This chapter will help you to write Terminfo definitions | + | |
- | for use with COSmanager applications. It presumes that you are reasonably | + | |
- | familiar with the UNIX Terminfo and Curses facilities. | + | |
- | Although each tool in The Functional Toolset is a separate program, all the tools | + | |
- | present a consistent ‘look and feel’. All interface tools use the UNIX Curses facility | + | |
- | to perform screen management on character terminals and terminal emulators, | + | |
- | resulting in optimized screen updates. Curses uses the UNIX Terminfo database to | + | |
- | look up the capabilities of the user’s terminal. | + | |
The following Terminfo facilities are used by The Functional Toolset: | The following Terminfo facilities are used by The Functional Toolset: | ||
- | • alternate character sets | + | *alternate character sets |
- | • character attributes | + | *character attributes |
- | • function key definitions | + | *function key definitions |
- | • keypad support. | + | *keypad support. |
- | If you are about to modify an existing Terminfo definition, you should read How to | + | |
- | Check a Terminfo Definition on page 130. This describes how to use the ticheck | + | If you are about to modify an existing Terminfo definition, you should read How to Check a Terminfo Definition on page 130. This describes how to use the ticheck command to verify that an existing terminal definition correctly handles the above facilities. |
- | command to verify that an existing terminal definition correctly handles the above | + | |
- | facilities. | + | If you are writing a new definition, or if your existing definition does not work, you should first refer to a good Curses or Terminfo reference to set up the basic definition. In particular, you will need to ensure that the cursor motion sequences are correctly specified. Once this is done, you can proceed to add support for the additional facilities used by The Functional Toolset. |
- | If you are writing a new definition, or if your existing definition does not work, you | + | |
- | should first refer to a good Curses or Terminfo reference to set up the basic definition. | + | ==== Alternate character set ==== |
- | In particular, you will need to ensure that the cursor motion sequences are correctly | + | The alternate character set is supported via several Terminfo variables, shown in the following table. Note that enacs is not needed on all terminals, though it usually is on DEC VT compatible terminals. |
- | specified. Once this is done, you can proceed to add support for the | + | |
- | additional facilities used by The Functional Toolset. | + | Note also that many definitions, particularly for the VT series, fail to include the rmacs character in the sgr0 definition. If the terminal is left in alternate character set mode when you exit from a COSmanager application, this may be the problem |
- | Alternate character set | + | |
- | The alternate character set is supported via several Terminfo variables, shown in the | + | {| border="1" cellpadding="3" cellspacing="0" |
- | following table. Note that enacs is not needed on all terminals, though it usually is | + | |- |
- | on DEC VT compatible terminals. | + | |<strong>Capname</strong> |
- | 140 Appendix B—Terminal Support | + | |<strong>Description</strong> |
- | Note also that many definitions, particularly for the VT series, fail to include the | + | |- |
- | rmacs character in the sgr0 definition. If the terminal is left in alternate character | + | |acsc |
- | set mode when you exit from a COSmanager application, this may be the problem | + | |Graphic charset pairs |
- | Character attributes | + | |- |
- | The bold, reverse, blink, and underline character attributes are specified through the | + | |smacs |
- | following Terminfo variables: | + | |Start alternate character set mode |
- | Capname Description | + | |- |
- | acsc Graphic charset pairs | + | |rmacs |
- | smacs Start alternate character set mode | + | |End alternate character set mode |
- | rmacs End alternate character set mode | + | |- |
- | enacs Enable alternate character set | + | |enacs |
- | sgr Set graphics rendition. Attribute #9 is the alternate character | + | |Enable alternate character set |
- | set attribute. | + | |- |
- | sgr0 Turn off all attributes | + | |sgr |
- | Capname Description | + | |Set graphics rendition. Attribute #9 is the alternate character set attribute. |
- | smso Start standout mode | + | |- |
- | rmso End standout mode | + | |sgr0 |
- | smul Start underline mode | + | |Turn off all attributes |
- | rmul End underline mode | + | |} |
- | bold Start bold mode | + | |
- | blink Start blinking mode | + | ==== Character attributes ==== |
- | rev Start reverse video mode | + | The bold, reverse, blink, and underline character attributes are specified through the following Terminfo variables: |
- | sgr Set graphics rendition (set video attributes) | + | |
- | sgr0 Turn off all attributes | + | {| border="1" cellpadding="3" cellspacing="0" |
- | Appendix B—Terminal Support 141 | + | |- |
- | Terminals With Fewer Than Eight Function Keys | + | |<strong>Capname</strong> |
- | The Functional Toolset presumes the availability of eight function keys numbered | + | |<strong>Description</strong> |
- | from 1 to 8. This is not the case for many older terminals, in particular DEC (Digital | + | |- |
- | Equipment Corporation) terminals and compatibles. These notes are provided to | + | |smso |
- | help you configure Terminfo definitions to support COSmanager on terminals with | + | |Start standout mode |
- | few or no function keys. | + | |- |
- | VT100-compatible terminals | + | |rmso |
- | The VT100 only supports 4 function keys, labelled PF1 to PF4. Typically, VT100 or | + | |End standout mode |
- | compatible terminals provide additional keys (which may be programmable). If | + | |- |
- | available, these should be used. | + | |smul |
- | If you have a genuine VT100, it is possible to simulate additional keys by using PF1 | + | |Start underline mode |
- | followed by the keys 1 through 8. For example, f1 would be PF1 1, f2 would be PF1 | + | |- |
- | 2, and so on through to f8 (which would be PF1 8). | + | |rmul |
- | There is a potential problem with this scheme. On some UNIX versions you must | + | |End underline mode |
- | press the numeric key within one second, or the curses(3) library will interprets | + | |- |
- | the PF1 separately and return an invalid character to the program. You can overcome | + | |bold |
- | this by setting the NOTIMEOUT variable. Refer to Intermittent function keys on | + | |Start bold mode |
- | page 146 for more information. | + | |- |
- | The following is a fragment from a VT100 Terminfo definition that implements | + | |blink |
- | such a function key scheme. | + | |Start blinking mode |
- | The lf1 through to lf8 definitions specify the labels for each function key. These | + | |- |
- | are used by the confirm program when showing function key templates. If these | + | |rev |
- | are omitted from the Terminfo definition they will default to f1 through f8. | + | |Start reverse video mode |
- | kf1=\EOP1, lf1=PF1 1, | + | |- |
- | kf2=\EOP1, lf2=PF1 2, | + | |sgr |
- | kf3=\EOP3, lf3=PF1 3, | + | |Set graphics rendition (set video attributes) |
- | kf4=\EOP4, lf4=PF1 4, | + | |- |
- | kf5=\EOP5, lf5=PF1 5, | + | |sgr0 |
- | kf6=\EOP6, lf6=PF1 6, | + | |Turn off all attributes |
- | kf7=\EOP7, lf7=PF1 7, | + | |} |
- | kf8=\EOP8, lf8=PF1 8, | + | |
- | 142 Appendix B—Terminal Support | + | ==== Terminals With Fewer Than Eight Function Keys ==== |
- | VT200-Compatible Terminals | + | The Functional Toolset presumes the availability of eight function keys numbered from 1 to 8. This is not the case for many older terminals, in particular DEC (Digital Equipment Corporation) terminals and compatibles. These notes are provided to help you configure Terminfo definitions to support COSmanager on terminals with few or no function keys. |
+ | |||
+ | ===== VT100-compatible terminals ===== | ||
+ | The VT100 only supports 4 function keys, labelled PF1 to PF4. Typically, VT100 or compatible terminals provide additional keys (which may be programmable). If available, these should be used. | ||
+ | |||
+ | If you have a genuine VT100, it is possible to simulate additional keys by using PF1 followed by the keys 1 through 8. For example, f1 would be PF1 1, f2 would be PF1 2, and so on through to f8 (which would be PF1 8). | ||
+ | |||
+ | There is a potential problem with this scheme. On some UNIX versions you must press the numeric key within one second, or the curses(3) library will interprets the PF1 separately and return an invalid character to the program. You can overcome this by setting the NOTIMEOUT variable. Refer to [[COSmanager/User_Guide/Appendices#Intermittent_function_keys | Intermittent function keys]] for more information. | ||
+ | |||
+ | The following is a fragment from a VT100 Terminfo definition that implements such a function key scheme. | ||
+ | |||
+ | kf1=\EOP1, lf1=PF1 1, | ||
+ | kf2=\EOP1, lf2=PF1 2, | ||
+ | kf3=\EOP3, lf3=PF1 3, | ||
+ | kf4=\EOP4, lf4=PF1 4, | ||
+ | kf5=\EOP5, lf5=PF1 5, | ||
+ | kf6=\EOP6, lf6=PF1 6, | ||
+ | kf7=\EOP7, lf7=PF1 7, | ||
+ | kf8=\EOP8, lf8=PF1 8, | ||
+ | |||
+ | The lf1 through to lf8 definitions specify the labels for each function key. These are used by the confirm program when showing function key templates. If these are omitted from the Terminfo definition they will default to f1 through f8. | ||
+ | |||
+ | ===== VT200-Compatible Terminals ===== | ||
The VT200 function key scheme is less than ideal for COSmanager. | The VT200 function key scheme is less than ideal for COSmanager. | ||
- | PF1 to PF4 still exist (perhaps to maintain upward compatibility with the VT100 | + | |
- | series), but the VT200 series also have keys F1 to F20. Unfortunately, F1 to F5 are | + | PF1 to PF4 still exist (perhaps to maintain upward compatibility with the VT100 series), but the VT200 series also have keys F1 to F20. Unfortunately, F1 to F5 are reserved and not programmable (for example, F3 is the setup key for the terminal) and so can’t be used for COSmanager. |
- | reserved and not programmable (for example, F3 is the setup key for the terminal) | + | |
- | and so can’t be used for COSmanager. | + | One scheme that may be used to overcome this is to use PF1 through PF4 for f1 through f4, and then use the four function keys above the PF keys (f17 through f20) for f5 through f8. |
- | One scheme that may be used to overcome this is to use PF1 through PF4 for f1 | + | |
- | through f4, and then use the four function keys above the PF keys (f17 through f20) | + | The following is a fragment from a VT200 Terminfo definition that implements such a function key scheme. |
- | for f5 through f8. | + | |
- | The following is a fragment from a VT200 Terminfo definition that implements | + | kf1=\EOP, lf1=PF1, |
- | such a function key scheme. | + | kf2=\EOQ, lf2=PF2, |
- | Generic Function Key Definitions | + | kf3=\EOR, lf3=PF2, |
- | It is possible to construct a Terminfo definition that uses a generic key sequence to | + | kf4=\EOS, lf4=PF2, |
- | specify function keys. | + | kf5=\E[31~, lf5=f17, |
- | The COSmanager framework includes such a definition for an ANSI 3.64-compatible | + | kf6=\E[32~, lf6=f18, |
- | terminal (FSansi.ti). This Terminfo definition should be used as an example | + | kf7=\E[33~, lf7=f19, |
- | if you need to support a terminal that does not have function keys. | + | kf8=\E[34~, lf8=f20, |
- | kf1=\EOP, lf1=PF1, | + | |
- | kf2=\EOQ, lf2=PF2, | + | ===== Generic Function Key Definitions ===== |
- | kf3=\EOR, lf3=PF2, | + | It is possible to construct a Terminfo definition that uses a generic key sequence to specify function keys. |
- | kf4=\EOS, lf4=PF2, | + | |
- | kf5=\E[31~, lf5=f17, | + | The COSmanager framework includes such a definition for an ANSI 3.64-compatible terminal (FSansi.ti). This Terminfo definition should be used as an example if you need to support a terminal that does not have function keys. |
- | kf6=\E[32~, lf6=f18, | + | |
- | kf7=\E[33~, lf7=f19, | + | The f1 through f8 keys are represented by ESC 1 through ESC 8, and the page forward/page backward keys are represented by ctrl-f and ctrl-b respectively. |
- | kf8=\E[34~, lf8=f20, | + | |
- | Appendix B—Terminal Support 143 | + | FSansi|simplistic ansi with 8 Fkeys, |
- | The f1 through f8 keys are represented by ESC 1 through ESC 8, and the page | + | am, xon, |
- | forward/page backward keys are represented by ctrl-f and ctrl-b respectively. | + | cols#80, lines#24, |
- | Keypad Keys | + | bel=^G, blink=\E[5m, bold=\E[1m, |
- | The Functional Toolset can use several of the keys available on the keypads of modern | + | clear=\E[H\E[J, cr=\r, cub1=\b, |
- | terminals, as shown in the following table. | + | cud1=\n, cuf1=\E[C, |
- | FSansi|simplistic ansi with 8 Fkeys, | + | cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, |
- | am, xon, | + | dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, |
- | cols#80, lines#24, | + | home=\E[H, ht=\t, hts=\EH, |
- | bel=^G, blink=\E[5m, bold=\E[1m, | + | ich1=\E[@, il1=\E[L, |
- | clear=\E[H\E[J, cr=\r, cub1=\b, | + | ind=\n, kbs=\b, kcub1=\E[D, kcud1=\E[B, |
- | cud1=\n, cuf1=\E[C, | + | kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, |
- | cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, | + | rev=\E[7m, rmso=\E[m, rmul=\E[m, |
- | dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, | + | sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t |
- | home=\E[H, ht=\t, hts=\EH, | + | 1;%;m, |
- | ich1=\E[@, il1=\E[L, | + | sgr0=\E[0m, smso=\E[7m, smul=\E[4m, |
- | ind=\n, kbs=\b, kcub1=\E[D, kcud1=\E[B, | + | kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, |
- | kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, | + | kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, |
- | rev=\E[7m, rmso=\E[m, rmul=\E[m, | + | knp=^f, kpp=^b, |
- | sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t | + | |
- | 1;%;m, | + | ===== Keypad Keys ===== |
- | sgr0=\E[0m, smso=\E[7m, smul=\E[4m, | + | The Functional Toolset can use several of the keys available on the keypads of modern terminals, as shown in the following table. |
- | kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, | + | |
- | kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, | + | {{Note| Not all the keypad definitions are required—some only give more convenient access to facilities provided by existing function keys. |
- | knp=^f, kpp=^b, | + | Those are marked with † are optional.}} |
- | 144 Appendix B—Terminal Support | + | |
- | Note not all the keypad definitions are required—some only give more | + | |
- | convenient access to facilities provided by existing function keys. | + | {| border="1" cellpadding="3" cellspacing="0" |
- | Those are marked with † are optional. | + | |- |
- | The smkx/rmkx will only be required if a terminal has separate keypad and application | + | |<strong>Capname </strong> |
- | modes, such as DEC terminals | + | |<strong>Description</strong> |
- | Capname Description | + | |- |
- | smkx put the terminal in keypad transmit mode | + | |smkx |
- | rmkx exit from keypad transmit mode | + | |put the terminal in keypad transmit mode |
- | kcub1 cursor left (left arrow) | + | |- |
- | kcud1 cursor down (down arrow) | + | |rmkx |
- | kcuf1 cursor forward (right arrow) | + | |exit from keypad transmit mode |
- | kcuu1 cursor up (up arrow) | + | |- |
- | kbs backspace key† | + | |kcub1 |
- | khome home key† | + | |cursor left (left arrow) |
- | knp next page (page down) | + | |- |
- | kpp previous page (page up) | + | |kcud1 |
- | kent enter key† | + | |cursor down (down arrow) |
- | kcbt back tab key† | + | |- |
- | kcan cancel key† | + | |kcuf1 |
- | khlp help key† | + | |cursor forward (right arrow) |
- | kich1 insert character† | + | |- |
- | kdch1 delete character† | + | |kcuu1 |
- | kel clear (to end of) line† | + | |cursor up (up arrow) |
- | krfr refresh key† | + | |- |
- | Appendix B—Terminal Support 145 | + | |kbs |
- | Troubleshooting | + | |backspace key† |
- | Data loss | + | |- |
- | Sometime you may notice menu headings overwriting previous ones, menu options | + | |khome |
- | or prompt fields not aligning, or menu hierarchy diagrams appearing to lose characters. | + | |home key† |
- | If this happens randomly, your terminal flow control may not be set up correctly. | + | |- |
- | However, if it happens consistently, it may be that the terminal is not handling TAB | + | |knp |
- | characters correctly. This is often the case when using DEC terminals. | + | |next page (page down) |
- | To test this out, try disabling tabs using the following UNIX command: | + | |- |
- | stty -tabs | + | |kpp |
- | Slow scrolling | + | |previous page (page up) |
- | Sometimes, especially when scrolling left or right in scroll, you may notice that | + | |- |
- | the time to redraw the screen is longer than would be expected, given the line speed | + | |kent |
- | between your terminal and the host computer. If this occurs, it may be because your | + | |enter key† |
- | terminal is relatively slow at processing parameterized commands. | + | |- |
- | A typical example is the ‘delete character’ sequences. The dch variable specifies the | + | |kcbt |
- | escape sequence to delete multiple characters. The dch1 variable deletes a single | + | |back tab key† |
- | character. On some terminals such as the Liberty ‘Freedom 1’, it is much quicker for | + | |- |
- | the terminal to process a series of dch1 sequences than the equivalent single dch | + | |kcan |
- | sequence with many parameters. | + | |cancel key† |
- | To test this, comment out the parameterized variable, after making sure the equivalent | + | |- |
- | single variable is defined correctly. Then go into COSmanager and display a | + | |khlp |
- | table, then shift right and left several times. | + | |help key† |
- | These considerations may also apply to the equivalent ‘insert character’ sequences, | + | |- |
- | ich and ich1. | + | |kich1 |
- | 146 Appendix B—Terminal Support | + | |insert character† |
- | Intermittent function keys | + | |- |
- | If your function keys only work intermittently, and your terminal is connected to the | + | |kdch1 |
- | computer through a network, it is possible that the network could introduce delays. | + | |delete character† |
- | This is particularly noticeable if you are connecting through more than one network | + | |- |
+ | |kel | ||
+ | |clear (to end of) line† | ||
+ | |- | ||
+ | |krfr | ||
+ | |refresh key† | ||
+ | |} | ||
+ | |||
+ | |||
+ | The smkx/rmkx will only be required if a terminal has separate keypad and application modes, such as DEC terminals | ||
+ | |||
+ | === Troubleshooting === | ||
+ | |||
+ | ==== Data loss ==== | ||
+ | Sometime you may notice menu headings overwriting previous ones, menu options or prompt fields not aligning, or menu hierarchy diagrams appearing to lose characters. | ||
+ | |||
+ | If this happens randomly, your terminal flow control may not be set up correctly. | ||
+ | |||
+ | However, if it happens consistently, it may be that the terminal is not handling TAB characters correctly. This is often the case when using DEC terminals. To test this out, try disabling tabs using the following UNIX command: | ||
+ | |||
+ | {{code| stty -tabs}} | ||
+ | |||
+ | ==== Slow scrolling ==== | ||
+ | Sometimes, especially when scrolling left or right in scroll, you may notice that the time to redraw the screen is longer than would be expected, given the line speed between your terminal and the host computer. If this occurs, it may be because your terminal is relatively slow at processing parameterized commands. | ||
+ | |||
+ | A typical example is the ‘delete character’ sequences. The dch variable specifies the escape sequence to delete multiple characters. The dch1 variable deletes a single character. On some terminals such as the Liberty ‘Freedom 1’, it is much quicker for the terminal to process a series of dch1 sequences than the equivalent single dch sequence with many parameters. | ||
+ | |||
+ | To test this, comment out the parameterized variable, after making sure the equivalent single variable is defined correctly. Then go into COSmanager and display a table, then shift right and left several times. | ||
+ | |||
+ | These considerations may also apply to the equivalent ‘insert character’ sequences, ich and ich1. | ||
+ | |||
+ | ==== Intermittent function keys ==== | ||
+ | If your function keys only work intermittently, and your terminal is connected to the computer through a network, it is possible that the network could introduce delays. This is particularly noticeable if you are connecting through more than one network | ||
through a gateway. | through a gateway. | ||
- | The problem may be that the network is breaking the function key sequence into | + | |
- | multiple packets, and Curses tries to recognize the individual parts as function key | + | The problem may be that the network is breaking the function key sequence into multiple packets, and Curses tries to recognize the individual parts as function key sequences. |
- | sequences. | + | |
- | For example, you are connected from a PC on a Novell network, through a gateway | + | For example, you are connected from a PC on a Novell network, through a gateway into a UNIX host. You press F1. The code sent would be: |
- | into a UNIX host. You press F1. The code sent would be: | + | |
- | \E[OP | + | {{code| \E[OP}} |
- | Note this does not occur on all versions of UNIX | + | |
- | When the start of a function key sequence is recognized, Curses sets a one second | + | {{Note|this does not occur on all versions of UNIX }} |
- | timer and tries to read the next character (the timer is reset after each character is | + | |
- | read). When the characters read match a key sequence, Curses informs The Functional | + | When the start of a function key sequence is recognized, Curses sets a one second timer and tries to read the next character (the timer is reset after each character is read). When the characters read match a key sequence, Curses informs The Functional Toolset the name of the function key that was pressed. If the timer expires before a complete key sequence is matched, Curses assumes that an invalid key sequence was pressed. |
- | Toolset the name of the function key that was pressed. If the timer expires | + | |
- | before a complete key sequence is matched, Curses assumes that an invalid key | + | In our example, if the network splits the key sequence across two packets, and there is a delay between the packets, then Curses will see two sequences, neither of which matches a known function key. |
- | sequence was pressed. | + | |
- | In our example, if the network splits the key sequence across two packets, and there | + | {{Caution|If NOTIMEOUT is set and the user presses the ESC key, COSmanager will wait indefinitely until another character is pressed.}} |
- | is a delay between the packets, then Curses will see two sequences, neither of which | + | |
- | matches a known function key. | + | To overcome this you can set the NOTIMEOUT environment variable to ‘true’. This tells The Functional Toolset not to time out after one second if it gets an incomplete key sequence. This forces Curses to wait for more characters until it either can match a sequence or fails to match any. |
- | Caution If NOTIMEOUT is set and the user presses the ESC key, COSmanager will wait | + | |
- | indefinitely until another character is pressed. | + | |
- | To overcome this you can set the NOTIMEOUT environment variable to ‘true’. | + | |
- | This tells The Functional Toolset not to time out after one second if it gets an | + | |
- | incomplete key sequence. This forces Curses to wait for more characters until it | + | |
- | either can match a sequence or fails to match any. | + | |
You can set NOTIMEOUT in a number of locations: | You can set NOTIMEOUT in a number of locations: | ||
- | • in the system-wide profile (/etc/profile or /etc/login) | + | *in the system-wide profile (/etc/profile or /etc/login) |
- | Appendix B—Terminal Support 147 | + | *in the affected user’s individual profile (.profile or .login) |
- | • in the affected user’s individual profile (.profile or .login) | + | *in the COSmanager global parameters (see page 89) |
- | • in the COSmanager global parameters (see page 89) | + | |
- | ‘Magic cookie glitch” | + | ==== ‘Magic cookie glitch” ==== |
- | COSmanager applications will not run optimally on terminals with the “magic | + | COSmanager applications will not run optimally on terminals with the “magic cookie glitch.” These terminals leave extra blank characters on the screen before and after video attribute changes such as reverse video or underlining). Examples of these types of screens are Wyse 50 and older Televideo. |
- | cookie glitch.” These terminals leave extra blank characters on the screen before and | + | |
- | after video attribute changes such as reverse video or underlining). Examples of | + | ==== Incorrect vendor-supplied Terminfo definitions ==== |
- | these types of screens are Wyse 50 and older Televideo. | + | COSmanager requires at least eight function keys to run correctly, and uses many extended Terminfo facilities. We have found that some Terminfo definitions distributed with UNIX systems to be inadequate. Therefore, several common Terminfo entries have been supplied. These can be found in the $FShome/lib/terminfo directory. By default, the environment setup command for the COSmanager account ($FShome/.profile) refers to these Terminfo entries. |
- | Incorrect vendor-supplied Terminfo definitions | + | |
- | COSmanager requires at least eight function keys to run correctly, and uses many | + | == Appendix C — COSmanager GUI Server for Windows== |
- | extended Terminfo facilities. We have found that some Terminfo definitions distributed | + | The COSmanager GUI Server for Windows provides a Graphical User Interface to COSmanager Software running on a remote host from a PC or workstation running Microsoft Windows variants. |
- | with UNIX systems to be inadequate. Therefore, several common Terminfo | + | |
- | entries have been supplied. These can be found in the $FShome/lib/terminfo | + | |
- | directory. By default, the environment setup command for the COSmanager | + | === Installing the COSmanager GUI Server for Windows === |
- | account ($FShome/.profile) refers to these Terminfo entries. | + | This topic explains how to install and uninstall the COSmanager GUI Server for Windows. |
+ | |||
+ | {{Caution| If a version of the COSmanager GUI Server is currently installed, it must be uninstalled before installing or re-installing another version.}} | ||
+ | |||
+ | Once the COSmanager GUI Server software has been installed you can run it. For instructions on how to run the COSmanager GUI Server, see [[COSmanager/User_Guide/Appendices#Running_the_COSmanager_GUI_Server_for_Windows | Running the COSmanager GUI Server for Windows]]. | ||
+ | |||
+ | {{Note|Before you can use the COSmanager GUI Server you must run the setup program on disk 1. | ||
+ | You can not just copy the files onto your hard disk. | ||
+ | }} | ||
+ | |||
+ | The system requirements of COSmanger GUI Sever are extremely low. If your machine starts up, it will run the server. | ||
+ | |||
+ | The installation procedure is as follows: | ||
+ | #Start Windows. | ||
+ | #Select Settings > Control Panel from the Start button. | ||
+ | #Download the PCgui Software for Windows from http://downloads.fs.com.au. Please be aware that this requires a support contract to be in place with Functional Software. | ||
+ | #Browse on your PC to the folder you downloaded the software to. | ||
+ | #Double-click on the file to start the installation. | ||
+ | #The welcome screen is displayed. If at any time you wish to exit from the installation, press the Cancel button. Press Next to continue. | ||
+ | #Enter your user name and company name. This information is used for display purposes. Press Next to continue. | ||
+ | #Choose the destination directory. To change the default directory, press the Browse button and select a new directory. Press Next to continue. | ||
+ | #Setup asks where you want the menu entries to be placed in the Program Menu hierarchy. Press Next to continue. | ||
+ | #Setup displays the details you have entered so far. To change any of the details press Back, otherwise press Next to continue. | ||
- | Appendix C—COSmanager GUI Server for Windows 149 | ||
- | Appendix C—COSmanager GUI Server for | ||
- | Windows | ||
- | The COSmanager GUI Server for Windows provides a Graphical User Interface to | ||
- | COSmanager Software running on a remote host from a PC or workstation running | ||
- | Microsoft Windows NT, Windows 95, or Windows 3.11. | ||
- | 150 Appendix C—COSmanager GUI Server for Windows | ||
- | Installing the COSmanager GUI Server for Windows | ||
- | This topic explains how to install and uninstall the COSmanager GUI Server for | ||
- | Windows. There is one procedure for Windows 95 and Windows NT 4.0, and | ||
- | another procedure for Windows 3.11 and Windows NT 3.51. | ||
- | Caution If a version of the COSmanager GUI Server is currently installed, it must be uninstalled | ||
- | before installing or re-installing another version. | ||
- | Once the COSmanager GUI Server software has been installed you can run it. For | ||
- | instructions on how to run the COSmanager GUI Server, see Running the COSMOS | ||
- | GUI Server for Windows on page 158. | ||
- | System Requirements | ||
- | The COSmanager GUI Server for Windows requires the following: | ||
- | Note Before you can use the COSmanager GUI Server you must run the | ||
- | setup program on disk 1. You can not just copy the files from the | ||
- | floppy disk onto your hard disk. | ||
- | Hardware 5Mb of hard disk space | ||
- | 8Mb Memory required | ||
- | 16Mb Memory recommended | ||
- | Software Windows NT 3.51, Windows NT 4.00, Windows 95 or Windows 3.11 | ||
- | win32s version 1.30 required on Windows 3.11 | ||
- | TCP/IP | ||
- | Appendix C—COSmanager GUI Server for Windows 151 | ||
- | Installing on Windows 95 or Windows NT 4.0 | ||
- | Before installing the COSmanager GUI Server check System Requirements on | ||
- | page 150 to ensure your system has the required resources. The installation procedure | ||
- | is as follows: | ||
- | 1. Start Windows. | ||
- | 2. Select Settings > Control Panel from the Start button. | ||
- | 3. Open the “Add/Remove Programs” icon. On the Install/Uninstall tab, | ||
- | press Install. | ||
- | 4. Place the ‘COSmanager GUI Server for Windows 95/NT’ disk 1 in the | ||
- | floppy drive. These instructions assume that the floppy drive is drive A. | ||
- | Press Next to continue. | ||
- | 5. The command should be A:\SETUP.EXE | ||
- | Press Finish to run the Setup program. | ||
- | 6. The welcome screen is displayed. If at any time you wish to exit from the | ||
- | installation, press the Cancel button. | ||
- | Press Next to continue. | ||
- | 7. Enter your user name and company name. This information is used for display | ||
- | purposes. | ||
- | Press Next to continue. | ||
- | 8. Choose the destination directory. To change the default directory, press the | ||
- | Browse button and select a new directory. | ||
- | Press Next to continue. | ||
- | 9. Setup asks where you want the menu entries to be placed in the Program | ||
- | Menu hierarchy. | ||
- | Press Next to continue. | ||
- | 10. Setup displays the details you have entered so far. To change any of the | ||
- | details press Back, otherwise press Next to continue. | ||
Setup unpacks the necessary files and places them in the destination directory. | Setup unpacks the necessary files and places them in the destination directory. | ||
- | You may be prompted to insert other disks as necessary. When Setup has completed, | + | |
- | press Finish to exit the installation procedure. | + | You may be prompted to insert other disks as necessary. When Setup has completed, press Finish to exit the installation procedure. |
- | 152 Appendix C—COSmanager GUI Server for Windows | + | |
- | Uninstalling on Windows 95 or Windows NT 4.0 | + | ==== Uninstalling ==== |
- | 1. Start Windows. | + | #Start Windows. |
- | 2. Select Settings > Control Panel from the Start button. The | + | #Select Settings > Control Panel from the Start button. The control panel program group should now be displayed. |
- | control panel program group should now be displayed. | + | #Select the “Add/Remove Programs” icon and if necessary click on the Install/Uninstall tab to display this dialog: |
- | 3. Select the “Add/Remove Programs” icon and if necessary click on the | + | #Select the “COSmanager GUI Server” entry from the “Add/Remove” list and press the Add/Remove button. |
- | Install/Uninstall tab to display this dialog: | + | #Press Yes to confirm that you want to remove the COSmanager GUI Server from your system. |
- | Figure 53 — Add/Remove Programs Properties | + | |
- | 4. Select the “COSmanager GUI Server” entry from the “Add/Remove” list | + | |
- | and press the Add/Remove button. | + | |
- | 5. Press Yes to confirm that you want to remove the COSmanager GUI | + | |
- | Server from your system. | + | |
Uninstall removes: | Uninstall removes: | ||
- | Appendix C—COSmanager GUI Server for Windows 153 | + | *all files in and under the COSmanager GUI Server home directory |
- | • all files in and under the COSmanager GUI Server home directory | + | *entries in the Windows Registry |
- | • entries in the Windows Registry | + | *menu entries in the program menu hierarchy |
- | • menu entries in the program menu hierarchy | + | |
- | When Uninstall has completed, press OK to exit the uninstall procedure. | + | |
- | Installing on Windows 3.11 or Windows NT 3.51 | + | |
- | Before installing the COSmanager GUI Server check the System Requirements to | + | |
- | ensure your system has the required resources. The installation procedure is as follows: | + | |
- | 1. Start Windows. | + | |
- | 2. Place COSmanager GUI Server for Windows 3.11 diskette 1 in the floppy | + | |
- | drive. These instructions assume that the floppy drive is drive A. | + | |
- | 3. Make the Program Manager the active window. | + | |
- | 4. Select File > Run to open the File Run dialog box. | + | |
- | 5. Enter the command to run the COSmanager GUI Server setup program. If | + | |
- | the disk is in floppy drive A, type: a:setup | + | |
- | If the disk is in floppy drive B, type: b:setup | + | |
- | Press the OK button (or press Enter). | + | |
- | 6. The welcome screen is displayed. If at any time you wish to exit from the | + | |
- | installation, press the Cancel button. | + | |
- | Press Next to continue. | + | |
- | 7. Enter your user name and company name. This information is used for display | + | |
- | purposes. | + | |
- | Press Next to continue. | + | |
- | 8. Choose the destination directory. To change the default directory, press the | + | |
- | Browse button and select a new directory. | + | |
- | Press Next to continue. | + | |
- | 9. Setup asks in which Program Manager group to add the icons for the COSmanager | + | |
- | GUI Server. | + | |
- | Press Next to continue. | + | |
- | 154 Appendix C—COSmanager GUI Server for Windows | + | |
- | Setup unpacks the necessary files and places them in the destination directory. | + | |
- | Setup may prompt you to insert other disks as necessary. | + | |
- | 10. Installation Complete. Instructions for running the COSmanager GUI | + | |
- | Server will be displayed at this point. | + | |
- | Press OK to exit the installation procedure. | + | |
- | Uninstalling on Windows 3.11 or Windows NT 3.51 | + | |
- | 1. Start Windows. | + | |
- | 2. Open the COSmanager program group and double-click the UnInstall icon. | + | |
- | 3. Press OK to confirm that you want to remove the COSmanager GUI Server | + | |
- | from your system. | + | |
- | Uninstall removes: | + | |
- | • all files in and under the COSmanager GUI Server home directory | + | |
- | • the COSmanager program group and items. | + | |
When Uninstall has completed, press OK to exit the uninstall procedure. | When Uninstall has completed, press OK to exit the uninstall procedure. | ||
- | Appendix C—COSmanager GUI Server for Windows 155 | + | |
- | Configuring the COSmanager GUI Server for Windows | + | === Configuring the COSmanager GUI Server for Windows === |
- | To start the COSmanager GUI Server, double-click on the COSmanager icon. | + | To start the COSmanager GUI Server, double-click on the COSmanager icon. |
- | Figure 54 — GUI Server (Windows 95/NT) main window | + | |
From this window you can: | From this window you can: | ||
- | • exit from the COSmanager GUI Server | + | *exit from the COSmanager GUI Server |
- | • configure the standard or advanced settings | + | *configure the standard or advanced settings |
- | • establish a connection to run COSmanager on the remote host | + | *establish a connection to run COSmanager on the remote host |
- | To Configure the Standard Settings | + | |
- | 1. Press the Settings button. | + | ==== To Configure the Standard Settings ==== |
- | Figure 55 — Standard settings dialog | + | #Press the Settings button. |
- | 156 Appendix C—COSmanager GUI Server for Windows | + | #Enter or set the following fields: |
- | 2. Enter or set the following fields: | + | ;Local Computer The name of the local Windows PC on which the COSmanager application will be displayed. |
- | Local Computer | + | ;IP Address: The IP address of the local Windows PC. |
- | The name of the local Windows PC on which the COSmanager | + | ;COSmanager Host: The name of the remote UNIX host on which the COSmanager application will run. |
- | application will be displayed. | + | ;Connect on startup: Select this check box to display the Connection Details dialog when the COSmanager icon is launched. The default settings for user name and COSmanager host will be used. |
- | IP Address The IP address of the local Windows PC. | + | ;Change COSmanager host: Select this check box to show the COSmanager Host field in the Connection Details dialog. This means that the user can change the host name and try to connect to a different host from the default. If the check box is not selected, the user can only connect to the default host. |
- | COSmanager HostThe name of the remote UNIX host on which the COSmanager | + | |
- | application will run. | + | |
- | Connect on startup | + | |
- | Select this check box to display the Connection Details dialog | + | |
- | when the COSmanager icon is launched. The default settings for | + | |
- | user name and COSmanager host will be used. | + | |
- | Change COSmanager host | + | |
- | Select this check box to show the COSmanager Host field in the | + | |
- | Connection Details dialog. This means that the user can change | + | |
- | the host name and try to connect to a different host from the | + | |
- | default. If the check box is not selected, the user can only connect | + | |
- | to the default host. | + | |
Press Accept to save the new settings. | Press Accept to save the new settings. | ||
- | To Configure the Advanced Settings | + | |
- | 1. Press the Advanced button. | + | ==== To Configure the Advanced Settings ==== |
- | The Port number is determined automatically (see step 7 on page 161 for | + | *Press the Advanced button. |
- | details). | + | :The Port number is determined automatically. |
- | The Default command is the command used to start COSmanager on | + | :The Default command is the command used to start COSmanager on the remote host. It can’t be edited, but you can override it by entering a Custom command. |
- | the remote host. It can’t be edited, but you can override it by entering a | + | *Enter or set the following fields: |
- | Custom command. | + | |
- | 2. Enter or set the following fields: | + | ;Custom Command: Enter a command here to override the Default command. |
- | Appendix C—COSmanager GUI Server for Windows 157 | + | :Example: if ksh and the ~COSmanager construct are not available on your UNIX hosts, you will need to use a different shell and obtain the COSmanager home directory by another means, such as: |
- | Figure 56 — Advanced settings dialog | + | |
- | Custom Command | + | `grep COSmanager /etc/passwd | cut -d: -f6`/bin/cos |
- | Enter a command here to override the Default command. | + | |
- | Example: if ksh and the ~COSmanager construct are not | + | ;Appended Arguments: Optional arguments passed to the cos command on the remote host. |
- | available on your UNIX hosts, you will need to use a different shell | + | ;Default User: The default user name in the Connection Details dialog box. If this is not set the Windows login name will be used. |
- | and obtain the COSmanager home directory by another means, | + | ;Debug log: Select this check box to open a Tk console. You can use this to show debugging information. |
- | such as: | + | |
- | Appended Arguments | + | |
- | Optional arguments passed to the cos command on the remote | + | |
- | host. | + | |
- | Default User The default user name in the Connection Details dialog box. If this | + | |
- | is not set the Windows login name will be used. | + | |
- | Debug log Select this check box to open a Tk console. You can use this to | + | |
- | show debugging information (see Debugging on page 163). | + | |
Press Accept to save the new settings. | Press Accept to save the new settings. | ||
- | `grep COSmanager /etc/passwd | cut -d: -f6`/bin/cos | + | |
- | 158 Appendix C—COSmanager GUI Server for Windows | + | === Running the COSmanager GUI Server for Windows === |
- | Running the COSmanager GUI Server for Windows | + | |
- | Note If you are running the COSmanager GUI Server for the first time, | + | {{Note| If you are running the COSmanager GUI Server for the first time, before you can establish a connection you need to specify the COSmanager Host in the Standard Settings dialog. See [[COSmanager/User_Guide/Appendices#Configuring_the_COSmanager_GUI_Server_for_Windows | Configuring the COSMOS GUI Server for Windows]].}} |
- | before you can establish a connection you need to specify the | + | |
- | COSmanager Host in the Standard Settings dialog. See Configuring | + | ==== To run COSmanager ==== |
- | the COSMOS GUI Server for Windows on page 155. | + | #To start the COSmanager GUI Server, double-click on the COSmanager icon. |
- | To run COSmanager | + | #Press the Connect button. |
- | 1. To start the COSmanager GUI Server, double-click on the COSmanager | + | #Fill in your user name and password on the remote host and press Accept. This will start COSmanager on the remote machine talking to the locally running COSmanager GUI Server, and display the COSmanager button bar on your Windows desktop. |
- | icon. | + | |
- | 2. Press the Connect button. | + | {{Note|The Shell escape option is not available from the COSmanager GUI Server for Windows.}} |
- | Figure 57 — Connection details | + | |
- | 3. Fill in your user name and password on the remote host and press Accept. | + | ==== To exit COSmanager ==== |
- | This will start COSmanager on the remote machine talking to the locally running | + | |
- | COSmanager GUI Server, and display the COSmanager button bar on your | + | #To exit the COSmanager button bar on the remote host, click on the COSmanager button and select Exit. This will leave the COSmanager GUI Server running on the local PC. |
- | Windows desktop. | + | |
- | Figure 58 — COSmanager button bar | + | To exit the COSmanager button bar on the remote host and exit the COSmanager GUI Server on the local PC, click on the COSmanager button and select Exit All. Alternatively, you can press Exit on the GUI Server main window. |
- | Appendix C—COSmanager GUI Server for Windows 159 | + | |
- | Note The Shell escape option is not available from the COSmanager | + | === Technical Notes === |
- | GUI Server for Windows. | + | This topic contains technical details as to the operation of the COSmanager GUI Server for Windows. |
- | To exit COSmanager | + | |
- | 1. To exit the COSmanager button bar on the remote host, click on the COSmanager | + | The basic function of the COSmanager GUI Server is to load the cos.exe process, establish a socket connection, and start COSmanager running on the remote host. |
- | button and select Exit. This will leave the COSmanager GUI | + | |
- | Server running on the local PC. | + | ==== Running the COSmanager GUI Server ==== |
- | To exit the COSmanager button bar on the remote host and exit the COSmanager | + | The COSmanager GUI Server is invoked by running the cos.exe executable. |
- | GUI Server on the local PC, click on the COSmanager button and | + | When you run COSmanager through the COSmanager GUI Server for Windows the following steps are performed: |
- | select Exit All. Alternatively, you can press Exit on the GUI Server | + | #Establish the location of the COSmanager GUI Server software. |
- | main window. | + | #*If the GUI_HOME variable is set, COSmanager looks in the directory it points to. If it contains bin/cos.exe, GUI_HOME is left unchanged. |
- | Figure 59 — Exiting the COSmanager GUI Server | + | #*If GUI_HOME is not set, COSmanager looks in the current working directory. If it contains bin/cos.exe, GUI_HOME is set to the current directory. |
- | Exit COSmanager on remote host | + | #*If GUI_HOME can’t be determined, COSmanager will exit. |
- | Exit COSmanager on remote host and | + | #Set environment variables: |
- | COSmanager GUI Server on local host | + | #*TCL_LIBRARY=$GUI_HOME\lib\tcl7.6 |
- | 160 Appendix C—COSmanager GUI Server for Windows | + | #*TK_LIBRARY=$GUI_HOME\lib\tk4.2 |
- | Technical Notes | + | #*ICON_DIR=$GUI_HOME\icons |
- | This topic contains technical details as to the operation of the COSmanager GUI | + | #*Change directory to $GUI_HOME\server. |
- | Server for Windows. | + | #Look up Company Name in the Windows Registry under the following key: |
- | The basic function of the COSmanager GUI Server is to load the cos.exe process, | + | #*Windows NT/95 HKEY_LOCAL_MACHINE\SOFTWARE\Functional Software\COSmanager GUI Server\3.2.2 |
- | establish a socket connection, and start COSmanager running on the remote | + | #Initialize Winsock. |
- | host. | + | #Determine default values and set environment variables. |
- | Running the COSmanager GUI Server | + | #Perform the standard wish (Tk windowing shell) initialization. |
- | The COSmanager GUI Server is invoked by running the cos.exe executable. | + | #Source the startup.tcl script, which is responsible for: |
- | When you run COSmanager through the COSmanager GUI Server for Windows | + | #*initializing defaults. This includes reading COSmanager.ini. |
- | the following steps are performed: | + | #*initializing the server, including establishing a socket connection. |
- | 1. Establish the location of the COSmanager GUI Server software. | + | #:The GUI_PORT variable contains the port number used for the socket connection. |
- | • If the GUI_HOME variable is set, COSmanager looks in the directory it | + | #:If GUI_PORT is not set, the value in COSmanager.ini is used. |
- | points to. If it contains bin/cos.exe, GUI_HOME is left unchanged. | + | #:If GUI_PORT is not set in COSmanager.ini, the port number is automatically generated. |
- | • If GUI_HOME is not set, COSmanager looks in the current working directory. | + | #*displaying the main window or Connection Details form. |
- | If it contains bin/cos.exe, GUI_HOME is set to the current directory. | + | |
- | If GUI_HOME can’t be determined, COSmanager will exit. | + | {{Note| On connection, the remote command is called with $Arguments. }} |
- | 2. Set environment variables: | + | |
- | TCL_LIBRARY=$GUI_HOME\lib\tcl7.6 | + | Example: if the command is: |
- | TK_LIBRARY=$GUI_HOME\lib\tk4.2 | + | cos sentinel -v 1.0 |
- | ICON_DIR=$GUI_HOME\icons | + | $Arguments=sentinel -v 1.0 |
- | Change directory to $GUI_HOME\server. | + | |
- | 3. Look up Company Name in the Windows Registry under the following key: | + | {| border="1" cellpadding="3" cellspacing="0" |
- | 4. Initialize Winsock. | + | |- |
- | Windows NT/95 HKEY_LOCAL_MACHINE\SOFTWARE\Functional Software\ | + | |<strong>Variable</strong> |
- | COSmanager GUI Server\3.2.2 | + | |<strong>Description</strong> |
- | Windows 3.11 HKEY_CLASSES_ROOT\SOFTWARE\Functional Software\ | + | |<strong>Obtained From</strong> |
- | COSmanager GUI Server\3.2.2 | + | |- |
- | Appendix C—COSmanager GUI Server for Windows 161 | + | |Hostname |
- | 5. Determine default values and set environment variables. | + | |Local host |
- | Note On connection, the remote command is called with $Arguments. | + | |gethostname (system call) |
- | Example: if the command is: | + | |- |
- | cos sentinel -v 1.0 | + | |IP Address |
- | $Arguments=sentinel -v 1.0 | + | |IP Address |
- | 6. Perform the standard wish (Tk windowing shell) initialization. | + | |gethostbyname (system call) |
- | 7. Source the startup.tcl script, which is responsible for: | + | |- |
- | • initializing defaults. This includes reading COSmanager.ini. | + | |Username |
- | • initializing the server, including establishing a socket connection. | + | |Current user’s name |
- | The GUI_PORT variable contains the port number used for the socket connection. | + | |GetUserName (system call) |
- | If GUI_PORT is not set, the value in COSmanager.ini is used. | + | |- |
- | If GUI_PORT is not set in COSmanager.ini, the port number is automatically | + | |Company |
- | generated. | + | |Company name |
- | • displaying the main window or Connection Details form. | + | |Registry lookup—see step 3 |
- | Remote Connection | + | |- |
- | Remote connection involves running a command on the remote host to start the | + | |Arguments |
- | remote COSmanager software talking to the local COSmanager GUI Server. A | + | |Optional arguments to cos.exe |
- | command has been linked into FSwish to achieve this. The command rexec | + | |Any arguments following the cos command. |
- | passes the remote command to be run to the rexecd (rexec daemon) on the | + | |} |
- | remote host. | + | |
- | Variable Description Obtained From | + | ==== Remote Connection ==== |
- | Hostname Local host gethostname (system call) | + | |
- | IP Address IP Address gethostbyname (system call) | + | Remote connection involves running a command on the remote host to start the remote COSmanager software talking to the local COSmanager GUI Server. A command has been linked into FSwish to achieve this. The command rexec passes the remote command to be run to the rexecd (rexec daemon) on the remote host. |
- | Username Current user’s name GetUserName (system call) | + | |
- | Company Company name Registry lookup—see step 3 | + | |
- | Arguments Optional arguments to cos.exe Any arguments following the cos command. | + | |
- | 162 Appendix C—COSmanager GUI Server for Windows | + | |
The syntax for the rexec command is: | The syntax for the rexec command is: | ||
- | rexec does not wait for the remote command to complete and does not know of | + | |
- | the success or failure of this command. | + | rexec <host> <user> <password> <command> |
- | When the remote command is run and after validating the user, rexec changes to | + | |
- | the user’s home directory and establishes the user and group permissions. The command | + | rexec does not wait for the remote command to complete and does not know of the success or failure of this command. |
- | is then passed to the normal login shell of the user. | + | |
- | Note There is also a remote command that has been linked into FSwish | + | When the remote command is run and after validating the user, rexec changes to the user’s home directory and establishes the user and group permissions. The command is then passed to the normal login shell of the user. |
- | which does wait for the results of the command. For more details see | + | |
- | the section on debugging. | + | {{Note|There is also a remote command that has been linked into FSwish which does wait for the results of the command. |
- | The command that is run remotely is responsible for starting the COSmanager software | + | For more details see the section on debugging.}} |
- | on the remote host and getting it to connect to the Windows socket. This is | + | |
- | achieved by the setting of three environment variables: GUI_HOST, GUI_PORT, | + | The command that is run remotely is responsible for starting the COSmanager software on the remote host and getting it to connect to the Windows socket. This is achieved by the setting of three environment variables: GUI_HOST, GUI_PORT, and DISPLAY. |
- | and DISPLAY. The default command that is run is as follows: | + | |
- | The default command can be overridden by setting the Custom command in the | + | The default command that is run is as follows: |
- | Advanced Settings prompt form. If this command has been set, rexec is called | + | |
- | with the following: | + | /bin/ksh -c “DISPLAY=<ipaddress> GUI_HOST=<ipaddress> GUI_PORT=<GUI_PORT> GUI_OS=<GUI_OS> ~COSmanager/bin/cos $Arguments” |
- | The GUI_OS variable is set to the OS of the host running the COSmanager GUI | + | |
- | Server for Windows: | + | The default command can be overridden by setting the Custom command in the Advanced Settings prompt form. If this command has been set, rexec is called with the following: |
- | rexec <host> <user> <password> <command> | + | |
- | /bin/ksh -c “DISPLAY=<ipaddress> GUI_HOST=<ipaddress> | + | DISPLAY=<host> GUI_HOST=<host> GUI_PORT=<GUI_PORT> GUI_OS=<GUI_OS> $Command $Arguments |
- | GUI_PORT=<GUI_PORT> GUI_OS=<GUI_OS> ~COSmanager/bin/cos | + | |
- | $Arguments” | + | ==== Debugging ==== |
- | DISPLAY=<host> GUI_HOST=<host> GUI_PORT=<GUI_PORT> | + | To enable debugging, turn on the Debug check box in the Advanced Settings dialog. This will display the Tk Console. |
- | GUI_OS=<GUI_OS> $Command $Arguments | + | |
- | On … Windows NT 3.51 and 4.0 GUI_OS=Windows_NT | + | The Tk Console displays debug messages and also allows you to interact with the COSmanager GUI Server, for example to display the contents of environment variables. |
- | Windows 95 GUI_OS=Windows_95 | + | |
- | Windows 3.11 GUI_OS=Windows_3.11 | + | Figure 60 — Tk Console |
- | Appendix C—COSmanager GUI Server for Windows 163 | + | |
- | Debugging | + | ==== Variables ==== |
- | To enable debugging, turn on the Debug check box in the Advanced Settings dialog. | + | |
- | This will display the Tk Console. | + | |
- | The Tk Console displays debug messages and also allows you to interact with the | + | |
- | COSmanager GUI Server, for example to display the contents of environment variables. | + | |
- | Figure 60 — Tk Console | + | |
- | Variables | + | |
The contents of variables can be displayed by doing a set: | The contents of variables can be displayed by doing a set: | ||
+ | |||
+ | % set <variable name> | ||
+ | |||
Most of the variables used in the COSmanager GUI Server are stored in arrays. | Most of the variables used in the COSmanager GUI Server are stored in arrays. | ||
- | % set <variable name> | + | |
- | 164 Appendix C—COSmanager GUI Server for Windows | + | |
You can display the elements of an array by typing: | You can display the elements of an array by typing: | ||
+ | |||
+ | % array names <array> | ||
+ | |||
Common variables include: | Common variables include: | ||
- | An env array contains an element for each of the environment variables currently | + | |
- | set. | + | ;ini(Company): company name |
- | Remote Command | + | ;ini(Command): override command |
- | The COSmanager GUI Server for Windows uses the rexec command to run | + | ;ini(GUI_PORT): setting of GUI_PORT in advanced settings |
- | remote commands. However rexec does not wait for the remote command to terminate, | + | ;ini(LocalHost): the name of the local (Windows) host |
- | so there is no way of knowing if it was successful or of seeing any error messages. | + | ;ini(RemoteHost): the name of the remote COSmanager host |
- | FSwish also has another command remote which does wait for the output | + | ;ini(IPAddress): the IP Address of the local (Windows) host |
- | of the remote command. This can be used for debugging purposes. | + | |
- | Note As remote waits for the remote command to terminate, the GUI | + | An env array contains an element for each of the environment variables currently set. |
- | Server will ‘freeze’ until the remote command terminates. | + | |
+ | === Remote Command === | ||
+ | |||
+ | The COSmanager GUI Server for Windows uses the rexec command to runremote commands. However rexec does not wait for the remote command to terminate, so there is no way of knowing if it was successful or of seeing any error messages. FSwish also has another command remote which does wait for the output of the remote command. This can be used for debugging purposes. | ||
+ | |||
+ | {{Note| As remote waits for the remote command to terminate, the GUI Server will ‘freeze’ until the remote command terminates.}} | ||
+ | |||
The syntax of the remote command is the same as for rexec: | The syntax of the remote command is the same as for rexec: | ||
- | % array names <array> | + | |
- | ini(Company) company name | + | remote <host> <user> <password> <command> |
- | ini(Command) override command | + | |
- | ini(GUI_PORT) setting of GUI_PORT in advanced settings | + | |
- | ini(LocalHost) the name of the local (Windows) host | + | ==== Directory Structure and Key Files ==== |
- | ini(RemoteHost) the name of the remote COSmanager host | + | |
- | ini(IPAddress) the IP Address of the local (Windows) host | + | |
- | remote <host> <user> <password> <command> | + | |
- | Appendix C—COSmanager GUI Server for Windows 165 | + | |
- | Directory Structure and Key Files | + | |
- | Figure 61 — COSmanager GUI Server for Windows directory structure | + | |
The COSmanager home directory ($GUI_HOME) contains: | The COSmanager home directory ($GUI_HOME) contains: | ||
+ | |||
+ | ;COSmanager.ini: the initialization file for the COSmanager GUI Server | ||
+ | ;errors.txt: an alphabetical list of error messages (see also [[Troubleshooting]]) | ||
+ | ;install.txt: installation notes | ||
+ | ;readme.txt: overview notes | ||
+ | |||
COSmanager/bin contains: | COSmanager/bin contains: | ||
+ | |||
+ | ;cos.exe: the COSmanager GUI Server executable | ||
+ | ;*.dll: various DLLs | ||
+ | |||
COSmanager/icons contains: | COSmanager/icons contains: | ||
- | COSmanager. | + | |
- | ini | + | ;*.xbm, *.xpm: icon files used in COSmanager Software |
- | the initialization file for the COSmanager GUI Server | + | ;*.ico: COSmanager and ReadMe icons used by Windows |
- | errors.txt an alphabetical list of error messages | + | |
- | (see also Troubleshooting on page 167) | + | |
- | install.txt installation notes | + | |
- | readme.txt overview notes | + | |
- | cos.exe the COSmanager GUI Server executable | + | |
- | *.dll various DLLs | + | |
- | *.xbm, *.xpm icon files used in COSmanager Software | + | |
- | *.ico COSmanager and ReadMe icons used by Windows | + | |
- | 166 Appendix C—COSmanager GUI Server for Windows | + | |
COSmanager/lib contains: | COSmanager/lib contains: | ||
+ | |||
+ | ;tcl7.6: the current TCL library | ||
+ | ;tk4.2: the current Tk library | ||
+ | |||
COSmanager/server contains various TCL files: | COSmanager/server contains various TCL files: | ||
- | tcl7.6 the current TCL library | + | |
- | tk4.2 the current Tk library | + | ;defaults: application defaults for fonts, colours, etc. |
- | defaults application defaults for fonts, colours, etc. | + | ;startup.tcl: initial startup TCL script |
- | startup.tcl initial startup TCL script | + | ;tclIndex: TCL index for TCL files |
- | tclIndex TCL index for TCL files | + | ;winmain.tcl: WinMain TCL class |
- | winmain.tcl WinMain TCL class | + | |
- | Appendix C—COSmanager GUI Server for Windows 167 | + | === Troubleshooting === |
- | Troubleshooting | + | |
- | Connection failure | + | ==== Connection failure ==== |
Reason: Although a socket was created, the rexec command was unable to connect to that socket. | Reason: Although a socket was created, the rexec command was unable to connect to that socket. | ||
+ | |||
Solution: No solution. | Solution: No solution. | ||
- | COSmanager host not defined! | + | |
+ | ==== COSmanager host not defined! ==== | ||
Reason: The remote COSmanager host to connect to has not been defined. | Reason: The remote COSmanager host to connect to has not been defined. | ||
+ | |||
Solution: Enter the name of the remote host in the COSmanager host field in the standard settings. | Solution: Enter the name of the remote host in the COSmanager host field in the standard settings. | ||
- | Couldn't find server directory | + | |
+ | ==== Couldn't find server directory ==== | ||
Reason: This error results from a failed attempt by cos.exe to change to the server directory. | Reason: This error results from a failed attempt by cos.exe to change to the server directory. | ||
- | Solution: Ensure that the server directory exists and is accessible and that the COSmanager GUI Server home directory | + | |
- | is valid. | + | Solution: Ensure that the server directory exists and is accessible and that the COSmanager GUI Server home directory is valid. |
- | Couldn't initialize winsock | + | |
- | Reason: Before a socket connection can be made, the Windows socket API needs initializing. This error will occur if | + | ==== Couldn't initialize winsock ==== |
- | the initialization fails. | + | Reason: Before a socket connection can be made, the Windows socket API needs initializing. This error will occur if the initialization fails. |
+ | |||
Solution: Check that the TCP/IP protocol is installed and configured correctly. | Solution: Check that the TCP/IP protocol is installed and configured correctly. | ||
- | Couldn't set COSmanager GUI Server directory | + | |
- | Reason: On startup the COSmanager GUI Server looks up the Windows registry to determine its home directory. | + | ==== Couldn't set COSmanager GUI Server directory ==== |
- | If this fails it will attempt to use the current working directory. This error message will be displayed if both | + | Reason: On startup the COSmanager GUI Server looks up the Windows registry to determine its home directory. If this fails it will attempt to use the current working directory. This error message will be displayed if both these attempts to set the COSmanager GUI Server home directory fail. |
- | these attempts to set the COSmanager GUI Server home directory fail. | + | |
- | Solutions: 1. Ensure that the current working directory is correct. | + | Solutions: |
- | 2. Set the GUI_HOME variable (in the autoexec.bat file) to point to the COSmanager GUI Server home | + | #Ensure that the current working directory is correct. |
- | directory, and restart Windows | + | #Set the GUI_HOME variable (in the autoexec.bat file) to point to the COSmanager GUI Server home directory, and restart Windows |
- | 168 Appendix C—COSmanager GUI Server for Windows | + | |
- | Create socket failure | + | ==== Create socket failure ==== |
Reason: A failed attempt was made to create a socket for the rexec command. | Reason: A failed attempt was made to create a socket for the rexec command. | ||
+ | |||
Solution: Check that the TCP/IP protocol is installed and configured correctly. | Solution: Check that the TCP/IP protocol is installed and configured correctly. | ||
- | Error reading socket | + | |
+ | ==== Error reading socket ==== | ||
Reason: The rexec command was unable to read from the socket. | Reason: The rexec command was unable to read from the socket. | ||
+ | |||
Solution: No solution. | Solution: No solution. | ||
- | Failed to open file: <file> | + | |
+ | ==== Failed to open file: <file> ==== | ||
Reason: The specified file was unable to be opened for writing. | Reason: The specified file was unable to be opened for writing. | ||
Solution: Check that the file exists and is readable. The is most likely located in the server directory. | Solution: Check that the file exists and is readable. The is most likely located in the server directory. | ||
- | Failed to open <home directory>\COSmanager.ini | + | |
+ | ==== Failed to open <home directory>\COSmanager.ini ==== | ||
Reason: The COSmanager.ini file could not be found or read. | Reason: The COSmanager.ini file could not be found or read. | ||
- | Solution: Check that the file exists and is accessible. If the file does not exist create an empty file of that name in the | + | |
- | COSmanager GUI Server home directory. | + | Solution: Check that the file exists and is accessible. If the file does not exist create an empty file of that name in the COSmanager GUI Server home directory. |
- | Failed to read form: <form> | + | |
+ | ==== Failed to read form: <form> ==== | ||
Reason: The specified form could not be opened. | Reason: The specified form could not be opened. | ||
+ | |||
Solution: Check that the form exists and is readable. The file should be located in the server directory. | Solution: Check that the form exists and is readable. The file should be located in the server directory. | ||
- | Appendix C—COSmanager GUI Server for Windows 169 | + | |
- | Fatal Error in wish | + | ==== Fatal Error in wish ==== |
Reason: Any number of run time errors will cause this message to be displayed. | Reason: Any number of run time errors will cause this message to be displayed. | ||
- | Solution: Possible corruption of COSmanager GUI Server software or clash with other running software. Check for | + | |
- | existence of other dll's of the same name as those found in the COSmanager GUI Server bin directory. Try | + | Solution: Possible corruption of COSmanager GUI Server software or clash with other running software. Check for existence of other dll's of the same name as those found in the COSmanager GUI Server bin directory. Try re-installing the COSmanager GUI Server software. |
- | re-installing the COSmanager GUI Server software. | + | |
- | GUIserver Error | + | ==== GUIserver Error ==== |
Reason: The cos.exe failed to source the startup.tcl file in the server directory. | Reason: The cos.exe failed to source the startup.tcl file in the server directory. | ||
+ | |||
Solution: Check that the startup.tcl file exists and is accessible in the server directory. | Solution: Check that the startup.tcl file exists and is accessible in the server directory. | ||
- | [incr Tcl] Init Error | + | |
- | Reason: The COSmanager GUI Server failed to initialize itcl. | + | ==== [incr Tcl] Init Error ==== |
+ | Reason: The COSmanager GUI Server failed to initialize itcl. | ||
+ | |||
Solution: Fatal error, software has been corrupted. Re-install COSmanager GUI Server. | Solution: Fatal error, software has been corrupted. Re-install COSmanager GUI Server. | ||
- | libfs Init Error | + | |
+ | ==== libfs Init Error ==== | ||
Reason: The COSmanager GUI Server failed to initialize libfs. | Reason: The COSmanager GUI Server failed to initialize libfs. | ||
+ | |||
Solution: Fatal error, software has been corrupted. Re-install COSmanager GUI Server. | Solution: Fatal error, software has been corrupted. Re-install COSmanager GUI Server. | ||
- | Local IP Address not defined! | + | |
+ | ==== Local IP Address not defined! ==== | ||
Reason: The COSmanager GUI Server was unable to determine the IP Address for the local computer. | Reason: The COSmanager GUI Server was unable to determine the IP Address for the local computer. | ||
Solution: Check that TCP/IP is correctly set up. Check that the IP Address is set for the local computer. | Solution: Check that TCP/IP is correctly set up. Check that the IP Address is set for the local computer. | ||
- | rexec: <message> | + | |
+ | ==== rexec: <message> ==== | ||
Reason: A call to rexec has returned a message. Message returned depends on rexecd on remote host. | Reason: A call to rexec has returned a message. Message returned depends on rexecd on remote host. | ||
+ | |||
Solution: Check documentation on remote host for more information. | Solution: Check documentation on remote host for more information. | ||
- | 170 Appendix C—COSmanager GUI Server for Windows | + | |
- | Socket error: <message> | + | ==== Socket error: <message> ==== |
- | Reason: The COSmanager GUI Server was unable to create the socket used for communications with remote COSmanager | + | Reason: The COSmanager GUI Server was unable to create the socket used for communications with remote COSmanager product. |
- | product. | + | |
Solution: Check that the TCP/IP protocol is installed and configured correctly. | Solution: Check that the TCP/IP protocol is installed and configured correctly. | ||
- | Tcl Init Error | + | |
+ | ==== Tcl Init Error ==== | ||
Reason: The COSmanager GUI Server failed to initialize tcl. | Reason: The COSmanager GUI Server failed to initialize tcl. | ||
+ | |||
Solution: Check that the tcl76.dll exists and is accessible in the COSmanager GUI Server bin directory. | Solution: Check that the tcl76.dll exists and is accessible in the COSmanager GUI Server bin directory. | ||
- | Tk Init Error | + | |
+ | ==== Tk Init Error ==== | ||
Reason: The COSmanager GUI Server failed to initialize tk. | Reason: The COSmanager GUI Server failed to initialize tk. | ||
+ | |||
Solution: Check that the tk42.dll exists and is accessible in the COSmanager GUI Server bin directory. | Solution: Check that the tk42.dll exists and is accessible in the COSmanager GUI Server bin directory. | ||
- | Unknown host <host> | + | |
+ | ==== Unknown host <host> ==== | ||
Reason: The host <host> is not known to the local computer. | Reason: The host <host> is not known to the local computer. | ||
+ | |||
Solution: Check the network configuration and ensure that the host is on the network and accessible. | Solution: Check the network configuration and ensure that the host is on the network and accessible. | ||
- | Unknown service tcp | + | |
+ | ==== Unknown service tcp ==== | ||
Reason: Failed attempt to retrieve service information for “exec” service and “TCP” protocol. | Reason: Failed attempt to retrieve service information for “exec” service and “TCP” protocol. | ||
+ | |||
Solution: Check that exec service is available. Check that the TCP/IP protocol is installed and configured correctly. | Solution: Check that exec service is available. Check that the TCP/IP protocol is installed and configured correctly. |
Current revision
Appendix A — the COSmanager User Interface
The user interface to all COSmanager applications is provided through a series of reusable software tools known collectively as The Functional Toolset. Both graphical (GUI) and character (CUI) mode interfaces are provided.
The GUI mode features a Motif-style ‘look and feel’. It can be used from an X terminal, or a PC running MS Windows without the need for X emulation software.
The CUI mode is intended for users who access COSmanager from a character terminal or via terminal emulation from a PC. It features a full-screen interface with support for function keys and pop-up windows.
Keyboard traversal in the GUI interface is consistent with the CUI version. This allows users to swap between X displays, Windows PCs, and character terminals, with minimal retraining and without loss of productivity.
This appendix introduces the major components of The Functional Toolset, including examples of both GUI and character mode screens.
The Functional Toolset
The key components of the user interface are:
- Methtool
- provides a console through which you can perform actions or methods on selected items.
- Prompt
- ‘fill in the form’ data entry.
- Scroll/Keep
- browse through and print the output from a program.
- Menu
- hierarchical menu management system.
- Choose/Order
- choose a data item from a list.
- Search
- search for a character string or pattern.
Each of these tools presents a similar user interface in both graphical (GUI) and character (CUI) modes, though some extra facilities are available in the GUI version.
The standard features in the character user interface (CUI) are:
- A title bar showing the customer name and the tool or menu name
- A row of eight function key labels on the bottom line of the screen, with F1 being Help, F3 Exit, and F8 Accept. Other function keys are tool-specific
- A message area on the second bottom line, for showing error or informative messages.
Some features of the GUI are:
- Motif-style ‘look and feel’
- compatibility with the function key buttons in the CUI
- a toolbar providing shortcuts to common actions.
Detailed reference information is contained in the manual pages for the interface tools. See the COSmanager Reference Guide.
Methtool
Methtool allows you to select actions or methods from a menu bar to perform on data base tables or items selected from a list.
Function keys available within methtool are:
Button | Function |
Help | Display help for the current option. |
Exit | Exit from methtool. |
Search | Display the first occurrence of the specified character string. |
Select | Select highlights a row. DeSelect removes the highlight. |
Go to | Move the viewing window to the top of the specified page. (CUI) |
Options | Change configurable settings or print selected items. |
Menu | Display methods in a pop-up window. |
GUI Notes
The menu bar contains the COSmanager pulldown, Help button, and any pulldowns specific to this methtool. The COSmanager pulldown contains Search and Print, and a number of configurable Options:
- Multiple prompt
- whether you can perform table maintenance operations such as Remove and Change on multiple rows at once.
- Confirm actions
- if selected, asks for confirmation before performing certain table maintenance operations such as Remove.
- Tool tips
- whether to show tool tips when the pointer is positioned over buttons on the toolbar.
- Toolbar
- whether to display shortcut buttons under the menu bar.
Methods which are temporarily unavailable are ‘grayed out’, for example if they require one or more items to be selected, and none have been.
The status line shows messages relating to the selected option or the last action that was performed.
Prompt
Prompt is COSmanager’s data entry tool. It enables COSmanager database tables to be created and maintained via screen-based forms.
Prompt allows a user to fill in the fields in a form. Each field consists of (from left to right):
- a ‘prompt’ to indicate what the field is
- a data area, in which text is entered or changed
- an optional information area, giving more details about the current value in the data area
There are several ways to enter data:
- by typing from the keyboard, or by cut-and-paste using the mouse
- by stepping through a short list of alternatives via the Select button
- by choosing from a list of options via the Choose tool
Initially, the cursor is placed at the start of the first editable field. The Help button displays help text, if available, for the active field.
If incorrect data is entered into a field, or if a mandatory field is left blank, prompt will display an error message and prevent you from advancing to the next field. You may return to a previous field, but you cannot move past the wrong field until the error is corrected.
Hidden fields are used to enter sensitive data such as a password without it being displayed on the screen. Text can not be inserted into a hidden field. If it is necessary to edit the data, clear the field and re-enter the text in full. If the Choose button is available, the required data can be selected from a pop-up window.
If the Select button is available, the user can toggle through a small number of alternatives by pressing the left or right arrow keys or the first letter of the desired option When all the required fields have been entered, press Accept to save the changes. The available function keys within prompt are:
Button | Function |
Help | Display the extended help facility (GUI). |
Exit | Exit without saving any changes. |
Choose/Select | Choose from a pop-up window or select from a set of alternatives. |
Insert/Overtype | Toggle between insert mode (the default) and overtype mode. |
Del Char | Delete the character at the current cursor position. |
Clr Fld | Clear the current data field. |
Accept | Accept the selection and proceed. |
GUI Notes
- Input fields appear recessed. Display-only fields have the same appearance as the background of the form.
- Clicking button 1 in an input field makes it the active field. prompt still performs any validations on the intervening fields, so mandatory fields cannot be bypassed.
- You can copy text between fields using your window manager’s cut and paste buttons.
- The Choose control lets you choose from a pop-up list of values.
- The Select control steps through the set of available values.
- Groups of related fields may be framed by a border.
Menu
Menu implements a hierarchical menu structure based on a user’s access capabilities. The user selects an option via the keyboard or mouse.
Function keys available within menu are:
Button | Function |
Help | Display help for the current option. |
Manual | Display the manual page for this command, if available. |
Exit | Exit from the current operation without proceeding. |
Index | Invoke Mtree to search through the hierarchy of menus available to thecurrent user. |
Top | Go directly to the current user’s top level menu. |
Shell | Break out from this menu to the UNIX shell. |
Accept | Select the highlighted menu item. |
GUI Notes
- Posted menus stay on the screen until you press Exit. Cascading submenus appear to the right of the selected option, and are transient—that is, they disappear once an action is selected.
- A symbol indicates that the option will display a submenu. An ellipsis ( … ) indicates that the submenu will be a posted menu.
- Pressing button 2 over a cascading menu converts it to a posted menu. Alternatively, invoking a normally cascaded menu with button 2 will invoke it as a posted menu under the cursor.
- Pressing button 3 displays help text for the highlighted option, if available. Clicking on the box dismisses the help window.
Button Bar
The COSmanager button bar is the main menu through which you launch and configure COSmanager applications. The button bar has a button for each installed application that you have access to, and a Config button through which you can configure COSmanager applications and the COSmanager framework.
The left-most button is the COSmanager pulldown, which has these options:
- Manual
- browse the manual pages for COSmanager commands
- Remote
- run COSmanager on a remote host
- Shell
- launch a shell with the COSmanager environment set up (not available from the COSmanager GUI Server for Windows)
- About
- display COSmanager version and customer name
- Minimize
- iconify the COSmanager button bar
- Tooltips
- enable/disable tooltips on the COSmanager button bar
- Exit
- exit the button bar
- Exit All
- exit all COSmanager windows launched from this button bar (except xterms and windows in another process group).
To move the button bar, middle-click and drag to the new location.
Note | |
To use the Product configuration menu you must have the Admin, Config, or Manager role in at least one application. |
Scroll/Keep
scroll provides up, down, left, and right scrolling through any output text. You can search for text or patterns, and print selected pages. scroll has several advantages over standard UNIX pagers:
- lines longer than 80 characters are not wrapped
- header lines and column headings are highlighted and retained as you scroll through the data
- selected pages may be sent to the printer
A > symbol under the title bar indicates that more data is held to the right of the current window. A < symbol indicates more data to the left. The scroll viewing ‘window’ is moved by:
- using the Page Up and Page Down keys to scroll up or down
- using the arrow keys to move left and right
- using the Search and Go to buttons.
The available function keys within scroll are:
Button | Function |
Help | Display help for scroll. |
Exit | Exit from the current display without proceeding. |
Search | Display the first occurrence of the specified character string. |
Print all or selected pages on the default printer. | |
Go to | Move the viewing window to the top of the specified page. (CUI) |
GUI Notes
The GUI scroll does not have the concept of a standard page size or page number. Instead, the vertical scroll bar shows the current position.
Keep
keep is a real-time version of scroll. keep tracks the output from a running command, displaying new data as it is generated.
The available function keys within keep are:
Button | Function |
Help | Display the extended help facility (GUI). |
Exit | Exit from the current operation without proceeding. |
Follow | Track new data as it is added to the end of the display (GUI). |
GUI Notes
The GUI keep retains approximately the last ten windows of output. If the current end of data is not visible, keep keeps the view over the rows that are currently displayed. To resume tracking the end of data, press Follow.
Choose/Order
choose is typically used to select one or more rows of data for further action, or in a prompt form to select from a list of valid values for a field.
The current item is indicated by a > symbol, and is selected by pressing the Return key or Accept. You can move through the list in the same way as for scroll:
- using the Up or Down Arrow keys or the space bar
- pressing the first letter of the item you want to choose
- using Search to search for rows containing a text string or pattern.
In some cases, a multiple line choose facility is available. This enables more than one row to be selected using choose. If the multiple choose facility is available, the Select/DeSelect button will be enabled.
The available function keys within choose are:
Button | Function |
Help | Display the extended help facility. |
Exit | Exit without choosing any rows. |
Search | Display the first occurrence of the specified character string. |
Select/DeSelect | Where multiple rows can be selected, Select highlights a row and DeSelect removes the highlight. (CUI) |
Go to | Move the viewing window to the top of the specified page. (CUI) |
Accept | Accept the selection(s) and proceed |
GUI Notes
Some choose screens allow multiple rows to be selected. The following mouse actions are available in the multiple choose facility: For references to mouse actions, B1 is the primary button (usually the left button).
Mouse Action | Function |
B1 | select the row under the pointer. Double-click to accept it. |
B1-drag | select several rows |
Shift-B1 | select all the rows between the pointer and the nearest previously selected row. |
B2 or Ctrl-B1 | add row to the previously selected rows, or deselect the row if it was already selected. |
B2-drag | across unselected rows: adds them to the selection. across selected rows: deselects them. |
Ctrl-Shift-B2 | toggle every row |
On UNIX B2 is usually the middle button. On Windows B2 is usually the right button.
Order
order is a version of choose that lets you reorder a items in a list. You move the cursor to a row and press PickUp. The selected row is highlighted and the label of the PickUp button changes to PutDown. Next, move the cursor to the new location (using the scroll keys or Search if necessary). Press PutDown to put the row down.
If the selected row is being moved down the list, it will be put down below the current pointer position. If it is being moved up the list, it will be put down above the current pointer position.
Press Accept to save the items in their new order. Press Exit to exit without saving changes to the order of the rows.
The available function keys within order are:
Button | Function |
Help | Display the extended help facility. |
Exit | Exit from the current operation without saving changes. |
Search | Display the first occurrence of the specified character string. |
PickUp/PutDown | PickUp highlights a row to be moved elsewhere in the list. PutDown places the row in its new location. Pressing PutDown over the old location cancels a selection. |
Go to | Moves the viewing window to the top of the specified page. |
Accept | Accept the selection(s) and save the rows in the new order |
GUI Notes
If both the old and new locations are visible in the same window you can click and drag the row to its new location. To cancel a selection, press PutDown or click again on the selected row.
Search
The search tool allows you to find occurrences of a character string or pattern in a scroll box (e.g. a scroll, choose or order window). Enter the string or pattern to be searched for. If a matching row is found it is indicated by the > cursor. To repeat the search, press Search twice. Searching starts from the first row of data in the current window. If the search string is not found before the end of the data, the search wraps around to the start. ‘Pattern not found’ indicates that the search string was not found anywhere in the data.
GUI Notes
GUI search includes two options that affect how the search is performed.
- If Ignore case is selected, the string that was entered will match either upper-case or lower-case numbers.
- If Regular expression is selected, the search string can be an arbitrary regular expression (see (ed(1)). If it is not selected, search does a simple string comparison with no pattern matching.
If the search string is found, the row is highlighted and the label on the Search button changes to Next, as shown in Figure 51. To search for the next occurrence, press Next. If Search reaches the end of the data without finding the string, the label Next changes to Restart. Pressing Restart resumes the search from the start of the data.
Once you have found the line you were searching for, press Accept to remove the search window. To cancel the search and return to the original location in the scroll box, press Cancel.
The available function keys within the GUI version of search are:
Button | Function |
Help | Display the extended help facility (GUI) |
Exit | Exit the search window and return to the original location in the scroll box. |
Search/Next/Restart | Search for the next occurrence of the entered string or pattern. Restart resumes searching from the top of the data. |
Clr Fld | Clear the text in the search field. |
Accept | Exit the search window, and return to the scroll box at the position of the found row. |
Appendix B—Terminal Support
COSmanager uses the UNIX Terminfo facility to support different character terminal types. Terminfo is a database of the features and capabilities of various terminals and printers that may be used with UNIX systems.
These features are not always implemented consistently or correctly in the standard Terminfo definitions. COSmanager includes tools to check and correct Terminfo definitions for character terminals and PC terminal emulators.
We recommend that you check all the Terminfo definitions for any terminals that you will use to access COSmanager.
This appendix shows you how to:
- use ticheck to test alternate characters, video attributes, function keys, cursor movement keys, and tab stops and margins
- use ticonfig to rebuild a Terminfo definition
- troubleshoot common problems.
How to Check a Terminfo Definition
To check a Terminfo definition, use the ticheck command. Pay particular attention to the function keys (F1 through F8), and the Page Down and Page Up keys. It is common for these keys to need configuring, especially for terminal emulators and terminals with programmable function keys.
If the function keys are not recognized by ticheck, use the ticonfig command to rebuild your Terminfo definition to recognize the sequences sent by your terminal.
To check a terminal definition
- Use ticheck to check the Terminfo definition for your current terminal. ticheck verifies that all the graphics characters and video attributes used by COSmanager display correctly, and that function keys, cursor-movement keys and editing keys are recognized.
Note | |
if there is already a definition for this terminal in your current directory, you should first save a copy of it. |
- If necessary, run ticonfig to rebuild the Terminfo function key definitions for the current terminal.
- If you have run ticonfig, then run the tic command to compile your new definition for the current terminal.
Caution! | |
you may affect other users if your TERMINFO environment variable is not set or is set to a public directory. |
- Repeat step 1 to confirm that you have correctly configured the function key definitions for your current terminal. If need be, repeat steps 2 and 3 and rerun ticheck until they work correctly.
- Repeat the above for each different terminal type on which you wish to run COSmanager.
The following sections contain detailed descriptions of how to check and configure your terminal definition.
Checking Your Terminal Definition
Enter ticheck at the UNIX command line to check the definition for your current terminal. You should see a screen that looks similar to this:
- Figure 52 — ticheck
- Checking your terminal definition
If the screen doesn’t look like this, or if it is garbled, then your terminal type may be incorrectly specified. Echo the TERM environment variable to see whether it is set correctly for your terminal. For example, on a VT220-compatible terminal you should see something like the following:
If the TERM variable appears to be correct, it is possible that the Terminfo definition is wrong. If this is the case then you will need help from someone knowledgeable in the Terminfo facility.
If all is well, the top line of the ticheck screen tells you the terminal’s name and description. The rest of the screen is divided into four regions:
- the alternate character set region
- the character attribute region
- the tab stop and margin check region
- the function key checking region.
The following sections describe how each of these may be interpreted.
Checking the alternate character set
The alternate character set (ACS) comprises line drawing and other special characters (such as arrows and blocks). The ACS region of the ticheck screen is used to check the terminal’s support for ACS characters.
The left of this region shows the arrow and block characters. If your terminal supports special characters they will be drawn here. The characters in brackets are the Terminfo symbols used to identify the graphics characters.
In the middle of this region are the line-drawing characters. If the terminal is configured properly, a box with a cross in the middle is drawn. If your terminal does not support line-drawing characters, the box will be made up of – and | characters, with + characters in the corners.
On the right of this region are the Terminfo characters used to represent each of the line drawing characters.
Checking character attributes
Character attributes are used to enhance the visual effect of COSmanager screens. The character attribute region of the ticheck screen is used to check the terminal’s support for the four primary attributes used by COSmanager:
- bold (B)
- reverse (R)
- underline (U)
- blinking.
The character attribute region shows all combinations of character attributes except blinking as a table with two rows and four columns. Each table entry has three characters, each representing an on/off switch for an attribute. The first character is “U” for underline, the second is “R” for reverse video and the third is “B” for bold. As an example, the second column in the second row is U-B, indicating that both underline and bold are turned on but not reverse video.
Not all terminals can support all these attributes, and some cannot support all combinations. For example, some PC-based terminal emulators are unable to support the ‘underline’ attribute due to limitations of PC video interfaces. Often colors can be used to differentiate between attributes. See Terminfo Technical Details for more information on configuring Terminfo definitions.
Checking Tab-stops and margin settings
Tab stops are used by COSmanager to align text on the screen. If the tab stops are not correctly set, then COSmanager screens will not appear correct.
The lower line in the tab-stop region is a ruler with a tick at every tenth character. If tab-stops are set correctly, the line above the ruler should have a number above each ruler tick.
An “L” is drawn at the left end of the ruler and an “R” at the right end. Above the “R” there should be drawn two more. If this is not correctly displayed, then the “auto-margin” features of the Terminfo are incorrect. The “L” and “R” characters are all drawn in bold. If other characters in the tab-stop region are bold, then there is a problem with the Terminfo setup.
Checking function keys
COSmanager uses a terminal’s keypad and function keys to speed access to various facilities.
You use the function key region of the ticheck screen to check whether the Terminfo definition recognizes your terminal’s key definitions.
To test your keys, push each of the following and note the response from ticheck:
- function keys 1-8
- page up and page down
- home and end
- insert and delete
- clear line.
If any of these keys are not recognized, read the next section on configuring function keys.
How To Configure Function Keys
Typically, the only change required to the terminal definition is make it recognize thefunction key sequences sent by your terminal.
This is done by logging in to the COSmanager account and running the ticonfig command. ticonfig reads the current Terminfo definition, prompts you to press each function key and keypad key in turn, and then writes a new Terminfo definition modified to recognize the key sequences.
Note | |
When configuring Terminfo support for COSmanager use the COSmanager user account. |
Before running ticonfig you should make sure that your terminal is sending the default terminal sequences for your terminal type. One way to check this is to use the cat -v command to display each function key in turn. For example, if you run cat -v and press F1 through F4, then ^D (ctrl-d) to exit cat, you will see something like the following:
$ cat -v ^[OP ^[OQ ^[OR ^[OS ^D $
If you are not sure, then it may be possible to reset or reprogram the terminal’s function key sequences. You will need to refer to the terminal manufacturer’s manual for more information.
When you run ticonfig, you should see a screen similar to the following:
Terminfo generator Hit "q" at any time to quit You are modifying the terminfo description for terminal type "xterm". If this is not the case, please enter its name:
ticonfig uses the current value of the TERM variable for the name of the terminal type you are creating. If you do not like this choice, then enter another name. In the following examples we will use the name myterm. ticonfig uses this name, with an extension of .ti, to create a Terminfo definition file in the current directory – e.g. myterm.ti.
If this file already exists, ticonfig issues a warning and allows you to give another name for this definition. If the file does not exist, ticonfig prompts for the name of an existing Terminfo definition. This is used to provide the basic Terminfo functions. ticonfig displays the current terminal description and allows you to change it.
File myterm.ti doesn't exist. It should be created by copying another terminal's definition. Enter the terminal type to use (default xterm): The terminal description is currently: xterm terminal emulator Do you want to change this description? (y/n) y Enter the new description
Once you have done this you can go on to press each function key in response to the prompt from ticonfig. After you have hit the key, ticonfig will show the key sequence sent by your terminal.
Note | |
You must wait for ticonfig to prompt for each key before pressing it. |
This information is used to create the new Terminfo definition. You can abort this process at any stage by typing q.
In response to the following questions, hit RETURN if you don't have that key, or to take the default value. If you make a mistake, please quit (q) and start again. Please hit the F1 key: \E[11~ Please hit the F2 key: \E[12~ Please hit the F3 key: \E[13~ Please hit the F4 key: \E[14~ Please hit the F5 key: \E[15~ Please hit the F6 key: \E[17~ Please hit the F7 key: \E[18~ Please hit the F8 key: \E[19~ Please hit the F9 key: \E[20~ Please hit the F10 key: \E[21~ Do you have standard function key labels (i.e. F1, F2 etc.)? Yes Please hit the UP ARROW key: \E[A Please hit the DOWN ARROW key: \E[B Please hit the LEFT ARROW key: \E[D Please hit the RIGHT ARROW key: \E[C Please hit the NEXT PAGE/SCROLL DOWN key: \E[6~ Please hit the PREVIOUS PAGE/SCROLL UP key: \E[5~ Please hit the HOME key: \E[^@ Please hit the BACKSPACE key: \b Please hit the BACK/REVERSE TAB key: <none> Please hit the INSERT key: \E[2~ Please hit the DELETE CHARACTER key: ^? Please hit the CLEAR TO END OF LINE key: <none> Please hit the END key: \E[^@ Please hit the ENTER key: <none> Terminfo generation complete.
Caution! | |
You may affect other users if your TERMINFO environment variable is not set or is set to a public directory. |
The Terminfo definition file has now been created. Before you can use this new definition it must be compiled. ticonfig will ask if you wish to compile the definition. We suggest that you let ticonfig do this.
Do you want to compile the terminfo entry now? (y/n) y You can test the terminal using "ticheck". Make sure you set your TERM variable to "myterm" first.
Once the definition is compiled you can check the definition using ticheck.
Terminfo Technical Details
All COSmanager screen handling is performed through a set of user interface tools called The Functional Toolset. This chapter will help you to write Terminfo definitions for use with COSmanager applications. It presumes that you are reasonably familiar with the UNIX Terminfo and Curses facilities.
Although each tool in The Functional Toolset is a separate program, all the tools present a consistent ‘look and feel’. All interface tools use the UNIX Curses facility to perform screen management on character terminals and terminal emulators, resulting in optimized screen updates. Curses uses the UNIX Terminfo database to look up the capabilities of the user’s terminal.
The following Terminfo facilities are used by The Functional Toolset:
- alternate character sets
- character attributes
- function key definitions
- keypad support.
If you are about to modify an existing Terminfo definition, you should read How to Check a Terminfo Definition on page 130. This describes how to use the ticheck command to verify that an existing terminal definition correctly handles the above facilities.
If you are writing a new definition, or if your existing definition does not work, you should first refer to a good Curses or Terminfo reference to set up the basic definition. In particular, you will need to ensure that the cursor motion sequences are correctly specified. Once this is done, you can proceed to add support for the additional facilities used by The Functional Toolset.
Alternate character set
The alternate character set is supported via several Terminfo variables, shown in the following table. Note that enacs is not needed on all terminals, though it usually is on DEC VT compatible terminals.
Note also that many definitions, particularly for the VT series, fail to include the rmacs character in the sgr0 definition. If the terminal is left in alternate character set mode when you exit from a COSmanager application, this may be the problem
Capname | Description |
acsc | Graphic charset pairs |
smacs | Start alternate character set mode |
rmacs | End alternate character set mode |
enacs | Enable alternate character set |
sgr | Set graphics rendition. Attribute #9 is the alternate character set attribute. |
sgr0 | Turn off all attributes |
Character attributes
The bold, reverse, blink, and underline character attributes are specified through the following Terminfo variables:
Capname | Description |
smso | Start standout mode |
rmso | End standout mode |
smul | Start underline mode |
rmul | End underline mode |
bold | Start bold mode |
blink | Start blinking mode |
rev | Start reverse video mode |
sgr | Set graphics rendition (set video attributes) |
sgr0 | Turn off all attributes |
Terminals With Fewer Than Eight Function Keys
The Functional Toolset presumes the availability of eight function keys numbered from 1 to 8. This is not the case for many older terminals, in particular DEC (Digital Equipment Corporation) terminals and compatibles. These notes are provided to help you configure Terminfo definitions to support COSmanager on terminals with few or no function keys.
VT100-compatible terminals
The VT100 only supports 4 function keys, labelled PF1 to PF4. Typically, VT100 or compatible terminals provide additional keys (which may be programmable). If available, these should be used.
If you have a genuine VT100, it is possible to simulate additional keys by using PF1 followed by the keys 1 through 8. For example, f1 would be PF1 1, f2 would be PF1 2, and so on through to f8 (which would be PF1 8).
There is a potential problem with this scheme. On some UNIX versions you must press the numeric key within one second, or the curses(3) library will interprets the PF1 separately and return an invalid character to the program. You can overcome this by setting the NOTIMEOUT variable. Refer to Intermittent function keys for more information.
The following is a fragment from a VT100 Terminfo definition that implements such a function key scheme.
kf1=\EOP1, lf1=PF1 1, kf2=\EOP1, lf2=PF1 2, kf3=\EOP3, lf3=PF1 3, kf4=\EOP4, lf4=PF1 4, kf5=\EOP5, lf5=PF1 5, kf6=\EOP6, lf6=PF1 6, kf7=\EOP7, lf7=PF1 7, kf8=\EOP8, lf8=PF1 8,
The lf1 through to lf8 definitions specify the labels for each function key. These are used by the confirm program when showing function key templates. If these are omitted from the Terminfo definition they will default to f1 through f8.
VT200-Compatible Terminals
The VT200 function key scheme is less than ideal for COSmanager.
PF1 to PF4 still exist (perhaps to maintain upward compatibility with the VT100 series), but the VT200 series also have keys F1 to F20. Unfortunately, F1 to F5 are reserved and not programmable (for example, F3 is the setup key for the terminal) and so can’t be used for COSmanager.
One scheme that may be used to overcome this is to use PF1 through PF4 for f1 through f4, and then use the four function keys above the PF keys (f17 through f20) for f5 through f8.
The following is a fragment from a VT200 Terminfo definition that implements such a function key scheme.
kf1=\EOP, lf1=PF1, kf2=\EOQ, lf2=PF2, kf3=\EOR, lf3=PF2, kf4=\EOS, lf4=PF2, kf5=\E[31~, lf5=f17, kf6=\E[32~, lf6=f18, kf7=\E[33~, lf7=f19, kf8=\E[34~, lf8=f20,
Generic Function Key Definitions
It is possible to construct a Terminfo definition that uses a generic key sequence to specify function keys.
The COSmanager framework includes such a definition for an ANSI 3.64-compatible terminal (FSansi.ti). This Terminfo definition should be used as an example if you need to support a terminal that does not have function keys.
The f1 through f8 keys are represented by ESC 1 through ESC 8, and the page forward/page backward keys are represented by ctrl-f and ctrl-b respectively.
FSansi|simplistic ansi with 8 Fkeys, am, xon, cols#80, lines#24, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=\r, cub1=\b, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=\t, hts=\EH, ich1=\E[@, il1=\E[L, ind=\n, kbs=\b, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t 1;%;m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m, kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8, knp=^f, kpp=^b,
Keypad Keys
The Functional Toolset can use several of the keys available on the keypads of modern terminals, as shown in the following table.
Note | |
Not all the keypad definitions are required—some only give more convenient access to facilities provided by existing function keys.
Those are marked with † are optional. |
Capname | Description |
smkx | put the terminal in keypad transmit mode |
rmkx | exit from keypad transmit mode |
kcub1 | cursor left (left arrow) |
kcud1 | cursor down (down arrow) |
kcuf1 | cursor forward (right arrow) |
kcuu1 | cursor up (up arrow) |
kbs | backspace key† |
khome | home key† |
knp | next page (page down) |
kpp | previous page (page up) |
kent | enter key† |
kcbt | back tab key† |
kcan | cancel key† |
khlp | help key† |
kich1 | insert character† |
kdch1 | delete character† |
kel | clear (to end of) line† |
krfr | refresh key† |
The smkx/rmkx will only be required if a terminal has separate keypad and application modes, such as DEC terminals
Troubleshooting
Data loss
Sometime you may notice menu headings overwriting previous ones, menu options or prompt fields not aligning, or menu hierarchy diagrams appearing to lose characters.
If this happens randomly, your terminal flow control may not be set up correctly.
However, if it happens consistently, it may be that the terminal is not handling TAB characters correctly. This is often the case when using DEC terminals. To test this out, try disabling tabs using the following UNIX command:
Slow scrolling
Sometimes, especially when scrolling left or right in scroll, you may notice that the time to redraw the screen is longer than would be expected, given the line speed between your terminal and the host computer. If this occurs, it may be because your terminal is relatively slow at processing parameterized commands.
A typical example is the ‘delete character’ sequences. The dch variable specifies the escape sequence to delete multiple characters. The dch1 variable deletes a single character. On some terminals such as the Liberty ‘Freedom 1’, it is much quicker for the terminal to process a series of dch1 sequences than the equivalent single dch sequence with many parameters.
To test this, comment out the parameterized variable, after making sure the equivalent single variable is defined correctly. Then go into COSmanager and display a table, then shift right and left several times.
These considerations may also apply to the equivalent ‘insert character’ sequences, ich and ich1.
Intermittent function keys
If your function keys only work intermittently, and your terminal is connected to the computer through a network, it is possible that the network could introduce delays. This is particularly noticeable if you are connecting through more than one network through a gateway.
The problem may be that the network is breaking the function key sequence into multiple packets, and Curses tries to recognize the individual parts as function key sequences.
For example, you are connected from a PC on a Novell network, through a gateway into a UNIX host. You press F1. The code sent would be:
Note | |
this does not occur on all versions of UNIX |
When the start of a function key sequence is recognized, Curses sets a one second timer and tries to read the next character (the timer is reset after each character is read). When the characters read match a key sequence, Curses informs The Functional Toolset the name of the function key that was pressed. If the timer expires before a complete key sequence is matched, Curses assumes that an invalid key sequence was pressed.
In our example, if the network splits the key sequence across two packets, and there is a delay between the packets, then Curses will see two sequences, neither of which matches a known function key.
Caution! | |
If NOTIMEOUT is set and the user presses the ESC key, COSmanager will wait indefinitely until another character is pressed. |
To overcome this you can set the NOTIMEOUT environment variable to ‘true’. This tells The Functional Toolset not to time out after one second if it gets an incomplete key sequence. This forces Curses to wait for more characters until it either can match a sequence or fails to match any.
You can set NOTIMEOUT in a number of locations:
- in the system-wide profile (/etc/profile or /etc/login)
- in the affected user’s individual profile (.profile or .login)
- in the COSmanager global parameters (see page 89)
‘Magic cookie glitch”
COSmanager applications will not run optimally on terminals with the “magic cookie glitch.” These terminals leave extra blank characters on the screen before and after video attribute changes such as reverse video or underlining). Examples of these types of screens are Wyse 50 and older Televideo.
Incorrect vendor-supplied Terminfo definitions
COSmanager requires at least eight function keys to run correctly, and uses many extended Terminfo facilities. We have found that some Terminfo definitions distributed with UNIX systems to be inadequate. Therefore, several common Terminfo entries have been supplied. These can be found in the $FShome/lib/terminfo directory. By default, the environment setup command for the COSmanager account ($FShome/.profile) refers to these Terminfo entries.
Appendix C — COSmanager GUI Server for Windows
The COSmanager GUI Server for Windows provides a Graphical User Interface to COSmanager Software running on a remote host from a PC or workstation running Microsoft Windows variants.
Installing the COSmanager GUI Server for Windows
This topic explains how to install and uninstall the COSmanager GUI Server for Windows.
Caution! | |
If a version of the COSmanager GUI Server is currently installed, it must be uninstalled before installing or re-installing another version. |
Once the COSmanager GUI Server software has been installed you can run it. For instructions on how to run the COSmanager GUI Server, see Running the COSmanager GUI Server for Windows.
Note | |
Before you can use the COSmanager GUI Server you must run the setup program on disk 1.
You can not just copy the files onto your hard disk. |
The system requirements of COSmanger GUI Sever are extremely low. If your machine starts up, it will run the server.
The installation procedure is as follows:
- Start Windows.
- Select Settings > Control Panel from the Start button.
- Download the PCgui Software for Windows from http://downloads.fs.com.au. Please be aware that this requires a support contract to be in place with Functional Software.
- Browse on your PC to the folder you downloaded the software to.
- Double-click on the file to start the installation.
- The welcome screen is displayed. If at any time you wish to exit from the installation, press the Cancel button. Press Next to continue.
- Enter your user name and company name. This information is used for display purposes. Press Next to continue.
- Choose the destination directory. To change the default directory, press the Browse button and select a new directory. Press Next to continue.
- Setup asks where you want the menu entries to be placed in the Program Menu hierarchy. Press Next to continue.
- Setup displays the details you have entered so far. To change any of the details press Back, otherwise press Next to continue.
Setup unpacks the necessary files and places them in the destination directory.
You may be prompted to insert other disks as necessary. When Setup has completed, press Finish to exit the installation procedure.
Uninstalling
- Start Windows.
- Select Settings > Control Panel from the Start button. The control panel program group should now be displayed.
- Select the “Add/Remove Programs” icon and if necessary click on the Install/Uninstall tab to display this dialog:
- Select the “COSmanager GUI Server” entry from the “Add/Remove” list and press the Add/Remove button.
- Press Yes to confirm that you want to remove the COSmanager GUI Server from your system.
Uninstall removes:
- all files in and under the COSmanager GUI Server home directory
- entries in the Windows Registry
- menu entries in the program menu hierarchy
When Uninstall has completed, press OK to exit the uninstall procedure.
Configuring the COSmanager GUI Server for Windows
To start the COSmanager GUI Server, double-click on the COSmanager icon.
From this window you can:
- exit from the COSmanager GUI Server
- configure the standard or advanced settings
- establish a connection to run COSmanager on the remote host
To Configure the Standard Settings
- Press the Settings button.
- Enter or set the following fields:
- Local Computer The name of the local Windows PC on which the COSmanager application will be displayed.
- IP Address
- The IP address of the local Windows PC.
- COSmanager Host
- The name of the remote UNIX host on which the COSmanager application will run.
- Connect on startup
- Select this check box to display the Connection Details dialog when the COSmanager icon is launched. The default settings for user name and COSmanager host will be used.
- Change COSmanager host
- Select this check box to show the COSmanager Host field in the Connection Details dialog. This means that the user can change the host name and try to connect to a different host from the default. If the check box is not selected, the user can only connect to the default host.
Press Accept to save the new settings.
To Configure the Advanced Settings
- Press the Advanced button.
- The Port number is determined automatically.
- The Default command is the command used to start COSmanager on the remote host. It can’t be edited, but you can override it by entering a Custom command.
- Enter or set the following fields:
- Custom Command
- Enter a command here to override the Default command.
- Example: if ksh and the ~COSmanager construct are not available on your UNIX hosts, you will need to use a different shell and obtain the COSmanager home directory by another means, such as:
`grep COSmanager /etc/passwd | cut -d: -f6`/bin/cos
- Appended Arguments
- Optional arguments passed to the cos command on the remote host.
- Default User
- The default user name in the Connection Details dialog box. If this is not set the Windows login name will be used.
- Debug log
- Select this check box to open a Tk console. You can use this to show debugging information.
Press Accept to save the new settings.
Running the COSmanager GUI Server for Windows
Note | |
If you are running the COSmanager GUI Server for the first time, before you can establish a connection you need to specify the COSmanager Host in the Standard Settings dialog. See Configuring the COSMOS GUI Server for Windows. |
To run COSmanager
- To start the COSmanager GUI Server, double-click on the COSmanager icon.
- Press the Connect button.
- Fill in your user name and password on the remote host and press Accept. This will start COSmanager on the remote machine talking to the locally running COSmanager GUI Server, and display the COSmanager button bar on your Windows desktop.
Note | |
The Shell escape option is not available from the COSmanager GUI Server for Windows. |
To exit COSmanager
- To exit the COSmanager button bar on the remote host, click on the COSmanager button and select Exit. This will leave the COSmanager GUI Server running on the local PC.
To exit the COSmanager button bar on the remote host and exit the COSmanager GUI Server on the local PC, click on the COSmanager button and select Exit All. Alternatively, you can press Exit on the GUI Server main window.
Technical Notes
This topic contains technical details as to the operation of the COSmanager GUI Server for Windows.
The basic function of the COSmanager GUI Server is to load the cos.exe process, establish a socket connection, and start COSmanager running on the remote host.
Running the COSmanager GUI Server
The COSmanager GUI Server is invoked by running the cos.exe executable. When you run COSmanager through the COSmanager GUI Server for Windows the following steps are performed:
- Establish the location of the COSmanager GUI Server software.
- If the GUI_HOME variable is set, COSmanager looks in the directory it points to. If it contains bin/cos.exe, GUI_HOME is left unchanged.
- If GUI_HOME is not set, COSmanager looks in the current working directory. If it contains bin/cos.exe, GUI_HOME is set to the current directory.
- If GUI_HOME can’t be determined, COSmanager will exit.
- Set environment variables:
- TCL_LIBRARY=$GUI_HOME\lib\tcl7.6
- TK_LIBRARY=$GUI_HOME\lib\tk4.2
- ICON_DIR=$GUI_HOME\icons
- Change directory to $GUI_HOME\server.
- Look up Company Name in the Windows Registry under the following key:
- Windows NT/95 HKEY_LOCAL_MACHINE\SOFTWARE\Functional Software\COSmanager GUI Server\3.2.2
- Initialize Winsock.
- Determine default values and set environment variables.
- Perform the standard wish (Tk windowing shell) initialization.
- Source the startup.tcl script, which is responsible for:
- initializing defaults. This includes reading COSmanager.ini.
- initializing the server, including establishing a socket connection.
- The GUI_PORT variable contains the port number used for the socket connection.
- If GUI_PORT is not set, the value in COSmanager.ini is used.
- If GUI_PORT is not set in COSmanager.ini, the port number is automatically generated.
- displaying the main window or Connection Details form.
Note | |
On connection, the remote command is called with $Arguments. |
Example: if the command is: cos sentinel -v 1.0 $Arguments=sentinel -v 1.0
Variable | Description | Obtained From |
Hostname | Local host | gethostname (system call) |
IP Address | IP Address | gethostbyname (system call) |
Username | Current user’s name | GetUserName (system call) |
Company | Company name | Registry lookup—see step 3 |
Arguments | Optional arguments to cos.exe | Any arguments following the cos command. |
Remote Connection
Remote connection involves running a command on the remote host to start the remote COSmanager software talking to the local COSmanager GUI Server. A command has been linked into FSwish to achieve this. The command rexec passes the remote command to be run to the rexecd (rexec daemon) on the remote host.
The syntax for the rexec command is:
rexec <host> <user> <password> <command>
rexec does not wait for the remote command to complete and does not know of the success or failure of this command.
When the remote command is run and after validating the user, rexec changes to the user’s home directory and establishes the user and group permissions. The command is then passed to the normal login shell of the user.
Note | |
There is also a remote command that has been linked into FSwish which does wait for the results of the command.
For more details see the section on debugging. |
The command that is run remotely is responsible for starting the COSmanager software on the remote host and getting it to connect to the Windows socket. This is achieved by the setting of three environment variables: GUI_HOST, GUI_PORT, and DISPLAY.
The default command that is run is as follows:
/bin/ksh -c “DISPLAY=<ipaddress> GUI_HOST=<ipaddress> GUI_PORT=<GUI_PORT> GUI_OS=<GUI_OS> ~COSmanager/bin/cos $Arguments”
The default command can be overridden by setting the Custom command in the Advanced Settings prompt form. If this command has been set, rexec is called with the following:
DISPLAY=<host> GUI_HOST=<host> GUI_PORT=<GUI_PORT> GUI_OS=<GUI_OS> $Command $Arguments
Debugging
To enable debugging, turn on the Debug check box in the Advanced Settings dialog. This will display the Tk Console.
The Tk Console displays debug messages and also allows you to interact with the COSmanager GUI Server, for example to display the contents of environment variables.
Figure 60 — Tk Console
Variables
The contents of variables can be displayed by doing a set:
% set <variable name>
Most of the variables used in the COSmanager GUI Server are stored in arrays.
You can display the elements of an array by typing:
% array names <array>
Common variables include:
- ini(Company)
- company name
- ini(Command)
- override command
- ini(GUI_PORT)
- setting of GUI_PORT in advanced settings
- ini(LocalHost)
- the name of the local (Windows) host
- ini(RemoteHost)
- the name of the remote COSmanager host
- ini(IPAddress)
- the IP Address of the local (Windows) host
An env array contains an element for each of the environment variables currently set.
Remote Command
The COSmanager GUI Server for Windows uses the rexec command to runremote commands. However rexec does not wait for the remote command to terminate, so there is no way of knowing if it was successful or of seeing any error messages. FSwish also has another command remote which does wait for the output of the remote command. This can be used for debugging purposes.
Note | |
As remote waits for the remote command to terminate, the GUI Server will ‘freeze’ until the remote command terminates. |
The syntax of the remote command is the same as for rexec:
remote <host> <user> <password> <command>
Directory Structure and Key Files
The COSmanager home directory ($GUI_HOME) contains:
- COSmanager.ini
- the initialization file for the COSmanager GUI Server
- errors.txt
- an alphabetical list of error messages (see also Troubleshooting)
- install.txt
- installation notes
- readme.txt
- overview notes
COSmanager/bin contains:
- cos.exe
- the COSmanager GUI Server executable
- .dll
- various DLLs
COSmanager/icons contains:
- .xbm, *.xpm
- icon files used in COSmanager Software
- .ico: COSmanager and ReadMe icons used by Windows
COSmanager/lib contains:
- tcl7.6
- the current TCL library
- tk4.2
- the current Tk library
COSmanager/server contains various TCL files:
- defaults
- application defaults for fonts, colours, etc.
- startup.tcl
- initial startup TCL script
- tclIndex
- TCL index for TCL files
- winmain.tcl
- WinMain TCL class
Troubleshooting
Connection failure
Reason: Although a socket was created, the rexec command was unable to connect to that socket.
Solution: No solution.
COSmanager host not defined!
Reason: The remote COSmanager host to connect to has not been defined.
Solution: Enter the name of the remote host in the COSmanager host field in the standard settings.
Couldn't find server directory
Reason: This error results from a failed attempt by cos.exe to change to the server directory.
Solution: Ensure that the server directory exists and is accessible and that the COSmanager GUI Server home directory is valid.
Couldn't initialize winsock
Reason: Before a socket connection can be made, the Windows socket API needs initializing. This error will occur if the initialization fails.
Solution: Check that the TCP/IP protocol is installed and configured correctly.
Couldn't set COSmanager GUI Server directory
Reason: On startup the COSmanager GUI Server looks up the Windows registry to determine its home directory. If this fails it will attempt to use the current working directory. This error message will be displayed if both these attempts to set the COSmanager GUI Server home directory fail.
Solutions:
- Ensure that the current working directory is correct.
- Set the GUI_HOME variable (in the autoexec.bat file) to point to the COSmanager GUI Server home directory, and restart Windows
Create socket failure
Reason: A failed attempt was made to create a socket for the rexec command.
Solution: Check that the TCP/IP protocol is installed and configured correctly.
Error reading socket
Reason: The rexec command was unable to read from the socket.
Solution: No solution.
Failed to open file: <file>
Reason: The specified file was unable to be opened for writing. Solution: Check that the file exists and is readable. The is most likely located in the server directory.
Failed to open <home directory>\COSmanager.ini
Reason: The COSmanager.ini file could not be found or read.
Solution: Check that the file exists and is accessible. If the file does not exist create an empty file of that name in the COSmanager GUI Server home directory.
Failed to read form: <form>
Reason: The specified form could not be opened.
Solution: Check that the form exists and is readable. The file should be located in the server directory.
Fatal Error in wish
Reason: Any number of run time errors will cause this message to be displayed.
Solution: Possible corruption of COSmanager GUI Server software or clash with other running software. Check for existence of other dll's of the same name as those found in the COSmanager GUI Server bin directory. Try re-installing the COSmanager GUI Server software.
GUIserver Error
Reason: The cos.exe failed to source the startup.tcl file in the server directory.
Solution: Check that the startup.tcl file exists and is accessible in the server directory.
[incr Tcl] Init Error
Reason: The COSmanager GUI Server failed to initialize itcl.
Solution: Fatal error, software has been corrupted. Re-install COSmanager GUI Server.
libfs Init Error
Reason: The COSmanager GUI Server failed to initialize libfs.
Solution: Fatal error, software has been corrupted. Re-install COSmanager GUI Server.
Local IP Address not defined!
Reason: The COSmanager GUI Server was unable to determine the IP Address for the local computer. Solution: Check that TCP/IP is correctly set up. Check that the IP Address is set for the local computer.
rexec: <message>
Reason: A call to rexec has returned a message. Message returned depends on rexecd on remote host.
Solution: Check documentation on remote host for more information.
Socket error: <message>
Reason: The COSmanager GUI Server was unable to create the socket used for communications with remote COSmanager product.
Solution: Check that the TCP/IP protocol is installed and configured correctly.
Tcl Init Error
Reason: The COSmanager GUI Server failed to initialize tcl.
Solution: Check that the tcl76.dll exists and is accessible in the COSmanager GUI Server bin directory.
Tk Init Error
Reason: The COSmanager GUI Server failed to initialize tk.
Solution: Check that the tk42.dll exists and is accessible in the COSmanager GUI Server bin directory.
Unknown host <host>
Reason: The host <host> is not known to the local computer.
Solution: Check the network configuration and ensure that the host is on the network and accessible.
Unknown service tcp
Reason: Failed attempt to retrieve service information for “exec” service and “TCP” protocol.
Solution: Check that exec service is available. Check that the TCP/IP protocol is installed and configured correctly.