Aixcmds 6
Aixcmds 6
SC23-4893-07
SC23-4893-07
Note Before using this information and the product it supports, read the information in Appendix C, Notices, on page 319.
Eighth Edition (April 2010) This edition applies to AIX 5L Version 5.3 and to all subsequent releases of this product until otherwise indicated in new editions. A readers comment form is provided at the back of this publication. If the form has been removed, address comments to Information Development, Department 04XA-905-6B013, 11501 Burnet Road, Austin, Texas 78758-3400. To send comments electronically, use this commercial Internet address: pserinfo@us.ibm.com. Any information that you supply may be used without incurring any obligation to you. Copyright International Business Machines Corporation 1997, 2010. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
About This Book . . . . . . . . . . . . . . . How to Use This Book . . . . . . . . . . . . . . ISO 9000 . . . . . . . . . . . . . . . . . . . 32-Bit and 64-Bit Support for the Single UNIX Specification Related Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii . vii . ix . x . x
Alphabetical Listing of Commands. . . . . . . . . . . . . . . . . . . . . . . . . . 1 vacation Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 val Command (SCCS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 varyoffvg Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 varyonvg Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 vc Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 vgrind Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 vi or vedit Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 view Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 vmh Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 vmo Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 vmstat Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 vpdadd Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 vpddel Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 vsdatalst Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 vsdchgserver Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 vsdelnode Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 vsdelvg Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 vsdnode Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 vsdsklst Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 vsdvg Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 vsdvgts Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 w Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 wait Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 wall Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 wallevent Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 watch Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 wc Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 what Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 whatis Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 whatnow Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 whereis Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 which Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 which_fileset Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 who Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 whoami Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 whodo Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 whois Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 whom Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 wlmassign command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 wlmcheck command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 wlmcntrl Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 wlmmon and wlmperf Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 109 wlmstat Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 wol command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 write Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 writesrv Daemon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Copyright IBM Corp. 1997, 2010
iii
wsm Command . . . . wsmaccess Command . wsmserver Command . wtmpfix Command . . wump Command . . . X Command . . . . . x_add_fs_fpe Command x_add_nfs_fpe Command x_rm_fpe Command . . xargs Command . . . xauth Command . . . xclock Command . . . xcmsdb Command . . xdm Command . . . . xfindproxy Command. . xfs Command . . . . xget Command . . . . xhost Command . . . xinit Command . . . . xkbcomp Command . . xkbevd Daemon . . . xkbprint Command . . xlock Command . . . xlsfonts Command . . xmbind Command . . . xmkmf Command . . . xmwlm Command . . . xmodem Command . . xmodmap Command . . xmpeek Command . . xmscheck Command . . xmtopas Command . . xntpd Daemon . . . . xntpdc Command . . . xpr Command . . . . xpreview Command . . xprofiler Command . . xrdb Command . . . . xsend Command . . . xset Command . . . . xsetroot Command . . xss Command . . . . xstr Command . . . . xterm Command . . . xwd Command . . . . xwud Command . . . yacc Command . . . . yes Command . . . . ypbind Daemon. . . . ypcat Command . . . ypinit Command . . . ypmatch Command . . yppasswd Command . . yppasswdd Daemon . . yppoll Command . . . yppush Command . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
124 125 126 128 129 130 142 143 144 145 148 151 153 154 168 169 171 173 174 176 177 179 180 182 183 184 185 186 188 190 192 193 194 197 204 206 209 211 214 215 218 219 220 222 246 247 249 251 252 253 254 256 257 258 260 261
iv
ypserv Daemon. . ypset Command . ypupdated Daemon ypwhich Command ypxfr Command . zcat Command . . zdump Command . zic Command . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Appendix A. Command Support for Files Larger than 2 Gigabytes . . . . . . . . . . . . 275 Commands That Do Not Support Files Larger Than 2 Gigabytes . . . . . . . . . . . . . . 275 Appendix B. Functional List of Commands Communications . . . . . . . . . . . Commands List: Message Handler. . . . . Files and Directories . . . . . . . . . . General Operations . . . . . . . . . . Commands List: Numerical Data . . . . . Commands List: Performance Tuning. . . . Programming Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 278 281 290 298 306 306 315
Contents
vi
Highlighting
The following highlighting conventions are used in this book:
Bold Identifies commands, subroutines, keywords, files, structures, directories, and other items whose names are predefined by the system. Also identifies graphical objects such as buttons, labels, and icons that the user selects. Identifies parameters whose actual names or values are to be supplied by the user. Identifies examples of specific data values, examples of text similar to what you might see displayed, examples of portions of program code similar to what you might write as a programmer, messages from the system, or information you should actually type.
Italics Monospace
Format
Each command may include any of the following sections:
Purpose Syntax Description Flags Parameters Subcommands Exit Status Security Examples Files Related Information A description of the major function of each command. A syntax statement showing command line options. A discussion of the command describing in detail its function and use. A list of command line flags and associated variables with an explanation of how the flags modify the action of the command. A list of command line parameters and their descriptions. A list of subcommands (for interactive commands) that explains their use. A description of the exit values the command returns. Specifies any permissions needed to run the command. Specific examples of how you can use the command. A list of files used by the command. A list of related commands in this book and related discussions in other books.
vii
To list the fileset that owns all file names that contain installp, enter:
lslpp -w "*installp*"
Once the process is running in the background, you can continue to work and enter other commands on your system. At times, you might want to run a command at a specified time or on a specific date. Using the cron daemon, you can schedule commands to run automatically. Or, using the at and batch commands, you can run commands at a later time or when the system load level permits.
viii
Entering Commands
You typically enter commands following the shell prompt on the command line. The shell prompt can vary. In the following examples, $ is the prompt. To display a list of the contents of your current directory, you would type ls and press the Enter key:
$ ls
When you enter a command and it is running, the operating system does not display the shell prompt. When the command completes its action, the system displays the prompt again. This indicates that you can enter another command. The general format for entering commands is:
Command Flag(s) Parameter
The flag alters the way a command works. Many commands have several flags. For example, if you type the -l (long) flag following the ls command, the system provides additional information about the contents of the current directory. The following example shows how to use the -l flag with the ls command:
$ ls -l
A parameter consists of a string of characters that follows a command or a flag. It specifies data, such as the name of a file or directory, or values. In the following example, the directory named /usr/bin is a parameter:
$ ls -l /usr/bin
When entering commands, it is important to remember the following: v Commands are usually entered in lowercase. v Flags are usually prefixed with a - (minus sign). v More than one command can be typed on the command line if the commands are separated by a ; (semicolon). v Long sequences of commands can be continued on the next line by using the \ (backslash). The backslash is placed at the end of the first line. The following example shows the placement of the backslash:
$ cat /usr/ust/mydir/mydata > \ /usr/usts/yourdir/yourdata
When certain commands are entered, the shell prompt changes. Because some commands are actually programs (such as the telnet command), the prompt changes when you are operating within the command. Any command that you issue within a program is known as a subcommand. When you exit the program, the prompt returns to your shell prompt. The operating system can operate with different shells (for example, Bourne, C, or Korn) and the commands that you enter are interpreted by the shell. Therefore, you must know what shell you are using so that you can enter the commands in the correct format.
Stopping Commands
If you enter a command and then decide to stop that command from running, you can halt the command from processing any further. To stop a command from processing, press the Interrupt key sequence (usually Ctrl-C or Alt-Pause). When the process is stopped, your shell prompt returns and you can then enter another command.
ISO 9000
ISO 9000 registered quality systems were used in the development and manufacturing of this product.
About This Book
ix
Related Information
The following books contain information about or related to commands: v AIX 5L Version 5.3 Commands Reference, Volume 1 v AIX 5L Version 5.3 Commands Reference, Volume 2 v AIX 5L Version 5.3 Commands Reference, Volume 3 v AIX 5L Version 5.3 Commands Reference, Volume 4 v AIX 5L Version 5.3 Commands Reference, Volume 5 v v v v v AIX 5L Version 5.3 Commands Reference, Volume 6 AIX 5L Version 5.3 Files Reference Printers and printing Installation and migration AIX 5L Version 5.3 AIX Installation in a Partitioned Environment
v AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide v Performance management v v v v v v v v v v v v AIX 5L Version 5.3 Performance Tools Guide and Reference Security Operating system and device management Networks and communication management AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions Volume 1 AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions Volume 2 AIX 5L Version 5.3 Technical Reference: Communications Volume 1 AIX 5L Version 5.3 Technical Reference: Communications Volume 2 AIX 5L Version 5.3 Technical Reference: Kernel and Subsystems Volume 1 AIX 5L Version 5.3 Technical Reference: Kernel and Subsystems Volume 2 AIX 5L Version 5.3 Web-based System Manager Administration Guide Performance Toolbox Version 2 and 3 for AIX: Guide and Reference
Syntax
vacation [ { -I | User } ] | [ { -f Number [ Unit ] | User } ]
Description
The vacation command returns a message to the sender of a mail message to notify the sender that the recipient is on vacation. The intended use is in a $HOME/.forward file that allows messages to come to you while also sending a message back to the sender. Note: Sendmail version 8.9.3 and subsequent releases have a security enhancement that will ignore the .forward file if either of the following conditions exist: v The .forward file has group or world writeable permissions v Any of .forward files parent directories have group or world writable permissions If you think that the vacation program is not working because the .forward file is being ignored, check the permissions. If you must have group or world writeable permissions on any of the parent directories of the .forward file, then set the DontBlameSendmail option in the sendmail configuration file with the appropriate values. The vacation command expects a $HOME/.vacation.msg file containing a message to be sent back to each sender. If this file does not exist, the vacation command looks for /usr/share/lib/vacation.def, a systemwide default vacation message file. It should be an entire message, including any desired headers, such as From or Subject. By default, this message is sent only once a week to each person who sends mail to you. Use the -f flag to change the frequency intervals at which the message is sent. The names of the people who send messages are kept in the files $HOME/.vacation.pag and $HOME/.vacation.dir. These files are created when the vacation command is initialized for your user ID using the -I (uppercase i) flag. If the -I flag is not specified, the vacation command reads the first line from the standard input for a From line to determine the sender. If no text is available from standard input, the command returns an error message. All properly formatted incoming mail should have a From line. No message is sent if the From header line indicates that the message is from Postmaster, MAILER-DAEMON, or if the initial From line includes the string-REQUEST@ or if a Precedence: bulk or Precedence: junk line is included in the header.
Flags
-I Initializes the $HOME/.vacation.pag and $HOME/.vacation.dir files. Execute the vacation command using this flag before you modify your $HOME/.forward file.
-fNumber [Unit ]
Specifies the frequency interval at which the vacation message is sent. The Number parameter is an integer value and the Unit parameter specifies a time unit. The Unit parameter can be one of the following: s m h d w Seconds Minutes Hours Days Weeks
Examples
1. Before you use the vacation command to return a message to the sender saying that you are on vacation, you must initialize the $HOME/.vacation.pag and $HOME/.vacation.dir files. To initialize these files, type: vacation -I 2. Modify the .forward file. For example, Mark types the following statement in the .forward file:
mark,|"/usr/bin/vacation mark"
The sender receives the message that is in the $HOME/.vacation.msg file, or if the file does not exist, the default message found in the /usr/share/lib/vacation.def file. If neither of these files exist, no automatic replies are sent to the sender of the mail message and no error message is generated. If either of these files exist, the sender receives one vacation message from mark per week, regardless of how many messages are sent to mark from the sender. 3. If the following entry is contained in your .forward file,
mark, |"/usr/bin/vacation -f10d mark"
The sender receives one vacation message from mark every ten days, regardless of how many messages are sent to mark from the sender. 4. To create a vacation message that is different from the default vacation message, create the file $HOME/.vacation.msg and add your message to this file. The following is an example of a vacation message:
From: mark@odin.valhalla (Mark Smith) Subject: I am on vacation. Delivered-By-The-Graces-Of: the Vacation program I am on vacation until October 1. If you have something urgent, please contact Jim Terry <terry@zeus.valhalla>. --mark
5. To cancel the vacation message, remove the .forward file, .vacation.dir file, .vacation.pag file, and .vacation.msg file from your $HOME (login) directory:
rm .forward .vacation.dir .vacation.pag .vacation.msg
Files
$HOME/.forward /usr/share/lib/vacation.def $HOME/.vacation.dir $HOME/.vacation.msg Contains the names of people who you want your mail to be forwarded to. Contains the systemwide default vacation message. Contains the names of people who have sent mail to you while the vacation command was being used. Contains your personalized vacation message.
$HOME/.vacation.pag /usr/bin/vacation
Contains the names of people who have sent mail to you while the vacation command was being used. Contains the vacation command.
Related Information
The mail command, sendmail command. The .forward file. Mail applications and Forwarding mail, Sending a vacation message notice in Networks and communication management. Directories in Operating system and device management.
Syntax
val [ -s ] [ -rSID ] [ -mName ] [ -yType ] File ...
Description
The val command reads the specified file to determine if it is a Source Code Control System (SCCS) file meeting the characteristics specified by the accompanying flags. If you specify a - (minus) for the File value, the val program reads standard input and interprets each line of standard input as val flags and the name of an SCCS file. An end-of-file character terminates input. The val command displays messages to standard output for each file processed.
Flags
Each flag or group of flags applies independently to each named file. The flags can appear in any order.
-mName -r SID -s -yType Compares the Name value with the SCCS 31 identification keyword in the specified file. For identification keyword information, see the get command. Specifies the SID of the file to be validated. The SID must be valid and unambiguous. Suppresses the error message normally written to standard output. Specifies a type to compare with the SCCS identification keyword in the specified file.
Exit Status
The val command returns 0 if successful for all files; otherwise, it returns an 8-bit code that is a disjunction of the possible errors. It is interpreted as a bit string in which set bits (from left to right) are interpreted as follows:
0x80 0x40 0x20 0x10 0x08 0x04 0x02 Missing file argument. Unknown or duplicate option. Corrupted SCCS file. Cannot open file or file not SCCS. SID is invalid or ambiguous. SID does not exist. , y mismatch.
Alphabetical Listing of Commands
0x01
31, m mismatch.
Note: The val command can process two or more files on a given command line and can process multiple command lines (when reading standard input). In these cases, an aggregate code is returned; a logical OR of the codes generated for each command line and file processes.
Example
To determine if file s.test.c is an SCCS text file, enter:
val -ytext s.test.c
Related Information
List of SCCS Commands in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs. The admin command, delta command, get command, prs command. The sccsfile file format. Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs.
Syntax
varyoffvg [ -s ] VolumeGroup
Description
The varyoffvg command deactivates the volume group specified by the VolumeGroup parameter along with its associated logical volumes. The logical volumes first must be closed. For example, if the logical volume contains a file system, it must be unmounted. To activate the volume group, use the varyonvg command. Note: To use this command, you must either have root user authority or be a member of the system group. You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit varyoffvg
Note: A volume group that has a paging space volume on it cannot be varied off while the paging space is active. Before deactivating a volume group with an active paging space volume, ensure that the paging space is not activated automatically at system initialization, and then reboot the system.
Flag
-s Puts the volume group into System Management mode, so that only logical volume commands can be used on the volume group. In this mode, no logical volume can be opened or accessed by users.
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Examples
1. To deactivate volume group vg03, enter:
varyoffvg vg03
2. To deactivate volume group vg02, but allow logical volume commands to continue to take effect, enter: varyoffvg -s vg02
Logical volumes within the volume group cannot be opened, but logical volume commands continue to take effect.
File
/usr/sbin/varyoffvg Contains the varyoffvg command.
Related Information
The exportvg command, mount command, umount command, varyonvg command. The System management interface tool in Operating system and device management explains the structure, main menus, and tasks that are done with SMIT. The Logical volumes in Operating system and device management explains the Logical Volume Manager, physical volumes, logical volumes, volume groups, organization, ensuring data integrity, and allocation characteristics.
Syntax
varyonvg [ -b ] [ -c ] [ -f ] [ -M LTGSize ] [ -n ] [ -p ] [ -r ] [ -s ] [ -t ] [ -u ] VolumeGroup
Description
The varyonvg command activates the volume group specified by the VolumeGroup parameter and all associated logical volumes. A volume group that is activated is available for use. When a volume group is activated, physical partitions are synchronized if they are not current. Physical volumes that are in the PVMISSING state and that have been replaced will be returned to the PVACTIVE state by the varyonvg command. Note: If a physical volume is part of a dump device, the varyonvg command cannot return it to the PVACTIVE state. To run the command effectively, temporarily change the dump device. A list of all physical volumes with their status is displayed to standard output whenever there is some discrepancy between the Device Configuration Database and the information stored in the Logical Volume
Alphabetical Listing of Commands
Manager. The volume group may or may not be varied on. You must carefully examine the list and take proper action depending on each reported status to preserve your system integrity. While varying on in concurrent mode, if the varyon process detects that there are logical volumes which are not previously known to the system, their definitions are imported. The permissions and ownership of the new device special files are duplicated to those of the volume group special file. If you have changed the permissions and/or ownership of the device special files of the logical volume on the node it was created, you will need to perform the same changes on this node. Note: Classic Concurrent mode is not supported in AIX 5.3. If the volume group cannot be varied on due to a loss of the majority of physical volumes, a list of all physical volumes with their status is displayed. To varyon the volume group in this situation, you will need to use the force option. The varyonvg will fail to varyon the volume group if a majority of the physical volumes are not accessible (no Quorum). This condition is true even if the quorum checking is disabled. Disabling the quorum checking will only ensure that the volume group stays varied on even in the case of loss of quorum. The volume group will not varyon if there are any physical volumes in PV_MISSING state and the quorum checking is disabled. This condition is true even if there are a quorum of disks available. To varyon on in this situation either use the force option or set an environment variable MISSINGPV_VARYON to TRUE (set this value in /etc/environment if the volume group needs to be varied with missing disks at the boot time). In the above cases (using force varyon option and using MISSINGPV_VARYON variable), you take full responsibility for the volume group integrity. Note: To use this command, you must either have root user authority or be a member of the system group. You can use the System Management Interface Tool (SMIT) to run this command. To use SMIT, enter:
smit varyonvg
Flags
-b Breaks disk reservations on disks locked as a result of a normal varyonvg command. Use this flag on a volume group that is already varied on. Notes: 1. This flag unlocks all disks in a given volume group. 2. The -b flag opens the disks in the volume group using SC_FORCED_OPEN flag. For SCSI and FC disks this forces open all luns on the target address that this disk resides on. Volume Groups should therefore not share target addresses when using this varyon option. 3. The -b flag can cause a system hang if used on a volume group that contains an active paging space. Varies the volume group on Enhanced Concurrent mode. This is only possible if the volume group is Concurrent Capable or Enhanced Concurrent Capable and the system has the HACMP product loaded and available. If neither is true, the volume group fails the varyon. Note: Enhanced Concurrent volume groups use Group Services. Group Services must be configured prior to activating a volume group in this mode. Allows a volume group to be made active that does not currently have a quorum of available disks. All disk that cannot be brought to an active state will be put in a removed state. At least one disk must be available for use in the volume group. The -f flag (used to override quorum loss) is ignored if the volume group has not lost quorum. If a disk is put into removed state, use the chpv -v a PVname command to bring the disk back to active state.
Commands Reference, Volume 6
-c
-f
-M LTGSize
-n -p -r
Statically sets the LTGSize of the volume group. Valid values for LTGSize include 4K, 8K, 16K, 32K, 64K, 128K, 1M, 2M, 4M, 8M, 16M, 32M, and 128M. If any disk in the volume group is not configured with a max transfer of LTGSize or greater, the varyonvg will fail. Disables the synchronization of the stale physical partitions within the VolumeGroup. All physical volumes must be available to use the varyonvg command. Varies on the volume group in read-only mode. This mode prevents: v Write operations to logical volumes v LVM meta-data updates v Stale partitions synchronization Note: Mounting a JFS filesystem on a read-only logical volume is not supported. Note: All LVM high-level commands that require the LVM meta-data update will fail the request in this mode. Makes the volume group available in System Management mode only. Logical volume commands can operate on the volume group, but no logical volumes can be opened for input or output. Note: Logical volume commands also cannot read or write to or from logical volumes in a volume group varied on with the -s flag. Logical volumes that attempt to write to a logical volume in a volume group varied on with the -s flag (such as chvg or mklvcopy) may display error messages indicating that they were unable to write to and/or read from the logical volume. Checks the timestamps in the Device Configuration Database and the Logical Volume Manager. If there is a discrepancy in the timestamps, the synclvodm command is issued to synchronize the database. Note: This check is always done if the Volume Group is varied on in concurrent mode. Varies on a volume group, but leaves the disks that make up the volume group in an unlocked state. Use this flag as part of the initial varyon of a dormant volume group. This flag only applies to AIX 4.2 or later.
-s
-t
-u
Attention: The base design of LVM assumes that only one initiator can access a volume group. The HACMP product does work with LVM in order to synchronize multi-node accesses of a shared volume group. However, multi-initiator nodes can easily access a volume group with the -b and -u flags without the use of HACMP. Your must be aware that volume group status information may be compromised or inexplicably altered as a result of disk protect (locking) being bypassed with these two flags. If you use the -b and -u flags, data and status output cannot be guaranteed to be consistent.
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Examples
1. To activate volume group vg03, enter:
varyonvg vg03
2. To activate volume group vg03 without synchronizing partitions that are not current, enter:
varyonvg -n vg03
Files
/usr/sbin /tmp Contains the varyonvg command directory. Stores the temporary files while the command is running.
Related Information
The chvg command, lspv command, lslv command, lsvg command, varyoffvg command. The System management interface tool in Operating system and device management explains the structure, main menus, and tasks that are done with SMIT. The Logical volumes in Operating system and device management explains the Logical Volume Manager, physical volumes, logical volumes, volume groups, organization, ensuring data integrity, and allocation characteristics.
vc Command Purpose
Substitutes assigned values for identification keywords.
Syntax
vc [ -a ] [ -t ] [ -s ] [ -cCharacter ] [ Keyword=Value ]...
Description
The vc command copies lines from standard input to standard output. The flags and keywords on the command line and control statements in the input modify the resulting output. The vc command replaces user-declared keywords with the value assigned on the command line. Keywords can be replaced both in text and in control statements.
Control Statements
A control statement is a single line beginning with a control character (the default control character is a : (colon)). Control statements provide conditional processing of the input. The allowable types of control statements are: :if Condition Text
:end Writes all the lines between the :if statement and the matching :end to standard output only if the condition is true. You can nest :if and :end statements. However, once a condition is false, all remaining nested :if and :end statements are ignored. See the Condition Syntax section for the syntax of conditions and allowable operators. Declares specified keywords. All keywords must be declared. Assigns the specified value to the specified keyword. An :asg statement takes precedence over keyword assignment on the vc command line. A later :asg statement overrides all earlier assignments of the associated keyword. The keywords that are declared but not assigned Values, have null values. Removes the two leading control characters, replaces keywords with their respective values, and then copies the line to standard output. Turns on or off keyword replacement on all lines. Changes the control character to the Character value. Writes a message to standard error output in the form: Message(n): message where n is number of the input line on which the message appeared. Writes an error message to standard error. The vc command stops processing and returns an exit value of 1. The error message is in the form: ERROR: message ERROR: err statement on line n (vc15)
Condition Syntax
The items and statements allowed are:
condition OR statement AND statement expression operator value ::=OR statement ::=NOR statement ::=AND statement ::=AND statement | OR statement ::=expression ::=expression & AND statement ::=( OR statement ) ::=value operator value ::= = or != or < or > ::= ASCII string ::= numeric string
The > and < (greater-than and less-than) operate only on unsigned integer values; for example, 012 > 12 is false. All other operators take strings as modifiers; for example, 012 ! = 12 is true. The precedence of the operators, from highest to lowest precedence, is as follows: v = ! = > < (all of equal precedence) v & v &| Parentheses can be used to alter the order of precedence. Values must be separated from operators or parentheses by at least one blank or tab.
Keyword Replacement
A keyword must begin and end with the same control character used in control statements. A keyword may be up to nine alphanumeric characters, where the first character must be alphabetic. Keyword values can be any ASCII string. A numeric keyword Value is an unsigned string of digits. Values cannot contain tabs or spaces.
Flags
-a -cCharacter -s -t Replaces keywords surrounded by control characters with their assigned value in all text lines (not just those beginning with two control characters). Uses the Character value as the control character. The Character parameter must specify an ASCII character. Does not display the warning messages normally displayed to standard error. Ignores all characters from the beginning of a line up to and including the first tab character for detecting a control statement. If the vc command finds a control character, it ignores all characters up to and including the tab.
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Examples
1. Examples of Keyword=Value assignments are:
numlines=4 prog=acctg pass4=yes
The vc command removes all control characters and keywords from input text lines marked with two control characters as it writes the text to standard output. 2. To prevent a control character from being interpreted, precede it with a backslash, as in the following example:
::the :prog: program includes several of the following\:
The :prog: keyword is replaced by its value, but the \: is passed to standard output as : (colon). Input lines beginning with a \ (backslash) followed by a control character are not control lines, and are copied to standard output without the backslash. However, the vc command writes lines beginning with a backslash and no following control character without any changes (including the initial backslash).
File
/usr/bin/vc Contains the vc command.
Related Information
The admin command, delta command, get command. List of SCCS Commands in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs. Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs.
Syntax
vgrind [ -f ] [ -n ] [ -t ] [ -x ] [ -PPrintdev ] [ -TName ] [ - ] [ -dFile ] [ -h Header ] [ -lLanguage ] [ -sSize ] [ File ... ]
Description
The vgrind command formats (grinds) the program sources specified by the File parameters in an easily readable style using the troff command. Comments are placed in italics, keywords in boldface, and the name of the current function is listed down the margin of each page as it is encountered.
10
The vgrind command runs in either filter mode or regular mode. In filter mode, the vgrind command acts as a filter in a manner similar to the tbl command. Standard input is passed directly to standard output except for lines bracketed by the following troff-like macros:
.vS .vE Starts processing. Ends processing.
The preceding lines are formatted according to the vgrind command conventions. The output from this filter can be passed to the troff command for output. There is no particular ordering with the eqn or tbl command. In regular mode, the vgrind command accepts input files, processes them, and passes them in order to the troff command, the appropriate postprocessor, and then the printer. In both modes, the vgrind command passes without converting lines, beginning with a decimal point. The vgrind command supports only ASCII keywords defined in either the standard /usr/share/lib/ vgrindefs language definitions file or any alternately specified file by the -d flag.
Flags
-f -n -t -x Forces filter mode. Forces no keyword bolding. Causes formatted text to go to standard output. Outputs the index file in an easily readable format. The index file itself is produced whenever the vgrind command is run with the index file in the current directory. The index of function definitions can then be run off by running the vgrind command with the -x flag and the File parameter. Sends the output to Printdev Printer using the qprt command. If this flag is not specified, the PRINTER environment variable is used. If the PRINTER environment variable is not set, the system default is used. Creates output for a troff device as specified by the Name parameter. The output is sent through the appropriate postprocessor. The default is the ibm3816 postprocessor. Forces input to be taken from standard input (default if the -f flag is specified). Specifies an alternate language definitions file (default is the /usr/share/lib/vgrindefs file). Specifies a particular header to put on every output page (default is the file name). Note: A blank space is required after the -h flag before the Header variable.
-PPrintDev
11
-lLanguage
Specifies the language to use. Currently known languages are: c csh p m sh r mod2 yacc isp I C (the default). Function names can be preceded on a line only by spaces, tabs, or an asterisk. The parenthetical options must also be on the same line. CSH. PASCAL. Function names must be displayed on the same line as the function or procedure keywords. MODEL. Function names must be displayed on the same line as the isbeginproc keyword phrase. SHELL. RATFOR. MODULA2. YACC. ISP. ICON.
-s Size Specifies a point size to use on output (exactly the same as a .ps request).
Files
index /usr/bin/vgrind /usr/share/lib/tmac/tmac.vgrind /usr/share/lib/vfontedpr /usr/share/lib/vgrindefs Contains created. Contains Contains Contains Contains the file the where source for the index is the the the the vgrind command. macro package. preprocessor. language descriptions.
Related Information
The qprt command, tbl command, troff command. The vgrindefs File Format.
Syntax
{ vi | vedit } [ -l ] [ -R ] [ -tTag ] [ -v ] [ -wNumber] [ -yNumber ] [ -r [ File ] ] [{ + | -c } { Subcommand } ] [ File ... ]
Description
The vi command starts a full-screen editor based on the underlying ex editor. Therefore, ex subcommands can be used within the vi editor. The vedit command starts a version of the vi editor intended for beginners. In the vedit editor, the report option is set to 1, the showmode option is set, and the novice option is set, making it a line editor. You start the vi editor by specifying the name of the file or files to be edited. If you supply more than one File parameter on the command line, the vi editor edits each file in the specified order. The vi editor on an
12
existing file displays the name of the file, the number of lines, and the number of characters at the bottom of the screen. In case of multibyte locales the number of characters need to be interpreted as the number of bytes. Since the vi editor is a full-screen editor, you can edit text on a screen-by-screen basis. The vi editor makes a copy of the file you are editing in an edit buffer, and the contents of the file are not changed until you save the changes. The position of the cursor on the display screen indicates its position within the file, and the subcommands affect the file at the cursor position.
vi Editor Limitations
The following list provides the maximum limits of the vi editor. These counts assume single-byte characters. v 256 characters per global command list v 2048 characters in a shell escape command v 128 characters in a string-valued option v 30 characters in a tag name v 128 map macros with 2048 characters total v 1,048,560 lines silently enforced v The macro name and the macro text are limited to 100 characters. Note: The vi editor supports a maximum of 2 GB edit buffer.
vi Editing Modes
The vi editor operates in the following modes:
command mode When you start the vi editor, it is in command mode. You can enter any subcommand except those designated for use only in the text input mode. The vi editor returns to command mode when subcommands and other modes end. Press the Esc key to cancel a subcommand. You use the vi editor in this mode to add text. Enter text input mode with any of the following subcommands: the a subcommand, A subcommand, i subcommand, I subcommand, o subcommand, O subcommand, cx subcommands (where the x represents the scope of the subcommand), C subcommand, s subcommand, S subcommand, and R subcommand. After entering one of these subcommands, you can enter text into the editing buffer. To return to command mode, press the Esc key for normal exit or press Interrupt (the Ctrl-C key sequence) to end abnormally. Subcommands with the prefix : (colon), / (slash), ? (question mark), ! (exclamation point), or !! (two exclamation points) read input on a line displayed at the bottom of the screen. When you enter the initial character, the vi editor places the cursor at the bottom of the screen, where you enter the remaining characters of the command. Press the Enter key to run the subcommand, or press Interrupt (the Ctrl-C key sequence) to cancel it. When the !! prefix is used, the cursor moves only after both exclamation points are entered. When you use the : prefix to enter the last-line mode, the vi editor gives special meaning to the following characters when they are used before commands that specify counts: % $ . All lines regardless of cursor position Last line Current line
text-input mode
last-line mode
Note: The history of last line mode subcommands can be navigated using the Up and Down Arrow keys.
13
autoprin (ap)
autowrite (aw)
backtags (bt)
closepunct (cp=)
exrc (exrc)
hardtabs (ht=)
14
lisp (lisp)
mesg (mesg)
modeline (modeline)
partialchar (pc=)
shell (sh=)
Description Sets the maximum number of lines, as per the -y command-line option. This option only is effective if used with the .exrc file or the EXINIT environment variable. Removes the special meaning of ( ), { }, [ [, and ] ] and enables the = (formatted print) operator for s-expressions, so you can edit list processing (LISP) programs. The default is nolisp. Displays text with tabs (^I) and the marked end of lines ($). The default is nolist. Treats the . (period), [ (left bracket), and * (asterisk) characters as special characters when searching for a pattern. In off mode, only the ( ) (parentheses) and $ (dollar sign) retain special meanings. However, you can evoke special meaning in other characters by preceding them with a \ (backslash). The default is magic. Turns on write permission to the terminal if set while in visual mode. This option only is effective if used with the .exrc file or the EXINIT environment variable. The default is on. Runs a vi editor command line if found in the first five or the last five lines of the file. A vi editor command line can be anywhere in a line. For the vi editor to recognize a command line, the line must contain a space or a tab followed by the ex: or vi: string. The command line is ended by a second : (colon). The vi editor tries to interpret any data between the first and second colon as vi editor commands. The default is nomodeline. Indicates whether you are in novice mode. You cannot change the value by using the set command. Displays lines prefixed with their line numbers. The default is nonu. Speeds the operation of terminals that lack cursor addressing. The default is noopt. Defines vi macro names that start paragraphs. The default is para=IPLPPPQPP\ LIpplpipnpbp. Single-letter nroff macros, such as the .P macro, must include the space as a quoted character if respecifying a paragraph. Appears in the last display column where a double-wide character would not be displayed completely. The default character is - (minus sign). Prompts for a new vi editor command when in command mode by printing a : (colon). The default is on. Sets permanent read-only mode. The default is noreadonly. Simulates a smart workstation on a dumb workstation. The default is nore. Allows defining macros in terms of other macros. The default is on. Sets the number of times you can repeat a command before a message is displayed. For subcommands that produce many messages, such as global subcommands, the messages are displayed when the command sequence completes. The default is report=5. Sets the number of lines to be scrolled when the user scrolls up or down. The default is 1/2 of the window size, rounded down. Defines vi macro names that start sections. The default is sect=NHSHHH\ HUuhsh+c. Single-letter nroff macros, such as the .P macro, must include the space as a quoted character if respecifying a paragraph. Defines the shell for the ! subcommand or the :! subcommand. The default is the login shell.
15
showmatch (sm)
term (term=)
window (wi=)
Description Sets the distance for the software tab stops used by the autoindent option, the shift commands ( > and < ), and the text input commands ( the Ctrl-D and Ctrl-T key sequences). This vi option only affects the indentation at the beginning of a line. The default is sw=8. Shows the ( (matching left parenthesis) or { (left bracket) as you type the ) (right parenthesis) or } (right bracket). The default is nosm. Displays a message to indicate when the vi editor is in input mode. The default is nosmd. Postpones updating the display screen during inserts. The default is noslow. Sets the distance between tab stops in a displayed file. The default is ts=8. Defines the search path for the database file of function names created using the ctags command. The default is tags=tags\ /usr/lib/tags. Sets the type of workstation you are using. The default is term=$TERM, where $TERM is the value of the TERM shell variable. Allows the vi editor to display the short form of messages. The default is noterse. Sets a time limit of two seconds on an entry of characters. This limit allows the characters in a macro to be entered and processed as separate characters when the timeout option is set. To resume use of the macro, set the notimeout option. The default is to. Indicates the tty type for the terminal being used. You cannot change this value from the vi editor. Displays a warning message before the ! subcommand executes a shell command if it is the first time you issued a shell command after changes were made in the editing buffer but not written to a file. The default is warn. Sets the number of lines displayed in one window of text. The default depends on the baud rate at which you are operating: 600 baud or less, 8 lines; 1200 baud, 16 lines; higher speeds, full screen minus 1 line. Sets the margin for automatic word wrapping from one line to the next. The default is wm=0. A value of 0 turns off word wrapping. Allows string searches to wrap from the end of the editing buffer to the beginning. The default is ws. Indicates the method used to wrap words at the end of a line. The default value is general. You can specify one of the following four values: general Allows wraps on word breaks as white space between two characters. This setting is the default. word rigid flexible Allows wraps on columns, but one character of punctuation can extend past the margin. Turns off the checks usually made before a write subcommand. The default is nowa. Allows wraps on words. Allows wraps on columns and before closing punctuation.
writeany (wa)
16
To see a list of the vi editor settings that have changed from the default settings, enter set and press the spacebar. Press the Enter key to return to the command mode. To see a complete list of the vi editor settings, enter set all. Press the Enter key to return to the command mode. To turn on a vi editor option, enter set Option. This command automatically returns you to the command mode. To turn on multiple vi editor options, enter set Option Option Option. This command turns on the three designated vi editor options and returns you to the command mode. To turn off a vi editor option, enter set noOption. This command automatically returns you to the command mode. To change the value of a vi editor option, enter set Option=Value. This command automatically returns you to the command mode. You can use the :set subcommand of the vi editor to set options for this editing session only, or to set options for this editing session and all future editing sessions. To set or change vi editor options for this editing session only, enter the :set subcommand from the command line. To set vi options for all editing sessions, put the :set subcommand in the EXINIT environment variable in the .profile file (read by the shell on login) or put the set subcommand into a .exrc file. The vi editor first looks for the EXINIT environment variable and runs its commands. If the EXINIT environment variable does not exist, the vi editor then looks for the $HOME/.exrc file and runs its commands. Last, and regardless of any previous results, the vi editor looks for the local .exrc file and runs its commands. Note: This process is true except with the tvi command (trusted vi). In this instance, the vi editor looks for and runs only the /etc/.exrc file. For information about changing an option by setting the EXINIT environment variable, see the description of environment variables in the environment file. The .exrc file can contain subcommands of the form set Option=Value; for example:
set cp=3 . . ;
To include a comment in the .exrc file, use a (double quotation mark) as the first character in the line. Defining Macros: If you use a subcommand or sequence of subcommands frequently, you can use the vi editor to define a macro that issues that subcommand or sequence. To define a macro, enter the sequence of subcommands into a buffer named with a letter of the alphabet. The lowercase letters a through z overlay the contents of the buffer, and the uppercase letters A through Z append text to the previous contents of the buffer, allowing you to build a macro piece by piece. For example, to define a buffer macro named c that searches for the word corner and makes the third line after the word corner the current line, enter the following command:
o /corner/+3
Then press the Esc key and enter the following command:
"c
17
To add text to the previous contents of the defined buffer, enter the o viSubcommand, press the Esc key, and enter CapitalLetter, where the CapitalLetter variable specifies an uppercase letter A through Z. For example, to build a buffer macro named T that searches for the word corner and allows you to add more commands, enter the following command:
o corner
Then press the Esc key and enter the following command:
"T
where T is the name of the buffer macro. You can repeat this process at any time to add more vi subcommands to the same buffer. For example, to add commands that move the cursor to the previous line and delete that line, enter the following command:
o -dd
where - (minus sign) means to move the cursor up one line, and dd means to delete the current line. Press the Esc key and enter the following command:
"Tdd
To start the macro, enter @Letter, where the Letter variable specifies the letter name of the buffer macro you want to use. To use the same macro again, enter @@ (two at symbols). For example, enter @T to start the T buffer macro and run the search, move cursor, and delete line commands. Enter @@T to start the T buffer macro again. The character set used by your system is defined by the collation table. This table affects the performance of vi macros. Mapping Keys: You can use the :map, :map!, and :ab subcommands to map a keystroke to a command or a sequence of commands. The :map subcommand is used in the command mode. The :map! and :ab subcommands are used in the text input mode. You can map keys for this editing session and all future editing sessions or only for the current editing session from either mode. To map keys for all future editing sessions, put the subcommand into a $HOME/.exrc file. Each time you start the vi editor, it reads this file. The mapping remains in effect for every editing session. To map keys for the current editing session only from the command mode, start the subcommand during the vi editor session. To map keys for the current editing session only from the text input mode, enter the subcommand on the command line during the vi editor session. The mapping remains in effect only for the current editing session. Attention: If you use an IBM 3161 ASCII display station, IBM 3163 ASCII display station, or IBM 3101 ASCII display station, the default key-mapping of the vi editor can cause you to lose data. To see the default mapping, issue a :map subcommand. Specific problems arise with the Esc-J or Shift-J key sequence. These key sequences delete all information from the current position of the cursor to the end of the file. To avoid problems, change this key sequence using a .exrc file.
18
The :map, :map!, and :ab subcommands are defined and used as follows:
:map Defines macros in the command mode. The :map subcommand allows you to run a specified command or sequence of commands by pressing a single key while in the vi editor. To map keys in the command mode, start the vi editor with an empty editing buffer and do not name a vi file using the vi command or type anything into the buffer after the vi editor starts. You can use the :map subcommand to do the following: v To map a character to a sequence of editing commands, enter: :map Letter viSubcommand v To unmap a character previously mapped in command mode, enter: :unmap Letter v To display a list of current mappings for the command mode, enter :map The following keys are not used by the vi editor, but are available for use with the :map subcommand in the command mode: v Letters g, K, q, V, and v v Control key sequences Ctrl-A, Ctrl-K, Ctrl-O, Ctrl-W, and Ctrl-X v Symbols _ (underscore), * (asterisk), \ (backslash), and = (equal sign) Although you can map a key that is already used by the vi editor, the keys usual function is not available as long as the map is in effect. Some terminals allow you to map command sequences to function keys. If you are in LISP mode, the = (equal sign) cannot be used because it is used by the vi editor. To map the letter v to the sequence of commands that would locate the next occurrence of the word map and change it to the word MAP, enter the following command: :map v /map<Ctrl-V><Enter>cwMAP<Ctrl-V><Esc><Ctrl-V><Enter> The previous example instructs the vi editor to locate the next occurrence of map (/map<Ctrl-V><Enter>), change map to MAP (cwMAP), end the change-word subcommand (<Ctrl-V><Esc>), and enter the command (<Ctrl-V><Enter>). Requirement: To prevent the vi editor from interpreting the Enter key, it must be preceded by the Ctrl-V key sequence when being mapped. This condition is also true of the Esc, Backspace, and Delete keys. To map the control characters Ctrl-A, Ctrl-K, and Ctrl-O, simultaneously press the Ctrl key and the letter. For example, to map the Ctrl-A key sequence to the sequence of commands that saves a file and edits the next one in a series, enter the following command: :map <Ctrl-A> :w<Ctrl-V><Enter>:n<Ctrl-V><Enter> To map the control characters Ctrl-T, Ctrl-W, and Ctrl-X, you must first escape them with the Ctrl-V key sequence.
19
To map the | (pipe symbol), you must first escape it with the two Ctrl-V key sequences, as illustrated by the following example that maps the character g to the sequence of commands that escapes to the shell, concatenates the file /etc/motd, and pipes the output to the wc command: :map g :!cat /etc/motd <Ctrl-V><Ctrl-V>| wc<Ctrl-V><Enter> If your terminal permits you to map function keys, you must reference them with the #number key sequence to designate the number of the function key that you want to map. In the following example, the F1 function key is mapped to the sequence of commands that deletes a word and moves the cursor three words down: :map #1 dwwww In order for function key mapping to work, the output of the function key for your terminal type must match the output defined in the terminfo file. These definitions are denoted by the kfnumber entries, where kf1 represents the F1 function key, kf2 represents the F2 function key, and so on. If the output that you get when you press the function key does not match this entry, you must use the terminals setup mode to correct the settings to match these terminal database entries before any mapping can occur. You can also map certain keyboard special keys, such as the Home, End, Page Up, and Page Down keys. For most terminals, these keys are already mapped in the vi editor. You can verify this mapping by using the :map subcommand. If these keys are not already mapped, you can use the :map subcommand as follows: :map :map :map :map <Ctrl-V><End> G <Ctrl-V><Home> 1G <Ctrl-V><PageUp> <Ctrl-F> <Ctrl-V><PageDown> <Ctrl-B>
To get a listing of all current maps in the command mode, enter the :map subcommand. The preceding examples are then displayed as follows: v v /map<Ctrl-M>cwMAP<Ctrl-[>Ctrl-M> <Ctrl-A> <Ctrl-A> :w<Ctrl-M>:n<Ctrl-M> g g :!cat /etc/motd | wc <Ctrl-M> Tip: The Ctrl-V and Enter key sequence is displayed as the Ctrl-M key sequence, and the Ctrl-V and Esc key sequence is displayed as the Ctrl-[ key sequence. Maps character strings to single keys while in text input mode. To map keys in the text input mode, start the vi editor with an empty editing buffer and do not name a vi file using the vi command or type anything into the buffer after the vi editor starts. You can use the :map! subcommand to do the following: v To map a letter to one or more vi strings in text input mode, enter: :map! Letter String v To unmap a letter previously mapped in text input mode, enter: :unmap! Letter v To display a list of existing strings that are mapped to specific keys in text input mode, enter: :map! Typing the mapped key while in text input mode produces the specified string. The Ctrl-V and Esc key sequence puts you into command mode, backs up to the beginning of the current word (bbw), and starts the cw (change-word) subcommand. For example: :map! % <Ctrl-V><Esc>bbwcw When typing text, if you realize that you have mistyped a word, you can change it by pressing the % (percent) key and retyping the word. You are automatically returned to insert mode. Important: Be careful when choosing keys to be used for the :map! subcommand. Once keys have been mapped, they can no longer be input as text without first issuing the :unmap! subcommand.
:map!
20
:ab
Maps a key or sequence of keys to a string of characters for use in the text input mode. The :ab subcommand is useful when inputting text that possesses several repetitive phrases, names, or titles. The following example replaces the word city with the phrase Austin, Texas 78759 whenever it is typed in text input mode and followed by a white space, period, or comma: :ab city Austin, Texas 78759 For example, if while inputting text, you type the following: My current residence is city. Pressing the Tab key expands the word city to read: My current residence is Austin, Texas 78759. The abbreviation is not expanded within a word. For example, if you type My current residence iscity, the word iscity is not expanded. If the :map! subcommand is used to map abbreviations for insert mode, then all occurrences of the abbreviations are expanded regardless of where it occurs. If you used the :map! subcommand for the preceding example (:map! city Austin, Texas 78759), then whenever you type the word city, regardless of what precedes or follows, the word will be expanded to Austin, Texas 78759. Therefore, the word iscity becomes isAustin, Texas 78759. Important: Be careful when choosing the keys that are used for the :ab subcommand. Once keys are defined, they can no longer be input as text without first issuing the :unab subcommand.
Setting Abbreviations: The set command has behavior similar to the map! command except that the set command substitutes the string for the abbreviation only when the abbreviation is a separate word. You can use the set command of the vi editor to: v List existing abbreviations v Remove an abbreviation v Set (define) an abbreviation Tip: Start the vi editor with an empty editing buffer. Do not name a vi file using the vi command or type anything into the buffer after the vi editor starts. Press the Esc key to be sure you are in the command mode.
To list abbreviations To remove abbreviations Enter the :ab command to list existing abbreviations. Press the Enter key to return to command mode. Enter the :anabAbbreviation command to remove an abbreviation, where the Abbreviation variable specifies the character string you do not want abbreviated any more.
21
Enter the :ab Abbreviation String command to set an abbreviation, where the Abbreviation variable specifies the character string being defined as an abbreviation and the String variable specifies the character string being abbreviated. The abbreviation can be substituted for the string only when the abbreviation is a separate word. For example, if you enter the :ab kn upper command and then type acknowledge while in the text input mode, the set abbreviation string is not started because the kn string in the word acknowledge is not a separate word. However, if you type the :ab kn upper command and then type make the kn line all kncase while in the text input mode, the result is make the upper line all uppercase.
Flags
-cSubcommand Carries out the ex editor subcommand before viewing with vi begins. The cursor moves to the line affected by the last subcommand to be carried out. When a null operand is entered, as in -c , the vi editor places the cursor on the first line of the file. The -c flag is incompatible with the + flag. Do not specify both flags at the same time. Enters the vi editor in LISP mode. In this mode, the vi editor creates indents appropriate for LISP code, and the (, ), {, }, [[, and ]] subcommands are modified to act appropriately for LISP. Recovers a file after a vi editor or system malfunction. If you do not specify the File variable, the vi editor displays a list of all saved files. Sets the readonly option to protect the file against overwriting. Edits the file containing the Tag variable and positions the vi editor at its definition. To use this flag, you must first create a database of function names and their locations using the ctags command. Enters the vi editor in the verbose mode. Sets the default window size to the value specified by the Number variable. This flag is useful when you use the vi editor over a low-speed line. Overrides the maximum line setting of 1,048,560 with any value greater than 1024. You should request twice the number of lines that you require because the vi editor uses the extra lines for buffer manipulation. Carries out the ex editor subcommand before editing begins. If you do not specify the Subcommand variable, the cursor is placed on the first line of the file. This + flag is incompatible with the -c flag. Do not specify both flags at the same time.
-l
-r[File] -R -tTag
-v -wNumber -yNumber
+[Subcommand]
22
vi Editor Subcommands
Use the subcommands to perform these kinds of actions: v Moving the cursor v Editing text v Manipulating files v Other actions
v Paging and scrolling v Searching for patterns v Marking a specific location in a file and returning Moving within a Line: Enter the following subcommands in command mode. You can cancel an incomplete command by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
Left Arrow or h or Ctrl-H Down Arrow or j or Ctrl-J or Ctrl-N Up Arrow or k or Ctrl-P Right Arrow or l Moves the cursor one character to the left. Moves the cursor down one line (it remains in the same column). Moves the cursor up one line (it remains in the same column). Moves the cursor one character to the right.
Moving within a Line by Character Position: Enter the following subcommands in command mode. You can cancel an incomplete command by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
^ 0 $ fx Fx Moves Moves Moves Moves Moves the the the the the cursor cursor cursor cursor cursor to to to to to the the the the the first nonblank character. beginning of the line. end of the line. next x character. last x character.
Alphabetical Listing of Commands
23
tx Tx ; , Number|
Moves the cursor to one column before the next x character. Moves the cursor to one column after the last x character. Repeats the last f, F, t, or T subcommand. Repeats the last f, F, t, or T subcommand in the opposite direction. Moves the cursor to the specified column.
Moving to Words: Enter the following subcommands in command mode. If you need information about the format of vi subcommands, vi General Subcommand Syntax.
w b e W B E Moves Moves Moves Moves Moves Moves the the the the the the cursor cursor cursor cursor cursor cursor to to to to to to the the the the the the next small word. previous small word. next end of a small word. next big word. previous big word. next end of a big word.
Moving by Line Position: Enter the following subcommands in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
H L M + Enter Moves Moves Moves Moves Moves Moves the the the the the the cursor cursor cursor cursor cursor cursor to to to to to to the the the the the the top line on the screen. last line on the screen. middle line on the screen. next line at its first nonblank character. previous line at its first nonblank character. next line at its first nonblank character.
Moving to Sentences, Paragraphs, or Sections: Enter the following subcommands in command mode. You can cancel an incomplete subcommand by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
( ) { } ]] [[ Places the cursor at the beginning of the previous sentence, or the previous s-expression if you are in LISP mode. Places the cursor at the beginning of the next sentence, or the next s-expression if you are in LISP mode. Places the cursor at the beginning of the previous paragraph, or at the next list if you are in LISP mode. Places the cursor at the beginning of the next paragraph, at the next section if you are in C mode, or at the next list if you are in LISP mode. Places the cursor at the next section, or function if you are in LISP mode. Places the cursor at the previous section, or function if you are in LISP mode.
Moving by Redrawing the Screen: Enter the following subcommands in command mode. You can cancel an incomplete subcommand by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
z zz. /Pattern/zRedraws the screen with the Redraws the screen with the Redraws the screen with the Redraws the screen with the parameter, at the bottom. current line at the top of the screen. current line at the bottom of the screen. current line at the center of the screen. line containing the character string, specified by the Pattern
Paging and Scrolling: Enter the following subcommands in command mode. You can cancel an incomplete subcommand by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
24
Scrolls up one-half screen. Scrolls down one-half screen. Scrolls forward one screen. Scrolls backward one screen. Scrolls the window down one line. Scrolls the window up one line. Pages up. Pages down.
Searching for Patterns: Enter the following subcommands in command mode. You can cancel an incomplete subcommand by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
[Number]G /Pattern ?Pattern n N /Pattern/+Number ?Pattern?-Number % Places the cursor at the line number specified by the Number parameter or at the last line if the Number parameter is not specified. Places the cursor at the next line containing the character string specified by the Pattern parameter. Places the cursor at the next previous line containing the character string specified by the Pattern parameter. Repeats the last search for the text specified by the Pattern parameter in the same direction. Repeats the last search for the text specified by the Pattern parameter in the opposite direction. Places the cursor the specified number of lines after the line matching the character string specified by the Pattern parameter. Places the cursor the specified number of lines before the line matching the character string specified by the Pattern parameter. Finds the parenthesis or brace that matches the one at current cursor position.
Editing Text
The subcommands for editing enable you to perform the following tasks: v Marking a specific location in a file and returning v v v v v Adding text to a file Changing text while in input mode Changing text from command mode Copying and moving text Restoring and repeating changes
Marking a Specific Location in a File and Returning: Enter the following subcommands in command mode. You can cancel an incomplete subcommand by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
mx `x x Moves the cursor to the previous location of the current line. Moves the cursor to the beginning of the line containing the previous location of the current line. Marks the current position with the letter specified by the x parameter. Moves the cursor to the mark specified by the x parameter. Moves the cursor to the beginning of the line containing the mark specified by the x parameter.
Adding Text to a File (Text Input Mode): Enter the following subcommands in command mode to change the vi editor into text input mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
aText Inserts text specified by the Text parameter after the cursor. End text input mode by pressing the Esc key.
Alphabetical Listing of Commands
25
Adds text specified by the Text parameter to the end of the line. End text input mode by pressing the Esc key. Inserts text specified by the Text parameter before the cursor. End text input mode by pressing the Esc key. Inserts text specified by the Text parameter before the first nonblank character in the line. End text input mode by pressing the Esc key. Adds an empty line below the current line. End text input mode by pressing the Esc key. Adds an empty line above the current line. End text input mode by pressing the Esc key.
Changing Text While in Input Mode: Use the following subcommands only while in text input mode. These commands have different meanings in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
Ctrl-D ^ Ctrl-D 0Ctrl-D Esc Ctrl-H Ctrl-Q Ctrl-V Ctrl-W \ Ctrl-? Goes back to previous autoindent stop. Ends autoindent for this line only. Moves cursor back to left margin. Ends insertion and returns to command state. Erases the last character. Enters any character if xon is disabled. Enters any character. Erases the last small word. Quotes the erase and kill characters. Interrupts and ends insert or the Ctrl-D key sequence.
Changing Text from Command Mode: Use the following subcommands in command mode. An incomplete subcommand can be canceled by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
C cc cw cwText D dd dw J rx RText s S u x X << <L >> >L ~ ! Changes the rest of the line (same as c$). Changes a line. Changes a word. Changes a word to the text specified by the Text parameter. Deletes the rest of the line (same as d$). Deletes a line. Deletes a word. Joins lines. Replaces the current character with the character specified by x. Overwrites characters with the text specified by the Text parameter. Substitutes characters (same as cl). Substitutes lines (same as cc). Undoes the previous change. Deletes a character at the cursor. Deletes a character before the cursor (same as dh). Shifts one line to the left. Shifts all lines from the cursor to the end of the screen to the left. Shifts one line to the right. Shifts all lines from the cursor to the end of the screen to the right. Changes letter at the cursor to the opposite case. Indents for LISP.
Copying and Moving Text: Use the following subcommands in command mode. An incomplete subcommand can be canceled by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
26
p P xp xd y xy Y
Puts back text from the undo buffer after the cursor. Puts back text from the undo buffer before the cursor. Puts back text from the x buffer. Deletes text into the x buffer. Places the object that follows (for example, w for word) into the undo buffer. Places the object that follows into the x buffer, where x is any letter. Places the line in the undo buffer.
Restoring and Repeating Changes: Use the following subcommands in command mode. An incomplete subcommand can be canceled by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
u Undoes the last change. Tip: After an undo, the cursor moves to the first non-blank character on the updated current line. Restores the current line if the cursor has not left the line since the last change. Repeats the last change or increments the np command. Notes: 1. This subcommand will repeat the last change, including an undo. Therefore, after an undo, repeat performs an undo rather than repeat the last change. n p 2. This subcommand is not meant for use with a macro. Enter @@ (two at signs) to repeat a macro. Retrieves the nth last delete of a complete line or block of lines.
U .
Manipulating Files
The subcommands for manipulating files allow you to do the tasks outlined in the following sections: v Saving changes to a file v Editing a second file v Editing a list of files v Finding file information Saving Changes to a File: Use the following subcommands in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
:w :w File :w! File Writes the edit buffer contents to the original file. If you are using this subcommand within the ex editor, you do not need to type the : (colon). Writes the edit buffer contents to the file specified by the File parameter. If you are using this subcommand within the ex editor, you do not need to type the : (colon). Overwrites the file specified by the File parameter with the edit buffer contents. If you are using this subcommand within the ex editor, you do not need to type the : (colon).
Editing a Second File: Enter the following subcommands in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
:e File :e! :e + File :e + Number File :e # Edits the specified file. If you are using this subcommand from the ex editor, you do not need to type the : (colon). Re-edits the current file and discards all changes. Edits the specified file starting at the end. Edits the specified file starting at the specified line number. Edits the alternate file. The alternate file is usually the previous file name before accessing another file with a :e command. However, if changes are pending on the current file when a new file is called, the new file becomes the alternate file. This subcommand is the same as the Ctrl-A subcommand.
27
Ctrl-]
Ctrl-A
Reads the file into the editing buffer by adding new lines below the current line. If you are using this subcommand from the ex editor, you do not need to type the : (colon). Runs the specified command and places its output into the file by adding new lines below the current cursor position. Edits a file containing the Tag tag starting at the location of the tag. To use this subcommand, you must first create a database of function names and their locations using the ctags command. If you are using this subcommand from the ex editor, you do not need to type the : (colon). Edits a file containing the tag associated with the current word starting at the location of the tag. To use this subcommand, you must first create a database of function names and their locations using the ctags command. Ctrl-T edits a file at the editing position where the previous Ctrl-] subcommand was issued. If multiple Ctrl-] subcommands have been issued, then multiple Ctrl-T subcommands can be used to return to previous editing positions where Ctrl-] subcommands were issued. Edits the alternate file. The alternate file is usually the previous current file name. However, if changes are pending on the current file when a new file is called, the new file becomes the alternate file. This subcommand is the same as the :e # subcommand.
Editing a List of Files: Enter the following subcommands in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
:n :n Files Edits the next file in the list entered on the command line. If you are using this subcommand from the ex editor, a : (colon) is not needed. Specifies a new list of files to edit. If you are using this subcommand from the ex editor, a : (colon) is not needed.
Finding File Information: Enter the following subcommand in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
Ctrl-G Shows the current file name, current line number, number of lines in the file, and percentage of the way through the file where the cursor is located.
Other Actions
The vi editor provides the subcommands described in the following sections: v Adjusting the screen v Entering shell commands v Interrupting and ending the vi editor Adjusting the Screen: Enter the following subcommands in command mode. An incomplete subcommand can be canceled by pressing the Esc key. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
Ctrl-L Ctrl-R zNumber Clears and redraws the screen. Redraws the screen and eliminates blank lines marked with @ (at sign). Makes the window the specified number of lines long.
Entering Shell Commands: The following subcommands allow you to run a command within the vi editor. Enter these subcommands in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
:sh Enters the shell to allow you to run more than one command. You can return to the vi editor by pressing the Ctrl-D key sequence. If you are using this subcommand within the ex editor, a : (colon) is not needed.
28
:!Command
Runs the specified command and then returns to the vi editor. If you are using this subcommand within the ex editor, a : (colon) is not needed. Tip: The # (alternate file), % (current file), and ! (previous command) special characters are expanded when following a :! subcommand. To prevent any of these characters from being expanded, use the \ (backslash). Repeats the last :!Command subcommand. Runs the specified command and replaces the lines specified by Number with the output of the command. If a number is not specified, the default value is 1. If the command expects standard input, the specified lines are used as input. Runs the specified command and replaces the object specified by the Object parameter with the output of the command. If the command expects standard input, the specified object is used as input.
:!! Number!!Command
!Object Command
Interrupting and Ending the vi Editor: Enter the following subcommands in command mode. If you need information about the format of vi subcommands, see vi General Subcommand Syntax.
Q ZZ :q Enters the ex editor in command mode. Exits the vi editor, saving changes. Quits the vi editor. If you have changed the contents of the editing buffer, the vi editor displays a warning message and does not quit. If you are using this subcommand from the ex editor, a : (colon) is not needed. Quits the vi editor, discarding the editing buffer. If you are using this subcommand from the ex editor, a : (colon) is not needed. Ends text input or ends an incomplete subcommand. Interrupts a subcommand.
Exit Status
The following exit values are returned:
0 >0 Indicates successful completion. Indicates an error occurred.
Input Files
Input files must be text files or files that are similar to text files except for an incomplete last line that contains no null characters. The .exrc files must be text files consisting of ex commands. The $HOME/.vi_history file is an auto-generated text file that records the last line mode command history. By default, the vi editor reads lines from the files to be edited without interpreting any of those lines as any form of vi editor command.
Related Information
The ctags command, ed command, ex command, sed command, tvi command, view command. The .profile file.
29
Syntax
view [ -cSubcommand ] [ -l ] [ -t Tag ] [ -wNumber ] [ -y ] [ -r [ File ] ] [ + [ Subcommand ] ] [ File ... ]
Description
The view command starts the vi full-screen editor in read-only mode. The read-only mode is only advisory to prevent accidental changes to the file. To override read-only mode, use the ! (exclamation point) when executing a command. The File parameter specifies the name of the file you want to browse. Use vi subcommands for moving within the file. Use the :q subcommand to exit the view command. If you modify the file you can save your modifications by pressing the Esc key and wq!.
Flags
-cSubcommand -l Carries out the ex editor subcommand before viewing with vi begins. When a null operand is entered, as in -c , the editor places the cursor on the last line of the file. Enters a version of the vi editor with specialized features designed for writing programs in the LISP language. In this mode, the vi editor indents appropriately for LISP programming, and the (, ), {, }, [[, and ]] subcommands are modified to act appropriately for LISP. Recovers a file after an editor or system crash. If you do not specify a File parameter, the editor displays a list of all saved files. Edits the file containing the tag specified by the Tag parameter and positions the editor at its definition. To use this flag, you must first create a database of function names and their locations using the ctags command. Sets the default window size to the value specified by the Number parameter. This is useful when your terminal communicates with the system running the editor over a slow communications line. Overrides the maximum line setting of 1,048,560 with any value greater than 1024. Carries out the ex editor subcommand specified by the Subcommand parameter before viewing with vi begins. If you do not specify a subcommand, the cursor is placed on the last line of the file.
-r [File] -tTag
-wNumber
-y +[Subcommand]
Related Information
The vi command, ctags command.
Syntax
vmh [ -prompt String ] [ -vmhproc CommandString | -novmhproc ]
Description
The vmh command starts a visual interface for use with MH commands. The vmh command implements the server side of the MH window management protocol and maintains a split-screen interface to any program that implements the client side of the protocol.
30
The vmh command prompts for commands and sends them to the client side of the protocol. If the command produces a window with more than one screen of output, the vmh command prompts the user for a subcommand. The vmh subcommands enable you to display specific portions of the command output.
vmh Subcommands
Ctrl-L Space [Number] Enter [Number] d [Number] g [Number] G [Number] u [Number] y h q Refreshes the screen. Advances to the next screen. Advances the specified number of lines. The default is one line. Advances 10 times the specified number of lines. The default for the Number variable is 1, for a total of 10 lines. Goes to the specified line. Goes to the end of the window. If the Number variable is specified, this command acts like the g flag. Goes back 10 times the specified number of lines. The default for the Number variable is 1, for a total of 10 lines. Goes back the specified number of lines. The default is one line. Displays a help message. Ends output.
Flags
-help Lists the command syntax, available switches (toggles), and version information. Note: For MH, the name of this flag must be fully spelled out. Runs the default vmproc without the window management protocol. Uses the specified string as the prompt. Specifies the program that implements the client side of the window management protocol. The default is the msh program.
Profile Entries
The following entries are entered in the UserMhDirectory/.mh_profile file:
Path: mshproc: Specifies the users MH directory. Specifies the program used for the MH shell.
Files
$HOME/.mh_profile /usr/bin/vmh Contains the MH user profile. Contains the vmh command.
Related Information
The msh command. The mh_alias file format, mh_profile file format. Mail applications in Networks and communication management.
31
Syntax
vmo [ -p | -r ] [ -y ] { -o Tunable [= Newvalue]} vmo [ -p | -r ] [ -y ] {-d Tunable } vmo [ -p | -r ] [ -y ] -D vmo [ -p | -r ] -a vmo -h [ Tunable ] vmo -L [ Tunable ] vmo -x [ Tunable ] Note: Multiple -o, -d, -x and -L are allowed.
Description
Note: The vmo command can only be executed by root. Use the vmo command to configure Virtual Memory Manager tuning parameters. This command sets or displays current or next boot values for all Virtual Memory Manager tuning parameters. This command can also make permanent changes or defer changes until the next reboot. Whether the command sets or displays a parameter is determined by the accompanying flag. The -o flag performs both actions. It can either display the value of a parameter or set a new value for a parameter. The Virtual Memory Manager (VMM) maintains a list of free real-memory page frames. These page frames are available to hold virtual-memory pages needed to satisfy a page fault. When the number of pages on the free list falls below that specified by the minfree parameter, the VMM begins to steal pages to add to the free list. The VMM continues to steal pages until the free list has at least the number of pages specified by the maxfree parameter. If the number of file pages (permanent pages) in memory is less than the number specified by the minperm% parameter, the VMM steals frames from either computational or file pages, regardless of repage rates. If the number of file pages is greater than the number specified by the maxperm% parameter, the VMM steals frames only from file pages. Between the two, the VMM normally steals only file pages, but if the repage rate for file pages is higher than the repage rate for computational pages, computational pages are stolen as well. You can also modify the thresholds that are used to decide when the system is running out of paging space. The npswarn parameter specifies the number of paging-space pages available at which the system begins warning processes that paging space is low. The npskill parameter specifies the number of paging-space pages available at which the system begins killing processes to release paging space.
32
Before modifying any tunable parameter, you should first carefully read about all its characteristics in the Tunable Parameters section below, and follow any Refer To pointer, in order to fully understand its purpose. You must then make sure that the Diagnosis and Tuning sections for this parameter truly apply to your situation and that changing the value of this parameter could help improve the performance of your system. If the Diagnosis and Tuning sections both contain only N/A, you should probably never change this parameter unless specifically directed by AIX development.
Flags
-a Displays current, reboot (when used in conjunction with -r) or permanent (when used in conjunction with -p) value for all tunable parameters, one per line in pairs Tunable = Value. For the permanent option, a value is only displayed for a parameter if its reboot and current values are equal. Otherwise NONE is displayed as the value. Resets Tunable to default value. If a Tunable needs to be changed (that is, it is currently not set to its default value) and is of type Bosboot or Reboot, or if it is of type Incremental and has been changed from its default value, and -r is not used in combination, it will not be changed but a warning will be displayed instead. Resets all tunables to their default value. If tunables needing to be changed are of type Bosboot or Reboot, or are of type Incremental and have been changed from their default value, and -r is not used in combination, they wont be changed but a warning will be displayed instead. Displays help about the Tunable parameter if one is specified. Otherwise, displays the vmo command usage statement. Lists the characteristics of one or all tunables, one per line, using the following format: NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES -------------------------------------------------------------------------------memory_frames 128K 128K 4KB pages S -------------------------------------------------------------------------------maxfree 1088 1088 130 16 200K 4KB pages D minfree memory_frames -------------------------------------------------------------------------------minfree 960 960 122 8 200K 4KB pages D maxfree memory_frames -------------------------------------------------------------------------------... where: CUR = current value DEF = default value BOOT = reboot value MIN = minimal value MAX = maximum value UNIT = tunable unit of measure TYPE = parameter type: D (for Dynamic), S (for Static), R for Reboot), B (for Bosboot), M (for Mount), I (for Incremental), C (for Connect), and d (for Deprecated) DEPENDENCIES = list of dependent tunable parameters, one per line
-d Tunable
-D
-h [Tunable] -L [ Tunable ]
33
-o Tunable[=Newvalue] displays the value or sets tunable to Newvalue. If a tunable needs to be changed (the specified value is different than current value), and is of type Bosboot or Reboot, or if it is of type Incremental and its current value is bigger than the specified value, and -r is not used in combination, it will not be changed but a warning will be displayed instead. When -r is used in combination without a new value, the nextboot value for tunable is displayed. When -p is used in combination without a new value, a value is displayed only if the current and next boot values for tunable are the same. Otherwise NONE is displayed as the value. When used in combination with -o, -d or -D, makes changes apply to both current and reboot values, that is, turns on the updating of the /etc/tunables/nextboot file in addition to the updating of the current value. These combinations cannot be used on Reboot and Bosboot type parameters because their current value cant be changed. When used with -a or -o without specifying a new value, values are displayed only if the current and next boot values for a parameter are the same. Otherwise NONE is displayed as the value. When used in combination with -o, -d or -D, makes changes apply to reboot values, for example, turns on the updating of the /etc/tunables/nextboot file. If any parameter of type Bosboot is changed, the user will be prompted to run bosboot. When used with -a or -o without specifying a new value, next boot values for tunables are displayed instead of current values. Lists characteristics of one or all tunables, one per line, using the following (spreadsheet) format: tunable,current,default,reboot,min,max,unit,type,{dtunable } where: current = current value default = default value reboot = reboot value min = minimal value max = maximum value unit = tunable unit of measure type = parameter type: D (for Dynamic), S (for Static), R (for Reboot), B (for Bosboot), M (for Mount), I (for Incremental), C (for Connect), and d (for Deprecated) dtunable = list of dependent tunable parameters Suppresses the confirmation prompt before running the bosboot command.
-p
-r
-x [Tunable]
-y
Any change (with -o, -d or -D) to a parameter of type Mount will result in a message being displayed to warn the user that the change is only effective for future mountings. Any change (with -o, -d or -D flags) to a parameter of type Connect will result in inetd being restarted, and a message displaying a warning to the user that the change is only effective for future socket connections. Any attempt to change (with -o, -d or -D) a parameter of type Bosboot or Reboot without -r, will result in an error message. Any attempt to change (with -o, -d or -D but without -r) the current value of a parameter of type Incremental with a new value smaller than the current value, will result in an error message.
34
If the parameter can only be changed during reboot If the parameter can only be changed by running bosboot and rebooting the machine If changes to the parameter are only effective for future file systems or directory mounts If the parameter can only be incremented, except at boot time If changes to the parameter are only effective for future socket connections If changing this parameter is no longer supported by the current release of AIX.
For parameters of type Bosboot, whenever a change is performed, the tuning commands automatically prompt the user to ask if they want to execute the bosboot command. For parameters of type Connect, the tuning commands automatically restart the inetd daemon. Note that the current set of parameters managed by the vmo command only includes Static, Dynamic, and Bosboot types.
Compatibility Mode
When running in pre-AIX 5.2 compatibility mode (controlled by the pre520tune attribute of sys0), reboot values for parameters, except those of type Bosboot, are not really meaningful because in this mode they are not applied at boot time. For more information, see AIX 5.2 compatibility mode in the Performance management. In pre-AIX 5.2 compatibility mode, setting reboot values to tuning parameters continues to be achieved by imbedding calls to tuning commands in scripts called during the boot sequence. Parameters of type Reboot can therefore be set without the -r flag, so that existing scripts continue to work. This mode is automatically turned ON when a machine is migrated to AIX 5.2. For complete installations, it is turned OFF and the reboot values for parameters are set by applying the content of the /etc/tunables/nextboot file during the reboot sequence. Only in that mode are the -r and -p flags fully functional. For more information, see Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference.
Tunable Parameters
cpu_scale_memp Purpose: Determines the ratio of CPUs per-mempool. For every cpu_scale_memp CPUs, at least one mempool will be created. Values: Default: 8 Range: 1 to 128 (Maximum number of CPUs) Diagnosis: N/A Tuning: Can be reduced to reduce contention on the mempools. Use in conjunction with the tuning of the maxperm parameter.
35
data_stagger_interval
Purpose: Specifies what the staggering is that will be applied to the data section of a large-page data executable with LDR_CNTRL=DATA_START_STAGGER=Y. For example, the nth large-page data process executed on a given MCM has its data section start at offset (n * data_stagger_interval * 4096) % LGPSIZE. Values: Default: 0xA1 Range: 0 to (LargePageSize/4096)-1. Type: Dynamic Diagnosis: N/A
defps
Purpose: Turns on/off Deferred Page Space Allocation (DPSA) policy. Values: Default: 1 Range: 0 or 1 (DPSA is on) Type: Dynamic Diagnosis: N/A Tuning May be useful to turn off DPSA policy if you are concerned about page-space overcommitment. Having the value on reduces paging space requirements. Refer To: Choosing between LPSA and DPSA with the vmo command .
force_relalias_lite
Purpose: If set to 0, a heuristic will be used, when tearing down an mmap region, to determine when to avoid locking the source mmapped segment. This is a scalability trade-off, controlled by relalias_percentage, possibly costing more compute time used. Values: Default: 0 Range: 1 or 0 Diagnosis: Tuning If set to 1, the source segment lock is avoided whenever possible, regardless of the value of relalias_percentage. The Default value is 0.
framesets
Purpose: Specifies the number of real memory page sets per memory pool. This parameter does not exist in UP kernels. Values: Default: 2 Range: 1 to 10 Type: Bosboot Diagnosis: N/A Tuning N/A
36
htabscale
Purpose: On non-lpar machines, the hardware page frame table (PFT) is completely software controlled and its size is based on the amount of memory being used. The default is to have 4 PTEs (PFT entries) for each frame of memory (sz=(M/4096)*4*16 where size of PTE is 16 bytes). Values: Default: -1 Diagnosis: N/A Tuning: The size can be scaled up or down via htabscale. The default value is -1 (PTE to frame ratio of 4:1). Each decrement of htabscale reduces the PFT size in half. Each increment of htabscale doubles the PFT size.
kernel_heap_psize
Purpose: Sets the default page size to use for the kernel heap. This is an advisory setting and is only valid on the 64-bit kernel. If pages of the specified size cannot be allocated, the kernel heap will use pages of a different, smaller page size. 16M pages should only be used for the kernel heap under high performance environments. Values: Default: 4096 Range: range: 4096 or 16777216 Type: Bosboot Diagnosis: N/A
kernel_psize
Purpose: Specifies the page size backing the kernel segment. This setting is only valid on a 64-bit kernel on POWER4 and later processors. When the kernel is backed with 16M pages, approximately 240MB of additional pinned memory is use, but performance is improved. Values: Default: 0 Range: range: 0, 4096, 16777216 Type: bosboot Diagnosis: N/A Tuning The kernel determines the best page size if 0 is specified. 4096 and 16777216 specify page sizes in bytes.
37
large_page_heap_size
Purpose: When kernel_heap_psize is set to 16M, this tunable sets the maximum amount of the kernel heap to try to back with 16M pages. After the kernel heap grows beyond this amount and 16M is selected kernel_heap_psize, 4K pages will be used for the kernel heap. If this tunable is set to 0, it is ignored, and no maximum is set for the amount of kernel heap that can be backed with 16M pages. This tunable should only be used in very special environments where only a portion of the kernel heap needs to be backed with 16M pages. Values: Default: 0 Range: 0 to MAXINT64 Type: Bosboot Diagnosis: N/A
lgpg_regions
Purpose: Specifies the number of pages in the large page pool. This parameter does not exist in 64-bit kernels running on non-POWER4 based machines. Values: Default: 0 Range: 0 - number of pages. Type: Dynamic on DLPAR-capable systems. Bosboot on non-DLPAR systems. Diagnosis: Using large pages improves performance in the case where there are many TLB misses and large amounts of memory is being accessed. Tuning lpgpg_size must also be used in addition to this option. vmo operations to change the number of large pages on the system may succeed partially. If a request to increase or decrease the size of the pool cannot fully succeed (for example, if lgpg_regions is tuned to 0 but there are large pages in use by applications), the vmo command will add or remove pages to get as close as possible to the requested number of pages. Note: If lgpg_regions is changed with the -p option, the value specified will hold for the next boot, regardless of how successful the immediate action was. Refer To: System configuration for large pages
38
lgpg_size
Purpose: Specifies the size in bytes of the hardware-supported large pages used for the implementation of the large page pool. This parameter does not exist in 64-bit kernels running on non-POWER4 based machines. Values: Default: 0 Range: 0 or 268435456 (on non-POWER4), or 0 or 16777216 (on POWER4). Type: Dynamic on DLPAR-capable systems. Bosboot on non-DLPAR systems. Diagnosis: Using large pages improves performance in the case where there are many TLB misses and large amounts of memory is being accessed. Tuning lgpg_region must of be set to a non-zero value in addition to this parameter. Refer To: System configuration for large pages
low_ps_handling
Purpose: Specifies the action to change the system behavior in relation to process termination during low paging space conditions. Values: Default: 1 Range: 1 or 2 Type: Dynamic Diagnosis: N/A Tuning System out of paging space and not enough processes are getting killed. The default (value = 1) behavior is not to kill processes with SIGDANGER handler. A new behavior (value = 2) will allow the system to kill youngest processes with the SIGDANGER handler. If no process was found, the system will kill without the SIGDANGER handler.
lrubucket
Purpose: Specifies the number of memory frames per bucket. The page-replacement algorithm divides real memory into buckets of frames. On systems with multiple memory pools, the lrubucket parameter is per memory pool. Values: Default: 131072 frames Range: 65536 to total number of memory frames Type: Dynamic Diagnosis: N/A Tuning Tuning this parameter is not recommended on most systems. Instead of scanning every frame in the system looking for a free frame, the page replacement algorithm scans through the contents of a bucket and scans the same bucket for the second pass before going on to the next bucket. Refer To: Reduce memory scanning overhead with lrubucket parameter.
39
maxclient%
Purpose: Specifies maximum percentage of RAM that can be used for caching client pages. Similar to maxperm% but cannot be bigger than maxperm%. Values: Default: 90 Range: 1 to 100%. Type: Dynamic Diagnosis: If J2 file pages or NFS pages are causing working storage pages to get paged out, maxclient can be reduced. Tuning Decrease the value of maxclient if paging out to paging space is occurring due to too many J2 client pages or NFS client pages in memory. Increasing the value can allow more J2 or NFS client pages to be in memory before page replacement starts. Refer To: Maximum caching of file data tuning and Enhanced JFS file system cache limit with the maxclient parameter.
maxfree
Purpose: Specifies the number of frames on the free list at which page-stealing is to stop. Values: Default: 1088 Range: 16 to 204800 Type: Dynamic Diagnosis: Observe free-list-size changes with vmstat n. Tuning If vmstat n shows free-list size frequently driven below minfree by application demands, increase maxfree to reduce calls to replenish the free list. Setting the value too high causes page replacement to run for a longer period of time. Value must be at least 8 greater than minfree Refer To: Values for minfree and maxfree parameters.
maxperm%
Purpose: Specifies the point above which the page-stealing algorithm steals only file pages. Values: Default: total number of memory frames * 0.9 Range: 1 to 100 Type: Dynamic Diagnosis: Monitor disk I/O with iostat n. Tuning This value is expressed as a percentage of the total real-memory page frames in the system. Reducing this value may reduce or eliminate page replacement of working storage pages caused by high number of file page accesses. Increasing this value may help NFS servers that are mostly read-only. For example, if some files are known to be read repetitively, and I/O rates do not decrease with time from startup, maxperm may be too low. Refer To: Values for minfree and maxfree parameters.
40
maxpin%
Purpose: Specifies the maximum percentage of real memory that can be pinned. Values: Default: 80 percent Range: 1 to 99 Type: Dynamic Diagnosis: Cannot pin memory, although free memory is available. Tuning If this value is changed, the new value should ensure that at least 4 MB of real memory will be left unpinned for use by the kernel. The maxpin values must be greater than one and less than 100. Change this parameter only in extreme situations, such as maximum-load benchmarking.
memory_affinity
Purpose: This parameter has been deprecated starting with the December 2004 update to AIX 5L Version 5.3. The memplace_* parameters can be used instead to tune memory placement policies for various user memory objects. Values: v Default: 1 v Range: N/A v Type: Deprecated Diagnosis: N/A Tuning N/A
memplace_data
Purpose: This parameter is used to specify the default memory placement policy for data. Data refers to : data of the main executable (initialized data, BSS), heap, shared library data, and data of object modules loaded at runtime. Data placement can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 1 (First Touch) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
41
memplace_mapped_file
Purpose: This parameter is used to specify the default memory placement policy for files that are mapped into the address space of a process (such as through shmat() and mmap()). Default placement of memory mapped files can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 2 (Striped) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
memplace_shm_anon
Purpose: This parameter is used to specify the default memory placement policy for anonymous shared memory. Anonymous shared memory refers to working storage memory, created using shmget() or mmap(), that can be accessed only by the creating process or its descendants. This memory is not associated with a name (or key). Default placement of anonymous shared memory can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 2 (Striped) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
42
memplace_shm_named
Purpose: This parameter is used to specify the default memory placement policy for named shared memory. Named shared memory refers to working storage memory, created using shmget() or shm_open(), which is associated with a name (or key) that allows more than one process to access it simultaneously. Default placement of named shared memory can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 2 (Striped) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
memplace_stack
Purpose: This parameter is used to specify the default memory placement policy for the program stack. Stack placement can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 1 (First Touch) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
43
memplace_text
Purpose: This parameter is used to specify the default memory placement policy for application text. It applies only to text of the main executable and not to its dependencies. Text placement can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 1 (First Touch) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
memplace_unmapped_file
Purpose: This parameter is used to specify the default memory placement policy for unmapped file access, such as through read() or write(). Default placement of unmapped file access can be set to First Touch (1) or Striped (2). First Touch means that the memory is allocated in the affinity domain where it is first accessed. Striped means that the memory is allocated in a round-robin fashion across the system affinity domains. Changes only apply to new processes. Memory objects of existing processes will still have the policies existing at the time the memory object was created. Values: v Default: 2 (Striped) v Range: 1..2 v Type: Dynamic Diagnosis: N/A Tuning N/A
44
mempools
Purpose: This parameter has been deprecated. The cpu_scale_memp parameter can be used instead to partially determine the number of mempools that are used. Values: Default: 1 Range: N/A Type: Deprecated Diagnosis: N/A Tuning N/A Refer To: Memory pools.
minfree
Purpose: Specifies the minimum number of frames on the free list at which the VMM starts to steal pages to replenish the free list. Values: Default: 960 Range: 8 to 204800 Type: Dynamic Diagnosis: vmstat n Tuning Page replacement occurs when the number of free frames reaches minfree. If processes are being delayed by page stealing, increase minfree to improve response time. The difference between minfree and maxfree should always be equal to or greater than maxpgahead. Refer To: Values for minfree and maxfree parameters.
minperm%
Purpose: Specifies the point below (in percentage of total number of memory frames) which the page-stealer will steal file or computational pages regardless of repaging rates. Values: Default: 3 percent Range: 1 to 100. Type: Dynamic Diagnosis: Monitor disk I/O with iostat n. Tuning Can be useful to decrease this parameter if large number of file pages in memory is causing working storage pages to be replaced. If some files are known to be read repetitively, and I/O rates do not decrease with time from startup, minperm may be too low. Refer To: Values for minperm and maxperm parameters.
45
nokilluid
Purpose: User IDs lower than this value are exempt from getting killed due to low page-space conditions. Values: Default: 0 (off) Range: Any positive integer. Type: Dynamic Diagnosis: N/A Tuning System out of paging space and system administrators processes are getting killed. Set to 1 in order to protect specific user ID processes from getting killed due to low page space or ensure there is sufficient paging space available. Refer To: Values for the npswarn and npskill parameters
npskill
Purpose: Specifies the number of free paging-space pages at which the operating system begins killing processes. Values: Default: MAX (64, number of paging space pages/128). Range: 0 to total number of paging space pages on the system . Type: Dynamic Diagnosis: N/A Tuning Increase the value if you experience processes being killed because of low paging space. Refer To: Values for the npswarn and npskill parameters
npsrpgmax
Purpose: Specifies the number of free paging space blocks at which the Operating System stops freeing disk blocks on pagein of Deferred Page Space Allocation Policy pages. Values: Default: MAX(1024, npswarn*2). Range: 0 to total number of paging space blocks in the system. Diagnosis: N/A Tuning: N/A
46
npsrpgmin
Purpose: Specifies the number of free paging space blocks at which the Operating System starts freeing disk blocks on pagein of Deferred Page Space Allocation Policy pages. Values: Default: MAX(768, npswarn+(npswarn/2)). Range: 0 to total number of paging space blocks in the system. Diagnosis: N/A Tuning: N/A
npsscrubmax
Purpose: Specifies the number of free paging space blocks at which the Operating System stops Scrubbing in memory pages to free disk blocks from Deferred Page Space Allocation Policy pages. Values: Default: MAX(1024, npsrpgmax). Range: 0 to total number of paging space blocks in the system. Diagnosis: N/A Tuning: N/A
npsscrubmin
Purpose: Specifies the number of free paging space blocks at which the Operating System starts Scrubbing in memory pages to free disk blocks from Deferred Page Space Allocation Policy pages. Values: Default: MAX(768, npsrpgmin). Range: 0 to total number of paging space blocks in the system. Diagnosis: N/A Tuning: N/A
npswarn
Purpose: Specifies the number of free paging-space pages at which the operating system begins sending the SIGDANGER signal to processes. Values: Default: MAX (512, 4*npskill) Range: 0 to total number of paging space pages on the system. Type: Dynamic Diagnosis: N/A Tuning: Increase the value if you experience processes being killed because of low paging space. Refer To: Values for the npswarn and npskill parameters
47
num_spec_dataseg
Purpose: Reserve special data segment IDs for use by processes executed with the environment variable DATA_SEG_SPECIAL=Y. These data segments are assigned so that the hardware page table entries for pages within these segments are better distributed in the cache to reduce cache collisions. As many are reserved as possible up to the requested number. Running vmo -a after reboot displays the actual number reserved. This parameter is only supported in 64-bit kernels running on POWER4 based machines. Values: Default: 0 Range: 0 or a positive number Type: Bosboot Diagnosis: N/A Tuning The correct number to reserve depends on the number of processes run simultaneously with DATA_SEG_SPECIAL=Y and the number of data segments used by each of these processes.
page_steal_method
Purpose: Selects virtual memory page replacement policies. Values: Default: 0 Range: 0 or 1. 0 applies to WLM and non-WLM page replacement. For 0, the pager scans pages by physical address. For 1, the pager scans pages from lists by class (for WLM) or by mempool (for non-WLM). Type: Bosboot
pagecoloring
Purpose: Turns on or off page coloring in the VMM. This parameter is not supported in 64-bit kernels. Values: Default: 0 (off) Range: 0 or 1. Type: Bosboot Diagnosis: N/A Tuning This parameter is useful for some applications that run on machines that have a direct mapped cache.
48
pta_balance_threshold
Purpose: Specifies the point at which a new pta segment will be allocated. This parameter does not exists in 64-bit kernels. Values: Default: pta segment size * 0.5 Range: 1 to 99. Type: Dynamic Diagnosis: System would crash from a dsi (abend code 300) with a stack similar to the following: findsrval64() shmforkws64() shmforkws() procdup() kforkx() kfork() Dump investigation would show that the pta segment is full for the page which generated the page fault. Tuning Tuning the pta balancing threshold lower will cause new pta segments to be allocated earlier, thereby reducing the chance that a pta segment will fill up and crash the system. If possible, a better solution would be to move to the 64-bit kernel which does not have this potential problem.
relalias_percentage
Purpose: If force_relalias_lite is set to 0, then this specifies the factor used in the heuristic to decide whether to avoid locking the source mmapped segment or not. Diagnosis: N/A Tuning: This is used when tearing down an mmapped region and is a scalability statement, where avoiding the lock may help system throughput, but, in some cases, at the cost of more compute time used. If the number of pages being unmapped is less than this value divided by 100 and multiplied by the total number of pages in memory in the source mmapped segment, then the source lock will be avoided. A value of 0 for relalias_percentage, with force_relalias_lite also set to 0, will cause the source segment lock to always be taken. The Default value is 0. Effective values for relalias_percentage will vary by workload, however, a suggested value is: 200.
rpgclean
Purpose: Enables or Disables freeing paging space disk blocks of Deferred Page Space Allocation Policy pages on read accesses to them. Values: Default: 0, free paging space disk blocks only on pagein of pages that are being modified. Range: 1, free paging space disk blocks on pagein of a page being modified or accessed (read). Diagnosis: N/A Tuning: N/A
49
rpgcontrol
Purpose: Enables or Disables freeing of paging space disk blocks at pagein of Deferred Page Space Allocation Policy pages. Values: Default: 1, enables freeing of paging space disk blocks when the number of system free paging space blocks is below npsrpgmin, and continues until above npsrpgmax. Range: 0-2, 0 disables freeing of paging space disk blocks on pagein. 2, always enables freeing of paging space disk blocks on pagein, regardless of thresholds. Diagnosis: N/A
scrub
Purpose: Enables or Disables freeing of paging space disk blocks from pages in memory for Deferred Page Space Allocation Policy pages. Values: Default: 0, disables scrubbing completely. Range: 0-1, 1 enables scrubbing of in memory paging space disk blocks when the number of system free paging space blocks is below npsscrubmin, and continues until above npsscrubmax. Diagnosis: Tuning:
scrubclean
Purpose: Enables or Disables freeing paging space disk blocks of Deferred Page Space Allocation Policy pages in memory that are not modified. Values: Default: 0, Free paging space disk blocks only for modified pages in memory. Range: 0-1, 1, Free paging space disk blocks for modified or unmodified pages. Diagnosis: Tuning:
soft_min_lgpgs_vmpool
Purpose: When soft_min_lgpgs_vmpool is non-zero, large pages will not be allocated from a vmpool that has fewer than soft_min_lgpgs_vmpool % of its large pages free. If all vmpools have less than soft_min_lgpgs_vmpool % of their large pages free, allocations will occur as normal. Values: Default: 0 Range: range: 0 to 90 Type: Dynamic Diagnosis: N/A
50
spec_dataseg_int
Purpose: Modify the interval between the special data segment IDs reserved with num_spec_dataseg. This parameter is only supported in 64-bit kernels running on POWER4 based machines. Values: Default: 512 Range: 1 to any positive integer Type: Bosboot Diagnosis: N/A Tuning Generally, for processes executed with DATA_SEG_SPECIAL=Y, the more pages of the data segment they all access, the higher this value should be to optimize performance. Values that are too high, however, limit the number of special segment IDs that can be reserved. The performance impact is highly dependent on the hardware architecture as well as the application behavior and different values may be optimal for different architectures and different applications.
strict_maxclient
Purpose: If set to 1, the maxclient value will be a hard limit on how much of RAM can be used as a client file cache. Values: Default: 1 (on) Range: 0 or 1. Diagnosis: N/A Tuning: Set to 0 in order to make the maxclient value a soft limit if client pages are being paged out when there are sufficient free pages. Use in conjunction with the tuning of the maxperm and maxclient parameters.
vmm_mpsize_support
Purpose: Toggles AIX 64-bit kernel multiple page size support for the extra page sizes provided by POWER5+ and later machines. This has no effect on previous support of 4K or large size pages, and on machines with processors that do not support extra page sizes. Values: Default: 1 AIX takes advantage of the extra page sizes supported by the processor. Range: 0 or 1 When set to 0,AIX only recognize are 4K page size and the systems large page size.
51
strict_maxperm
Purpose: If set to 1, the maxperm value will be a hard limit on how much of RAM can be used as a persistent file cache. Values: Default: 0 (off) Range: 0 or 1. Type: Dynamic Diagnosis: Excessive page outs to page space caused by too many file pages in RAM. Tuning Set to 1 in order to make the maxperm value a hard limit (use in conjunction with the tuning of the maxperm parameter). Refer To: Persistent file cache limit with the strict_maxperm option.
v_pinshm
Purpose: If set to 1, will allow pinning of shared memory segments. Values: Default: 0 (off) Range: 0 or 1. Type: Dynamic Diagnosis: Change when there is too much overhead in pinning or unpinning of AIO buffers from shared memory segments. Tuning Useful only if application also sets SHM_PIN flag when doing a shmget call and if doing async I/O from shared memory segments. Refer To: Pinned shared memory for database.
vm_modlist_threshold
Purpose: Determines whether to keep track of dirty file pages. Values: Default: -1 Range: -2 to any positive integer Type: Dynamic Diagnosis: N/A Tuning: Special values: -2: Never keep track of modified pages. This provides the same behavior as on a system prior to AIX 5.3 -1: Keep track of all modified pages. Other values: >= 0: Keep track of all dirty pages in a file if the number of frames in memory at full sync time is greater than or equal to vm_modlist_threshold. This parameter can be modified at any time, changing the behavior of a running system. In general, a new value will not be seen until the next full sync for the file. A full sync occurs when the VW_FULLSYNC flag is used or all pages in the file (from 0 to maxvpn) are written to disk.
52
vmm_mpsize_support
Purpose: Toggles AIX 64-bit kernel multiple page size support for the extra page sizes provided by POWER5+ and later machines. This has no effect on previous support of 4K or large size pages, and on machines with processors that do not support extra page sizes. Values: Default: 1 AIX takes advantage of the extra page sizes supported by the processor. Range: 0 or 1 When set to 0,AIX only recognize are 4K page size and the systems large page size.
wlm_page_steal_byclass
Purpose: Selects Virtual Memory Page Replacement policy when the Workload Manager (WLM) is on. If set to 1, the WLM scans pages from lists by Class. If set to 0, the Workload Manager scans pages by Physical Address. Values: Default: 1 Range: 01 Type: Bosboot Diagnosis: N/A Tuning: N/A
wlm_memlimit_nonpg
Purpose: Selects whether non-pageable page sizes (16 M, 16 G) are included in the WLM realmem and virtmem counts. If you select 1, then non-pageable page sizes are included in the realmem and virtmem limits counts. If you select 0, then only pageable page sizes (4 K, 64 K) are included in the realmem and virtmem counts. You can change this value only when the WLM Memory Accounting is off. Values: Default: 1 Range: 0-1 Type: Dynamic Diagnosis: When non-pageable page sizes are configured on a system, set wlm_memlimit_nonpg to 0 to allow more granular control of the WLM classes in using the pageable memory.
Examples
1. To list the current and reboot value, range, unit, type and dependencies of all tunable parameters managed by the vmo command, type:
vmo -L
This command will propose bosboot to the user, and warn that a reboot is necessary before the change will be effective.
Alphabetical Listing of Commands
53
Note: The -r flag (and subsequent reboot) is not necessary for AIX 5.3 and later releases. 3. To display help on nokilluid, type:
vmo -h nokilluid
6. To list the reboot value for all virtual Memory Manager tuning parameters, type:
vmo -r -a
7. To list (spreadsheet format) the current and reboot value, range, unit, type and dependencies of all tunable parameters managed by the vmo command, type:
vmo -x
Related Information
The ioo command, schedo command, no command, nfso command, raso command, tunchange command, tunsave command, tunrestore command, tuncheck command, and tundefault command. Performance Overview of the Virtual Memory Manager (VMM) in Performance management Kernel Tuning in AIX 5L Version 5.3 Performance Tools Guide and Reference. AIX 5.2 compatibility mode in the Performance management.
Syntax
vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ -v ] [ -w] [ -l ] [ { -p | -P } pagesize | ALL ] ALL ] [ PhysicalVolume ... ] [ Interval [ Count ] ]
Description
The vmstat command reports statistics about kernel threads, virtual memory, disks, traps and pocessor activity. Reports generated by the vmstat command can be used to balance system load activity. These system-wide statistics (among all processors) are calculated as averages for values expressed as percentages, and as sums otherwise. The vmstat command might return inconsistent statistics because the statistics are not read atomically. If the vmstat command is invoked without flags, the report contains a summary of the virtual memory activity since system startup. If the -f flag is specified, the vmstat command reports the number of forks since system startup. The PhysicalVolume parameter specifies the name of the physical volume. The Interval parameter specifies the amount of time in seconds between each report. If the Interval parameter is not specified, the vmstat command generates a single report that contains statistics for the time since system startup and then exits. The Count parameter can only be specified with the Interval parameter. If the Count parameter is specified, its value determines the number of reports generated and the number of seconds apart. If the Interval parameter is specified without the Count parameter, reports are continuously generated. A Count parameter of 0 is not allowed.
54
AIX 4.3.3 and later contain enhancements to the method used to compute the percentage of processor time spent waiting on disk I/O (wio time). The method used in AIX 4.3.2 and earlier versions of the operating system can, under certain circumstances, give an inflated view of wio time on SMPs. The method used in AIX 4.3.2 and earlier versions is as follows: At each clock interrupt on each processor (100 times a second per processor), a determination is made as to which of the four categories (usr/sys/wio/idle) to place the last 10 ms of time. If the processor was busy in usr mode at the time of the clock interrupt, then usr gets the clock tick added into its category. If the processor was busy in kernel mode at the time of the clock interrupt, then the sys category gets the tick. If the processor was not busy, a check is made to see if any I/O to disk is in progress. If any disk I/O is in progress, the wio category is incremented. If no disk I/O is in progress and the processor is not busy, the idle category gets the tick. The inflated view of wio time results from all idle processors being categorized as wio regardless of the number of threads waiting on I/O. For example, systems with just one thread doing I/O could report over 90 percent wio time regardless of the number of processors it has. The wio time is reported by the commands sar (%wio), vmstat (wa) and iostat (% iowait). The kernel maintains statistics for kernel threads, paging, and interrupt activity, which the vmstat command accesses through the use of the the perfstat kernel extension. The disk input/output statistics are maintained by device drivers. For disks, the average transfer rate is determined by using the active time and number of transfers information. The percent active time is computed from the amount of time the drive is busy during the report. Beginning with AIX 5.3, the vmstat command reports the number of physical processors consumed (pc), and the percentage of entitlement consumed (ec), in Micro-Partitioning environments. These metrics will only be displayed on Micro-Partitioning environments. Reports generated by the vmstat command contains the following column headings and their description: kthr: information about kernel thread states.
r b Average number of runnable kernel threads over the sampling interval. Runnable refers to threads that are ready but waiting to run and to those threads already running. Average number of kernel threads placed in the VMM wait queue (awaiting resource, awaiting input/output) over the sampling interval.
Memory: information about the usage of virtual and real memory. Virtual pages are considered active if they have been accessed. A page is 4096 bytes.
avm fre Active virtual pages. Size of the free list. Note: A large portion of real memory is utilized as a cache for file system data. It is not unusual for the size of the free list to remain small.
Page: information about page faults and paging activity. These are averaged over the interval and given in units per second.
re pi po fr sr cy Pager input/output list. Pages paged in from paging space. Pages paged out to paging space. Pages freed (page replacement). Pages scanned by page-replacement algorithm. Clock cycles by page-replacement algorithm.
55
Faults: trap and interrupt rate averages per second over the sampling interval.
in sy cs Device interrupts. System calls. Kernel thread context switches.
Disk: Provides the number of transfers per second to the specified physical volumes that occurred in the sample interval. The PhysicalVolume parameter can be used to specify one to four names. Transfer statistics are given for each specified drive in the order specified. This count represents requests to the physical device. It does not imply an amount of data that was read or written. Several logical requests can be combined into one physical request. If the PhysicalVolume parameter is used, the physical volume names are printed at the beginning of command execution. If the -I flag is specified, an I/O oriented view is presented with the following column changes.
kthr page The column p will also be displayed besides columns r and b. p Number of threads waiting on I/O to raw devices per second. New columns fi and fo will be displayed instead of re and cy columns. fi fo File page-ins per second. File page-outs per second.
If, while the vmstat command is running, there is a change in system configuration that will affect the output, vmstat prints a warning message about the configuration change. It then continues the output, after printing the updated system configuration information and the header. If the -l flag is specified, an additional large-page section is displayed with the following columns: alp flp Indicates the number of large pages currently in use. Indicates the number of large pages on the large page freelist.
If the -p option is specified, additional lines of VMM statistics are displayed for the specified page sizes. With -I and -t options, the -p option produces an additional line for the specified page size. This line contains the following VMM statistics relevant to the specified page size: v avm v fre v re v fi v fo
56
v v v v v
pi po fr sr cy
Note: The disply of the re, fi, fo, and cy options are affected by the -I option. These VMM statistics are preceded by a psz column and followed by an siz column. The description of these two columns follows: psz siz Page size (for example, 4K, 64K). Number of frames of the specified page size that exist on the system.
With the -s option, the -p option produces a separate stanza of output that contains only the statistics relevant to the specified page size. This additional stanza is preceded by a page size header. The -P option produces the following report for the specified page size: pgsz Indicates the page size (for example, 4K, 64K).
Memory Indicates the memory statistics for the specified page sizes. siz avm fre Page The number of frames of the specified page size that exist on the system. Active virtual pages applicable to the specified page size. Size of the free list for the specified page size. Indicates the relevant page faults and paging activity for the specified page size. The page related columns re, pi, po, fr, sr, cy, fi, and fo are also applicable to this report.
Flags
Note: If the -f (or -s) flag is entered on the command line, then the system will only accept the -f (or -s) flag and will ignore other flags. If both -f and -s flags are specified, the system will accept only the first flag and ignore the second flag.
-f -i -I -l -p pagesize -P pagesize Reports the number of forks since system startup. Displays the number of interrupts taken by each device since system startup. Note: The -I, -t, -w, and -l flags are ignored when they are specified with the -i flag. Displays I/O oriented view with the new columns of output, p under heading kthr,and columns fi and fo under heading page instead of the columns re and cy in the page heading. Displays an additional large-page section with the alp and flp columns. Appends the VMM statistics for the specified page size to the regular vmstat output. Displays only the VMM statistics which are relevant for the specified page size.
57
-s
Writes to standard output the contents of the sum structure, which contains an absolute count of paging events since system initialization. The -s flag can only be used with the -v flag. These events are described as follows: address translation faults Incremented for each occurrence of an address translation page fault. I/O may or may not be required to resolve the page fault. Storage protection page faults (lock misses) are not included in this count. page ins Incremented for each page read in by the virtual memory manager. The count is incremented for page ins from page space and file space. Along with the page out statistic, this represents the total amount of real I/O initiated by the virtual memory manager. page outs Incremented for each page written out by the virtual memory manager. The count is incremented for page outs to page space and for page outs to file space. Along with the page in statistic, this represents the total amount of real I/O initiated by the virtual memory manager. paging space page ins Incremented for VMM initiated page ins from paging space only. paging space page outs Incremented for VMM initiated page outs to paging space only. total reclaims Incremented when an address translation fault can be satisfied without initiating a new I/O request. This can occur if the page has been previously requested by VMM, but the I/O has not yet completed; or if the page was pre-fetched by VMMs read-ahead algorithm, but was hidden from the faulting segment; or if the page has been put on the free list and has not yet been reused. zero-filled page faults Incremented if the page fault is to working storage and can be satisfied by assigning a frame and zero-filling it. executable-filled page faults Incremented for each instruction page fault. pages examined by the clock VMM uses a clock-algorithm to implement a pseudo least recently used (lru) page replacement scheme. Pages are aged by being examined by the clock. This count is incremented for each page examined by the clock. revolutions of the clock hand Incremented for each VMM clock revolution (that is, after each complete scan of memory). pages freed by the clock Incremented for each page the clock algorithm selects to free from real memory.
58
backtracks Incremented for each page fault that occurs while resolving a previous page fault. (The new page fault must be resolved first and then initial page faults can be backtracked.) free frame waits Incremented each time a process requests a page frame, the free list is empty, and the process is forced to wait while the free list is replenished. extend XPT waits Incremented each time a process is waited by VMM due to a commit in progress for the segment being accessed. pending I/O waits Incremented each time a process is waited by VMM for a page-in I/O to complete. start I/Os Incremented for each read or write I/O request initiated by VMM. iodones Incremented at the completion of each VMM I/O request. CPU context switches Incremented for each processor context switch (dispatch of a new process). device interrupts Incremented on each hardware interrupt. software interrupts Incremented on each software interrupt. A software interrupt is a machine instruction similar to a hardware interrupt that saves some state and branches to a service routine. System calls are implemented with software interrupt instructions that branch to the system call handler routine. decrementer interrupts Incremented on each decrementer interrupt. mpc send interrupts Incremented on each mpc send interrupt mpc receive interrupts Incremented on each mpc receive interrupt phantom interrupts Incremented on each phantom interrupt traps syscalls Incremented for each system call. Not maintained by the operating system.
59
Notes: 1. When used with the -p pagesize option, the -s option appends the sum structure for the specified page size to the system-wide sum structure. This additional stanza is preceded by a page size header (for example, 4K pages). The following details are not be displayed in this pagesize-based stanza as these statistics are not related to page sizes: v Processor context switches v Device interrupts v Software interrupts v Decrementer interrupts v MPC-sent interrupts v MPC-received interrupts v Phantom interrupts v Traps v Syscalls 2. When the -s flag is used with the -l flag, the vmstat command displays the following metric: large-page hi water count Specifies the maximum value of the large-page inuse count.
-t
Prints the time-stamp next to each line of output of vmstat. The time-stamp is displayed in the HH:MM:SS format. Note: Time stamp will not be printed if -f, -s, or -i flags are specified.
60
-v
Writes to standard output various statistics maintained by the Virtual Memory Manager. The -v flag can only be used with the -s flag. memory pages Size of real memory in number of 4 KB pages. lruable pages Number of 4 KB pages considered for replacement. This number excludes the pages used for VMM internal pages, and the pages used for the pinned part of the kernel text. free pages Number of free 4 KB pages. memory pools Tuning parameter (managed using vmo) specifying the number of memory pools. pinned pages Number of pinned 4 KB pages. maxpin percentage Tuning parameter (managed using vmo) specifying the percentage of real memory which can be pinned. minperm percentage Tuning parameter (managed using vmo) in percentage of real memory. This specifies the point below which file pages are protected from the re-page algorithm. maxperm percentage Tuning parameter (managed using vmo) in percentage of real memory. This specifies the point above which the page stealing algorithm steals only file pages. numperm percentage Percentage of memory currently used by the file cache. file pages Number of 4 KB pages currently used by the file cache. compressed percentage Percentage of memory used by compressed pages. compressed pages Number of compressed memory pages. numclient percentage Percentage of memory occupied by client pages. maxclient percentage Tuning parameter (managed using vmo) specifying the maximum percentage of memory which can be used for client pages. client pages Number of client pages. remote pageouts scheduled Number of pageouts scheduled for client filesystems. pending disk I/Os blocked with no pbuf Number of pending disk I/O requests blocked because no pbuf was available. Pbufs are pinned memory buffers used to hold I/O requests at the logical volume manager layer. paging space I/Os blocked with no psbuf Number of paging space I/O requests blocked because no psbuf was available. Psbufs are pinned memory buffers used to hold I/O requests at the virtual memory manager layer.
61
-v
(Statistics displayed by -v, continued): filesystem I/Os blocked with no fsbuf Number of filesystem I/O requests blocked because no fsbuf was available. Fsbuf are pinned memory buffers used to hold I/O requests in the filesystem layer. client filesystem I/Os blocked with no fsbuf Number of client filesystem I/O requests blocked because no fsbuf was available. NFS (Network File System) and VxFS (Veritas) are client filesystems. Fsbuf are pinned memory buffers used to hold I/O requests in the filesystem layer. external pager filesystem I/Os blocked with no fsbuf Number of external pager client filesystem I/O requests blocked because no fsbuf was available. JFS2 is an external pager client filesystem. Fsbuf are pinned memory buffers used to hold I/O requests in the filesystem layer. Virtualized Partition Memory Page Faults Total number of virtual partition memory page faults recorded for the virtualized partition. Time resolving virtualized partition memory page faults Total time (in seconds, with millisecond granularity) the virtual partition has been blocked waiting for the resolution of the virtual partition's memory page faults. Display the report in wide mode.
-w
Examples
1. To display a summary of the statistics since boot, enter:
vmstat
3. To display a summary of the statistics since boot including statistics for logical disks scdisk13 and scdisk14, enter:
vmstat scdisk13 scdisk14
7. To display the I/O oriented view with an alternative set of columns, enter:
vmstat -I
9. To display the large-page section with the alp and flp columns at 8-second intervals, enter:
vmstat -l 8
10. To display the VMM statistics specific to a particular page size (in the example, 4 K), enter:
vmstat -p 4 K
11. To display the VMM statistics for all page sizes that are supported on the system, enter:
vmstat -p ALL
OR
vmstat -p all
12. To display only the VMM statistics for a particular page size (in this example, 4K), enter:
62
vmstat -P 4K
13. To display only the per-page breakdown of VMM statistics for all supported page sizes, enter:
vmstat -P ALL
OR
vmstat -P all
Files
/usr/bin/vmstat Contains the vmstat command.
Related Information
The iostat and vmo command. Memory performance in Performance management.
Syntax
vpdadd { -c Component | -p Product | -f Feature } -v v.r.m.f [ -D Destdir ] [ -U Command ] [ -R Prereq ] [ -S Msg_Set ] [ -M Msg_Number ] [ -C Msg_Catalog ] [ -P Parent ] [ -I Description ]
Description
The vpdadd command is for use with or by installers that wish to be listed in Vital Product Database (VPD). The VPD consists of the product, lpp, and history databases. Entries to the inventory database must be added by the sysck command. A new vendor database is now included to track products that use destination directories and non-installp uninstallers. The vpdadd command uses a tree structure of Product at the highest level, then Feature, and then Component. The Component is the lowest installable unit, but in this hierarchy, a Component is not selectable for install or uninstall. Therefore, if an installer is using the vpdadd command to update the install database, they should look at their own tree representation and add entries based on their structure. If only adding one entry per install, then adding a Product type rather than Component type would allow that entry to be listed in the uninstall Web-based System Manager and SMIT interfaces. All the entries are made in the VPD, but Components and Features are filtered out in the default lslpp listings (-Lc).
Flags
-C Msg_Catalog Specifies the message catalog to search for a translated description of the Component. The default (English) description is specified with the -I flag. If the message catalog is not in the standard NLSPATH, then the full path name should be given. Specifies the Component name to add to the VPD. An entry is only added if it is unique. Uniqueness is described as having a different destination directory. If the same instance of a Component is already in the database, then no entry is added, and an error is returned. This allows a force install (that is, reinstall).
-c Component
63
-D Destdir
-f Feature
-I Description
-M Msg_Number -P Parent
-p Product
-R Prereq
-S Msg_Set -U Command
-v v.r.m.f
Specifies the root (prefix) path that is added to all the files in a Component when being installed (and when being added to the inventory database by the sysck command). Files in a Component are listed with relative path names, so the root path is allowed to change. The default destination directory is /opt. Specifies the Feature name to add to the VPD. An entry is only added if it is unique. Uniqueness is described as having a different VRMF or destination directory. If the same instance of a Feature is already in the database, then no entry is added, and an error is not returned. This allows for a force install (that is, reinstall). Specifies the default description of the Component, Feature or Product. The description must be specified in double quotation marks. Single quotation marks are allowed inside the description, and double quotation marks must be prepended with a \. Specifies the message number for the description. Specifies the parent software unit. A Component specifies either a Feature or a Product as its parent, depending on where it was in the tree. This flag is used to allow tree listings in Web-based System Manager. Specifies the Product name to add to the VPD. An entry is only added if it is unique. Uniqueness is described as having a different VRMF or destination directory. If the same instance of a Product is already in the database, then no entry is added, and an error is not returned. This allows a force install (that is, reinstall). Specifies a Component (fileset) that is a requisite of the installing Component. The argument must be specified in quotation marks. This flag can be used more than once to specify multiple prerequisites. Although these are treated as prerequisites at install time (by the installer), they are listed as corequisites in the Product database to avoid creating circular requisite chains. Specifies the message set (if more than one in the catalog). Specifies the Command to launch the uninstaller for this Component. This may be just a command path name, or it may include parameters if there is a global uninstaller. The geninstall command calls this uninstaller, and installp does not deinstall a fileset if this value is set in the VPD. The VRMF of the Component, Feature or Product being added.
Examples
1. The following example shows how the Registry service would call vpdadd to add a Component for the Foo product. This Component has two requisites, one that is specific to the operating system, and one that is listed as GUID. vpdadd -c EPL2890198489F -v 1.2.3.0 -R "bos.rte.odm 4.3.3.0" -R "8KDEOKY90245686 1.1.0.0" \ -U /usr/opt/foo/uninstaller.class -p KID892KYLIE25 -I "Foo Database Component" 2. To add a new product devices.pci.cool.rte to the VPD, type:
vpdadd -p devices.pci.cool.rte -v 5.1.0.0 -U /usr/sbin/udisetup
Files
/usr/sbin/vpdadd
Related Information
The installp command, lslpp command, vpddel command, and geninstall command.
Syntax
vpddel { -c Component | -p Product | -f Feature } -v v.r.m.f -D Dest_dir
64
Description
The vpddel command removes entries from the product, lpp, history, and vendor databases. The vrmf and destination directory must be specified so that the correct entries are removed.
Flags
-c Component -D Dest_dir -f Feature -p Product -v V.R.M.F Removes the specified Component. The VRMF must also be included when removing a Component. Specifies the destination directory of the Component to remove. If a destination directory is not included, then the default /opt is used. Specifies the Feature to remove from the vendor database. The Product to remove from the vendor database. Specifies the version, release, modification and fix level of the component to delete from the VPD and vendor database.
Example
To remove the Component EPL2890198489F from the product, history, lpp, and vendor databases, type:
vpddel -c EPL2890198489F -v 1.2.3.0 -D /usr/lpp/Foo
Files
/usr/sbin/vpddel
Related Information
The vpdadd command and lslpp command.
Syntax
vsdatalst {g | n | v | c}
Description
Use this command to display one of several kinds of information to standard output. You can use the System Management Interface Tool (SMIT) to run the vsdatalst command. To use SMIT, enter:
smit list_vsd
and select the option for the kind of virtual shared disk SDR information you want to see.
Flags
Only one of the following flags can be specified with each invocation of vsdatalst: g Displays the following global volume group data: global_group_name, local_group_name, primary_server_node, secondary_server_node. (This is only enabled with the Recoverable virtual shared disk subsystem.)
Alphabetical Listing of Commands
65
eio_recovery recovery CVSD server_list n Displays the following Node data: node_number, host_name, adapter_name, min_buddy_buffer_size, max_buddy_buffer_size, max_buddy_buffers. Displays the following definition data: vsd_name, logical_volume_name, global_group_name, minor_number. Displays the following cluster information: node_number cluster_name
Parameters
None.
Security
You must have root authority to run this command.
Exit Status
0 nonzero Indicates the successful completion of the command. Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
1. To display global volume group date, enter:
vsdatalst -g
66
vsdatalst -n
Location
/opt/rsct/vsd/bin/vsdatalst
Related Information
Commands: lsvsd, updatevsdnode, vsdnode
Syntax
vsdchgserver g vsd_global_volume_group_name p primary_node [b secondary_node] [ o EIO_recovery]
Description
The vsdchgserver command allows the serving function for a global volume group defined on a primary node to be taken over by the secondary node, or to be taken over by the primary node from the secondary node. This allows an application to continue to use virtual shared disks in situations where the cable or adapter between the physical disks and one of the attached nodes is not working. The Recoverable virtual shared disk subsystem automatically updates the virtual shared disk devices if, and only if, the vsdchgserver command is used to flip the currently-defined primary node and secondary node in the global volume group specified in the g flag.
Flags
g p Specifies the Global Volume Group name for the volume group that represents all the virtual shared disks defined on a particular node. Specifies the primary server node number for the global volume group.
67
b o
Specifies the secondary node number for the global volume group. If the -b flag is not specified, the secondary node definition will be removed. Specified as 0, for no recovery on an EIO error, or 1, for recovery on an EIO error.
Parameters
None.
Security
You must have root authority to run this command.
Exit Status
0 nonzero Indicates the successful completion of the command. Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
To change the primary server node for the global volume group node12vg to node 1 and the secondary node to node 2, with EIO recovery, enter:
vsdchgserver -g node12vg -p 1 -b 2 -o 1
Location
/opt/rsct/vsd/bin/vsdchgserver
Related Information
Refer to RSCT: Managing Shared Disks for information on how to use this command in writing applications.
Syntax
vsdelnode node_number ...
Description
This command is used to remove virtual shared disk data for a node or series of nodes.
68
The vsdelnode command makes the listed nodes no longer virtual shared disk nodes so that no virtual shared disks can be accessed from them. This command is unsuccessful for any nodes that are servers for any global volume groups. You can use the System Management Interface Tool (SMIT) to run the vsdelnode command. To use SMIT, enter:
smit delete_vsd
and select the Delete Virtual Shared Disk Node Information option.
Flags
g p b o Specifies the Global Volume Group name for the volume group that represents all the virtual shared disks defined on a particular node. Specifies the primary server node number for the global volume group. Specifies the secondary node number for the global volume group. If the -b flag is not specified, the secondary node definition will be removed. Specified as 0, for no recovery on an EIO error, or 1, for recovery on an EIO error.
Parameters
node_number Specifies the node number of the node whose virtual shared disk information you want to remove.
Security
You must have root authority to run this command.
Restrictions
The recoverable virtual shared disk subsystem must be stopped on the node(s) you are deleting. Otherwise, the results may be unpredictable. For more information, see RSCT for AIX 5L Managing Shared Disks . You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to RSCT Administration Guide.
Examples
To delete virtual shared disk node information for nodes 3 and 6, enter:
vsdelnode 3 6
Location
/opt/rsct/vsd/bin/vsdelnode
Related Information
Commands: vsdatalst, vsdnode
69
Syntax
vsdelvg [f] global_group_name ...
Description
Use this command to remove virtual shared disk global volume group information. If any virtual shared disks are defined on a global volume group, the vsdelvg command is unsuccessful unless f is specified. If f is specified, any such virtual shared disks must be unconfigured and in the defined state on all the virtual shared disk nodes to be deleted. You can use the System Management Interface Tool (SMIT) to run the vsdelvg command. To use SMIT, enter:
smit delete_vsd
and select the Delete Virtual Shared Disk Global Volume Group Information option.
Flags
f Forces the removal of any virtual shared disks defined on this global volume group.
Parameters
global_group_name Specifies the volume group that you no longer want to be global to the system.
Security
You must have root authority to run this command.
Exit Status
0 nonzero Indicates the successful completion of the command. Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
To remove the global volume group vg1n1, enter:
vsdelvg vg1n1
Location
/opt/rsct/vsd/bin/vsdelvg
Related Information
Commands: undefvsd, vsdatalst, vsdvg
70
Syntax
vsdnode node_number... adapter_name min_buddy_buffer_size max_buddy_buffer_size max_buddy_buffers vsd_max_ip_msg_size [cluster_name]
Description
Use this command to make the specified nodes virtual shared disk nodes and to assign their virtual shared disk operational parameters. If this information is the same for all nodes, run this command once. If the information is different for the nodes, run this command once for each block of nodes that should have the same virtual shared disk information. You can use the System Management Interface Tool (SMIT) to run the vsdnode command. To use SMIT, enter:
smit vsd_data
Flags
f Forces the removal of any virtual shared disks defined on this global volume group.
Parameters
node_number Specifies the node or nodes whose virtual shared disk information is to be set. The value you specify for node_number must match a valid RSCT remote peer domain node number.
adapter_name Specifies the adapter name to be used for virtual shared disk communications for the nodes specified. The adapter name must already be defined to the nodes. Note that the nodes involved in virtual shared disk support must be fully connected so that proper communications can take place. Use ml0 to specify that the virtual shared disk device driver transmits data requests over the SP Switch. The ml0 adapter will be used the next time the virtual shared disk device driver is loaded. min_buddy_buffer_size Specifies the smallest buddy buffer a server uses to satisfy a remote request to a virtual shared disk. This value must be a power of 2 and greater than or equal to 4096. The suggested value is 4096 (4 KB). For a 512 byte request, 4 KB is excessive. However, recall that a buddy buffer is only used for the short period of time while a remote request is being processed at the server node. max_buddy_buffer_size Specifies the largest buddy buffer a server uses to satisfy a remote noncached request. This value must be a power of 2 and greater than or equal to the min_buddy_buffer_size. The suggested value is 262144 (256 KB). This value depends on the I/O request size of applications using the virtual shared disks and the network used by the virtual shared disk software. max_buddy_buffers Specifies the number of max_buddy_buffer_size buffers to allocate. The virtual shared disk
Alphabetical Listing of Commands
71
device driver will have an initial size when first loaded, and then will dynamically allocate and reclaim additional space as needed. The suggested value is 2000 256 KB buffers. Buddy buffers are only used on the servers. On client nodes you may want to set max_buddy_buffers to 1. Note: The statvsd command will indicate if remote requests are queueing waiting for buddy buffers. vsd_max_ip_msg_size Specifies the maximum message size in bytes for virtual shared disks. This value must not be greater than the maximum transmission unit (MTU) size of the network. The recommended values are: v 61440 (60KB) for a switch v 8192 (8KB) for jumbo frame Ethernet v 1024 (1KB) for 1500-byte MTU Ethernet cluster_name A cluster name must be specified for server nodes that will be serving concurrently accessed shared disks. The cluster name can be any user provided name. A node can only belong to one cluster. For example, when you have a concurrent access environment, the two servers for the CVSD must both specify the same cluster name. Note: The cluster_name is required only for SSA (Serial Storage Architecture) disks.
Security
You must have root authority to run this command.
Restrictions
The node specified on this command must already belong to a peer domain, and you must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to RSCT Administration Guide.
Examples
The following example defines information for a switch network and nodes 1 through 8.
vsdnode 1 2 3 4 5 6 7 8 ml0 4096 262144 128 61440
Location
/opt/rsct/vsd/bin/vsdnode
Related Information
Commands: updatevsdnode, vsdatalst, vsdelnode
Syntax
vsdsklst [v] [d] {a | n node_number[, node_number2, ...]}
72
Description
Use this command to check disk utilization across a peer domain.
Flags
v d a Displays only disk utilization information about volume groups and the virtual shared disks associated with them. Displays only disk utilization information about volume groups and the physical disks associated with them. Displays specified information for all nodes in the system or system partition.
n node_number Lists one or more node numbers for which information is to be displayed.
Parameters
node_number Specifies the node or nodes whose virtual shared disk information is to be set. The value you specify for node_number must match a valid RSCT remote peer domain node number.
adapter_name Specifies the adapter name to be used for virtual shared disk communications for the nodes specified. The adapter name must already be defined to the nodes. Note that the nodes involved in virtual shared disk support must be fully connected so that proper communications can take place. Use ml0 to specify that the virtual shared disk device driver transmits data requests over the SP Switch. The ml0 adapter will be used the next time the virtual shared disk device driver is loaded. min_buddy_buffer_size Specifies the smallest buddy buffer a server uses to satisfy a remote request to a virtual shared disk. This value must be a power of 2 and greater than or equal to 4096. The suggested value is 4096 (4 KB). For a 512 byte request, 4KB is excessive. However, recall that a buddy buffer is only used for the short period of time while a remote request is being processed at the server node. max_buddy_buffer_size Specifies the largest buddy buffer a server uses to satisfy a remote noncached request. This value must be a power of 2 and greater than or equal to the min_buddy_buffer_size. The suggested value is 262144 (256 KB). This value depends on the I/O request size of applications using the virtual shared disks and the network used by the virtual shared disk software. max_buddy_buffers Specifies the number of max_buddy_buffer_size buffers to allocate. The virtual shared disk device driver will have an initial size when first loaded, and then will dynamically allocate and reclaim additional space as needed. The suggested value is 2000 256KB buffers. Buddy buffers are only used on the servers. On client nodes you may want to set max_buddy_buffers to 1. Note: The statvsd command will indicate if remote requests are queueing waiting for buddy buffers. vsd_max_ip_msg_size Specifies the maximum message size in bytes for virtual shared disks. This value must not be greater than the maximum transmission unit (MTU) size of the network. The recommended values are: v 61440 (60KB) for a switch v 8192 (8KB) for jumbo frame Ethernet
Alphabetical Listing of Commands
73
v 1024 (1KB) for 1500-byte MTU Ethernet cluster_name A cluster name must be specified for server nodes that will be serving concurrently accessed shared disks. The cluster name can be any user provided name. A node can only belong to one cluster. For example, when you have a concurrent access environment, the two servers for the CVSD must both specify the same cluster name. Note: The cluster_name is required only for SSA (Serial Storage Architecture) disks.
Security
You must have root authority to run this command.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to RSCT Administration Guide.
Examples
This command:
vsdsklst -dv -a
displays the following information on a system that has volume groups and virtual shared disks defined on nodes 1 and 2.
c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n12.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: c164n11.ppd.pok.ibm.com: Node Number:2; Node Name:c164n12.ppd.pok.ibm.com Volume group:rootvg; Partition Size:32; Total:271; Free:168 Physical Disk:hdisk0; Total:271; Free:168 Volume group:testvg is not varied on. Physical Disk:hdisk5; Volume group:test1vg; Partition Size:4; Total:537; Free:534 Physical Disk:hdisk2; Total:537; Free:534 VSD Name:vsd1n2[testnewlv21n2]; Size:1 VSD Name:vsd2n2[testlv1n2]; Size:346112.25 VSD Name:vsd3n2[testlv2n2]; Size:346112.25 Volume group:vg1 is not varied on. Physical Disk:hdisk9; Volume group:sharkvg is not varied on. Physical Disk:hdisk7; Physical Disk:hdisk10; Volume group:bdhclvg; Partition Size:32; Total:134; Free:102 Physical Disk:hdisk13; Total:134; Free:102 Volume group:gpfs0vg; Partition Size:8; Total:536; Free:0 Physical Disk:hdisk12; Total:536; Free:0 VSD Name:gpfs0vsd[gpfs0lv]; Size:352256.75 Not allocated physical disks: Physical disk:hdisk1 Physical disk:hdisk3 Physical disk:hdisk4 Physical disk:hdisk6 Physical disk:hdisk11 Physical disk:hdisk15 Node Number:1; Node Name:c164n11.ppd.pok.ibm.com Volume group:rootvg; Partition Size:32; Total:271; Free:172 Physical Disk:hdisk0; Total:271; Free:172 Volume group:bdhclvg; Partition Size:32; Total:134; Free:102 Physical Disk:hdisk9; Total:134; Free:102 VSD Name:bdhcvsd1n1[lvbdhcvsd1n1]; Size:45056 Volume group:testvg; Partition Size:16; Total:134; Free:70 Physical Disk:hdisk13; Total:134; Free:70
74
Not allocated physical disks: Physical disk:hdisk1 Physical disk:hdisk2 Physical disk:hdisk3
Location
/opt/rsct/vsd/bin/vsdsklst
Related Information
Commands: vsdatalst
Syntax
vsdvg [g global_volume_group ] {l server_list local_group_name | local_group_name primary_node [secondary node [eio_recovery]]}
Description
Use this command to define volume groups for use by the Virtual shared disk subsystem. This is done by specifying the local volume group name, the node on which it resides, and the name by which the volume group will be known throughout the cluster. You can use the System Management Interface Tool (SMIT) to run the vsdvg command. To use SMIT, enter the following command and select the Virtual Shared Disk Global Volume Group Information option:
smit vsd_data
Flags
g global_volume_group Specifies a unique name for the new global volume group. This name must be unique across the system partition. It should be unique across the SP, to avoid any naming conflicts during future system partitioning operations. The suggested naming convention is vgxxnyy, where yy is the node number, and xx uniquely numbers the volume groups on that node. If this is not specified, the local group name is used for the global name. The length of the name must be less than or equal to 31 characters. l server_list Define the list of servers for CVSD. More than one server indicates the global_volume_group is a concurrent volume group.
Parameters
local_group_name Specifies the name of a volume group that you want to indicate as being used for virtual shared disks. This name is local to the host upon which it resides. The length of the name must be less than or equal to 15 characters. primary_node Specifies the primary server node number on which the volume group resides. The length of the name must be less than or equal to 31 characters.
75
secondary_node Specifies the secondary server node number on which the volume group resides. The length of the name must be less than or equal to 31 characters. eio_recovery Specifies how the Recoverable virtual shared disk subsystem will respond to EIO errors. If eio_recovery is set to the value 1 (the default), an EIO error will cause the Recoverable virtual shared disk system to flip the current primary node and the secondary node and perform one more retry on the new primary node.
Security
You must have root authority to run this command.
Exit Status
0 nonzero Indicates the successful completion of the command. Indicates that an error occurred.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
1. The following example defines gpfs1gvg as a virtual shared disk global volume group with the local volume group gpfs1vg accessed from node1 as the primary_node and node2 as the secondary_node.
vsdvg -g gpfs1gvg gpfs1vg 1 2
2. The following example defines gpfs3gvg as a virtual shared disk global volume group with the local volume group gpfs3vg concurrently accessed from node1 and node2.
vsdvg -g gpfs3gvg -l 1:2 gpfs3vg
Location
/opt/rsct/vsd/bin/vsdvg
Related Information
Commands: updatevsdvg, vsdelvg
Syntax
vsdvgts [a] [ volgrp]
76
Description
Use this command to update the timestamp that the Recoverable virtual shared disk subsystem uses to determine if a twin-tailed volume group has changed. When the subsystem detects a change, the recovery scripts export the volume group and then import the volume group. This command can be used to avoid exporting the volume group and then importing the volume group during recovery in situations where the export and import operations are not really necessary. This command should be used very carefully.
Flags
a Specifies that the timestamps for this volume group for both primary and secondary nodes should be updated. If this flag is not specified, the timestamp is updated on the local node only.
Parameters
volgrp Specifies a volume group. If this operand is not specified, the timestamps for all the volume groups on this node are updated.
Security
You must have root authority to run this command.
Exit Status
0 1 Indicates the successful completion of the command. Indicates that the program was unable to read one or more timestamps.
Restrictions
You must issue this command from a node that is online in the peer domain. To bring a peer domain online, use the startrpdomain command. To bring a particular node online in an existing peer domain, use the startrpnode command. For more information on creating and administering an RSCT peer domain, refer to the RSCT: Administration Guide.
Standard Output
Current RVSD subsystem run level.
Examples
To update the timestamp associated with the virtual shared disk volume group vsdvg1 for just this node, enter:
vsdvgts vsdvg1
Location
/usr/lpp/vsd/bin/vsdvgts
Related Information
Commands: updatevsdvg, vsdelvg
77
w Command Purpose
Prints a summary of current system activity.
Syntax
w [ -h ] [ -u ] [ -w ] [ -l | -s [ -X ] [ User ]
Description
The w command prints a summary of the current activity on the system. The summary includes the following:
User tty login@ idle JCPU PCPU What Who is logged on. Name of the tty the user is on. Time of day the user logged on. Number of minutes since a program last attempted to read from the terminal. System unit time used by all processes and their children on that terminal. System unit time used by the currently active process. Name and arguments of the current process.
The heading line of the summary shows the current time of day, how long the system has been up, the number of users logged into the system, and the load average. The load average is the number of runnable processes over the preceding 1-, 5-, 15-minute intervals. The following examples show the different formats used for the login time field:
10:25am Tue10am 12Mar91 The user logged in within the last 24 hours. The user logged in between 24 hours and 7 days. The user logged in more than 7 days ago.
If a user name is specified with the User parameter, the output is restricted to that user.
Flags
-h -l -s -u Suppresses the heading. Prints the summary in long form. This is the default. Prints the summary in short form. In the short form, the tty is abbreviated, and the login time, system unit time, and command arguments are omitted. Prints the time of day, amount of time since last system startup, number of users logged on, and number of processes running. This is the default. Specifying the -u flag without specifying the -w or -h flag is equivalent to the uptime command. The equivalent of specifying the -u and -l flags, which is the default. Prints all available characters of each user name instead of truncating to the first 8 characters. The user name is also moved to the last column of the output.
-w -X
Files
/etc/utmp Contains the list of users.
Related Information
The who command, finger command, ps command, uptime command.
78
Syntax
wait [ ProcessID ... ]
Description
The wait command waits (pauses execution) until the process ID specified by the ProcessID variable terminates. If the ProcessID variable is not specified, the wait command waits until all process IDs known to the invoking shell have terminated and exit with a 0 exit status. If a ProcessID variable represents an unknown process ID, the wait command treats them as known process IDs that exited with exit status 127. The wait command exits with the exitstatus of the last process ID specified by the ProcessID variable.
Flag
ProcessID Specifies an unsigned decimal integer process ID of a command, which the wait command waits on until termination.
Exit Status
If one or more operands were specified, all of the operands terminated or were not known by the invoking shell, and the status of the last operand specified is known, then the exit status of the wait command is the same as the exit status information of the command indicated by the last operand specified. If the process terminated abnormally due to the receipt of a signal, then the exit status is greater than 128 and distinct from the exit status information generated by other signals, although the exact status value is unspecified (see the kill -l command option). Otherwise, the wait command exits with one of the following values:
0 1-126 127 The wait command was invoked with no operands and all process IDs known by the invoking shell have terminated. The wait command detected an error. The command identified by the last ProcessID operand specified is unknown.
File
/usr/bin/wait Contains the wait command.
Related Information
The shutdown command, sleep command, wall command. The alarm subroutine, pause subroutine, sigaction subroutine. Shells in Operating system and device management.
79
Syntax
wall [ -a ] [ -g Group ][ Message ]
Description
The wall command writes a message to all users that are logged in. If the Message parameter is not specified, the wall command reads the message from standard input until it reaches an end-of-file character. The message is then sent to all logged in users. The following heading precedes the message:
Broadcast message from user@node (tty) at hh:mm:ss ...
hh:mm:ss represents the hours, minutes, and seconds when the message was sent. To override any protections set up by other users, you must operate with root user authority. Typically, the root user uses the wall command to warn all other users of an impending system shutdown. Note: v The wall command only sends messages to the local node. v Messages can contain multibyte characters.
Flags
-a Performs the default operation. This flag is provided for System V compatibility. It broadcast messages to the console and pseudo-terminals. Broadcasts to a specified group only.
-g Group
Files
/dev/tty Specifies a device.
Related Information
The mesg command, su command, write command.
Syntax
wallevent [-c] [-h]
80
Description
The wallevent script broadcasts a message on an event or a rearm event to all users who are currently logged in to the host when the event or the rearm event occurs. Event or rearm event information is captured and posted by the event response resource manager in environment variables that are generated by the event response resource manager when an event or a rearm event occurs. This script can be used as an action that is run by an event response resource. It can also be used as a template to create other user-defined actions. The language in which the messages of the wallevent script are returned depend on the locale settings. Messages are displayed in this format at the consoles of all users who are logged in when an event or a rearm event occurs for which this script is a response action :
Broadcast message from user@host (tty) at hh:mm:ss... severity event_type occurred for Condition condition_name on the resource resource_name of resource_class_name at hh:mm:ss mm/dd/yy The resource was monitored on node_name and resided on {node_names}.
Event information is returned about the ERRM environment variables, and also includes the following: Local Time Time when the event or rearm event is observed. The actual environment variable supplied by ERRM is ERRM_TIME. This value is localized and converted to readable form before being displayed. This script captures the environment variable values and uses the wall command to write a message to the currently logged-in user consoles.
Flags
c h Instructs wallevent to broadcast the ERRM_VALUE of an ERRM event. When the -c flag is specified, wallevent broadcasts the SNMP trap message. Writes the scripts usage statement to standard output.
Parameters
log_file Specifies the name of the file where event information is logged. An absolute path for the log_file parameter should be specified. The log_file is treated as a circular log and has a fixed size of 64KB. When log_file is full, new entries are written over the oldest existing entries. If log_file already exists, event information is appended to it. If log_file does not exist, it is created so that event information can be written to it.
Exit Status
0 1 Script has run successfully. Error occurred when the script was run.
Restrictions
1. This script must be run on the node where the ERRM is running. 2. The wall command is used to write a message to currently logged-in user consoles. Refer to the wall man page for more information on the wall command.
81
Standard Output
When the -h flag is specified, the scripts usage statement is written to standard output.
Examples
1. Suppose the wallevent script is a predefined action in the critical-notification response, which is associated with the /var space used condition on the resource /var. The threshold of the event expression defined for this condition is met, and an event occurs. The critical-notification response takes place, and wallevent is run. The following message is displayed on the consoles of all users who are logged in:
Broadcast message from joe@neverland.com (pts/6) at 18:42:03... Critical event occurred for Condition /var space used on the resource /var of filesys of IBM.FileSystem at 18:41:50 03/28/02 The resource was monitored on c174n05 and resided on {c174n05}.
2. When a rearm event occurs for the /var space used condition on the resource /var, the following message is displayed on the consoles of all users who are logged in:
Broadcast message from joe@neverland.com (pts/6) at 18:42:03... Critical rearm event occurred for Condition /var space used on the resource /var of filesys of IBM.FileSystem at 18:41:50 03/28/02 The resource was monitored on c174n05 and resided on {c174n05}.
Location
/usr/sbin/rsct/bin/wallevent
Related Information
Commands: wall, ewallevent
Syntax
watch [ -e Events ] [ -o File ] Command [ Parameter ... ]
Description
The watch command permits the root user or a member of the audit group to observe the actions of a program that is thought to be untrustworthy. The watch command executes the program you specify with the Command parameter, with or without any Parameter fields, and records all audit events or the audit events you specify with the -e flag. The watch command observes all the processes that are created while the program runs, including any child process. The watch command continues until all processes exit, including the process it created, to observe all the events that occur. The watch command formats the audit records and writes them to standard output or to a file you specify with the -o flag. For the watch command to work, the auditing subsystem must not have been configured and enabled.
82
Flags
-e Events -o File Specifies the events to be audited. The Events parameter is a comma-separated list of audit events that are defined in the /etc/security/audit/events file. The default value is all events. Specifies the path name of the output file. If the -o flag is not used, output is written to standard output.
Security
Access Control: This command should grant execute (x) access to the root user and members of the audit group. The command should be setuid to the root user so it can access other audit subsystem commands and files, and have the trusted computing base attribute. Files Accessed:
Mode r x x x File /dev/audit /usr/sbin/auditstream /usr/sbin/auditselect /usr/sbin/auditpr
Examples
1. To watch all files opened by the bar command, enter:
watch -e FILE_Open /usr/lpp/foo/bar -x
This command opens the audit device and executes the /usr/lpp/foo/bar command. It then reads all records and selects and formats those with the event type of FILE_Open. 2. To watch the installation of the xyzproduct program, that may be untrustworthy, enter:
watch /usr/sbin/installp xyzproduct
This command opens the audit device and executes the /usr/sbin/installp command. It then reads all records and formats them.
Files
/usr/sbin/watch /dev/audit Contains the watch command. Specifies the audit device from which the audit records are read.
Related Information
The audit command, auditbin daemon, auditcat command, auditpr command, auditselect command, auditstream command, login command, logout command, su command. The auditread subroutine. For more information about the identification and authentication of users, discretionary access control, the trusted computing base, and auditing, refer to Security . For more information about auditing, refer to Auditing overview in Security.
83
wc Command Purpose
Counts the number of lines, words, bytes, or characters in a file.
Syntax
wc [ -c | -m ] [ -l ] [ -w ] [ File ... ] wc -k [ -c ] [ -l ] [ -w ] [ File ... ]
Description
By default, the wc command counts the number of lines, words, and bytes in the files specified by the File parameter. The command writes the number of newline characters, words, and bytes to the standard output and keeps a total count for all named files. When you use the File parameter, the wc command displays the file names as well as the requested counts. If you do not specify a file name for the File parameter, the wc command uses standard input. The wc command is affected by the LANG, LC_ALL, LC_CTYPE, and LC_MESSAGES environment variables. The wc command considers a word to be a string of characters of non-zero length which are delimited by a white space (for example SPACE , TAB).
Flags
-c -k Counts bytes unless the -k flag is specified. If the -k flag is specified, the wc command counts characters. Counts characters. Specifying the -k flag is equivalent to specifying the -klwc flag. If you use the -k flag with other flags, then you must include the -c flag. Otherwise, the -k flag is ignored. For more information, see examples 4 and 5. Note: This flag is to be withdrawn in a future release. Counts lines. Counts characters. This flag cannot be used with the -c flag. Counts words. A word is defined as a string of characters delimited by spaces, tabs, or newline characters.
-l -m -w
Note: If no flag is specified, wc by default counts the lines, words, bytes in a file or from standard input.
Exit Status
This command returns the following exit values:
0 >0 The command ran successfully. An error occurred.
Examples
1. To display the line, word, and byte counts of a file, enter:
wc chap1
84
The wc command displays the number of lines, words, and bytes in the chap1 file. 2. To display only byte and word counts, enter:
wc -cw chap*
The wc command displays the number of bytes and words in each file that begins with chap. The command also displays the total number of bytes and words in these files. 3. To display the line, word, and character counts of a file, enter:
wc -k chap1
The wc command displays the number of lines, words, and characters in the chap1 file. 4. To display the word and character counts of a file, enter:
wc -kcw chap1
The wc command displays the number of characters and words in the chap1 file. 5. To use the wc command on standard input, enter:
wc -klw
The wc command displays the number of lines and words in standard input. The -k flag is ignored. 6. To display the character counts of a file, enter:
wc -m chap1
The wc command displays the number of characters in the chap1 file. 7. To use the wc command on standard input, enter:
wc -mlw
The wc command displays the number of lines, words, and characters in standard input.
Files
/usr/bin/wc, /bin/wc /usr/ucb/wc Contains the wc command. Contains the symbolic link to the wc command.
Related Information
Files and Input and output redirection in Operating system and device management. Understanding Locale Environment Variables in AIX 5L Version 5.3 National Language Support Guide and Reference.
Syntax
what [ -s] Pathname/File.
Description
The what command searches specified files for all occurrences of the pattern that the get command substitutes for the @(#) keyletter (see the get or prs command for a description of identification
85
keywords). By convention, the value substituted is @(#) (double quotation marks, at sign, left parenthesis, pound sign, right parenthesis, double quotation marks). If no file is specified, the what command reads from standard input. The what command writes to standard output whatever follows the pattern, up to but not including the first double quotation mark (), greater than symbol (>), new-line character, backslash (\), or null character. The what command should be used in conjunction with the get command, which automatically inserts the identifying information. You can also use the what command on files where the information is inserted manually. The what command accommodates the compiler inserted command line options in a binary file. The command line options saved in a binary file by AIX compilers may contain the backslash (\), the greater than symbol (>), or the double quotation mark (") within the macro definitions. The what command behaves in the following manner to write the command line options saved by the compiler. At the start of a line if the pattern @(#) is followed by "opt" and is with or without a blank space (" ") in between, then the what command writes the character till \n that is the end of a line. For example, v For C and FORTRAN compilers, use @(#) opt (.....). v For C++ AIX compiler, use @(#) opt (.....). The whole line is printed after "@(#)". Note: The what command may fail to find SCCS identification strings in executable files.
Flags
-s Searches for only the first occurrence of the @(#) pattern.
Exit Status
This command returns the following exit values:
0 1 Any matches were found. Otherwise.
Examples
Suppose that the file test.c contains a C program that includes the line:
char ident[ ] = "@(#)Test Program";
displays:
test.c: Test Program test.o: Test Program
Note: The full file path names usr/bin/test.c and user/bin/test.o are required if the files are not in the current directory.
86
Files
/usr/bin/what Contains the what command.
Related Information
The get command, sccshelp command. The sccsfile file format. List of SCCS Commands in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs. Source Code Control System (SCCS) Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs.
Syntax
whatis [ -M PathName ] Command ...
Description
The whatis command looks up a given command, system call, library function, or special file name, as specified by the Command parameter, from a database you create using the catman -w command. The whatis command displays the header line from the manual section. You can then issue the man command to obtain additional information. The whatis command is equivalent to using the man -f command. Note: When the /usr/share/man/whatis database is built from the HTML library using the catman -w command, section 3 is equivalent to section 2 or 3. See the man command for further explanation of sections.
Flags
-M PathName Specifies an alternative search path. The search path is specified by the PathName parameter, and is a colon-separated list of directories in which the whatis command expects to find the standard manual subdirectories.
Examples
To find out what the ls command does, enter:
whatis ls
87
Files
/usr/share/man/whatis Contains the whatis database.
Related Information
The apropos command, catman command, ls command, man command.
Syntax
whatnow [ { -draftfolder +folder | -nodraftfolder | file } { -draftmessage message | file } ] [ -editor editor | -noedit ] [ -prompt string ]
Description
The whatnow command provides an interface for the disposition of messages. By default, the interface operates on the current draft message. When you enter the whatnow command, the system places you in the interface and returns the following prompt:
What now?
Within the interface you can manipulate message drafts using the whatnow subcommands. To see a listing of the subcommands, press the Enter key at the What now? prompt. To exit the interface, press q. If you do not specify the -draftfolder flag or if the Draft-Folder: entry in the $HOME/.mh_profile file is undefined, the whatnow command searches your MH directory for a draft file. Specifying a message after the -draftfolder +folder flag is the same as specifying the -draftmessage flag. To change the default editor for the whatnow command, use the -editor flag or define the Editor: entry in the UserMhDirectory/.mh_profile file. Note: The comp, dist, forw, or repl commands use the same interface as the whatnow command.
Flags
-draftfolder +folder Specifies the folder containing the message. By default, the system uses the UserMhDirectory/draft file. Specifying a message after the -draftfolder +folder is the same as using the -draftmessage flag. Specifies the draft message. Specifies that the value of the editor variable is the initial editor for composing or revising the message. Lists the command syntax, available switches (toggles), and version information. Note: For MH, the name of this flag must be fully spelled out. User selected draft file.
file
88
message
Specifies the message. Use the following references to specify messages: Number Number of the message. cur or . (period) Current message. This is the default. first last next prev First message in a folder. Last message in a folder. Message following the current message. Message preceding the current message.
-nodraftfolder Places the draft in the UserMhDirectory/draft file. -noedit Suppresses the initial edit. -prompt string Uses the specified string as the prompt. The default string is What now?.
whatnow Subcommands
You can use the whatnow subcommands to edit the message, direct the disposition of the message, or end the processing of the whatnow command.
display [flags] Displays the message being redistributed or replied to. You can specify any flags parameter that is valid for the listing program. (Use the lproc: entry in the $HOME/.mh_profile file to set a default listing program.) If you specify flags that are invalid for the listing program, the whatnow command does not pass the path name of the draft. Specifies with the commandstring parameter an editor for the message. You can specify the editor and any valid flags to that editor. If you do not specify an editor, the whatnow command uses the editor specified by the Editor: entry in your UserMhDirectory/.mh_profile file. If your Editor: entry is undefined, the whatnow command starts the editor used in the previous editing session. Displays the draft. You can specify any flags parameter that is valid for the listing program. (To specify a default listing program, set a default lproc: entry in the $HOME/.mh_profile file.) If you specify any flags that are invalid for the listing program, the whatnow command does not pass the path name of the draft. Sends the message in the background. You can specify any valid flag for the send command. Ends the whatnow session. If you specify the -delete flag, the whatnow command deletes the draft. Otherwise, the whatnow command stores the draft. Files the draft in the specified folder and supplies a new draft having the previously specified form. You can specify any flags parameter that is valid for the command serving as the fileproc. (You can set a default fileproc: entry in the $HOME/.mh_profile file.) Sends the message. You can specify any valid flags for the send command. Displays the addresses to which the message would be sent. You can specify any valid flags for the whom command.
edit [commandstring]
list [flags]
89
Profile Entries
The following entries are entered in the UserMhDirectory/.mh_profile file:
Draft-Folder: Editor: fileproc: LastEditor-next: lproc: Path: sendproc: whomproc: Sets the default folder for drafts. Sets the default editor. Specifies the program used to refile messages. Specifies the editor used after exiting the editor specified by the LastEditor variable. Specifies the program used to list the contents of a message. Specifies the UserMhDirectory. Specifies the program used to send messages. Specifies the program used to determine the users to whom a message would be sent.
Examples
1. To display the original message when you are replying to a message, enter the following at the What now? prompt: display The system displays the original message. If you enter the display subcommand from a command other than the dist or repl command, you will receive a system message stating that there is no alternate message to display. 2. To edit the draft message with the vi editor, enter the following at the What now? prompt: edit vi 3. To edit the draft message with the default editor specified in your .mh_profile file, enter the following at the What now? prompt: edit 4. To list the contents of the draft message you have composed, enter the following at the What now? prompt: list The draft message you are composing is displayed. 5. To send the draft message in the background and get a shell prompt immediately, enter the following at the What now? prompt: push The draft message is sent and you immediately receive the shell prompt. 6. To quit composing a draft message and save it to a file so that you can later finish composing the message, enter the following at the What now? prompt: quit The system responds with a message similar to the following.
whatnow: draft left on /home/dale/Mail/draft
In this example, user dales draft message is saved to the /home/dale/Mail/draft file. 7. To quit composing a draft message and delete the message, enter the following at the What now? prompt:
90
quit -delete The shell prompt is displayed when the draft message is deleted. 8. To file the draft message you are composing before you send it, enter the following at the What now? prompt: refile +tmp The system responds with a message similar to the following:
Create folder "home/dale/Mail/tmp"?
In this example, if you answer yes, the draft message is filed in user dales folder tmp. 9. To send the draft message you have composed, enter the following at the What now? prompt: send The shell prompt is displayed when the message is sent. 10. To verify that all addresses in the draft message are recognized by the mail delivery system, enter the following at the What now? prompt: whom The system responds with a message similar to the following:
jeanne... User unknown dale@venus... deliverable
In this example, the mail delivery system recognized dale@venus as a correct address, but did not recognize jeanne as a correct address.
Files
$HOME/.mh_profile UserMhDirectory/draft /usr/bin/whatnow Specifies the MH user profile. Contains the current message draft. Contains the whatnow command.
Related Information
The comp command, dist command, forw command, prompter command, refile command, repl command, rmm command, scan command, send command, whom command. The mh_alias file format, mh_profile file format. Mail applications in Networks and communication management.
Syntax
whereis [ -s ] [ -b ] [ -m ] [ -u ] [ { { -S | -B | -M } Directory ... }... -f ] File ...
91
Description
The whereis command locates the source, binary, and manuals sections for specified files. The supplied names are first stripped of leading path name components and any (single) trailing extension of the form .ext (for example, .c). Prefixes of s. resulting from use of the Source Code Control System (see SCCS) are also dealt with. The command then attempts to find the desired program from a list of standard locations. A usage message is returned if a bad option is entered. In other cases, no diagnostics are provided.
Flags
If any of the -b, -s, -m or -u flags are given, the whereis command searches only for binary, source, manual, or unusual sections respectively (or any two thereof).
-b -m -s -u Searches for binary sections of a file. Searches for manual sections of a file. Searches for source sections of a file. Searches for unusual files. A file is said to be unusual if it does not have one entry of each requested type. Entering whereis -m -u * asks for those files in the current directory which have no documentation.
The -B, -M, and -S flags can be used to change or otherwise limit the places where the whereis command searches. Since the program uses the chdir subroutine to run faster, path names given with the -M, -S and -B flag directory list must be full; for example, they must begin with a / (slash).
-B -M -S -f Like -b, but adds a directory to search. Change or limit the places where the whereis command searches for binaries. Like -m, but adds a directory to search. Change or limit the places where the whereis command searches for manual sections. Like -s, but adds a directory to search. Change or limit the places where the whereis command searches for sources Terminates the last -M, -S or -B directory list and signal the start of file names.
Examples
To find all of the files in the /usr/ucb directory that either are not documented in the /usr/man/man1 directory or do not have source in the /usr/src/cmd directory, enter:
cd /usr/ucb whereis -u -M /usr/man/man1 -S /usr/src/cmd -f *
Files
/usr/share/man/* /sbin, /etc, /usr/{lib,bin,ucb,lpp} /usr/src/* Directories containing manual files. Directories containing binary files. Directories containing source code files.
Related Information
The chdir subroutine.
92
Syntax
which [ Name ... ]
Description
The which command takes a list of program names and looks for the files that run when these names are given as commands. The which command expands each argument, if it is aliased, and searches for it along the users path. The aliases and paths are taken from the .cshrc file in the users home directory. If the .cshrc file does not exist, or if the path is not defined in the .cshrc file, the which command uses the path defined in the users environment. A diagnostic is given if a name is aliased to more than a single word or if an executable file with the argument name is not found in the path. In the Korn shell, you can use the whence command to produce a more verbose report. See Korn shell or POSIX shell built-in commands in Operating system and device management for more information on the whence command.
Examples
To find the executable file associated with a command name of lookup:
which lookup
Files
$HOME/.cshrc Contains the source of aliases and path values.
Related Information
The csh command, find command, file command, ksh command, sh command, whereis command. Shells in Operating system and device management describes shells, the different types, and how they affect the way commands are interpreted. Commands in Operating system and device management.
Syntax
which_fileset [ File ]
Description
The which_fileset command searches the /usr/lpp/bos/AIX_file_list file for a specified file name or command name, and prints out the name of the fileset that the file or command is shipped in. The /usr/lpp/bos/AIX_file_list file is large and not installed automatically. You must install the bos.content_list fileset to receive this file. The File parameter can be the command name, the full path name, or a regular expression search pattern.
93
Examples
1. To display which fileset the dbx command is shipped in, enter:
which_fileset dbx
2. To display all commands and paths containing the sendmail string, enter:
Syntax
who [ -a | -b -d -i -l -m -p -q -r -s -t -u -w -A -H -T -X ] [ File ] who am { i | I }
94
Description
The who command displays information about all users currently on the local system. The following information is displayed: login name, tty, date and time of login. Typing who am i or who am I displays your login name, tty, date and time you logged in. If the user is logged in from a remote machine, then the host name of that machine is displayed as well. The who command can also display the elapsed time since line activity occurred, the process ID of the command interpreter (shell), logins, logoffs, restarts, and changes to the system clock, as well as other processes generated by the initialization process. The general output format of the who command is as follows:
Name [State] Line Time [Activity] [Pid] [Exit] (Hostname)
where:
Name State Line Time Activity Identifies the users login name. Indicates whether the line is writable by everyone (see the -T flag). Identifies the line name as found in the /dev directory. Represents the time when the user logged in. Represents the hours and minutes since activity last occurred on that users line. A . (dot) here indicates line activity within the last minute. If the line has been quiet more than 24 hours or has not been used since the last system startup, the entry is marked as old. Identifies the process ID of the users login shell. Identifies the process termination status (see the -d flag). For more information on the termination values, refer to the wait subroutine or to the /usr/include/sys/signal.h file. Identifies the exit status of ended processes (see the -d flag). Indicates the name of the machine the user is logged in from.
To obtain information, the who command usually examines the /etc/utmp file. If you specify another file with the File parameter, the who command examines that file instead. This new file is usually the /var/adm/wtmp or /etc/security/failedlogin file. If the File parameter specifies more than one file name, only the last file name will be used. Note: This command only identifies users on the local node.
Flags
-a -b -d Processes the /etc/utmp file or the named file with all information. Equivalent to specifying the -bdlprtTu flags. Indicates the most recent system startup time and date. Displays all processes that have expired without being regenerated by init. The exit field appears for dead processes and contains the termination and exit values (as returned by wait) of the dead process. (This flag is useful for determining why a process ended by looking at the error number returned by the application.) Lists any login process. Displays information about the current terminal only. The who -m command is equivalent to the who am i and who am I commands. Lists any active process that is currently active and has been previously generated by init. Prints a quick listing of users and the number of users on the local system. Indicates the current run-level of the process. Lists only the name, line, and time fields. This flag is the default; thus, the who and who -s commands are equivalent. Indicates the last change to the system clock by the root user using the date command. If the date command has not been run since system installation, the who -t command produces no output.
-l -m -p -q -r -s -t
95
-u or -i -A -H -T or -w
Displays the user name, tty, login time, line activity, and process ID of each current user. Displays all accounting entries in the /etc/utmp file. These entries are generated through the acctwtmp command. Displays a header (title). Displays the state of the tty and indicates who can write to that tty as follows: + Writable by anyone. Writable only by the root user or its owner.
-X
? Bad line encountered. Prints all available characters of each user name instead of truncating to the first 8 characters. The user name is also moved to the last column of the output.
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Examples
1. 1. To display information about who is using the local system node, type:
who
3. To display a history of logins, logouts, system startups, and system shutdowns, type:
who /var/adm/wtmp
5. To display any active process that is currently actively and has been previously generated by init, type: who -p
96
6. To process the /var/adm/wtmp file with the -bdlprtTu flags specified, type: who -a /var/adm/wtmp
old old old old old old old old old old old old old old old old old old old old old
Files
/etc/utmp /etc/security/failedlogin /var/adm/wtmp /usr/include/sys/signal.h Contains Contains Contains Contains user and accounting information. the history of all invalid logins. the history of all logins since the file was last created. a list of termination values.
Related Information
The date command, mesg command, whoami command, su command. The wait subroutine.
Syntax
whoami
Description
The whoami command displays your login name. Unlike using the command who and specifying am i, the whoami command also works when you have root authority since it does not examine the /etc/utmp file.
97
Files
/etc/passwd Contains user IDs.
Related Information
The who command.
Syntax
whodo [ -h ] [ -l ] [ -X ] [ User ]
Description
Prints information on all processes for a terminal, as well as the child processes. By default, the output generated by the command for each active logged user will contain name of the terminal, user ID, date login time. The output is headed by the date, time and machine name. This information is followed by a record of active processes associated with that user ID. Each record shows the terminal name, process-ID, CPU minutes and seconds used, and process name.
Flags
-h -l Suppress the heading that is printed on the output. Produce a long form of output. A summary of the current activity on the system is printed. The summary includes the following: User tty Who is logged on. Name of the tty the user is on.
login@ Time of day the user logged on. idle JCPU PCPU what Number of minutes since a program last attempted to read from the terminal. System unit time used by all processes and their children on that terminal. System unit time used by the currently active process. Name and parameters of the current process.
-X
The heading line of the summary shows the current time of day, how long the system has been up, the number of users logged into the system. Prints all available characters of each user name instead of truncating to the first 8 characters. The user name is also moved to the last column of the output.
Parameters
User Limits output to all sessions pertaining to the user specified with User. More than one user name cannot be specified at a time.
98
Exit Status
0 >0 The command completed successfully. An error occurred.
Examples
1. When the whodo command is invoked on host linguist without any flags or parameters, the output looks similar to the following:
Sun Jul 28 16:27:12 2002 linguist lft0 jeffg ? ? ? ? ? pts/0 pts/0 pts/0 ? ? pts/3 ? ? pts/2 pts/2 pts/2 ? ? pts/1 pts/1 ? ? 8:15 4136 3408 2072 17310 20904 22454 4360 25788 23672 27536 21508 23888 24384 24616 25002 26110 25276 27090 24232 23316 12566 21458 0:00 dtlogin 4:55 dtsession 4:37 dtwm 0:00 dtexec 5:53 dtterm 0:00 ksh 0:07 ksh 0:00 whodo 0:00 dtexec 0:00 dtterm 0:00 ksh 0:00 dtexec 2:49 dtterm 0:00 ksh 0:04 ksh 0:00 ksh 0:00 dtexec 0:31 dtterm 0:00 ksh 0:01 ksh 4:23 dtfile 1:35 dtfile
pts/0 jeffg 8:16 pts/0 22454 0:00 ksh pts/0 4360 0:07 ksh pts/0 25788 0:00 whodo pts/1 jeffg 17:8 pts/1 24232 pts/1 23316 0:00 ksh 0:01 ksh
pts/2 jeffg 17:20 pts/2 24616 0:00 ksh pts/2 25002 0:04 ksh pts/2 26110 0:00 ksh pts/3 root 16:26 pts/3 21508 0:00 ksh
2. The command whodo -l on the host linguist produces the following output:
04:33PM up 20 day(s), 22 hr(s), 51 mins(s) 5 user(s) User tty login@ idle JCPU PCPU what jeffg lft0 08Jul02 21day(s) /usr/sbin/getty /de jeffg pts/0 08Jul02 14:00 7 whodo -l jeffg pts/1 16Jul02 10day(s) 44 9 /usr/bin/ksh jeffg pts/2 12Jul02 11 8:39 4 /usr/bin/ksh root pts/3 04:26PM 7 -ksh
3.
The command whodo -lX on the host kq11 produces the following output:
12:50AM tty tty0 up 3 day(s), 1 hr(s), 41 mins(s) login@ idle JCPU Wed11PM 2day(s) 4 user(s) PCPU what -ksh User root
99
2day(s)
Files
/usr/sbin/whodo /etc/utmp Contains the whodo command. Contains the list of users.
Related Information
The ps command, who command.
Syntax
whois [ -h HostName ] [ . | ! ] [ * ] Name [ . . . ] whois ?
Description
The /usr/bin/whois command searches a user name directory and displays information about the user ID or nickname specified in the Name parameter. The whois command tries to reach ARPANET host internic.net where it examines a user-name database to obtain information. The whois command should be used only by users on ARPANET. Refer to RFC 812 for more complete information and recent changes to the whois command. Note: If your network is on a national network, such as ARPANET, the host name is hard-coded as internic.net. The Name [ . . . ] parameter represents the user ID, host name, network address, or nickname on which to perform a directory search. The whois command performs a wildcard search for any name that matches the string preceding the optional ... (three periods).
Flags
. ! * ? -h HostName Forces a name-only search for the name specified in the Name parameter. Displays help information for the nickname or handle ID specified in the Name parameter. Displays the entire membership list of a group or organization. If there are many members, this can take some time. Requests help from the ARPANET host. Specifies an alternative host name. The default host name on the ARPANET is internic.net. You can contact the other major ARPANET user-name database, nic.ddn.mil, by specifying the -h HostName flag.
Examples
1. To display information about ARPANET registered users by the name of Smith, enter:
whois Smith
2. To display information about ARPANET registered users that use the handle Hobo, enter:
100
whois !Hobo 3. To display information about ARPANET registered users with the name of John Smith, enter: whois .Smith, John 4. To display information about ARPANET registered users whose names or handles begin with the letters HEN, enter: whois HEN ... 5. To get help information for the whois command, enter: whois ?
Related Information
The who command. The named.conf file format. Communications and networks in Networks and communication management.
Syntax
whom [ -alias File ... ] [-nocheck | -check ] [ { -draftfolder +Folder | -nodraftholder | File }{ -draftmessage Message | -draftFile } ]
Description
The whom command does the following: v Expands the headers of a message into a set of addresses. v Lists the addresses of the proposed recipients of a message. v Verifies that the addresses are deliverable to the transport service. Note: The whom command does not guarantee that addresses listed as being deliverable will actually be delivered. A message can reside in a draft folder or in a file. To specify where a message resides, use the -draft, -draftfolder, or -draftmessage flag. If you do not specify the -draftfolder flag or if the Draft-Folder: entry in the $HOME/.mh_profile file is undefined, the whom command searches your MH directory for a draft file. Specifying a message after the -draftfolder +Folder flag is the same as specifying the -draftmessage flag.
Flags
-alias File -draft -draftfolder +Folder Specifies a file to search for mail aliases. By default, the system searches the /etc/mh/MailAliases file. Uses the header information in the UserMhDirectory/draft file if it exists. Uses the header information from the draft message in the specified folder. If you specify a draft folder that doesnt exist, the system creates one for you.
Alphabetical Listing of Commands
101
Uses the header information from the specified draft message. Lists the command syntax, available switches (toggles), and version information. Note: For MH, the name of this flag must be fully spelled out. Specifies the message draft. Use the following to specify messages: Number Number of the message. cur or . (period) Current message. This is the default. first last next First message in a folder. Last message in a folder. Message following the current message.
Message
-nodraftfolder
prev Message preceding the current message. Undoes the last occurrence of the -draftfolder +Folder flag.
Note: Two other flags, -check and -nocheck, are also available. These flags have no effect on how the whom command performs verification. The -check and -nocheck flags are provided for compatibility only.
Profile Entries
The following entries are entered in the UserMhDirectory/.mh_profile file:
Draft-Folder: postproc: Sets your default folder for drafts. Specifies the program used to post messages.
Examples
To list and verify the addresses of the proposed recipients of a message, enter the addressees and subject of the message at the respective prompt, as follows:
To: d77@nostromo Subject: a test
Files
$HOME/.mh_profile /usr/bin/whom Specifies the MH user profile. Contains the whom command.
102
Related Information
The ali command, post command, whatnow command. The mh_alias file format, mh_profile file format. Mail applications in Networks and communication management.
Syntax
wlmassign [ -s | -S ] [ -u | Class_Name ] [ PID_List ] [ -g Pgid_List ]
Description
The wlmassign command: v Assigns a set of processes specified by a list of process identifiers (pids) and/or process group identifiers (pgids) to a specified superclass or subclass or both, thus overriding the automatic class assignment or a prior manual assignment. v Cancels a previous manual assignment for the processes specified in pid_list or pgid_list. The wlmassign command allows to specify processes using a list of PIDs, a list of pgids, or both. The format of these lists is:
pid[,pid[,pid[...]]]
or
pgid[,pgid[,pgid[...]]]
The name of a valid superclass or subclass must be specified to manually assign the target processes to a class. If the target class is a superclass, each process is assigned to one of the subclasses of the specified superclass according to the assignment rules for the subclasses of this superclass. A manual assignment remains in effect (and a process remains in its manually assigned class) until: v The process terminates v Workload Management (WLM) is stopped. When WLM is restarted, the manual assignments in effect when WLM was stopped are lost. v The class the process has been assigned to is deleted v A new manual assignment overrides a prior one. v The manual assignment for the process is canceled using the -u flag. v The process calls the exec() routine. The name of a valid superclass or subclass must be specified to manually assign the target processes to a class. The assignment can be done or canceled at the superclass level, the subclass level or both. When a manual assignment is canceled for a process, or the process calls exec(), the process is then subject to automatic classification; if inheritance is enabled for the class that the process is in, it will remain in that class, otherwise the process will be reclassified according to the assignment rules. The interactions between automatic assignment (inheritance and rules), inheritance and manual assignment are detailed in the Workload management in Operating system and device management.
103
For a manual assignment: v If the Class_Name is the name of a superclass, the processes in the list are assigned to the superclass. The subclass is then determined, for each process, using the assignment rules for the subclasses of the target superclass. v If the class name is a subclass name (supername.subname), the processes by default are assigned to both the superclass and the subclass. The processes can be assigned to the superclass only by specifying the -S flag or the subclass only by specifying the -s flag.
wlmassign super1.sub2 -S pid1
is equivalent to:
wlmassign super1 pid1
To assign a process to a class or cancel a prior manual assignment, the user must have authority both on the process and on the target class. These constraints translate into the following: v The root user can assign any process to any class. v A user with administration privileges on the subclasses of a given superclass (that is, the user or group name matches the user or group names specified in the attributes adminuser and admingroup of the superclass) can manually reassign any process from one of the subclasses of this superclass to another subclass of the superclass. v Users can manually assign their own processes (same real or effective user ID) to a class, for which they have manual assignment privileges (that is, the user or group name matches the user or group names specified in the attributes authuser and authgroup of the superclass or subclass). This defines 3 levels of privilege among the persons who can manually assign processes to classes, root being the highest. For a user to modify or terminate a manual assignment, they must have at least the same level of privilege as the person who issued the last manual assignment. Note: The wlmassign command works with currently loaded WLM configuration. If the current configuration is a set, and the assignment is made to a class which does not exist in all configurations in the set, the assignment will be lost when a configuration that does not contain the class becomes active (class is deleted).
Flags
-g Pgid_list -S -s -u Indicates that the following list is a list of pgids. Specifies that the assignment is to be done or canceled at the superclass level only. This flag is used with a subclass name of the form supername.subname. Specifies that the assignment is to be done or canceled at the subclass level only. This flag is used with a subclass name of the form supername.subname. Cancel any manual assignment in effect for the processes in the pid_list or the pgid_list. If none of the -s or -S flags are used, this cancels the manual assignments for both the superclass and the subclass level.
Related Information
The chclass command, lsclass command, mkclass command, and rmclass command. The concept article about Workload management in Operating system and device management.
104
Syntax
wlmcheck [ -d Config] [ -a Attributes ] [ -q ]
Description
The wlmcheck command with no arguments, gives the status of Workload Management (WLM) and makes some coherency checks: v Displays the current status of WLM (running/non running, active/passive, rsets bindings active, total limits enabled). v Displays the status files that report the last loading errors, if any. If current configuration is a set, this applies to all configurations in the set, and messages logged by the WLM daemon are reported. v Checks the coherency of the attributes and assignment rules file(s) (such as, the existence of the classes, validity of user and group names, existence of application file names, etc). If the -d Config flag is not specified, the checks are performed on the current configuration. The wlmcheck command can apply to a configuration set. In this case, the checks mentioned above are performed on all configurations of the set, after checking the set itself. Superclass names are reported in the form config/superclass to indicate the regular configuration which they belong to. Specifying a configuration with -d Config performs the checks on the Config configuration or set instead of current. This does not change the reporting of status files and of the WLM daemon log, which only applies to the active configuration. With the -a flag, wlmcheck displays the class that the process with attributes specified by Attributes would be assigned to, according to the rules for the current or specified configuration or configuration set. The format of the Attributes string is similar to an entry in the rules file, with the following differences: v The class field is omitted (it is actually an output of wlmcheck) v Each field can have at most one value. Exclusion (!), attribute groupings ($), comma separated lists, and wild cards are not allowed. For the type field, the AND operator + is allowed, since a process can have several of the possible values for the type attribute at the same time. For instance a process can be a 32 bit process and call plock, or be a 64 bit fixed priority process. v At least one field must be specified (have a value different from a hyphen (-). In addition, the first 2 fields are mandatory. The other fields, if not present default to a hyphen (-) which mean that any value in the corresponding field of an assignment rule is a match. When one or more of the fields in the attribute string are either not present or specified as a hyphen (-), the string is likely to match more than one rule. In this case, wlmcheck displays all the classes corresponding to all the possible matches. Example of valid attribute strings:
$ wlmcheck -a "- root system /usr/lib/frame/framemaker - -" $ wlmcheck -a "- - staff - 32bit+fixed" $ wlmcheck -a "- bob"
105
Flags
-d Config -a Attributes Uses the WLM property files in /etc/wlm/Config (which may indicate a set of time-based configurations) instead of /etc/wlm/current. Passes a set of values for the classification attributes of the process in order to determine which class the process would be put into. This is a way to check that the assignment rules are correct and classify processes as expected. Suppresses the output of the status of the latest activation/update of WLM and of messages logged by the WLM daemon (quiet mode).
-q
Files
classes limits rules shares Contains Contains Contains Contains the the the the names and definitions of the classes. resource limits enforced on the classes. automatic assignment rules. resource shares allocated to the classes.
Related Information
The chclass command, lsclass command, mkclass command, rmclass command. The rules file.
Syntax
wlmcntrl [ [ -a | -c | -p ] [ -T [ class | proc ] [ -g ] [ -d Config_Dir ] [ -o | -q ] wlmcntrl -u [ -S Superclass | -d Config_Dir ]
Description
The wlmcntrl command stops, starts, updates or queries the state of Workload Manager (WLM). When starting or updating WLM, the WLM property files for the target configuration are pre-processed, and the data is loaded into the kernel. WLM can be started in two different modes: v An active mode where WLM monitors and regulates the CPU, memory and disk I/O utilization of the processes in the various classes. v A passive mode where WLM only monitors the resource utilization without interfering with the standard operating system resource allocation mechanisms. The active mode is the usual operating mode of WLM. The classes, their limits and shares are described respectively in the classes, limits, and shares files. The automatic assignment rules are taken from the rules file. The class properties files for the superclasses of the WLM configuration Config are located in the subdirectory /etc/wlm/Config. The class properties files for the subclasses of the superclass Super of the configuration Config are located in /etc/wlm/Config/Super. The standard configuration shipped with the operating system is in /etc/wlm/standard. The current configuration is the one in the directory pointed to by the symbolic link /etc/wlm/current.
106
When the -d Config_dir flag is not used, wlmcntrl uses the configuration files in the directory pointed to by the symbolic link /etc/wlm/current. When the -d Config_dir flag is used, wlmcntrl uses the configuration files in /etc/wlm/Config_dir and updates the /etc/wlm/current symbolic link to point to /etc/wlm/Config_dir, making /etc/wlm/Config_dir the current configuration. This is the recommended way to make /etc/wlm/Config_dir the current configuration. When updating WLM using the -u flag, an empty string can be passed as Config_dir with the -d flag:
wlmcntrl -u -d ""
will simply refresh (reload) the assignment rules of the current configuration into the kernel without reloading the class definitions. This can be useful when a prior activation of WLM detected that some application files could not be accessed. After the system sdministrator has fixed the problems with either the rules or the files, this command can be used to reload only the rules. The WLM configuration Config may also be a set of time-based configurations, in which case the subdirectory /etc/wlm/Config does not contain the properties files, but a list of configurations and the times of the week when they apply. The properties files are still in the subdirectory of each regular configuration of the set. When WLM is started or updated which such a set, a daemon is responsible for switching regular configurations of the set when the applicable one changes.
Flags
-a -c -d Config_dir Starts WLM in active mode or switches from passive to active mode. This is the default when no flag other than -d, -g, or -T is specified. Starts WLM in CPU-only mode or switches from any mode to CPU-only mode. In this mode, the WLM accounts for all resources, but only CPU resource is regulated. Uses /etc/wlm/Config_dir as an alternate directory for the WLM configuration (containing the classes, limits, shares and rules files) or configuration set (containing the list of configurations and the time tanges when they apply). This makes /etc/wlm/Config_dir the current configuration. This flag is effective when starting the WLM in active, CPU-only or passive mode, or when updating the WLM. This flag cannot be used in conjunction with the -o and -q flags or when switching from a mode (among active, CPU-only and passive) to another. Instructs WLM to ignore any potential resource set bindings. This means that all classes have access to the whole resource set of the system, regardless of whether or not they use a restricted resource set. Stops Workload Manager. Start WLM in passive mode or switches from any mode to passive mode. In this mode, the WLM accounts for all resources, but no resource is regulated.
-g
-o -p
107
-q
Queries the current state of WLM. Returns: 0 1 2 3 4 5 6 16 18 19 20 21 22 32 34 35 36 37 38 48 50 51 52 53 54 WLM is running in active mode. WLM is not started. WLM is running in passive mode. WLM is running in active mode with no rset bindings. WLM is running in passive mode with no rset bindings. WLM is running in active mode for CPU only WLM is running in active mode for CPU only with no rset bindings. WLM is running in active mode, process total accounting is off. WLM is running in passive mode, process total accounting is off. WLM is running in active mode with no rset bindings, process total accounting is off. WLM is running in passive mode with no rset bindings, process total accounting is off. WLM is running in active mode for CPU only, process total accounting is off. WLM is running in active mode for CPU only with no rset bindings, process total accounting is off. WLM is running in active mode, class total accounting is off. WLM is running in passive mode, class total accounting is off. WLM is running in active mode with no rset bindings, class total accounting is off. WLM is running in passive mode with no rset bindings, class total accounting is off. WLM is running in active mode for CPU only, class total accounting is off. WLM is running in active mode for CPU only with no rset bindings, class total accounting is off. WLM is running in active mode, class and process total accounting are off. WLM is running in passive mode, class and process total accounting are off. WLM is running in active mode with no rset bindings, class and process total accounting are off. WLM is running in passive mode with no rset bindings, class and process total accounting are off. WLM is running in active mode for CPU only, class and process total accounting are off. WLM is running in active mode for CPU only with no rset bindings, class and process total accounting are off.
-S Superclass
-T -T class -T proc
A message indicating the current state of WLM is printed on STDOUT. Requests an update of WLM that is limited to the subclasses of the Superclass. Use this flag with the -u flag. If the running configuration is a set of time-based configurations, Superclass must be given in the form config/Superclass where config is the regular configuration of the set which the Superclass belongs to. If config is the currently active configuration of the set, the changes will take effect immediately, else they will take effect at the next time config will be made active. Disables both class and process total limits accounting and regulation. Disables only class total limits accounting and regulation. Disables only process total limits accounting and regulation.
108
-u
Updates the WLM. A single update operation can change the attributes, limits and shares of existing classes and/or add or remove classes. If the running configuration is a set, this operation refreshes the set description along with the content of all configurations of the set. Update can be used by a user with root authority to switch to an alternate configuration or configuration set. Update can also be used by a superclass administrator to update only the subclasses of the superclass he has administrative access to (using the -S flag).
Security
Access Control: Starting, stopping, switching from a mode to another, and updating superclasses or a configuration set requires root privileges. Updating the subclasses of a given superclass requires only admin user or admin group privileges (superclass administrator). Any user can query the state of WLM.
Files
classes limits rules shares description groupings Contains Contains Contains Contains Contains Contains the names and definitions of the classes. the resource limits enforced on the classes. the automatic assignment rules. the resource shares allocated to the classes. the description text for each configuration. attribute value groupings for the configuration
Related Information
The chclass command, confsetcntrl command, lsclass command, lswlmconf command, mkclass command, and rmclass command. The Workload Managment Workload management in Operating system and device management.
Syntax
wlmmon wlmperf
Description
The wlmmon and wlmperf commands generate resource usage reports of system WLM activity. The wlmperf command, which is part of the Performance Toolbox (PTX), can generate reports from trend recordings made by the PTX daemons for periods covering minutes, hours, days, weeks, or months. The wlmmon command, which ships with the base AIX, generates reports only for the latest 24-hour period and has no usage options. Three types of visual reports can be generated: v Snapshot Display v Detailed Display v Tabulation Display The type of report can be customized to cover specified WLM classes over specific time periods. In addition, the WLM activity from two different time periods can be compared (trended) for any chosen display type.
Alphabetical Listing of Commands
109
These reports are generated from data that is collected using the same mechanism as the wlmstat command. However, the wlmmon and wlmperf commands use recordings made by a daemon that must operate at all times to collect WLM data. For the wlmmon command, this daemon is called xmwlm, and ships with the base AIX. For the wlmperf command, this daemon is called xmtrend and ships with the PTX.
Analysis Overview
While the wlmstat command provides a per-second view of WLM activity, it is not suited for the long-term analysis. To supplement the wlmstat command, the wlmmon and wlmperf commands provide reports of WLM activity over much longer time periods, with minimal system impact. The reports generated by this tool are based off samplings made by the associated recording daemon. These daemons sample the WLM and system statistics at a very high rate (measured in seconds), but only record supersampled values at low rate (measured in minutes). These values represent the minimum, maximum, mean, and standard deviation values for each collected statistic over the recording period.
General Menu: The first tabbed pane allows the user to edit the general properties of a display as follows:
Trend Box Indicates that a trend report of the selected type will be generated. Trend reports allow the comparison of two different time periods on the same display. Selecting this box enables the End of first interval field for editing. Allows selections for the WLM resources to be displayed (such as CPU or memory). Refer to the WLM users guide and documentation for information about the resources that can be managed.
Resource
110
Width of interval
Represents the period of time covered by any display type measuring either from the latest values available in the recording, or from user-input time selections. Interval widths are selected from this menu. The available selections vary, depending upon the tool being used: wlmmon Multiple selections for minutes and hours wlmperf Multiple selections for minutes, hours, days, weeks, and months
Represents the end time of a period of interest for generating a trend report. The first interval always represents a time period ending earlier than the last interval. This field can only be edited if the Trend Box is selected. Represents the end time of a period of interest for trend and non-trend reports The last interval always represents the latest time frame to be used in generating a display report. There are two exclusive selection options for this field: Latest Uses the latest time available in the recording as the end time for the report.
Selected Time Allows the user to input the end time of the last interval.
Tier/Class Menu: The second tabbed pane allows users to define the set of WLM tiers and classes to be included in a report.
Scope Allows the user to select a tier or class-based scope for the display. This display will vary, as tier and class concepts vary between the AIX releases (AIX 4.3 classes versus AIX 5.1 superclass and subclass definitions). Allows selection of including and excluding the WLM tiers or classes available in the recording.
Selection
Advanced Menu: The third tabbed pane of the Report Properties Panel provides advanced options, primarily for the snapshot display. For snapshots, exclusive methods for coloring the display are provided for user selection. Option 1 ignores the minimum and maximum settings defined in the configuration of the WLM environment. Option 2 uses the minimum and maximum settings.
Report Displays
There are three types of report displays: v Snapshot Display v Detailed Display v Tabulation Display Each of these displays has the following common elements:
WLM Console Time Period Tier Column Class Column Resource Columns Status Area Selections for printing or closing the display. Displays the time period defined in the Report Properties Panel. For trend reports comparing two time periods, two time displays are shown. Displays the tier number associated with a class. For AIX 5.1, the column has two entries, for superclass tier (left) and subclass tier (right). Displays the class name. Displays the resource information based off of the type of graphical report selection chosen. These are described below. Displays a set of global system performance metrics that are also recorded to aid in analysis. The set displayed may vary between AIX releases, but will include metrics such as run, queue, swap queue, and CPU busy.
111
Snapshot Display: This display is a quick Am I OK? overview. The display focuses on showing class resource relationships based off user-specified variation from the defined target shares. To select or adjust the variation parameters for this display, use the Report Properties Panel Advanced Menu. If the snapshot display is trended, the earlier (first) analysis period is shown by an arrow pointing from the earlier measurement to the later (second) measurement. If there has been no change between the periods, no arrow is shown. Detailed Display: In this display, the resource columns are displayed in bar-graph style, along with the percentage of measured resource activity over the time period specified. The percentage is calculated based off the total system resources defined by the WLM subsystem. If the detailed display is trended, the later (second) measurement is shown above the earlier (first) measurement interval. Tabulation Display: The third type of display report is a tabulation report. In this report, the following fields are provided:
Number Sampled Share Value Mean Value Standard Deviation Defined Min Observed Min Defined Soft Max Defined Hard Max Observed Max Number of recorded samples for this period Computed share value target by WLM Calculated average over the sample period Computed standard deviation Class minimum defined in WLM limits Actual observed minimum across time period Class soft maximum defined in WLM limits Class hard maximum defined in WLM limits Actual observed minimum across time period
Prerequisites
Java 1.3 perfagent.tools
Exit Status
A warning message is issued by the tool if no WLM recordings are located.
112
Files
/usr/bin/wlmmon /usr/bin/xmwlm /usr/bin/wlmperf /usr/lpp/perfagent.server/xmtrend.cf wlmmon and xmwlm wlmperf and xmtrend base AIX base AIX Performance Toolbox Performance Toolbox Located in the perfagent.tools fileset. Available only with the Performance Toolbox product media.
Related Information
The wlmstat, wlmcntrl, and topas commands.
Syntax
wlmstat [-l Class] | [-t Tier] [-S | -s] [-c] [-m] [-b] [-B Device] [-T] [-a] [-w] [-v] [Interval] [Count] wlmstat [-l Class] | [-t Tier] [-c] [-m] [-b] [-u] [Interval] [Count] wlmstat [-l Class] | [-t Tier] [-M] [-S | -s] [-w] [-v] [ Interval] [Count]
Description
The wlmstat command symbolically displays the contents of WLM data structures retrieved from the kernel. If a Count is specified, wlmstat loops Count times and sleeps Interval seconds after each block is displayed. If Interval and Count are not specified, one output report is produced. If Interval is specified but no Count is given, wlmstat outputs results continuously at the given interval until stopped by a signal (SIGINTR, SIGQUIT, SIGKILL, etc.). By default, wlmstat displays the statistics for all the resources for every superclass and subclass. You can specify flags to narrow the focus of the statistics to a type of resource, tier, superclass or subclass and alter the output format. Note: The following should be considered when viewing the wlmstat output: 1. Starting with AIX 5.3, the WLM processor usage values and process priority adjustments are updated 10 times per second by default. 2. The value displayed for processor usage is not the current instantaneous usage from the last second, but is instead an average of the last N readings (starting with AIX 5.3, the default value for N is 15). 3. The Unmanaged class is used to report system interrupt time and for tracking memory usage for all of the pinned pages in the system that are not managed by WLM. No processes are assigned to this class. It is possible for a process with a hard limit of 50 percent to use more than 50 percent of the processor between two consecutive WLM usage updates. Each tenth of a second, every process is assigned a priority, and the scheduler then schedules all processes based on their assigned priorities. A process may receive more of the processor resources than the process hard limit between WLM updates.
113
By default, each instantaneous value of processor usage from each update is kept for the following 15 readings and is averaged with the other 14 readings before being displayed by wlmstat. This can potentially result in a value of greater than 50 percent due to a single instance of more than 50 percent usage between WLM updates. The priority of a process will be greatly reduced and the process will be unable to run if the process consistently reaches or exceeds its hard limit. Over the long term, the resource utilization of the process must be at or under the process hard maximum. Over a short time interval, wlmstat may show the process using more than the process hard limit. The /usr/samples/kernel/wlmtune command that is available in the bos.adt.samples PTF can be used to modify the behavior of WLM in such an instance. The related tunables are: schedhz The frequency at which the WLM scheduler recalculates class consumption and priority for processor. The default is 10. Modifying this value changes the responsiveness of WLM. Increasing this value causes WLM to update more frequently, thereby reducing the possibility of a process exceeding its hard limit during a short time interval. The trade-off for this is increased overhead, since more WLM processing occurs. This can potentially affect overall system performance. CPUhist The number of consecutive processor consumption values used in the average calculation. The default is 15. Increasing this value further smooths the reported processor usage values by averaging over a longer period. To make WLM more responsive so that classes do not exceed their maximums over long periods, it is recommended that you first try modifying schedhz until the wlmstat output displays the desired results. You may want to also modify cpuhist so that wlmstat averages over the same time interval. For example, if schedhz is 20 and cpuhist is 15, wlmstat will average over a period of 0.75 seconds (15/20), so you may want to change cpuhist to 30 so that wlmstat still averages over 1.5 seconds. On systems with no contention for processor, an Interval of 5 for wlmstat is recommended in order to adhere to WLM limits.
Flags
-a Displays subclass consumption in absolute terms. By default, the subclass consumption percentages are shown relative to the superclass consumption. With this option, subclass consumption is displayed relative to the total amount of resource available on the system (as is done for superclasses). All values are displayed with 1% precision. For instance, if a superclass has a processor target of 20% and the processor percentage shown by wlmstat without -a for a subclass is 10%, wlmstat with -a shows the processor percentage for the subclass as 2%. Displays only disk I/O statistics. Displays disk I/O device statistics. Passing an empty string (-B ) displays the statistics for all the disks accessed by the class. Shows only processor statistics. Displays statistics for Class name. If not specified, all classes display along with a summary for appropriate fields. Shows only physical memory statistics.
-b -B Device
-c -l Class
-m
114
-M
Displays the Real/Virtual Memory statistics. Use of the -M option adds the following columns in the output: RMSIZ Utilized real memory size for the class VMSIZ Utilized virtual memory size for the class RMLIM Real memory limit for the class VMLIM Virtual memory limit for the class LGPGSIZ Utilized large pages in the class LGPGLIM Large page limit for the class Note: A - will be displayed for the RMLIM, VMLIM, and LGPGLIM fields if the limit is undefined. When the -M and -w options are used together, RMSIZ and VMSIZ fields will contain the high watermarks for these attributes instead of the actual utilized values. In addition, the LGPGSIZ and LGPGLIM fields will be turned off. Displays only subclass statistics. Displays only superclasses statistics. Displays statistics only for the specified Tier. Displays the total numbers for resource utilization since WLM was started or the class was created, whichever is the latter. The units are: CPU MEM DKIO The total processor time, in milliseconds, consumed by a class Unused The total number of 512 byte blocks sent/received by a class for all the disk devices accessed.
-s -S -t Tier -T
115
-v
Specifies verbose mode. This flag, intended for trouble shooting, also displays some class attributes, resource shares and limits and other WLM parameters, including internal parameter values intended for AIX support personnel. The following information can be of interest for users: Column Header Description CLASS Class name. tr i #pr tier number (0 to 9) Value of the inheritance attribute: 0 = no, 1 = yes. Number of processes in the class. If a class has no (0) process assigned to it, the values shown in the other columns may not be significant. Processor utilization of the class (%). Physical memory utilization of the class (%). Disk IO bandwidth utilization for the classs (%). Number of shares (- is represented as -1) Resource minimum limit (%) Resource soft maximum limit (%) Resource hard maximum limit (%) (desired): percentage goal (target) calculated by WLM using the shares numbers (%) Number of memory pages owned by the class.
-w
-u
The other columns are for internal use only and bear no meaning for administrators and end users. This format is better used with a resource selector (-c, -m, or -b), otherwise the lines might be too long to fit into a line of a display terminal. Displays the memory high water mark, that is the maximum number of pages that a class had in memory at any given time since WLM was started or the class was created (whichever happened last). Displays per-tier and total unused resources
Display
Results are tabulated, with the following fields:
Name CPU MEM DKIO Class name Percentage of total processor time consumed by the class. Percentage of physical memory consumed by the class. Percentage of the disk IO bandwidth consumed by the class. This number is the average of the disk bandwidth on all the disk devices accessed by the class, and is usually not very significant. For instance if a class consumes 80% of the bandwidth of one disk and 5% of the bandwidth of two other disks, the DKIO column will show 30%. For details on the per device utilization,, use the -B device option.
Commands Reference, Volume 6
116
Examples
1. To get a printout of WLM activity right now, type:
wlmstat
3. To get a report for subclass sclass1.subclass2 updated every 10 seconds, for one minute, type:
wlmstat -l class1.subclass2 10 6
5. To display the memory high water mark, type: This produces the following output:
117
LGPGSIZ 0 0 0 0
LGPGLIM -
Errors
A warning message is issued by wlmstat if WLM is not started.
Related Information
The wlmcntrl command.
Syntax
To send a Magic Packet to a subnet-directed broadcast address: wol { [ -m MACAddress [ [ -h Host -s SubnetMask ] | -i Interface ] | -f File } [ -v ] To send a Magic Packet to a multicast address: wol { -m MACAddress -M MulticastAddress [ -p Port ] [ -i Interface ] | -f File} [ -v ]
Description
The wol command wakes up one or more hosts that are connected to a network in suspend mode by sending a Magic Packet to the specified address or addresses on the specified subnet. If the user doesnt specify either the -h, nor -s flag, the wol manager will broadcast the Magic Packet as follows: v If the user specifies the interface name (-i Interface), the Magic Packet will be broadcast from the specified interface. v If the user doesnt specify the interface name, then the wol manager will loop through each network interface installed on the machine. If an interface is up, it will broadcast the Magic Packet from that interface, and then continue to the next interface until it goes through the entire interface list on the machine. The file specified with -f File contains the list of hosts which need to be awakened. This file consists of one or more lines, each line containing the following information in this format: MacAddress; Hostname/IPaddress; SubnetMask; Multicast; Port; Interface For example, the file might look like this:
00:20:35:7a:7:89a; 9.41.86.19; 255.255.255.0 00:04:ac:17:c0:9f ; obiwan.aoot.austin.ibm.com; 00:07:be:4a:2:394; ; ; ; ; en0 00:06:38:6b:7e:8f ; ; ; 234.5.6.7; 12345 ; ; ; ; 255.255.255. 224; ; ;
118
A line starting with a # character is a comment and is ignored. Each line contains 6 tokens separated by ; character. The MAC address is mandatory. The other tokens are optional, but the ; character must be used to separate unused tokens.
Flags
-i Interface -f File -h Host Specifies the interface to use on the host where the wol command is being run Specifies the name of a file containing a group list. This allows the user to wake a specified group of hosts. Specifies a host to wake, either as a hostname or as an IPv4 address in dot string representation (for example, 10.0.0.3). Specifies the a 48 bits MAC address of the host in hex representation (for example, 00:20:35:7a:78:9a). Specifies an IPv4 multicast address. Specifies the port to use on the multicast machine. Specifies an IPv4 subnet mask in dot string representation (for example, 255.255.255.0). Specifies verbose mode.
Exit Status
0 >0 The command completed successfully. An error occurred.
Location
/usr/sbin/wol
Syntax
To query all messages awaiting replies from users on a host and display them with their handles, type the following: write -q [ -n Host ] To Reply to a Message Sent by a Utility or a Shell Script, or Redisplay the Message Associated with a Given handle, type the following: write -hHandle, { ok | cancel | query } [ -n Host ] To send messages to a user, optionally on another host or a particular device, type the following: write [ -r ] { [ -n Host ] User | User@Host } [ Line ]
Description
The write command enables message sending over the system in real time. It provides conversation-like communication with another logged-in user. Each user alternately sends and receives short messages
Alphabetical Listing of Commands
119
from the other workstation. Long messages can be sent by putting the complete message in a file and then redirecting that file as input to the write command. For another user (as specified by the User parameter) to receive a message, that user must be logged in and must not have refused message permission. When a message is sent to a user who is not logged in, the message user not logged in appears. If the message is sent to a user who has refused message permission by setting the mesg command to no, the message write: permission denied appears. When the write command is issued, it immediately sends the following message, along with an attention-getting sound (the ASCII BEL character) to the message recipient or target:
Message from SenderID on SenderHostname (ttynn) [Date] ...
With a successful connection, the write command sends two ASCII BEL characters to both workstations. The beep alerts the sender that the message can begin and it alerts the receiving user that a message is coming. Sending occurs one line at a time as the Enter key is pressed. The communication link from the sender to the receiver remains open and sending continues until the Ctrl-D key sequence ends the sending link. Then an end-of-text character (<EOT>) is sent to the target workstation and the write command mode is terminated. The receiving or target user can respond by sending a write command to the originating user. This opens a line of communication from the receiver back to the sender, enabling message responses in return. For this type of exchange, the following convention is useful: When you first write to others, wait for a response before sending any text. End a message with a signal such as o (over) to alert the other person to reply. Use oo (over and out) when the conversation is finished. If the character ! (exclamation point) is found at the beginning of a line, the write command calls the shell to execute the rest of the line as a command. When you write to a user who is logged in at more than one workstation or multi-using more than one process, the write command uses the first login instance found in the /etc/utmp file as the message delivery point (usually the login or console shell), and you get the message:
UserID is logged on more than one place. You are connected to "Workstation". Other locations are: Workstation
When this message is received, if you wish to send the message to a location other than the initial login location, the target user can be contacted at a different location by specifying the Line of the location (tty00, for example). Permission to write to another user is granted or denied by the individual user with the mesg command. Some commands deny message permission while they are running to prevent interference with their output. A user with root user authority can write to any workstation regardless of the workstations message permission. You can use the write command to converse with users on other hosts. You can identify a user on a remote host by using the -nHostName flag or the User@Host parameter. In order to write to a user on a remote host, the writesrv daemon must be running on both the current host and the remote host. The write command is also used by the qdaemon daemon to send messages to users on other hosts and to wait for replies. There are only three valid replies:
ok cancel The original write exits with a status of 0. The original write exits with a status of 1.
Commands Reference, Volume 6
120
query
Parameters
User User@Host Line Specifies the user ID of the person to receive the message text. Specifies the user ID and remote host of the person to receive the message text. Contacts the target user at another location (tty00, for example).
Flags
-h Handle,Reply Replies to a message sent by a utility or shell script using write with the reply option. The value to be used for the Handle variable is generated internally and supplied to the user in the text of the original message. The reply can be ok, cancel, or query. Specifies a remote host. The Host variable may be a nickname or an internet address. Queries all messages awaiting replies from users on a host and displays them with their handles. Generates a message handle, places it in the message header, sends the message, and waits for a reply. This flag is used by the qdaemon daemon for operator messages and can be put in shell scripts. It is not used for interactive conversations. An exit status of 0 indicates that the reply was ok, a status of 1 indicates that the reply was cancel, and an exit status of 2 indicates that the user could not be contacted.
-nHost -q -r
Notes: 1. The writesrv daemon must be running on the target host in order for any of the flags to work. If you are not using either the -n flag or @Host, but using -h, -q, or -r, the writesrv daemon must be running on your host. 2. If TCP/IP is not installed on your machine but the HostName is set, in order to converse with users on the local host using the write command with the -h, -q, or -r flag, you must append your host name to the end of the loopback entry in the /etc/hosts file. The original entry should read:
127.0.0.1 loopback LocalHostName
Exit Status
This command returns the following exit values:
0 >0 Successful completion. The addressed user either is not logged on or denies permission.
Examples
1. To write a message to a user who is logged in, enter:
write june
Then press the Ctrl-D key sequence to terminate the write command mode. If your user ID is karen and you are using workstation tty3, junes workstation displays:
121
Message from karen on trek tty3 Aug 17 11:55:24 ... I need to see you! Meet me in the computer room at 12:30. <EOT>
This starts the conversation. The o at the beginning of the next line means the message is over. It tells June that you are waiting for a response. Do not press Ctrl-D if you wish to continue. Now June replies by typing:
write karen
The oo means over and out, telling June that you have nothing more to say. If June is also finished oo, then you both press Ctrl-D to end the conversation. 3. To write someone a prepared message, enter:
write june < message.text
This writes the contents of the message.text file to junes workstation. 4. To write to the person using a certain workstation, enter:
write -n console
Then press the Ctrl-D key sequence. This writes the message to the person logged in at the workstation /dev/console. 5. To send a message to user spuds at host partya, enter:
write -n partya spuds
122
Then press the Ctrl-D key sequence. 6. Here is an example of a message sent by the qdaemon daemon:
Message from mary on trek (tty10) Aug 17 10:03:34 ... Use "write -h 6398492,reply" to reply Please insert tape number 5 into rmt0. <EOT>
Then press the Ctrl-D key sequence. To reply in the negative, enter:
write -h 6398492,cancel
Then press the Ctrl-D key sequence. With the -h flag, there is no need to supply the host name or user ID. This information is tracked with the handle.
Files
/etc/hosts /etc/utmp Contains TCP/IP host information. Contains user and accounting information for the who, write, and login commands.
Related Information
The mesg command, wall command, who command, writesrv command. Shells in Operating system and device management.
Syntax
writesrv
Description
The writesrv daemon allows users to send messages to users on a remote system and receive responses from users on a remote system with the write command. The writesrv utility receives incoming requests from a write command and creates a server process to handle the request. This server process communicates with the client process (write) and provides whatever services are requested. To perform these services, the writesrv daemon creates a socket that is attached to the port defined in the /etc/services file. All requests for service are sent as messages to this socket. Note: If the writesrv daemon terminates abnormally (such as a system crash, power failure, or the kill -9 command), the /var/spool/writesrv directory must be manually cleaned out to remove any files left behind by the writesrv daemon.
123
Examples
1. To start the writesrv daemon from the /etc/rc script, enter:
/usr/sbin/writesrv
The writesrv daemon is started from the /etc/rc script. This is the usual way the daemon is started. 2. To start the writesrv daemon using the System Resource Controller (SRC), enter:
startsrc -s writesrv &
Files
/etc/services Contains the Network Services directory.
Related Information
The kill command, write command Printing administration, and Remote Printing Overview in Printers and printing. System Resource Controller in Operating system and device management.
Syntax
/usr/websm/bin/wsm -host managing host /usr/websm/bin/wsm -lang language /usr/websm/bin/wsm -port port number /usr/websm/bin/wsm -profile pathname of preference file /usr/websm/bin/wsm -user username /usr/websm/bin/wsm -DdefaultTurners=value /usr/websm/bin/wsm -DdrawTreeLine=value /usr/websm/bin/wsm -Ddatadir=path
Description
The wsm command is used to start a Web-based System Manager client session. Note: The full pathname of this command, /usr/websm/bin/wsm, must be specified.
124
Flags
-host managing host Forces Web-based System Manager to initially connect to the specified host. Even though you can easily manage other hosts while running Web-based System Manager, this option allows you to start Web-based System Manager with the preferences you set up on the specified host machine. Specifies language in which messages are displayed. If the sysmgt.msg.Language.websm.apps fileset is not installed, messages will be displayed in English. Causes Web-based System Manager to connect to any other hosts using the specified port. This port number used must match the port number on the managed machines for the wsmserver service specified in the /etc/services file. Specifies an alternate preference file. The default preference file will be a file named WebSM.pref found in the users home directory. Using this option enables the user to use a different preference file. This can be useful if the user manages different sets of machines for different clients. Note: The preference file is read from either the local machine, or from the machine specified in the -host argument. Causes Web-based System Manager to run as the given user name. You will be prompted for the users password. When the value is true, Java Look and Feel turners are used instead of Windows turners for parent tree nodes in the Navigation Area and the Contents Area. No angled lines are drawn between tree objects. When value is true and -DdefaultTurners=true, causes angled lines to be drawn between tree objects in the Navigation Area and the Contents Area. Specifies an alternate directory to look for configuration files normally found in /var/websm/config/user_settings.
-lang language
-DdrawTreeLine=value -Ddatadir=path
Examples
1. To specify an alternate preference filer, enter:
/usr/websm/bin/wsm -profile pathname of preference file
Related Information
For information on installing the Web-based System Manager, see Chapter 2: Installation and System Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
Syntax
/usr/websm/bin/wsmaccess -host managing host /usr/websm/bin/wsmaccess -lang language /usr/websm/bin/wsmaccess -port port number /usr/websm/bin/wsmaccess -profile pathname of preference file /usr/websm/bin/wsmaccess -user username
Alphabetical Listing of Commands
125
Description
Wrapper around wsm command to enable Accessibility features. Note: The full pathname of this command, /usr/websm/bin/wsmaccess, must be specified.
Flags
-host managing host Forces Web-based System Manager to initially connect to the specified host. Even though you can easily manage other hosts while running Web-based System Manager, this option allows you to start Web-based System Manager with the preferences you set up on the specified host machine. Specifies language in which messages are displayed. If the sysmgt.msg.Language.websm.apps fileset is not installed, messages will be displayed in English. Causes Web-based System Manager to connect to any other hosts using the specified port. This port number used must match the port number on the managed machines for the wsmserver service specified in the /etc/services file. Specifies an alternate preference file. The default preference file will be a file named WebSM.pref found in the users home directory. Using this option enables the user to use a different preference file. This can be useful if the user manages different sets of machines for different clients. Note: The preference file is read from either the local machine, or from the machine specified in the -host argument. Causes Web-based System Manager to run as the given user name. You will be prompted for the users password. When the value is true, Java Look and Feel turners are used instead of Windows turners for parent tree nodes in the Navigation Area and the Contents Area. No angled lines are drawn between tree objects. When value is true and -DdefaultTurners=true, causes angled lines to be drawn between tree objects in the Navigation Area and the Contents Area. Specifies an alternate directory to look for configuration files normally found in /var/websm/config/user_settings.
-lang language
-DdrawTreeLine=value -Ddatadir=path
Examples
1. To specify an alternate preference filer, enter:
/usr/websm/bin/wsmaccess -profile pathname of preference file
Related Information
For information on installing the Web-based System Manager, see Chapter 2: Installation and System Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
126
Syntax
/usr/websm/bin/wsmserver -enable /usr/websm/bin/wsmserver -disable /usr/websm/bin/wsmserver -start /usr/websm/bin/wsmserver -enablehttps [port_number] /usr/websm/bin/wsmserver -disablehttps /usr/websm/bin/wsmserver -starthttps /usr/websm/bin/wsmserver -sslalways /usr/websm/bin/wsmserver -ssloptional
Description
The wsmserver command is used to control the server processes used by the Web-based System Manager. The servers are used to enable applet and client-server modes of execution. In addition, if the security functionality is installed, the SMGate utility can be configured. Note: The full pathname of this command, /usr/websm/bin/wsmserver, must be specified.
Flags
-enable -disable -start Enables the applet and client-server modes. Disable the applet and client-server modes Start a session of the Web-based System Manager server. This is normally only used by inetd.
The following flags can only be used if the security functionality has been installed:
-enablehttps [port_number] Starts the SMGate utility. An optional port_number for the SMGate server can be specified. If specified, the SMGate server listens on that port instead of the default of 9092. Disables the SMGate utility. Starts the SMGate utility. This is normally started by the init process. Allows only secure connections. This flag is for a system with security configured. Allows both secure and non-secure connections to the Web-based System Manager.
Examples
1. To enable Web-based System Manager for applet and client-server mode, enter:
/usr/websm/bin/wsmserver -enable
127
Related Information
For information on installing the Web-based System Manager, see Chapter 2: Installation and System Requirements in AIX 5L Version 5.3 Web-based System Manager Administration Guide.
Syntax
/usr/sbin/acct/wtmpfix [ File ... ]
Description
The wtmpfix command is called by the runacct procedure to examine standard input or Files that contain records in wtmp format, and correct problems that could make the acctcon1 or acctcon2 commands fail. The wtmpfix command corrects date and time stamp inconsistencies, and writes the corrected records to standard output. If the date and time stamps are not consistent when the acctcon1 command runs, the acctcon1 command generates an error and stops. The wtmpfix command also checks the validity of the name field to ensure that it consists only of alphanumeric characters, a $ (dollar sign), or spaces. If the name is invalid, the wtmpfix command changes the login name to INVALID and writes a diagnostic message to standard error. In this way, the wtmpfix command reduces the chance that the acctcon2 command will fail. Each time the date is set (on system startup or with the date command), a pair of date change records is written to the /var/adm/wtmp file. The first record is the old date, denoted by the old time string. The old time string is placed in the line field and the OLD_TIME flag is placed in the type field. The second record is the new date, denoted by the string new time. The new time string is placed in the line field and the NEW_TIME flag is placed in the type field. The wtmpfix command uses these records to synchronize all date and time stamps in the file.
Flags
None.
Parameters
File Specifies the file to examine that contains records in wtmp format.
Security
Access Control: These commands should grant execute (x) access only to members of the adm group.
Examples
1. To convert a binary record in wtmp format to an ASCII record called dummy.file, enter:
/usr/sbin/acct/fwtmp < /var/adm/wtmp > dummy.file
The content of a binary wtmp file is redirected to a dummy ASCII file. 2. To convert an ASCII dummy.file to a binary file in wtmp format called /var/adm/wtmp, enter the fwtmp command with the -ic switch: /usr/sbin/acct/fwtmp -ic < dummy.file > /var/adm/wtmp
128
Files
/usr/sbin/acct/wtmpfix /var/adm/wtmp /usr/include/utmp.h Contains the wtmpfix command. Contains records of date changes that include an old date and a new date. Contains history records that include a reason, date, and time.
Related Information
The acctcon1 or acctcon2 command, acctmerg command, acctwtmp command, fwtmp command, runacct command. System accounting in Operating system and device management describes the steps you must take to establish an accounting system. See the Accounting commands in Operating system and device management for a list of accounting commands that can be run automatically or entered from the keyboard and about the preparation of daily and monthly reports, and the accounting files.
Syntax
wump
Description
A wumpus is a creature living in a cave with many rooms interconnected by tunnels. You move among the rooms trying to shoot the wumpus with an arrow and trying to avoid being eaten by the wumpus or falling into bottomless pits. There are also super bats that may pick you up and drop you in some randomly selected room. For moving among the rooms and shooting arrows, the game prompts you with appropriate questions and follows your instructions. For example:
You are in room 14. I feel a draft. There are tunnels to Move or shoot? (m-s) Which room? 1 You are in room 1. I feel a draft. There are tunnels to Move or shoot? (m-s) Which room? 17 You are in room 17. You fell into a pit! Another game? (y-n)
1 13 18. m
14 17 18. m
In the above example, you start out in room 14. The computer displays I feel a draft. This is the hint that a pit is nearby. You choose to move to room 1. Again you are warned of the pit. You then choose to move to room 17 where you fall into a pit and die. At the beginning of the game, you are prompted Instructions? (y-n). Choosing y provides an explanation of the warnings, how to move, and how to shoot.
Alphabetical Listing of Commands
129
The game ends and you are prompted Another game? (y-n) if: v You kill the wumpus. v The wumpus eats you. v You fall into a bottomless pit. v You run out of arrows. To quit the game at any time, press the interrupt (Ctrl-C) key sequence.
Files
/usr/games Contains the location of the systems games.
Related Information
The arithmetic command, back command, bj command, craps command, fish command, fortune command, hangman command, moo command, number command, quiz command, ttt command, turnoff command, turnon command.
X Command Purpose
Starts the X server.
Syntax
X [ -a Number ] [ -auth FileName ] [ -bc | +bc ] [ -bp Color ] [ -broadcast ] [ -bs | -nobs ] [ -c Volume ] [ -cc VisualType [ :Display ] ] [ -class DisplayClass ] [ -co File ] [ -cookie XDMAuthenticationBit ] [ -D File ] [ -d Depth [ :Display ] ] -displayID DisplayID ] [ -damage | +damage ] [ -evie | +evie ] [ -f Number ] [ -fc Font ] [ -fixes | +fixes ] [ -fn Font ] [ -fp Font ] [ -help ] [ -I ] [ -indirect HostName] [ -layer # [ :Display ] ] [ -logo | nologo ] [ -n :Number ] [ -once ] [ -P RowColumn Display } ] [ -pbuffer level [:display name | :display number] ] [ -p Number ] [ -port PortNumber ] [ -query HostName ] [ -r | r ] [ -s Number ] [ -secIP [PermissionCode]] [ -secLocal [PermissionCode]] [ -secSMT [PermissionCode]] [ -stereo [:Display]] [ -su ] [ -T ] [ -t Number ] [ -to Number ] [ -v ] [ -wm ] [ -wp Color ] [ -wrap | [ -wrapx ] [ -wrapy ] ] [ -x ExtensionName ] [ -xkbdir Directory ] [ -xkbmap FileName ] [ [+|-]accessx ] [ -ar1 Milliseconds ] [ -ar2 Milliseconds ] [ -sp FileName ] [ +/- xinerama FileName ]
Description
The X command starts the X server, a display server that runs on bitmapped terminals. The X server distributes input and output requests to or from programs located on either the host system or systems connected to it through a network. End an Enhanced X-Windows session by using the Ctrl+Alt+Backspace key sequence. You can specify one or more display devices. If none are specified, the default is all. The default configuration order is determined by the adapter slot order. The adapter in the first slot is initialized as the left most screen, the adapter in the second slot is the next screen to the right. To rearrange the layout of the screens, use the -P flag. The -P flag associates the row and column of the device with the device name. You can determine the device name by using the lsdisp command. The two displays are arranged either vertically or horizontally. The following example shows -P flags specifying a horizontal arrangement:
-P11 ppr0 -P12 ppr1
130
The 2 in the right position of the second -P flag indicates that the second monitor view is along the x-axis. This produces the horizontal arrangement:
Display 1 Display 2
The 2 in the first position indicates that the monitors are in a vertical configuration along the y-axis:
Display 1 Display 2
In the horizontal configuration, when a mouse is traveling from left to right in Display 1 and reaches the border of Display 1 and 2, the cursor continues into Display 2 at the same y-axis position. When it reaches the edge of Display 2 and the -wrapx flag is set, it appears at the leftmost edge of Display 1 in the same y-axis position. If the -wrapx flag is not set, the mouse stops at the far edge of Display 2. In a vertical configuration, when the mouse is traveling from top to bottom in Display 1 and reaches the border of Display 1 and Display 2, the cursor continues into Display 2 at the same x-axis position. When the cursor reaches the bottom of the display 2 and the -wrapy flag is set, the cursor appears at the top edge of Display 1 in the same x-axis position. If the -wrapy flag is not set, the mouse stops at the bottom of Display 2. In addition, information and error messages (for example, a message indicating that an extension not able to load) are listed in the /tmp/xlogfile file. This file can provide useful information in cases when the X Server encounters a problem. This file is re-written every time the X Server is instantiated. This file provides additional error and non-error information but is not a complete error log for the X Server.
Flags
-a Number Specifies the acceleration multiplier for mouse movement. For example, a value of 5 causes the cursor to move five times as fast as the mouse. The default is 4 pixels; any value specified must be a positive value greater than 0. Specifies to X the file from which to read the MIT (Massachusetts Institute of Technology) magic cookie. Turns off backward compatibility with Enhanced X-Windows version 1.1. Turns on backward compatibility with Enhanced X-Windows version 1.1. This is the default. Specifies a black pixel color for the display. The default is display dependent. Enables backing store support on all screens. Backing store support is disabled by default. Specifies key click volume.
131
Specifies the type of visual to use for the root window of the screen specified by the display name. Not all visual types are available on all adapters at all depths. The :Display parameter is optional, but useful when using the multihead option. The :Display parameter is the name of the display as shown in the lsdisp command. If no display number or name is supplied, the specified visual is selected for all screens. To specify the visual type and depth for the default visual, use the -cc and -d flags, respectively. Values for the VisualType parameter are specified as a string or a number as follows: String Numeric equivalent StaticGray 0 GrayScale 1 StaticColor 2 PseudoColor 3 TrueColor 4 DirectColor 5 Sets the name of the red, green, and blue (RGB) color database. This is the default flag for the color database. Specifies the full path name of the color definition database file. The default is /usr/lib/X11/rgb. Specifies the root depth for the screen specified by the display name. Not all visual types will be available on all adapters at all depths. The :Display parameter is optional, but useful when using the multihead option and must correspond to the values passed with the -P flag. The :Display parameter is the name of the display as shown in the lsdisp command. In the absence of the :Display parameter, the specified depth is selected for all the selected displays in the multihead option, as specified in the -P flag. Disables the X Damage extension. Enables the X Damage extension. Disables the X Event Interception extension. Enables the X Event Interception extension. Specifies the beep volume. The default is -1 or medium. The supported values are as follows: Value Setting 0 Off 1-33 Low -1 or 34-66 Medium 67-100 High Specifies the cursor font for cursor glyphs and cursor masks. The default depends on the operating system and the display. Disables the X Fixes extension. Enables the X Fixes extension. Specifies the default text font. The default depends on the operating system and the display. Specifies the font path. Causes all remaining command line arguments to be ignored. (Uppercase i) Prints a usage message.
-fc Font
132
-layer #[:Display]
-logo
-n :Number
Specifies that the default visual should be in the # layer. The :Display parameter is the name of the display as shown in the lsdisp command. Specifying this flag for an adapter that does not have overlays, or has less than 8 bits of overlay, has no effect. Specifying this flag with a # higher than the number of supported layers results in the default visual residing in the default layer of the screen (as if no -layer flag had been used). Turns on the X Window System logo display in the screen saver. There is currently no way to change this from a client. Specifies the connection number. Valid values for the Number parameter are 0 to 255. The default is the next available number. The Number parameter is used by programs to communicate with a specific X server. For example, the command: X -n :18 specifies that communication to the activated X server takes place by unix:18 or by Hostname:18. Disables backing store support on all screens. This is the default. Turns off the X Window System logo display in the screen saver. There is currently no way to change this from a client. Instructs the server to exit after the first session ends. Normally, the server starts sessions automatically. Specifies the physical positioning of the displays in a multihead configuration. The Row parameter indicates the row in which the display is located. The Column parameter indicates the column in which the display is located. The Display parameter is the device name of the display as shown in the first column of output from the Isdisp command. The first -PRowColumn Display occurrence on the command line describes screen 0 to the X server, the second describes screen 1, and so on. The -P flag is for use with multiple head support.
-nobs nologo
133
Specifies the pbuffer memory allocation level for the screen specified by :display. This flag is only useful when used in conjunction with the GLX extension. The level parameter indicates the relative amount of frame buffer memory to be reserved for pbuffers. Specified values must be in the range of [0..2]. A value of 0 indicates that no memory should be reserved for pbuffers. A value of 1 indicates that a low amount of memory should be reserved. A value of 2 indicates that a high amount of memory should be reserved. Not all adapters support pbuffers. For those that do, not all screen configurations support pbuffers. The actual amount of frame buffer memory reserved for pbuffers is device-dependent, and may be influenced by other factors, such as screen resolution or default pixel depth. The :display parameter is optional, but useful when using the multihead option. The :display parameter is the name of the display as shown in the lsdisp command. If no display number or name is supplied, the specified pbuffer width is selected for all screens. Specifies the time interval, in minutes, between changes of the X Window System logo position. This flag is used with the -s (screen saver timeout) flag to control the blanking of the screen. Disables autorepeat. The default is autorepeat enabled. Turns on autorepeat. Specifies the number of minutes to wait before blanking the screen. The default is 10 minutes. If this value is set to 0, the screen-saver is disabled. Sets local access control on the internet socket. The PermissionCode is 3 octal digits which can set read, write, and execute bits. If no PermissionCode is specified after a security flag, then permission is defaulted to 0 for that socket. Sets access control on the unix socket. The PermissionCode is 3 octal digits which can set read, write, and execute bits. If no PermissionCode is specified after a security flag, then permission is defaulted to 0 for that socket. Sets access control on the shared memory transport socket. The PermissionCode is 3 octal digits which can set read, write, and execute bits. If no PermissionCode is specified after a security flag, then permission is defaulted to 0 for that socket.
-p Number
-r r -s Number
-secIP [PermissionCode]
-secLocal [PermissionCode]
-secSMT [PermissionCode]
134
-stereo [:Display]
Configures the graphics adapter for optimum stereo support for the screen specified by Display. Supported screens will configure the adapter to provide the best available support for stereo. This may decrease other resources such as texture memory. The actual amount of memory affected is device-dependent, and may be influenced by other factors, such as screen resolution or default pixel depth. The Display parameter is optional, but useful when using the multihead option. The Display parameter is the name of the display as shown in the lsdisp command. If no display number or name is supplied, the -stereo flag pertains to all supported screens. Unsupported screens will ignore the -stereo flag. Disables save under support on all screens. Disables the Ctrl+Alt+Backspace key sequence that, by default, ends the AIXwindows session and all windows opened from it. Specifies the mouse threshold. The default is 2 pixels. Acceleration takes effect only if the mouse is moved beyond the mouse threshold in one time interval and only applies to the amount beyond the threshold. Specifies the number of minutes to elapse between connection checks. The default is 60 minutes. A specified value must be greater than 0. Specifies that the display be replaced with the current background color after the time specified by the -s flag expires. By default, if the -v flag is not used, the entire display is painted with the background tile after the time specified by the -s flag expires. Forces the default backing store of all windows to have the WhenMapped value. This is a convenient way of applying backing store to all windows. Specifies a white pixel display color. The default depends on the display.
-su -T
-t Number
-to Number
-v
-wm
-wp Color
135
-wrap
Specifies the behavior of the mouse when its hotspot reaches the left or right border or the top or bottom of any root window. If this flag is set and the hotspot of the mouse reaches the left border of the leftmost root window, the mouse is automatically positioned at the right border of the rightmost root window at the same y position. Conversely, if this flag is set and the hotspot of the mouse reaches the right border of the rightmost root window, the mouse is automatically positioned at the left border of the leftmost root window at the same y position. If this flag is not set, the mouse stops at the left or right border of any root window. If this flag is set and the hotspot of the mouse reaches the top border of the topmost root window, the mouse is positioned at the bottom border of the bottommost root window at the same x position. Conversely, if this flag is set and the hotspot of the mouse reaches the bottom border of the bottommost root window, the mouse is positioned at the top border of the topmost root window at the same x position. The -wrap flag is for use with multiple head support. Specifies the behavior of the mouse when its hotspot reaches the left or right border of any root window. If this flag is set and the hotspot of the mouse reaches the left border of the leftmost root window, the mouse is positioned at the right border of the rightmost root window at the same y position. Conversely, if this flag is set and the hotspot of the mouse reaches the right border of the rightmost root window, the mouse is positioned at the left border of the leftmost root window at the same y position. If this flag is not set, the mouse stops at the left or right border of any root window. The -wrapx flag is for use with multiple head support. Specifies the behavior of the mouse when its hotspot reaches the top or bottom border of any root window. If this flag is set and the hotspot of the mouse reaches the top border of the topmost root window, the mouse is positioned at the bottom border of the bottommost root window at the same x position. Conversely, if this flag is set and the hotspot of the mouse reaches the bottom border of the bottommost root window, the mouse is positioned at the top border of the topmost root window at the same x position. If this flag is not set, the mouse stops at the top or bottom border of any root window. The -wrapy flag is for use with multiple head support. Specifies that the extension name should be loaded when the server is initialized. This is particularly useful for large extensions, such as the Display PostScript Level 2 (dps). This flag can be specified more than once with multiple extension names.
-wrapx
-wrapy
-x ExtensionName
136
-query HostName
Enables Enhanced X-Windows Display Manager Control Protocol (XDMCP) and sends a Query packet to the specified host. The -query flag is for use with XDMCP. Enables XDMCP and broadcasts BroadcastQuery packets to the network. The first responding display manager is chosen for the session. The -broadcast flag is for use with XDMCP. Enables XDMCP and sends IndirectQuery packets to the specified host. The -indirect flag is for use with XDMCP. Specifies an alternative port number for XDMCP. This flag must be specified before any -query, -broadcast, or -indirect flags. Normally, the server starts sessions one after another. This flag causes the server to exit after the first session ends. The -port flag is for use with XDMCP. Sets the value for an additional display qualifier used by XDMCP in resource lookup for display-specific options. The -class flag is for use with XDMCP. Specifies a private key to be shared between the server and the manager when testing XDM-AUTHENTICATION-1. The -cookie flag is for use with XDMCP. Allows the display manager to identify each display so that it can locate the shared key specified by the -cookie flag. The -displayID flag is for use with XDMCP. Enable/Disable panoramic screen or Virtual Large Screen (VLS). Allows users to treat all heads in a multihead environment as a large screen.
-broadcast
-indirect HostName
-port PortNumber
-class DisplayClass
-cookie XDMAuthenticationBits
-displayID DisplayID
+/- xinerama
Xkeyboard Flags
-xkbdir Directory -xkbmap FileName [+|-]accessx -ar1 Milliseconds -ar2 Milliseconds Specifies the base directory for the keyboard layout files. Specifies the keyboard description to load on startup. Enables (+) or disables (-) AccessX key sequences. Sets the length of time in milliseconds that a key must be pressed before autorepeat starts. Sets the length of time in milliseconds that should elapse between autorepeat generated keystrokes.
137
138
The semantics associated with the previously described syntax are as follows. version line The first line in the file, specifies the file format version. If the server does not recognize the version string/v, it ignores the rest of the file. The version string for the file format described here is version-1. Once past the version line, lines that do not match the above syntax are ignored. comment Lines are ignored. sitepolicy Lines are currently ignored. They are intended to specify the site policies used by the XC-QUERY-SECURITY-1 authorization method. access rule Lines specify how the server should react to untrusted client requests that affect the X Window property named property/ar. The rest of this section describes the interpretation of an access rule. For an access rule to apply to a given instance of property/ar, property/ar must be on a window that is in the set of windows specified by window. If window is any, the rule applies to property/ar on any window. If window is root, the rule applies to property/ar only on root windows. If window is required property, the following apply. If required property is a property/rp, the rule applies when the window also has that property/rp, regardless of its value. If required property is a property with value, property/rpv must also have the value specified by string/rv. In this case, the property must have type STRING and format 8, and should contain one or more null- terminated strings. If any of the strings match string/rv, the rule applies. The definition of string matching is simple case-sensitive string comparison with one elaboration: the occurrence of the character * in string/rv is a wildcard meaning any string. A string/rv can contain multiple wildcards anywhere in the string. For example, x* matches strings that begin with x, *x matches strings that end with x, *x* matches strings containing x, and x*y* matches strings that start with x and subsequently contain y. There may be multiple access rule lines for a given property/ar. The rules are tested in the order that they appear in the file. The first rule that applies is used.
139
perms
Specify operations that untrusted clients may attempt, and the actions that the server should take in response to those operations.
operation Can be r (read), w (write), or d (delete). The following information shows how X Protocol property requests map to these operations in the X Consortium server implementation. GetProperty r, or r and d if delete = True ChangeProperty w RotateProperties r and w DeleteProperty d ListProperties none, untrusted clients can always list all properties action Can be a (allow), i (ignore), or e (error). Allow Executes the request as if it had been issued by a trusted client.
Ignore Treats the request as a no-op. In the case of GetProperty, ignore means return an empty property value if the property exists, regardless of its actual value. Error Specifies not to execute the request and return a BadAtom error with the atom set to the property name. Error is the default action for all properties, including those not listed in the security policy file.
An action applies to all operations that follow it, until the next action> is encountered. Thus, irwad means ignore read and write, allow delete. GetProperty and RotateProperties might do multiple operations (r and d, or r and w). If different actions apply to the operations, the most severe action is applied to the whole request; there is no partial request execution. The severity ordering is: allow < ignore < error. Thus, if the perms for a property are ired (ignore read, error delete), and an untrusted client attempts GetProperty on that property with delete = True, an error is returned, but the property value is not. Similarly, if any of the properties in a RotateProperties do not allow both read and write, an error is returned without changing any property values.
140
An example a security policy file follows: version-1 # Allow reading of application resources, but not writing. property RESOURCE_MANAGER root ar iw property SCREEN_RESOURCES root ar iw # Ignore attempts to use cut buffers. Giving errors causes apps to crash, # and allowing access may give away too much information. property CUT_BUFFER0 root irw property CUT_BUFFER1 root irw property CUT_BUFFER2 root irw property CUT_BUFFER3 root irw property CUT_BUFFER4 root irw property CUT_BUFFER5 root irw property CUT_BUFFER6 root irw property CUT_BUFFER7 root irw # If you are using Motif, you probably want these. property property property property property _MOTIF_DEFAULT_BINDINGS _MOTIF_DRAG_WINDOW root _MOTIF_DRAG_TARGETS any _MOTIF_DRAG_ATOMS any _MOTIF_DRAG_ATOM_PAIRS rootar iw ar iw ar iw ar iw any ar iw
# The next two rules let xwininfo -tree work when untrusted. property WM_NAME any ar
# Allow read of WM_CLASS, but only for windows with WM_NAME. # This might be more restrictive than necessary, but demonstrates # the required property facility, and is also an attempt to # say "top level windows only." property WM_CLASS WM_NAME ar # These next three let xlsclients work untrusted. Think carefully # before including these; giving away the client machine name and command # may be exposing too much. property WM_STATE WM_NAME ar property WM_CLIENT_MACHINE WM_NAME ar property WM_COMMAND WM_NAME ar # To let untrusted clients use the standard colormaps created by # xstdcmap, include these lines. property RGB_DEFAULT_MAP root ar property RGB_BEST_MAP root ar property RGB_RED_MAP root ar property RGB_GREEN_MAP root ar property RGB_BLUE_MAP root ar property RGB_GRAY_MAP root ar
141
# To let untrusted clients use the color management database created # by xcmsdb, include these lines. property XDCCC_LINEAR_RGB_CORRECTION rootar property XDCCC_LINEAR_RGB_MATRICES rootar property XDCCC_GRAY_SCREENWHITEPOINT rootar property XDCCC_GRAY_CORRECTION rootar # oddball property names and explicit specification of error conditions property "property with spaces" 'property with "'aw er ed # Allow deletion of Woo-Hoo if window also has property OhBoy with value # ending in "son". Reads and writes will cause an error. property Woo-Hoo OhBoy = "*son"ad
Related Information
The aixterm command, xclock command, xhost command, xinit command, xlsfonts command, xwd command, xwud command. The lsdisp shell command.
Syntax
x_add_fs_fpe Host Port Position TypeName
Description
The x_add_fs_fpe command adds a font path element to the font path of the selected network type name for a font server to access fonts.
Host Port Position TypeName Specifies the name of the system where the font server resides. Specifies the number of the font server port. This number must be in the /etc/services file and specified in decimal. Specifies where to insert this element in the font path. Specifies the name of the network type. Each network type has a font path consisting of one or more font path elements. Specify the name of the network type to which the font path element will be added, or choose to have it added to all network type names by specifying All. If a font path element is added to All network types, will be placed at the end of each font path.
Security
Access Control: Only the root user should have execute (x) access to this command.
Example
To add the font server to the start of the font path for network type x_st_mgr.ether, enter:
x_add_fs_fpe winter 7500 1 x_st_mgr.ether
142
In this example, the font server on host winter has been added to the start of the font path for network type x_st_mgr.ether. The font server port is 7500.
Files
/usr/lpp/x_st_mgr/bin/x_add_fs_fpe /etc/x_st_mgr/ether.cf Contains the x_add_fs_fpe command. Contains the network type x_st_mgr.ether configuration file (sample).
Related Information
The aixterm command, bootpd daemon, login command, x_add_nfs_fpe command, x_rm_fpe command.
Syntax
x_add_nfs_fpe Host Directory Method Position TypeName
Description
The x_add_nfs_fpe command adds a font path element to the font path of the selected network type name. This font directory will be accessed using Network File System (NFS) or Trivial File Transfer Protocol (TFTP).
Host Directory Method Position TypeName Specifies the system name to access for the font directory. Specifies the complete path to the directory that contains the fonts. Specifies either nfs or tftp to be used to access the fonts. Specifies where to insert this element in the font path. Specifies the name of the network type. Each network type has a font path consisting of one or more font path elements. Specify the name of the network type to which the font path element will be added, or choose to have it added to all network type names by specifying All. If a font path element is added to All network types, it will be placed at the end of each font path.
Security
Access Control: Only the root user should have execute (x) access to this command.
Example
To add the fonts in /usr/lib/X11/fonts/100dpi to the network type x_st_mgr.ether, enter:
x_add_nfs_fpe cedar /usr/lib/X11/fonts/100dpi nfs Last \ x_st_mgr.ether
In this the font path element /usr/lib/X11/fonts/100dpi is added to the end of the font path for network type x_st_mgr.ether. The font directory is on the host cedar, which is accessed using NFS.
Files
/usr/lpp/x_st_mgr/bin/x_add_nfs_fpe /etc/x_st_mgr/ether.cf Contains the x_add_nfs_fpe command. Contains the network type x_st_mgr.ether configuration file (sample).
143
Related Information
The aixterm command, bootpd daemon, login command, x_add_fs_fpe command, x_rm_fpe command.
Syntax
x_rm_fpe TypeName Position Method Host Post Directory
Description
The x_rm_fpe command removes a font path element from the font path of the selected network type name.
TypeName Position Method Host Port Directory Specifies from which network type name the element is to be removed. Specifies where the element is in the font path. Specifies the method used to access the font path element. The valid options are: tcp for Network Font Server; default for initial default font path element; nfs for NFS; and tftp for TFTP. Specifies the name of the system specified in the font path element. For elements using the default method, specify None. Specifies the number of the server port specified in the font path element. For elements using the nfs or tftp method, specify None. Specifies the complete path to the directory that contains the fonts. For a Network Font Server element, specify None.
Security
Access Control: Only the root user should have execute (x) access to this command.
Examples
To remove the font element /usr/lib/X11/fonts/100dpi from the font path for network type x_st_mgr.ether, enter:
x_rm_fpe x_st_mgr.ether 3 nfs waco None /usr/lib/X11/fonts/100dpi
In this example, the font path element /usr/lib/X11/fonts/100dpi that is accessed on host waco using NFS has been removed from the third position of the font path for network type x_st_mgr.ether. Because a port number is not used for NFS, this parameter was set to None.
Files
/usr/lpp/x_st_mgr/bin/x_rm_fpe /etc/x_st_mgr/ether.cf Contains the x_rm_fpe command. Contains the network type x_st_mgr.ether configuration file (sample).
Related Information
The aixterm command, bootpd daemon, login command, x_add_nfs_fpe command, x_rm_fpe command.
144
Syntax
xargs [-p t -x] [-e [EOFString]] [-E EOFString] [-i [ReplaceString] ] [-I ReplaceString | -L Number | n Number] [ -l [ Number ]] [-s Size] [Command [Argument ...]] Note: Do not put a blank space between the lowercase flags and the parameter.
Description
The generated command line length is the sum of the size, in bytes, of the Command and each Argument treated as strings, including a null byte terminator for each of these strings. The xargs command limits the command line length. When the constructed command line runs, the combined Argument and environment lists can not exceed ARG_MAX bytes. Within this constraint, if you do not specify the -n or the -s flags, the default command line length is at least the value specified by LINE_MAX.
Flags
-e[EOFString] Obsolete flag. Use the -E flag. Uses the EOFString parameter as the logical EOF string. If you do not specify the -e or the -E flags, underscore (_) is assumed for the logical EOF string. If you do not specify the EOFString parameter, the logical EOF string capability is disabled, and underscores are taken literally. The xargs command reads from standard input until either EOF or the specified string is reached. Specifies a logical EOF string to replace the default underscore(_ ). The xargs command reads standard input until either EOF or the specified string is reached. Obsolete flag. Use the -I (Uppercase i) flag. If you do not specify the ReplaceString parameter, the string {} is used. Note: The -I (Uppercase i), and the -i flags are mutually exclusive; the last flag specified takes effect. (Uppercase i). Inserts each line of standard input as an argument for the Command parameter, inserting it in Argument for each occurrence of ReplaceString. ReplaceStrings can not be used in more than 5 arguments. Blank characters at the beginning of each standard input line are ignored. Each Argument can contain one or more ReplaceStrings, but may not be larger than 255 bytes. The -I flag also turns on the -x flag. Note: The -I (Uppercase i), and the -i flags are mutually exclusive; the last flag specified takes effect. (Lowercase L). Obsolete flag. Use the -L flag. If you do not specify the Number parameter, a value of 1 is used. The -l flag also turns on the -x flag. Note: The -L, -l (Lowercase L), and -n flags are mutually exclusive; the last flag specified takes effect.
-E EOFString -i[ReplaceString]
-I ReplaceString
-l[Number]
145
-L Number
Runs the Command parameter with the specified number of nonempty parameter lines read from standard input. The last invocation of the Command parameter can have fewer parameter lines if fewer than the specified Number remain. A line ends with the first new-line character unless the last character of the line is a space or a tab. A trailing space indicates a continuation through the next nonempty line. Note: The -L, -l (Lowercase L), and -n flags are mutually exclusive; the last flag specified takes effect. Runs the Command parameter using as many standard input arguments as possible, up to the maximum specified by the Number parameter. The xargs command uses fewer arguments if: 1. If the accumulated command line length exceeds the bytes specified by the -s Size flag. 2. The last iteration has fewer than Number, but not zero, arguments remaining. Note: The -L, -l (Lowercase L), and -n flags are mutually exclusive; the last flag specified takes effect.
-n Number
-p
-s Size
Asks whether to run the Command parameter. It displays the constructed command line, followed by a ?... (question mark, ellipsis) prompt. Enter an affirmative response specific to the locale to run the Command parameter. Any other response causes the xargs command to skip that particular invocation of the parameter. You are asked about each invocation. The -p flag also turns on the -t flag. Sets the maximum total size of the constructed Command line. The Size parameter must be a positive integer. Fewer arguments are used if: 1. The total number of arguments exceeds those specified by the -n flag. 2. The total number of lines exceeds those specified by the -L or -l (Lowercase L) flags. 3. EOF is reached before the number of bytes specified by the Size parameter are accumulated. Enables the trace mode and echoes the constructed Command line to standard error before running. Stops running the xargs command if any Command line is greater than the number of bytes specified by the -s Size flag. This -x flag is turned on if you specify either the -I (Uppercase i) or -l (Lowercase L) flag. If you do not specify the -i, -I (Uppercase i), -l (Lowercase L), -L, or-n flag, the total length of the Command line must be within the limit specified by the -s Size flag.
-t -x
Exit Status
This command returns the following exit values:
0 1-125 126 127 All invocations of the Command parameter returned exit status 0. A command line meeting the specified requirements could not be assembled, one or more of the invocations of the Command parameter returned a non-zero exit status, or some other error occurred. Command was found but could not be invoked. Command could not be found.
If a command line meeting the specified requirements cannot be assembled, the command cannot be invoked, an invocation of the command is terminated by a signal, or an invocation of the command exits with exit status 255. The xargs command will write a diagnostic message and exit without processing any remaining input.
146
Examples
1. To use a command on files whose names are listed in a file, type:
xargs lint -a <cfiles
If the cfiles file contains more file names than fit on a single shell command line (up to LINE_MAX), the xargs command runs the lint command with the file names that fit. It then constructs and runs another lint command using the remaining file names. Depending on the names listed in the cfiles file, the commands might look like the following:
lint -a main.c readit.c gettoken.c . . . lint -a getisx.c getprp.c getpid.c . . . lint -a fltadd.c fltmult.c fltdiv.c . . .
This command sequence is not quite the same as running the lint command once with all the file names. The lint command checks cross-references between files. However, in this example, it cannot check between the main.c and the fltadd.c files, or between any two files listed on separate command lines. For this reason you may want to run the command only if all the file names fit on one line. To specify this to the xargs command use the -x flag by typing: xargs -x lint -a <cfiles
If all the file names in the cfiles file do not fit on one command line, the xargs command displays an error message. 2. To construct commands that contain a certain number of file names, type: xargs -t -n 2 diff <<EOF starting chap1 concepts chap2 writing chap3 EOF This command sequence constructs and runs diff commands that contain two file names each (-n 2):
diff starting chap1 diff concepts chap2 diff writing chap3
The -t flag causes the xargs command to display each command before running it, so you can see what is happening. The <<EOF and EOF pattern-matching characters define a here document, which uses the text entered before the end line as standard input for the xargs command. 3. To insert file names into the middle of command lines, type: ls | xargs -t -I {} mv {} {}.old
This command sequence renames all files in the current directory by adding .old to the end of each name. The -I flag tells the xargs command to insert each line of the ls directory listing where {} (braces) appear. If the current directory contains the files chap1, chap2, and chap3, this constructs the following commands:
147
4. To run a command on files that you select individually, type: ls | xargs -p -n 1 ar r lib.a
This command sequence allows you to select files to add to the lib.a library. The -p flag tells the xargs command to display each ar command it constructs and to ask if you want to run it. Type y to run the command. Press the any other key if you do not want to run the command. Something similar to the following displays:
ar r lib.a chap1 ?... ar r lib.a chap2 ?... ar r lib.a chap3 ?...
5. To construct a command that contains a specific number of arguments and to insert those arguments into the middle of a command line, type:
ls | xargs -n6 | xargs -I{} echo {} - some files in the directory
If the current directory contains files chap1 through chap10, the output constructed will be the following:
chap1 chap2 chap3 chap4 chap5 chap6 - some files in the directory chap7 chap8 chap9 chap10 - some file in the directory
File
/usr/bin/xargs Contains the xargs command.
Related Information
The ar command, diff command, echo command, ksh command, lint command, ls command, mv command. Shells and Commands in Operating system and device management. Input and Output Handling Programmers Overview in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs.
Syntax
xauth [ -f AuthFile ] [ -v | -q ] [ -i ] [ -b ] [ CommandArgument ... ]
Description
The xauth command is usually used to edit and display the authorization information used in connecting to the X server. This program extracts authorization records from one machine and merge them into another (for example, when using remote logins or granting access to other users). The following commands can be entered interactively, on the xauth command line, or in scripts. Note that this program does not contact the X server.
148
generate DisplayName ProtocolName [trusted | untrusted] [timeout seconds] [group group-id] [data hexdata]
An authorization entry is added to the authorization file for the indicated display using the given protocol and key data. The data is specified as an even-length string of hexadecimal digits, each pair representing one octet. The first digit of each pair gives the most significant 4 bits of the octet, and the second digit of the pair gives the least significant 4 bits. For example, a 32-character hexkey would represent a 128-bit value. A protocol name consisting of just a single period is treated as an abbreviation for MIT-MAGIC-COOKIE-1. Authorization entries for each of the specified displays are written to the indicated file. The extracted entries can be read back in using the merge and nmerge commands. If the file name consists of just a single dash, the entries are written to the binary output. This command is similar to add. The main difference is that instead of requiring the user to supply the key data, it connects to the server specified in displayname and uses the SECURITY extension in order to get the key data to store in the authorization file. If the server cannot be contacted or if it does not support the SECURITY extension, the command fails. Otherwise, an authorization entry for the indicated display using the given protocol is added to the authorization file. A protocol name consisting of just a single period is treated as an abbreviation for MIT-MAGIC-COOKIE-1. If the trusted option is used, clients that connect using this authorization will have full run of the display, as usual. If untrusted is used, clients that connect using this authorization will be considered untrusted and prevented from stealing or tampering with data belonging to trusted clients. See the SECURITY extension specification for full details on the restrictions imposed on untrusted clients. The default is untrusted. The timeout option specifies how long in seconds this authorization will be valid. If the authorization remains unused (no clients are connected with it) for longer than this time period, the server purges the authorization, and future attempts to connect using it will fail. Note that the purging done by the server does not delete the authorization entry from the authorization file. The default timeout is 60 seconds. The group option specifies the application group that clients connecting with this authorization should belong to. See the application group extension specification for more details. The default is to not belong to an application group. The data option specifies data that the server should use to generate the authorization. Note that this is not the same data that gets written to the authorization file. The interpretation of this data depends on the authorization protocol. The hexdata is in the same format as the hexkey described in the add command. The default is to send no data.
149
list [DisplayName...]
merge [FileName...]
[n]list [DisplayName...]
[n]merge [FileName...]
info
exit
Authorization entries for each of the specified displays (or all displays if none are named) are printed on the standard output in a textual format. Key data is always displayed in the hexadecimal format given in the description of the add command. Authorization entries are read from the specified files and are merged into the authorization database, superseding any matching existing entries. If a file name consists of just a single dash, the binary input is read if it has not been read before. Authorization entries for each of the specified displays are written to the indicated file. The entries are written in a numeric format suitable for non-binary transmission (such as secure electronic mail). The extracted entries can be read back in using the merge and nmerge commands. If the file name consists of just a single dash, the entries are written to the standard output. Authorization entries for each of the specified displays (or all displays if none are named) are printed on the standard output in the numeric format used by the nextract command. Key data is always displayed in the hexadecimal format given in the description of the add command. Authorization entries are read from the specified files and are merged into the authorization database, superseding any matching existing entries. The numeric format given in the description of the extract command is used. If a file name consists of just a single dash, the standard input is read if it has not been read before. Authorization entries matching the specified displays are removed from the authority file. The specified file is treated as a script containing xauth commands to execute. Blank lines and lines beginning with a # (pound sign) are ignored. A single dash can be used to indicate the standard input, if it has not already been read. Information describing the authorization file, whether or not any changes have been made, and from where xauth commands are being read is printed on the standard output. If any modifications have been made, the authority file is written out (if allowed), and the program exits. An end of file is treated as an implicit exit command. The program exits, ignoring any modifications. This may also be accomplished by pressing the interrupt character. A description of all commands that begin with the given string (or all commands if no string is given) is printed on the standard output. A short list of the valid commands is printed on the standard output.
Display names for the add, [n]extract, [n]list, [n]merge, and remove commands use the same format as the DISPLAY environment variable and the common display command-line argument. Display-specific information (such as the screen number) is unnecessary and is ignored. Same-machine connections (such as local-host sockets, shared memory, and the Internet Protocol HostName LocalHost) are referred to as HostName/unix:DisplayNumber so that local entries for different machines can be stored in one authority file.
150
Note: Users that have unsecure networks should take care to use encrypted file transfer mechanisms to copy authorization entries between machines. Similarly, the MIT-MAGIC-COOKIE-1 protocol is not very useful in unsecure environments. Sites that are interested in additional security may need to use encrypted authorization mechanisms such as Kerberos. Spaces are currently not allowed in the protocol name. Quoting could be added.
Flags
The following options are used with the xauth command. They can be given individually (for example, -q -i) or combined (for example, -qi).
-f AuthFile -v Specifies the name of the authority file to use. By default, xauth uses the file specified by the XAUTHORITY environment variable or .xauthority in the users home directory. Indicates that xauth should operate verbosely and print status messages indicating the results of various operations (for example, how many records have been read in or written out). This is the default if xauth is reading commands from its standard input and its standard output is directed to a terminal. Indicates that xauth should operate quietly and not print unsolicited status messages. This is the default if an xauth command is given on the command line or if the standard output is not directed to a terminal. Indicates that xauth should ignore any authority file locks. Normally, xauth refuses to read or edit any authority files that have been locked by other programs (usually xdm or another xauth). Indicates that xauth should attempt to break any authority file locks before proceeding. Use this option only to clean up stale locks.
-q
-i
-b
Example
The most common use for the xauth command is to extract the entry for the current display, copy it to another machine, and merge it into the users authority file on the remote machine:
% xauth extract \- $DISPLAY | rsh otherhost xauth merge \-
Files
$HOME/.Xauthority Contains the default authority file if the XAUTHORITY environment variable is not defined.
Syntax
xclock [ -Xtoolkitoption ... ] [ -analog | -digital ] [ -chime ] [ -hd Color ] [ -help ] [ -hl Color ] [ -padding Number ] [ -update Seconds ]
Description
The xclock command gets the time from the system clock, then displays and updates it in the form of a digital or analog clock. Select the -analog or -digital flag to display the clock in analog or digital formats. You can also select flags to specify the presentation of the clock, including chime and update frequency, colors, and border width. This command uses the Athena clock widget, which understands core resource names and classes. To specify these resources, you need to know the hierarchy of the widgets that comprise the xclock
Alphabetical Listing of Commands
151
command. In the following example, the indented items indicate the hierarchical structure. The widget class name is given first, followed by the widget instance name:
XClock xclock Clock clock
The following examples demonstrate the possible ways to specify resources for this client:
xclock.clock.background XClock*background xclock*background
Note: Specifying resources as xclock.background which worked with the previous version of xclock will not work with this version.
Flags
-Xtoolkitoption The xclock command accepts all of the standard X Toolkit command-line option flags in addition to the specific flags listed. See the List of Enhanced X-Windows Protocols, Toolkit, and Extension Functions for detailed information on the available options. Sets the analog display mode, which is the default mode. Draws a conventional 12-hour clock face with ticks for each minute and stroke marks on each hour. Specifies the sounding of a chime once on the half hour and twice on the hour. Sets the 24-hour digital display mode. Displays the date and time in digital form. Specifies the color of the hands in analog mode on color displays. The default is black. Prints a brief summary of the allowed options. (lowercase HL) Specifies the highlight color of the edges of the hands of the analog clock. The default is black. Specifies the width in pixels of the padding between the window border and the clock text or picture. The default is 8. Specifies the frequency in seconds that the xclock command updates its display. If the xclock window is obscured and then exposed, the xclock command redisplays immediately. The specification of an update frequency less than 30 seconds enables the second hand in the analog mode. The default update frequency is 60 seconds.
-analog -chime -digital -hd Color -help -hl Color -padding Number -update Seconds
.Xdefaults Keywords
Use the following keywords to set the defaults for the xclock command.
analog (class Boolean) chime (class Boolean) fontSet (class FontSet) foreground (class Foreground) Specifies an analog clock instead of a digital clock. The default is true. Specifies whether a bell sounds on the hour and half hour. Specifies the fontset for the digital clock. Variable-width fonts do not always display correctly. Specifies the color of tick marks on color displays. If reverseVideo is specified, the default is white, otherwise the default is black. Specifies the color on the inside of the hands in the analog clock on color displays. If reverseVideo is specified, the default is white, otherwise the default is black. Specifies the color used to highlight the clocks hands. If reverseVideo is specified, the default is white, otherwise the default is black. Specifies the height of the clock. The default for the analog clock is 164 pixels. The default for the digital clock is whatever is required to hold the clock when displayed in the chosen font. Specifies the amount of internal padding in pixels. The default is 8.
152
Specifies the frequency in seconds in which the xclock command updates its display. Specifies the width of the clock. The default for the analog clock is 164 pixels. The default for the digital clock is whatever is needed to hold the clock when displayed in the chosen font.
Environment Variables
DISPLAY XENVIRONMENT Gets the default host and display number. Gets the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
Examples
1. To specify a digital clock display, enter:
xclock -digital
File
/usr/lib/X11/app-defaults/XClock Specifies the required resources.
Syntax
xcmsdb [ -display Display ] [ [ -query ] [ -remove ] [ -color ] ] | [ -format 32 | 16 | 8 ] [ FileName ]
Description
The xcmsdb command is used to load, query, or remove Screen Color Characterization Data stored in properties on the root window of the screen. Screen Color Characterization Data is an integral part of Xlib, which is necessary for proper conversion between device-independent and device-dependent color specifications. Xlib uses the XDCCC_LINEAR_RGB_MATRICES and XDCCC_LINEAR_RGB_CORRECTION properties to store color characterization data for color monitors. It uses XDCCC_GRAY_SCREENWWHITEPOINT and XDCCC_GRAY_CORRECTION properties for gray scale monitors. Because Xlib allows the addition of Screen Color Characterization Function Sets, added function sets may place their Screen Color Characterization Data on other properties. This utility is unaware of these other properties; therefore, you will need to use a similar utility provided with the function set, or use the example xprop utility. The ASCII readable contents of the FileName parameter (or the standard input if no input file is given) are appropriately transformed for storage in properties, provided the -query or -remove flag options are not specified.
Alphabetical Listing of Commands
153
Note: The Xcms API in libX11.a is supported; however, the client side color name data base, /usr/lib/X11/Xcms.txt, and a device color characterization file, /usr/lib/X11/XcmsIBM5081.dcc, are provided as unsupported samples.
Flags
-displayDisplay - query Specifies the server to which you are converting. Reads or attempts to read the XDCCC properties off the screens root window. If successful, it transforms the data into a more readable format, and then sends the data to standard output. Removes or attempts to remove the XDCCC properties on the screens root window. Sets the -query and -remove options to only check for the XDCCC_LINEAR_RGB_MATRICES and XDCCC_LINEAR_RGB_CORRECTION properties. If the -color option is not set, the -query and -remove options check for all the properties. Specifies the property format (32, 16, or 8 bits per entry) for the XDCCC_LINEAR_RGB_CORRECTION property. Precision of encoded floating-point values increases with the increase in bits per entry. The default is 32 bits per entry.
-remove -color
-format 32 | 16 | 8
Parameter
FileName Specifies the ASCII readable contents of a Screen Color Characterization Data file.
Examples
1. Use the following example to put Screen Color Characterization Data on the root window by telling the xcmsdb command to read it from a file:
xcmsdb /usr/lib/X11/XcmsIBM5081.dcc
2. Use the following example after you have already put Screen Color Characterization Data on the root window to tell the xcmsdb command to read the data back if it exists:
xcmsdb -query
Syntax
xdm [ -config ConfigurationFile] [ -debug DebugLevel ] [ -nodaemon ] [ -error ErrorLogFile ] [ -resources ResourceFile ] [ -server ServerEntry ] [ -udpPort PortNumber ] [ -session SessionProgram ] [ -xrm ResourceSpecification ]
Description
The xdm (X Display Manager) command manages a collection of X displays, which may be on the local host or remote servers. The design of the xdm command was guided by the needs of X terminals as well as the X Consortium standard XDMCP, the X Display Manager Control Protocol. The xdm command provides services similar to those provided by the init, getty, and login commands on character terminals: prompting for login name and password, authenticating the user, and running a session. A session is defined by the lifetime of a particular process; in the traditional character-based terminal world, it is the users login shell. In the xdm context, it is an arbitrary session manager. This is because in
154
a windowing environment, a users login shell process does not necessarily have any terminal-like interface with which to connect. When a real session manager is not available, a window manager or terminal emulator is typically used as the session manager, meaning that ending this process ends the users session. When the session is ended, xdm resets the X server and (optionally) restarts the whole process. When the xdm command receives an Indirect query by way of XDMCP, it can run a chooser process to perform an XDMCP BroadcastQuery (or an XDMCP Query to specified hosts) on behalf of the display and offer a menu of possible hosts that offer XDMCP display management. This feature is useful with X terminals that do not offer a host menu themselves. Because the xdm command provides the first interface that users see, it is designed to be simple to use and easy to customize to the needs of a particular site.
Typical Usage
The xdm command is designed to operate in a wide variety of environments. First, set up the xdm configuration file. Make a directory (usually /usr/lib/X11/xdm) to contain all of the relevant files. The following is a reasonable configuration file, which could be named xdm-config:
DisplayManager.servers: DisplayManager.errorLogFile: DisplayManager*resources: DisplayManager*startup: DisplayManager*session: DisplayManager.pidFile: DisplayManager._0.authorize: DisplayManager*authorize: /usr/lib/X11/xdm/Xservers /usr/lib/X11/xdm/xdm-errors /usr/lib/X11/xdm/Xresources /usr/lib/X11/xdm/Xstartup /usr/lib/X11/xdm/Xsession /usr/lib/X11/xdm/xdm-pid true false
This file contains references to other files. Some of the resources are specified with an * (asterisk) separating the components. These resources can be made unique for each display by replacing the * (asterisk) with the display name, but typically this is not useful. See the Resources section on the next page for a complete discussion. The first file, /usr/lib/X11/xdm/Xservers, contains the list of displays to manage that are not using XDMCP. Most workstations have only one display, numbered 0 (zero), so the file looks something like this:
:0 Local local /usr/bin/X11/X -force
This keeps /usr/bin/X11/X running on this display and manages a continuous cycle of sessions. The /usr/lib/X11/xdm/xdm-errors file contains error messages from xdm and anything output to standard error by Xsetup, Xstartup, Xsession or Xreset scripts. If you have trouble starting the xdm command, check the /usr/lib/X11/xdm/xdm-errors file to see if the xdm command has any clues to the trouble. The next configuration entry, /usr/lib/X11/xdm/Xresources, is loaded onto the display as a resource database using the xrdb command. As the authentication widget reads this database before starting up, it usually contains parameters for that widget.
Flags
All of these options (except -config) specify values that can also be specified in the configuration file as resources.
-config ConfigurationFile Names the configuration file, which specifies resources to control the behavior of the xdm command. The /usr/lib/X11/xdm/xdm-config file is the default.
155
-debug DebugLevel
-nodaemon
-error ErrorLogFile
-resources ResourceFile
Specifies the numeric value for the DisplayManager.debugLevel resource. A nonzero value causes xdm to print debugging statements to the terminal and disables the DisplayManager.daemonMode resource, forcing xdm to run synchronously. These error messages may be unclear. To interpret them, check the X11R4 source code for the xdm command. Specifies False as the value for the DisplayManager.daemonMode resource. This suppresses the usual daemon behavior, in which the xdm command closes all file descriptors, disassociates itself from the controlling terminal, and puts itself in the background when it first starts up. Specifies the value for the DisplayManager.errorLogFile resource. This file contains errors from xdm as well as anything written to standard error by the various scripts and programs run during the progress of the session. Specifies the value for the DisplayManager*resources resource. This file is loaded using the xrdb command to specify configuration parameters for the authentication widget. Specifies the value for the DisplayManager.servers resource. See the section Server Specification for a description of this resource. Specifies the value for the DisplayManager.requestPort resource. This sets the port number that the xdm command monitors for XDMCP requests. XDMCP uses the registered well-known UDP port 177. Do not change this resource except when debugging. Specifies the value for the DisplayManager*session resource. This indicates the program to run as the session after the user has logged in. Allows an arbitrary resource to be specified, as in most X Toolkit applications.
Resources
At many stages, the actions of xdm can be controlled through the use of its configuration file, which is in the X resource format. Some resources modify the behavior of xdm on all displays, while others modify its behavior on a single display. When actions relate to a specific display, the display name is inserted into the resource name between DisplayManager and the final resource name segment. For example, DisplayManager.expo_0.startup is the name of the resource that defines the startup shell file on the expo:0 display. Because the resource manager uses colons to separate the name of the resource from its value and dots to separate resource name parts, xdm substitutes underscores for both dots and colons when generating the resource name.
DisplayManager.servers Specifies either a file name full of server entries, one per line (if the value starts with a slash), or a single server entry. See the section Server Specification for details. Indicates the UDP port number that the xdm command uses to listen for incoming XDMCP requests. Unless you need to debug the system, leave this with its default value of 177. Redirects error messages to go to the named file rather than to the console. This file also contains any output directed to standard error by the Xsetup, Xstartup, Xsession, and Xreset files, so it will contain descriptions of problems in those scripts as well. If the integer value of this resource is greater than 0 (zero), the xdm command outputs a large amount of debugging information. It also disables daemon mode, which would discard the information and allow nonroot users to run the xdm command that would typically not be useful. The xdm command attempts to make itself into a daemon process unassociated with any terminal. This is accomplished by forking and leaving the parent process to exit, and then closing file descriptors and releasing the controlling terminal. In some environments this is not desired (in particular, when debugging). Setting this resource to False disables this feature.
DisplayManager.requestPort
DisplayManager.errorLogFile
DisplayManager.debugLevel
DisplayManager.daemonMode
156
DisplayManager.pidFile
DisplayManager.lockPidFile DisplayManager.authDir
DisplayManager.autoRescan
DisplayManager.removeDomainname
DisplayManager.keyFile
DisplayManager.accessFile
DisplayManager.exportList
DisplayManager.randomFile
DisplayManager.choiceTimeout
DisplayManager.DISPLAY.resources
The file name specified is created to contain an ASCII representation of the process ID of the main xdm process. The xdm command also uses file locking on this file to attempt to eliminate multiple daemons running on the same machine, which would have unpredictable results. Controls whether the xdm command uses file locking to keep multiple display managers from running simultaneously. Names a directory in which the xdm command stores authorization files while initializing the session. The default value is /usr/lib/X11/xdm. A Boolean value that controls whether the xdm command rescans the configuration, servers, access control, and authentication keys files after a session ends and the files have changed. By default the value is True. You can force the xdm daemon to reread these files by sending a SIGHUP signal to the main process. When computing the display name for XDMCP clients, the name resolver typically creates a fully qualified host name for the terminal. As this is sometimes confusing, the xdm command removes the domain name portion of the host name if it is the same as the domain name of the local host when this variable is set. The default value is True. XDM-AUTHENTICATION-1 style XDMCP authentication requires that a private key be shared between the xdm daemon and the terminal. This resource specifies the file containing those values. Each entry in the file consists of a display name and the shared key. By default, the xdm command does not include support for XDM-AUTHENTICATION-1 because it requires the data encryption method (DES), which is not generally distributable because of United States export restrictions. To prevent unauthorized XDMCP service and to allow forwarding of XDMCP IndirectQuery requests, this file contains a database of host names that are allowed direct access to this machine or have a list of hosts to which queries should be forwarded. The format of this file is described in the XDMCP Access Control section. A whitespace-separated list of additional environment variables to pass on to the Xsetup, Xstartup, Xsession, and Xreset programs. A file to checksum to generate the seed of authorization keys. This should be a file that changes frequently. The default is /dev/mem. Number of seconds to wait for the display to respond after a user has selected a host from the chooser. If the display sends an XDMCP IndirectQuery within this time, the request is forwarded to the chosen host. Otherwise, it is assumed to be from a new session and the chooser is offered again. The default is 15. Specifies the name of the file to be loaded by the xrdb command as the resource database onto the root window of screen 0 of the display. The Login widget, Xsetup, and chooser programs use the resources set in this file. This resource data base is loaded just before the authentication procedure is started, so it can control the appearance of the login window. See the section Authentication Client , which describes the various resources that are appropriate to place in this file. There is no default value for this resource, but /usr/lib/X11/xdm/ Xresources is the conventional name.
157
DisplayManager.DISPLAY.chooser
DisplayManager.DISPLAY.startup
DisplayManager.DISPLAY.session
DisplayManager.DISPLAY.reset
DisplayManager.DISPLAY.openDelay
DisplayManager.DISPLAY.openRepeat
DisplayManager.DISPLAY.openTimeout
Specifies the program run to offer a host menu for indirect queries redirected to the special host name CHOOSER. /usr/lib/X11/xdm/chooser is the default. See the sections XDMCP Access Control and Chooser. Specifies the program used to load the resources. By default, the xdm command uses /usr/bin/X11/xrdb. Specifies the name of the C preprocessor that is used by the xrdb command. Specifies a program that is run (as root) before offering the login window. This resource may be used to change the appearance of the screen around the login window or to put up other windows (for example, you may want to run xconsole here). By default, no program is run. The conventional name for a file used here is Xsetup. See the section Setup Program . Specifies a program that is run (as root) after the authentication process succeeds. By default, no program is run. The conventional name for a file used here is Xstartup. See the section Startup Program . Specifies the session to be run (when not running as root). By default, /usr/bin/X11/xterm is run. The conventional name is the Xsession script. See the section Session Program. Specifies a program that is run (as root) after the session ends. By default, no program is run. The conventional name is the Xreset script. See the section Reset Program . Controls the behavior of the xdm command when attempting to open intransigent servers by specifying the length of the pause (in seconds) between successive attempts. Controls the behavior of the xdm command when attempting to open intransigent servers by specifying the number of attempts to make. Controls the behavior of the xdm command when attempting to open intransigent servers by specifying the number of seconds to wait while actually attempting the open (that is, the maximum time spent in the connect(2) system call).
DisplayManager.DISPLAY.startAttempts
Controls the behavior of the xdm command when attempting to open intransigent servers by specifying the number of times that the entire process is completed before giving up on the server. After the number of attempts specified by the Display Manager openRepeat resource have been made, or if the number of seconds specified by the Display Manager openTimeout resource elapse in any particular attempt, the xdm command ends and restarts the server, attempting to connect again. This process is repeated startAttempts times, at which point the display is declared inactive and disabled. Although this behavior may seem arbitrary, it has been empirically developed and works well on most systems. The default is a value of 5 for openDelay, a value of 5 for openRepeat, a value of 30 for openTimeout, and a value of 4 for startAttempts.
158
DisplayManager.DISPLAY.pingInterval
DisplayManager.DISPLAY.pingTimeout
DisplayManager.DISPLAY.terminateServer
DisplayManager.DISPLAY.userPath
DisplayManager.DISPLAY.systemPath
DisplayManager.DISPLAY.systemShell
DisplayManager.DISPLAY.failsafeClient
To discover when remote displays disappear, the xdm command occasionally pings them, using an X connection and XSync calls. This resource specifies the time (in minutes) between ping attempts. By default, it is set to 5 minutes. If you frequently use X terminals, which can become isolated from the managing host, you may want to increase this value. Note: AIXwindows sessions may continue to exist after the terminal has been accidentally disabled. The xdm command does not ping local displays. A workstation session can be ended if the server hangs for NFS service and does not respond to the ping. To discover when remote displays disappear, the xdm command occasionally pings them, using an X connection and XSync calls. This resource specifies the maximum amount of time (in minutes) to wait for the terminal to respond to the request. If the terminal does not respond, the session is declared inactive and ended. By default, it is set to 5 minutes. If you frequently use X terminals, which can become isolated from the managing host, you may want to increase this value. Note: AIXwindows sessions may continue to exist after the terminal has been accidentally disabled. The xdm command does not ping local displays. A workstation session could be ended if the server hangs for NFS service and does not respond to the ping. Specifies whether the X server should be canceled when a session ends (instead of resetting it). This option can be used when the server tends to grow without bound over time, to limit the amount of time the server is run. The default value is False. The xdm command sets the PATH environment variable for the session to this value. It should be a list of directories separated by colons; see the sh command in AIX 5L Version 5.3 Commands Reference for a full description. :/bin:/usr/bin:/usr/bin/X11:/usr/ucb is a common setting. The default value can be specified at build time in the AIXwindows system configuration file with the DefaultUserPath resource. The xdm command sets the PATH environment variable for the startup and reset scripts to the value of this resource. The default for this resource is specified at build time by the DefaultSystemPath resource entry in the system configuration file; /etc:/bin:/usr/bin:/usr/bin/X11:/usr/ucb is a common choice. Note the absence of . (period) (the current directory) from this entry. This is a good practice to follow for root; it avoids many common Trojan Horse system penetration schemes. The xdm command sets the SHELL environment variable for the startup and reset scripts to the value of this resource. It is /bin/sh by default. If the default session fails to run, the xdm command returns to this program. This program is run with no arguments, using the same environment variables as the session would have had (see the section Session Program). By default, /usr/bin/X11/xterm is used.
159
DisplayManager.DISPLAY.grabServer DisplayManager.DISPLAY.grabTimeout
DisplayManager.DISPLAY.authorize DisplayManager.DISPLAY.authName
DisplayManager.DISPLAY.authFile
DisplayManager.DISPLAY.authComplain
DisplayManager.DISPLAY.resetSignal
DisplayManager.DISPLAY.termSignal
DisplayManager.DISPLAY.resetForAuth
DisplayManager.DISPLAY.userAuthDir
To improve security, the xdm command grabs the server and keyboard while reading the login name and password. The grabServer resource specifies if the server should be held for the duration of the name/password reading. When set to False, the server is ungrabbed after the keyboard grab succeeds, otherwise the server is grabbed until just before the session begins. The default value is False. The grabTimeout resource specifies the maximum time that the xdm command waits for the grab to succeed. The grab may fail if some other client has the server grabbed, or possibly if the network latencies are high. This resource has a default value of 3 seconds; be cautious when raising it, as a user may be confused by a look-alike window on the display. If the grab fails, the xdm command becomes inactive and restarts the server (if possible) and the session. The authorize is a Boolean resource that controls whether the xdm command generates and uses authorization for the local server connections. If authorization is used, the xdm command uses the authorization mechanisms indicated as a whitespace-separated list as the value of the authName resource. XDMCP connections dynamically specify which authorization mechanisms are supported, so the authName resource is ignored in this case. When the authorize resource is set for a display and authorization is not available, the user is informed by a different message displayed in the Login widget. By default, the authorize resource is True; authName is MIT-MAGIC-COOKIE-1. Indicates the file is used to communicate the authorization data from the xdm command to the server, using the -auth server command-line option. It should be kept in a directory with restricted write permissions as it could easily be removed, disabling the authorization mechanism in the server. If set to a value of False, this disables the use of the unsecureGreeting in the login window. See the section Authentication Client . The default is a value of True. The number of the signal that the xdm command sends to reset the server. See the section Controlling the Server . The default is 1(SIGHUP). The number of the signal that the xdm command sends to end the server. See the section Controlling the Server . The default is 15(SIGTERM). Causes the xdm command to send SIGHUP to the server after setting up the authorization file, causing an additional server reset to occur, during which time the new authorization information is read. The default is a value of False, which works for all AIXwindows servers. When the xdm command is unable to write to the usual user authorization file ($HOME/.Xauthority), it creates a unique file name in this directory and sets the XAUTHORITY environment variable to the name of the created file. It uses /tmp by default.
160
Direct query entries contain either a host name or a pattern, which is distinguished from a host name by the inclusion of one or more pattern-matching characters. An * (asterisk) matches any sequence of 0 (zero) or more characters, and a ? (question mark) matches any single character. These are compared against the host name of the display device. If the entry is a host name, all comparisons are done using network addresses, so that any name that converts to the correct network address may be used. For patterns, only actual host names are used in the comparison, so ensure that you do not attempt to match aliases. Preceding either a host name or a pattern with an ! (exclamation point) causes hosts that match that entry to be excluded. An Indirect entry also contains a host name or pattern, but follows it with a list of host names or macros to which indirect queries should be sent. A macro definition contains a macro name and a list of host names and other macros that the macro expands to. To distinguish macros from host names, macro names start with a % (percent) character. Macros may be nested. Indirect entries may also specify to have the xdm command run the chooser command to offer a menu of hosts to which to connect. See the section Chooser on the next page. When checking access for a particular display host, each entry is scanned in turn and the first matching entry determines the response. For example, a Direct query entry is ignored when scanning for an Indirect entry. A Broadcast query entry is ignored when scanning for a Direct entry. Blank lines are ignored. The # character is treated as a comment delimiter causing the rest of that line to be ignored, and a \ (backslash) at the end of the line causes the new line to be ignored, allowing indirect host lists to span multiple lines. The following is an example Xaccess file:
# # Xaccess - XDMCP access control file # # # Direct/Broadcast query entries # !xtra.lcs.mit.edu # disallow direct/broadcast service for xtra bambi.ogi.edu # allow access from this particular display *.lcs.mit.edu # allow access from any display in LCS # # Indirect query entries # %HOSTS expo.lcs.mit.edu xenon.lcs.mit.edu \\ excess.lcs.mit.edu kanga.lcs.mit.edu
extract.lcs.mit.edu xenon.lcs.mit.edu #force extract to contact xenon !xtra.lcs.mit.edu dummy #disallow indirect access *.lcs.mit.edu %HOSTS #all others get to choose
Chooser
For X terminals that do not offer a host menu for use with Broadcast or Indirect queries, the chooser program can do this for them. In the Xaccess file, specify CHOOSER as the first entry in the Indirect host list. The chooser program sends a Query request to each of the remaining host names in the list and offers a menu of all the hosts that respond. The list may consist of the word BROADCAST, in which case chooser sends a Broadcast query instead, again offering a menu of all hosts that respond. The following is an example Xaccess file using chooser:
161
extract.lcs.mit.edu xtra.lcs.mit.edu
CHOOSER CHOOSER
%HOSTS BROADCAST
The program to use for chooser is specified by the DisplayManager.DISPLAY.chooser resource. Resources for this program can be put into the file named by the DisplayManager.DISPLAY.resources resource. The chooser has been implemented using a Motif SelectionBoxWidget. Refer to the XmSelectionBoxWidget Class documentation for a description of resources and widget or gadget names.
Server Specification
The resource DisplayManager.servers gives a server specification or, if the values starts with a / (slash), the name of a file containing server specifications, one per line. Each specification indicates a display that should constantly be managed and that is not using XDMCP. Each consists of at least three parts: v Display name v Display class v Display type v For local servers, a command line to start the server. A typical entry for local display number 0 would be:
:0 IBM-GT local /usr/bin/X11/X :0
The display name must be something that can be passed in the -display option to an X program. This string is used to generate the display-specific resource names, so be careful to match the names (for example, use :0 local /usr/bin/X11/X :0 instead of `localhost:0 local /usr/bin/X11/X :0 if your other resources are specified as DisplayManager._0.session). The display class portion is also used in the display-specific resources as the class of the resource. This is useful if you have a large collection of similar displays (like a corral of X terminals) and would like to set resources for groups of them. When using XDMCP, the display is required to specify the display class, so the manual for your particular X terminal should document the display class string for your device. If it does not, you can run the xdm command in debug mode and look at the resource strings that it generates for that device, which will include the class string.
Setup Program
The Xsetup file is run after the server is reset, but before the login window is offered. The file is typically a shell script. It is run as root, so be careful about security. This is the place to change the root background or bring up other windows that should be displayed on the screen along with the Login widget. Because xdm grabs the keyboard, other windows will not be able to receive keyboard input. They will be able to interact with the mouse, however; beware of potential security holes here. If DisplayManager.DISPLAY.grabServer is set, Xsetup will not be able to connect to the display at all. Resources for this program can be put into the file named by DisplayManager.DISPLAY.resources. In addition to any specified by DisplayManager.exportList, the following environment variables are passed:
DISPLAY PATH SHELL Specifies the associated display name. Specifies the value of DisplayManager.DISPLAY.systemPath. Specifies the value of DisplayManager.DISPLAY.systemShell.
162
XAUTHORITY
Authentication Client
The MIT authentication widget has been replaced by an authentication client composed of standard Motif widgets. The following is a list of the widget names (and their widget class):
outframe(xmFrameWidget) inframe(xmFrameWidget) main(XmFormWidget) tframe(xmFrameWidget) greeting(xmLabelGadget) logoline(xmFormWidget) dpyname(xmLabelWidget) userline(xmRowColumnWidget) userlabel(xmLabelWidget) username(xmTextWidget) passlabel(xmLabelWidget) password(xmTextWidget) failsafeline(xmFormWidget) failsafe(xmToggleButtonWidget) cancelline(xmFormWidget) cancel(xmPushButtonWidget) message(xmLabelWidget)
The authentication client reads a name/password pair from the keyboard. Put resources for this client into the file named by DisplayManager.DISPLAY.resources. All of these have reasonable default values, so it is unnecessary to specify any of them. See /usr/lib/X11/xdm/Xresources for more information on default values for authentication client resources as well as the appropriate widget class documentation. The following resources are also supported by the authentication client:
Xlogin*foreground Xlogin*background Xlogin*greeting Xlogin*greetFont Xlogin*frameColor Xlogin*titleMessage Xlogin*titleFont Xlogin*namePrompt Specifies the color used for the foreground. Specifies the color used for the background. Specifies a string that identifies this window. The default is AIXwindows environment. Specifies the font used to display the greeting. Specifies the background color used to display the greeting. Specifies the string displayed in the title. The default is the hostname of the machine on which the authentication client is running. Specifies the font used to display the title. Specifies the string displayed to prompt for a user name. The Xrdb program strips trailing white space from resource values. Add spaces escaped with backslashes at the end of the prompt. The default is login:. Specifies the string displayed to prompt for a password. The default is password:. Specifies the font used to display both prompts. Specifies the label for the failsafe button. Specifies the font used for the failsafe button. Specifies the label for the cancel button. Specifies the font used for the cancel button. Specifies a message displayed to indicate that the authentication fails. The default is Login was incorrect. Specifies the font used to display the failure message. Specifies the color used to display the failure message. Specifies the number of seconds that the failure message is displayed. The default is thirty seconds. Specifies the argument to be passed to the session program.
Xlogin*passwdPrompt Xlogin*promptFont Xlogin*failPrompt Xlogin*failFont Xlogin*cancelPrompt Xlogin*cancelFont Xlogin*fail Xlogin*messageFontlist Xlogin*failColor Xlogin*failTimeout Xlogin*sessionArgument
163
Xlogin*XmText.translations
This specifies the translations use for the authentification client. Refer to the X Toolkit documentation for a complete discussion on translations. The default translation table is: Ctrl<Key>b: Ctrl<Key>a: Ctrl<Key>e: Ctrl<Key>f: Ctrl<Key>d: Ctrl<Key>k: Ctrl<Key>u: backward-character()\n\ beginning-of-line()\n\ end-of-line()\n\ forward-character()\n\ kill-next-character()\n\ kill-to-end-of-line()\n\ kill-to-start-of-line()\n
You may setup XDM to use the standard XDM translations by replacing the XmText translations as defined in Xresources: Note: Use <Key>osfHelp instead of <Key>F1 due to the Motif default virtual bindings.) Xlogin*XmText.translations: #override\n\ <Key>osfHelp: Ctrl<Key>Return: Ctrl<Key>H: Ctrl<Key>D: Ctrl<Key>B: Ctrl<Key>F: Ctrl<Key>A: Ctrl<Key>E: Ctrl<Key>K: Ctrl<Key>U: Ctrl<Key>X: <Key>Return: <Key>BackSpace: <Key>Delete: set-session-argument(failsafe) finish-field()\n\ set-session-argument(failsafe) finish-field()\n\ delete-previous-character() \n\ delete-character() \n\ move-backward-character() \n\ move-forward-character() \n\ move-to-beginning() \n\ move-to-end() \n\ erase-to-end-of-line() \n\ erase-line() \n\ erase-line() \n\ finish-field() \n delete-previous-character() \n\ delete-previous-character() \n
In addition to the typical XmText actions, the following actions are also supported by the client to be compatible with the standard XDM translations: delete-previous-character Erases the character before the cursor. delete-character Erases the character after the cursor. move-backward-character Moves the cursor backward. move-forward-character Moves the cursor forward. move-to-beginning Moves the cursor to the beginning of the editable text.
164
move-to-end Moves the cursor to the end of the editable text. erase-to-end-of-line Erases all text after the cursor. erase-line Erases the entire text. finish-field If the cursor is in the name field, proceeds to the password field; if the cursor is in the password field, checks the current name/password pair. If the name/password pair is valid, xdm starts the session. Otherwise the failure message is displayed and the user is prompted again. insert-char Inserts the character typed. set-session-argument Specifies a single word argument that is passed to the session at startup. See the sections Session Program and Typical Usage.
Startup Program
The Xstartup file is typically a shell script. Because it is run as the root user, be careful about security when it runs. It usually contains commands that add entries to /etc/utmp, mount users home directories from file servers, display the message of the day, or cancel the session if logins are not allowed. In addition to the environment variables specified by DisplayManager.exportList, the following variables are passed:
DISPLAY HOME USER PATH SHELL XAUTHORITY Specifies the associated display name. Specifies the initial working directory of the user. Specifies the user name. Specifies the value of DisplayManager.DISPLAY.systemPath. Specifies the value of DisplayManager.DISPLAY.systemShell. May be set to an authority file.
No arguments are passed to the script. The xdm command waits until this script exits before starting the user session. If the exit value of this script is nonzero, the xdm command discontinues the session and starts another authentication cycle.
Session Program
The Xsession program establishes the style of the users session. It is run with the permissions of the authorized user. In addition to any specified by DisplayManager.exportList, the following environment variables are passed:
DISPLAY HOME USER PATH SHELL XAUTHORITY Specifies the associated display name. Specifies the initial working directory of the user. Specifies the user name. Specifies the value of DisplayManager.DISPLAY.userPath. Specifies the users default shell (from getpwnam). May be set to a nonstandard authority file.
165
At most installations, the Xsession program should look in the users home directory ($HOME) for a file .xsession, which contains the commands that the user would like to use as a session. The Xsession program should also implement a system default session if no user-specified session exists. See the section Typical Usage. An argument may be passed to this program from the authentication widget using the `set-session-argument action. This can be used to select different styles of session. Usually, this feature is used to allow the user to escape from the ordinary session when it fails. This allows users to repair their own .xsession if it fails, without requiring administrative intervention. The section Typical Usage demonstrates this feature.
Reset Program
The Xreset script is run after the user session has ended. Run as root, it should contain commands that undo the effects of commands in Xstartup by removing entries from /etc/utmp or unmounting directories from file servers. The environment variables that are passed to Xstartup are also passed to Xreset. This program is symmetrical with the Xstartup program.
Controlling XDM
The xdm command responds to two signals: SIGHUP and SIGTERM. When sent a SIGHUP, xdm rereads the configuration file, the access control file, and the servers file. For the servers file, it notices if entries have been added or removed. If a new entry has been added, the xdm command starts a session on the associated display. Entries that have been removed are disabled immediately, meaning that any session in progress is ended without notice and no new session is started. When sent a SIGTERM, the xdm command stops all sessions in progress and exits. This can be used when shutting down the system. The xdm command attempts to mark its various subprocesses for use by the ps command in AIX 5L Version 5.3 Commands Reference by editing the command-line argument list in place. Because the xdm command cannot allocate additional space for this task, it is useful to start the xdm command with a reasonably long command line (using the full path name should be enough). Each process that is servicing a display is marked -display.
Other Possibilities
You can use the xdm command to run a single session at a time, using the xinit command options or other suitable daemons by specifying the server on the command line:
xdm -server ":0 local /usr/bin/X11/X :0 -force"
It might also run a file server and a collection of X terminals. The configuration for this is identical to the previous sample, except the Xservers file would look like the following:
extol:0 VISUAL-19 foreign exalt:0 NCD-19 foreign explode:0 NCR-TOWERVIEW3000 foreign
166
This directs the xdm command to manage sessions on all three of these terminals. See the section Controlling XDM for a description of using signals to enable and disable these terminals. Note: The xdm command does not coexist well with other window systems. To use multiple window systems on the same hardware, use the xinit command.
Examples
1. The sample xstartup script that follows prevents login while the file /etc/nologin exists. As there is no provision for displaying any messages here (there is no core X client that displays files), the setup in this example is not recommended because the login would fail without explanation. Thus, this is not a complete example, but a demonstration of the available functionality.
#!/bin/sh # # Xstartup # # This program is run as root after the user is verified # if [ \-f /etc/nologin ]; then exit 1 fi exit 0
2. This Xsession script recognizes the special failsafe mode, specified in the translations in the preceding Xresources file, to provide an escape from the ordinary session:
#!/bin/sh exec > $HOME/.xsession-errors 2>&1 case $# in 1) case $1 in failsafe) exec aixterm -geometry 80x24-0-0 ;; esac esac startup=$HOME/.xsession resources=$HOME/.Xresources if [ -f /usr/bin/X11/startx ]; then exec /usr/bin/X11/startx -t -wait elif [ -f $startup]; then exec $startup else if [ -f $resources ]; then xrdb -load $resources fi mwm & exec aixterm -geometry 80x24+10+10 -ls fi
3. To have xdm come up from system startup, as root type the following:
/usr/lib/X11/xdm/xdmconf
5. When using xdm to manage your display, an authentication procedure insures that only clients that are allowed can connect to your display. Clients that are built using X11 R4 and X11 R5 libraries understand this protocol. Clients that are built with X11 R3 or earlier libraries do not support this authentication protocol and are not allowed to connect to the Xserver unless xhost permission is granted. You can connect local clients by typing the following:
xhost =localhost
or
xhost =machine
Alphabetical Listing of Commands
167
Files
/usr/lib/X11/xdm/xdm-config /usr/lib/X11/xdm/Xaccess /usr/lib/X11/xdm/Xservers $(HOME)/.Xauthority /usr/lib/X11/xdm/chooser /usr/bin/X11/xrdb /usr/bin/X11/X /usr/bin/X11/xterm /usr/lib/X11/xdm/A<host>\-<suffix> The default configuration file. The default access file, listing authorized displays. The default server file, listing non-XDMCP servers to manage. User authorization file where xdm stores keys for clients to read. The default chooser. The default resource database loader. The default server. The default session program and failsafe client. The default place for authorization files.
Related Information
The X command, xinit command, startx command.
Syntax
xfindproxy -manager ManagerAddress -name ServiceName -server ServerAddress [ -auth] [ -host HostAddress ] [ -options Options ]
Description
xfindproxy is a program used to locate available proxy services. It utilizes the Proxy Management Protocol to communicate with a proxy manager. The proxy manager keeps track of all available proxy services, starts new proxies when necessary, and makes sure that proxies are shared whenever possible. If xfindproxy is successful in obtaining a proxy address, it will print it to stdout. The format of the proxy address is specific to the proxy service being used. For example, for a proxy service of LBX, the proxy address would be the X display address of the proxy (e.g, blah.x.org:63). If xfindproxy is unsuccessful in obtaining a proxy address, it will print an error to stderr.
Flags
-manager This argument is required, and it specifies the network address of the proxy manager. The format of the address is a standard ICE network id (for example, tcp/blah.x.org:6500). This argument is required, and it specifies the name of the desired proxy service (for example, LBX). The name is case insensitive. This argument is also required, and it specifies the address of the target server. The format of the address is specific to the proxy service specified with the -name argument. For example, for a proxy service of LBX, the address would be an X display address (e.g, blah.x.org:0).
-name
-server
168
-auth
-host
-options
This argument is optional. If specified, xfindproxy will read 2 lines from standard input. The first line is an authorization/authentication name. The second line is the authorization/authentication data in hex format (the same format used by xauth). xfindproxy will pass this auth data to the proxy, and in most cases, will be used by the proxy to authorize/authenticate itself to the target server. This argument is optional. If xfindproxy starts a new proxy service, it will pass the host specified. The proxy may choose to restrict all connections to this host. In the event that xfindproxy locates an already existing proxy, the host will be passed, but the semantics of how the proxy uses this host are undefined. This argument is optional. If xfindproxy starts a new proxy service, it will pass any options specified. The semantics of the options are specific to each proxy server and are not defined here. In the event that xfindproxy locates an already existing proxy, the options will be passed, but the semantics of how the proxy uses these options are undefined.
Related Information
The proxymngr command.
Syntax
xfs [ -config ConfigurationFile ] [ -ls ListenSocket ] [ -port Number ]
Description
xfs is the AIXwindows font server. It supplies fonts to AIXwindows display servers. The xfs server responds to the following signals:
SIGTERM SIGUSR1 SIGUSR2 SIGHUP Causes Causes Causes Causes the the the the font server to exit cleanly. server to re-read its configuration file. server to flush any cached data it may have. server to reset, closing all active connections and re-reading the configuration file.
The server is usually run by a system administrator, and started by way of boot files such as /etc/rc.tcpip. Users may also wish to start private font servers for specific sets of fonts. The configuration language is a list of keyword and value pairs. Each keyword is followed by an = (equal sign) and the desired value. The following list shows recognized keywords and the types and descriptions of valid values:
# A comment character when located in the first column.
169
Ordered list of font path element names. The current implementation only supports a single catalogue (all), containing all of the specified fonts. List of alternate servers for this font server. Number of clients that this font server will support before refusing service. This is useful for tuning the load on each individual font server. Whether this font server should attempt to clone itself when it reaches the client-limit. The default point size (in decipoints) for fonts that do not specify. Resolutions the server supports by default. This information may be used as a hint for pre-rendering and substituted for scaled fonts which do not specify a resolution. A resolution is a comma-separated pair of x and y resolutions in pixels per inch. Multiple resolutions are separated by commas. Filename of the error file. All warnings and errors are logged here. TCP port on which the server will listen for connections. The default is 7100. Whether the syslog function (on supported systems) is to be used for errors. Set the mode for delayed fetching and caching of glyphs. Value is none, meaning deferred glyphs is disabled. all, meaning deferred glyphs is enabled for all fonts, and 16 , meaning deferred glyphs is enabled only for 16-bit fonts.
One of the following forms can be used to name a font server that accepts TCP connections:
tcp/hostname:port tcp/hostname:port/cataloguelist
The hostname specifies the name (or decimal numeric address) of the machine on which the font server is running. The port is the decimal TCP port on which the font server is listening for connections. The cataloguelist specifies a list of catalogue names, with + as a separator. The following are some examples:
tcp/expo.lcs.mit.edu:7100, tcp/18.30.0.212:7101/all
One of the following forms can be used to name a font server that accepts DECnet connections:
decnet/nodename::font$objname decnet/nodename::font$objname/cataloguelist
The nodename specifies the name (or decimal numeric address) of the machine on which the font server is running. The objname is a normal, case-insensitive DECnet object name. The cataloguelist specifies a list of catalogue names, with + as a separator.
Flags
-config ConfigurationFile -ls ListenSocket Specifies the configuration file the font server will use. Specifies a file descriptor that is already set up to be used as the listen socket. This option is only intended to be used by the font server itself when automatically spawning another copy of itself to handle additional connections.
170
-port Number
Specifies the TCP port number on which the server will listen for connections.
Examples
# # sample font server configuration file # # allow a max of 10 clients to connect to this font server client-limit = 10 # when a font server reaches its limit, start up a new one clone-self = on # alternate font servers for clients to use alternate-servers = hansen:7101,hansen:7102 # where to look for fonts # the first is a set of Speedo outlines, the second is a set of # misc bitmaps and the last is a set of 100dpi bitmaps # catalogue = /usr/lib/fonts/type1, /usr/lib/X11/ncd/fonts/misc, /usr/lib/X11/ncd/fonts/100dpi/ # in 12 points, decipoints default-point-size = 120 # 100 x 100 and 75 x 75 default-resolutions = 100,100,75,75
Files
/usr/lib/X11/fs/config The default configuration file.
Syntax
xget
Description
The xget command is used to receive secret mail in a secure communication channel. The messages can be read only by the intended recipient. The xget command asks for your password and enables you to read your secret mail. The xget command is used with the enroll command and the xsend command to send and receive secret mail. The enroll command sets up the password used to receive secret mail. The xsend command sends mail that can be read only by the intended recipient. When you issue the xget command, you are prompted for your encryption key. Enter the password you previously set up using the enroll command. The prompt for the xget command is a ? (question mark). The following subcommands control message disposition:
171
q (quit)
Writes any mail not yet deleted to the users mailbox and exits. Pressing End Of File (Ctrl-D) has the same effect. Deletes the current message and displays the next message. Runs the specified workstation command. Saves the message in the named File parameter instead of in the default mail file, mbox. Saves the message, without its header, in the specified File parameter instead of in the default mail file mbox. Displays a subcommand summary.
? (help)
Examples
1. To receive secret mail, enter:
xget
You are prompted for the password, established with the enroll command. After entering your password, the xget command prompt (?) and a listing of any secret mail is displayed. 2. To display your secret mail, at the xget prompt (?), press the Enter key. After the most recent message is displayed, a ? (question mark) indicates the xget command is waiting for one of the xget subcommands. Enter help or a ? (question mark) to list the subcommands available. 3. To save a message or a file to the default mail file, enter:
xget
Press the Enter key after the ? (question mark) prompt until the desired file is displayed. When the appropriate file is displayed, enter:
s
In this example, the file is saved in the default mail file, mbox. 4. To save a message or a file to a specific file, enter:
xget
Press the Enter key after the ? (question mark) prompt until the desired file is displayed. When the appropriate file is displayed, enter:
s mycopy
In this example, the file is saved in a file named mycopy, instead of the default mail file. 5. To delete a message, enter:
xget
Press the Enter key after the ? (question mark) prompt until the desired file is displayed. When the appropriate file is displayed, enter:
d
Files
/var/spool/secretmail/User.key
172
Contains the encrypted key for User. /var/spool/secretmail/User.[0-9] /usr/bin/xget Contains the encrypted mail messages for User. Contains executable files.
Related Information
The enroll command, mail command, xsend command. Mail applications in Networks and communication management. Sending and receiving secret mail in Networks and communication management. Mail management in Networks and communication management.
Syntax
xhost [ + | - ] [ Name ]
Description
The xhost command adds or deletes host names on the list of machines from which the X Server accepts connections. This command must be run from the machine with the display connection. You can remove a name from the access list by using the -Host parameter. Do not remove the current name from the access list. If you do, log off the system before making any corrections. Entering the xhost command with no variables shows the current host names with access your X Server and a message indicating whether or not access is enabled. For security, options that affect access control may only be run from the controlling host. For workstations, this is the same machine as the server. For X terminals, it is the login host. To enable a remote name by default, the name can be defined in the /etc/X?.hosts file, where ? is the display number to which you enable access. For example, the display jeanne:0 can be accessed by systems defined in the /etc/X0.hosts file on a system that uses the default host name of jeanne. In both the display name and the file name, 0 indicates the display number that the defined remote systems are allowed to access through Enhanced X-Windows.
Flags
+Name - Name Defines the host name (the plus sign is optional) to be added to the X Server access list. Defines the host name to be removed from the X Server access list. Existing connections are not broken, but new connection attempts will be denied. Note that you can remove the current machine; however, further connections (including attempts to add it back) are not permitted. The only way to allow local connections again is to reset the server (thereby breaking all connections). Specifies that access is unlimited. Access control is turned off.
173
Turns access control on. The complete Name has a the following family:name syntax: inet local Internet host Contains only one name, the empty string
Note: The family is case sensitive. The format of the name varies with the family.
Syntax
xinit [ [ Client ] Options ] [ - - [ Server ] [ Display ] Options ]
Description
The xinit command starts the AIXwindows server and a first client program on systems that cannot start X directly from /etc/init or in environments that use multiple window systems. When this first client exits, the xinit command stops the X server and then ends. If no specific client program is given on the command line, the xinit command looks for a file to run to start up client programs. The xinit command looks for the $XINITRC environment variable. If the file is not there, it then looks for the $HOME/.xinitrc file. If it still does not find the file, it follows these steps: 1. The xinit command looks next to /usr/lib/X11/$LANG/xinitrc. 2. Next, it looks to /usr/lpp/X11/defaults/$LANG/xinitrc. 3. And finally, it looks to /usr/lpp/X11/defaults/xinitrc. If no such file exists, xinit uses the following as a default:
aixterm \-geometry +1+1 \-n login \-display :0
If no specific server program is given on the command line, the xinit command follows these steps: 1. The xinit command looks for a file to run as a shell script to start up the server. The xinit command looks for files first in the $XSERVERRC environment variable. 2. If the file is not there, it looks for the $HOME/.xserverrc file. 3. If it still does not find the $HOME/.xserverrc file, it looks next to /usr/lpp/X11/defaults/xserverrc file. 4. And finally, if it does not find any of the previous files, the xinit command runs the X command to start the X server and uses the following as a default:
X :0
Note that this assumes that there is a program named X in the current search path. However, servers are usually named Xdisplaytype where displaytype is the type of graphics display which is driven by this server. The site administrator should, therefore, make a link to the appropriate type of server on the machine, or create a shell script that runs the xinit command with the appropriate server. Note: If you attempt to start AIXwindows without an available pointer device, such as a mouse or a tablet, AIXwindows will not open. Some devices can be plugged in but not defined and thus not available to the system, as well as the reverse.
174
An important point is that programs which are run by .xinitrc should be run in the background if they do not exit right away, so that they do not prevent other programs from starting up. However, the last long-lived program started (usually a window manager or terminal emulator) should be left in the foreground so that the script does not exit (which indicates that the user is done and that xinit should exit). An alternate client and/or server may be specified on the command line. The desired client program and its arguments should be given as the first command line arguments to xinit. To specify a particular server command line, add a (double dash) to the xinit command line (after any client and arguments) followed by the desired server command. Both the client program name and the server program name must begin with a / (slash) or a . (period). Otherwise, they are treated as an arguments to be added to their respective startup lines. This makes it possible to add arguments (for example, foreground and background colors) without having to retype the whole command line. If a clear server name is not given and the first argument following the (double dash) is a : (colon) followed by a number, xinit uses that number as the display number instead of zero. All remaining arguments are added to the server command line. The following environment variables are used with the xinit command:
DISPLAY XINITRC Options Client Server This variable gets set to the name of the display to which clients should connect. This variable specifies an init file containing shell commands to start up the initial windows. By default, .xinitrc in the home directory is used. List any option you wish that is available to the client you specified. Specify the client with which you are working. For example, xterm or aixterm. The client you specify must begin with a . (dot) or a / (slash). Use any valid xserver. The server you specify must begin with a . (dot) or a / (slash).
Examples
1. To start up a server named X and run the users xinitrc program, if it exists, or else start an aixterm command enter:
xinit
3. To start up a server named X, and add the given arguments to the default xinitrc or aixterm command, enter:
xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
4. To use the command /Xsun -l -c to start the server and add the arguments -e widgets to the default xinitrc or aixterm command, enter:
xinit -e widgets -- ./Xsun -l -c
5. To start a server named X on display 1 with the arguments -a 2 -t 5, then start a remote shell on the machine fasthost in which it runs the command cpupig, telling it to display back on the local workstation, enter:
xinit /usr/ucb/rsh fasthost cpupig -display ws:1 -- :1 -a 2 -t 5
6. The following sample of the .xinitrc script starts a clock, several terminals, and leaves the window manager running as the last application. Assuming that the window manager has been configured properly, the user then chooses the Exit menu item to end the AIXwindows session.
xrdb -load $HOME/.Xresources xsetroot -solid gray & xclock -g 50x50-0+0 -bw 0 &
175
xload -g 50x50-50+0 -bw 0 & xterm -g 80x24+0+0 & xterm -g 80x24+0-0 & mwm
7. Sites that want to create a common startup environment could simply create a default .xinitrc script that references a site-wide startup file:
#!/bin/sh . /usr/local/lib/site.xinitrc
8. Another approach is to write a script that starts the xinit command with a specific shell script. Such scripts are usually named x11, xstart, or startx and are a convenient way to provide a simple interface for novice users:
#!/bin/sh xinit /usr/local/lib/site.xinitrc -- /usr/bin/X11/X bc
Files
.xinitrc aixterm .xserverrc X Contains Contains Contains Contains the the the the default client script files. command the client runs if .xinitrc does not exist. default server script. command the server runs if .xserverrc does not exist.
Related Information
The startx command, X command.
Syntax
xkbcomp [ -a ] [ -C ] [ -dflts ] [ -I Directory ] [ -l ] [ -m Name ] [ -merge ] [ -o OutputFile ] [ -opt Parts ] [ -R Directory ] [ -synch ] [ -w Level] [ -xkb ] [ -xkm ] Source [ Destination ]
Description
The xkbcomp command is a keymap compiler that converts a description of an XKB keymap into one of several output formats. The most common use for xkbcomp is to create a compiled keymap file (.xkm extension) which can be read directly by XKB-capable X servers or utilities. The keymap compiler can also produce C header files or XKB source files. The C header files produced by xkbcomp can be included by X servers or utilities that need a built-in default keymap. The XKB source files produced by xkbcomp are fully resolved and can be used to verify that the files which typically make up an XKB keymap are merged correctly or to create a single file which contains a complete description of the keymap. The Source may specify an X display, or an .xkb or .xkm file; unless explicitly specified, the format of destination depends on the format of the source. Compiling a .xkb (keymap source) file generates a .xkm (compiled keymap file) by default. If the source is a .xkm file or an X display, xkbcomp generates a keymap source file by default. If the Destination is an X display, the keymap for the display is updated with the compiled keymap. The name of the destination is usually computed from the name of the source, with the extension replaced as appropriate. When compiling a single map from a file which contains several maps, xkbcomp constructs the destination file name by appending an appropriate extension to the name of the map to be used.
176
Flags
-a Shows all keyboard information, reporting implicit or derived information as a comment. Only affects .xkb format output. Produces a C header file as output (.h extension). Computes the defaults for any missing components, such as key names. Specifies the top-level directories to be searched for files included by the keymap description. List maps that specify the map pattern in any files listed on the command line. Specifies a map to be compiled from an file with multiple entries. Merges the compiled information with the map from the server. Specifies a name for the generated output file. The default is the name of the source file with an appropriate extension for the output format. Specifies a list of optional parts. Compilation errors in any optional parts are not fatal. Parts may consist of any combination of the letters c, g, k, s, t which specify the compatibility map, geometry, keycodes, symbols, and types, respectively. Specifies the root directory for relative path names. Forces synchronization for X requests. Controls the reporting of warnings during compilation. A warning level of 0 disables all warnings; a warning level of 10 enables them all. Generates a source description of the keyboard as output (.xkb extension). Generates a compiled keymap file as output (.xkm extension).
-opt Parts
-xkb -xkm
Related Information
The X command.
Syntax
xkbevd [ -help ] [ -cfg File ] [ -sc Command ] [ -sd Directory ] [ -display Display ] [ -bg ] [ -synch ] [ -v ]
Description
The xkbevd event daemon listens for specified XKB events and executes requested commands if they occur. The configuration file consists of a list of event specification/action pairs and/or variable definitions. An event specification consists of a short XKB event name followed by a string or identifier which serves as a qualifier in parentheses; empty parenthesis indicate no qualification and serve to specify the default command which is applied to events which do not match any of the other specifications. The interpretation of the qualifier depends on the type of the event: v Bell events match using the name of the bell.
Alphabetical Listing of Commands
177
v Message events match on the contents of the message string. v Slow key events accept any of press, release, accept, or reject. No other events are recognized. An action consists of an optional keyword followed by an optional string argument. xkbevd recognizes the following actions: v none v ignore v echo v printEvent v sound v shell If the action is not specified, the string is taken as the name of a sound file to be played unless it begins with an exclamation point, in which case it is taken as a shell command. Variable definitions in the argument string are expanded with fields from the event in question before the argument string is passed to the action processor. The general syntax for a variable is either:
$c
or
$(str)
where c is a single character and str is a string of arbitrary length. All parameters have both single-character and long names. The list of recognized parameters varies from event to event. The ignore, echo, printEvent, sound, and shell actions do what you would expect commands named ignore, echo, printEvent, sound, and shell to do, except that the sound command has only been implemented and tested for SGI machines. The only currently recognized variables are soundDirectory and soundCommand.
Flags
-bg -cfg File Tells xkbevd to fork itself and run in the background. Specifies the configuration file to read. If no configuration file is specified, xkbevd looks for ~/.xkb/xkbevd.cf and $(LIBDIR)/xkb/xkbevd.cf in that order. Specifies the display to use. If not present, xkbevd uses $DISPLAY. Prints a usage message. Specifies the command used to play sounds. Specifies a top-level directory for sound files. Forces synchronization of all X requests. Slow. Prints more information, including debugging messages. Multiple specifications of -v causes more output.
Related Information
The X command.
178
Syntax
xkbprint [ -? | -help ] [ -color ] [ -dflts ] [ -diffs ] [ -eps ] [ -fit ] [ -full ] [ -grid Resolution ] [ -if FontName ] [ -label Type ] [ -lc Locale ] [ -level1 ] [ -level2 ] [ -lg Group ] [ -ll Level ] [ -mono ] [ -n Number ] [ -nkg Number ] [ -npk Number ] [ -o File ] [ -R Directory [ -pict Which] ] Source [ OutputFile ]
Description
The xkbprint command generates a printable or encapsulated PostScript description of the XKB keyboard description specifed by Source. The Source can be any compiled keymap, .xkm file, that includes a geometry description or an X display specification. If an OutputFile is specified, xkbprint writes to it. Otherwise, xkbprint creates the output file, replacing the extension of the source file with .ps or .eps depending on the requested format. If the source is a non-local X display, for example :0, xkbprint appends the appropriate prefix to the display specification, replacing the colon with a - (dash). For a local display, xkprint uses server-n where n is the number of the display.
Flags
-? | -help -color Prints a usage message. Prints using the colors specified in the geometry file; by default, xkbprint prints a black-and-white image of the keyboard. Attempts to compute default names for any missing components, such as keys. Shows symbols only where they are explicitly bound. Generates an encapsulated PostScript file. Fits the keyboard image on the page, this is the default. Prints the keyboard at full size. Prints a grid with Resolutionmm resolution over the keyboard. Specifies an internal PostScript type 1 font to dump to the specified output file or to fontName.pfa, if no output file is specified. No keyboard description is printed if an internal font is dumped. Specifies the labels to be printed on keys. Valid types are: v none v name v code -lc Locale -level1 -level2 -lg Group -ll Level -mono -n Number -nkg Number -npk Number v symbols Specifies a locale in which KeySyms should be resolved. Generates a level 1 PostScript. Generates a level 2 PostScript. Prints symbols in keyboard groups starting from Group. Prints symbols starting from shift level Level. Generates a black-and-white image of keyboard, this is the default. Prints Number of copies. Prints the symbols in Number keyboard groups. Specifies the Number of keyboard images to print on each page. For EPS files, this specifies the total number of keyboard images to print.
Alphabetical Listing of Commands
-label Type
179
Writes the output to File. Use Directory as the root directory; all path names are interpreted relative to Directory. Controls the use of pictographs instead of keysym names where available. Valid values for Which are: v all v none v common (default). Forces synchronization for X requests. Sets warning level. v 0 for no warning v 10 for all warnings
-synch -w Level
Related Information
The X command and xkbcomp command.
Syntax
xlock [ -batchcount Number ] [ -bg Color ] [ -delay Users ] [ -display Display ] [ -fg Color ] [ -font FontName ] [ -info TextString ] [ -invalid TextString ] [ -mode ModeName ] [ +mono | -mono ] [ -username TextString ] [ -nice Level ] [ +nolock | -nolock ] [ -password TextString ] [ +remote | -remote ] [ +allowaccess | -allowaccess ] [ +allowroot | -allowroot ] [ +echokeys | -echokeys ] [ +enablesaver | -enablesaver ] [ -help ] [ -saturation Value ] [ -timeout Seconds ] [ +usefirst | -usefirst ] [ +v | -v ] [ -validate TextString ]
Description
The xlock command locks the X server until the user enters a password at the keyboard. While the xlock command is running, all new server connections are refused. The screen saver is disabled, the mouse cursor is turned off, the screen is blanked, and a changing pattern is displayed. If a key or a mouse button is pressed, a prompt asks for the password of the user who started the xlock command. If the correct password is typed, the screen is unlocked and the X server is restored. When typing the password, Ctrl-U and Ctrl-H are active as kill and erase, respectively. To return to the locked screen, click in the small icon version of the changing pattern. To function properly, xlock needs to run with root permission since the operating system restricts access to the password and access control files. To give xlock root permission, perform the following steps: 1. Log in as root. 2. Go to the directory that contains the xlock program file. 3. Run these two commands: a. chown root xlock b. chmod u+s xlock
180
Flags
-batchcount Number Sets the number of things to do per batch. Number refers to different things depending on the mode: qix hop image Refers to the number of lines rendered in the same color. Refers to the number of pixels rendered in the same color. Refers to the number of sunlogos on screen at once.
swarm Refers to the number of bees life and blank Does not apply. Sets the color of the background on the password screen. Sets the speed at which a mode operates to the number of microseconds to delay between batches of hopalong pixels, qix lines, life generations, image bits, and swarm motions. In the blank mode, it is important to set this to a small number because the keyboard and mouse are only checked after each delay. A delay of zero would needlessly consume the processing unit while checking for mouse and keyboard input in a tight loop since the blank mode has no work to do. Sets the X11 display to lock. The xlock command locks all available screens on the server and restricts you to locking only a local server, such as unix:0, localhost:0, or :0 (unless you set the -remote flag). Sets the color of the text on the password screen. Sets the font to be used on the prompt screen. Prints a brief description of available options. Defines an informational message. The default is Enter password to unlock; select icon to lock. Specifies an password message. The default is Invalid login. Specifies one the following six display modes: blank hop image life qix -nice NiceLevel -password TextString -saturation Value -timeout Seconds -username TextString -validate TextString -/+allowaccess Displays a black screen. Displays the real plane fractals from the September, 1986 issue of Scientific American. Displays several randomly appearing sun logos. Displays Conways game of life. Displays spinning lines.
-display Display
-fg Color -font FontName -help -info TextString -invalid TextString -mode ModeName
swarm Displays a swarm of bees following a wasp. Sets system nicelevel of the xlock process. Specifies the password prompt string. The default is Password:. Sets saturation of the color ramp. A value of 0 (zero) is grayscale and a value of 1 is very rich color. A value of 0.4 is a medium pastel. Sets the number of seconds before the password screen times out. Specifies the message shown in front of the user name. The default is Name:. Specifies the message that is shown while validating the password. The default is Validating login.... Allows the disabling of the access control list, but still causes the local server to prompt for a password. If xlock is killed using the -KILL command, the access control list is not lost. This flag is also needed when running the xlock command remotely since access to the control list is restricted. Allows the root password to unlock the server as well as the user who started the xlock command.
-/+allowroot
181
-/+echokeys +/-enablesaver
+/-usefirst +/-v
Causes the xlock command to echo to screen a ? (question mark) character for each key typed into the password prompt. The default is no echo. Enables the default screensaver. It is possible to set delay parameters long enough to cause phosphor burn on some displays. This flag can be used as an added precaution. Causes the xlock command to display monochrome (black and white) pixels rather than the default colored ones on color displays. Causes the xlock command to only draw the patterns and not to lock the display. A keypress or a mouse click terminates the screen saver. Allows remote locking of X11 servers. This flag should be used with care. It is intended mainly to lock X11 terminals that cannot run the xlock command locally. If you lock a workstation other than your own, that person will need your password to unlock it.The -remote option does not disable your ability to toggle to another shell. Allows using the keystroke which obtained the password screen as the first input character in the password. The default ignores the first keystroke. Minus prefix enables the verbose mode to tell which options the xlock command is going to use. The plus prefix is the default.
Syntax
xlsfonts [ -display Host:Display ] [ -l [ l [ l ] ] ] [ -m ] [ -C ] [ -1 ] [ -w Width ] [ -n Columns ] [ -u ] [ -o ] [ -fn Pattern ]
Description
The xlsfonts command lists the fonts that match a specified Pattern parameter. Use the wildcard character * (asterisk) to match any sequence of characters (including none), and the ? (question mark) to match any single character. If no pattern is given, * is assumed. Note: The * and ? characters must be placed within quotation marks to prevent them from being expanded by the shell. You can use flags to specify servers, number and width of columns to print, size of font listings, whether the output should be sorted, and whether to use OpenFont instead of ListFonts.
Flags
Note: Using the -l (lowercase L) flag of the xlsfonts command can tie up your server for a long time. This is typical of single-threaded non-preemptable servers, and not a program error.
-1 -C -display Host:Display -fn Pattern -l [ l [ l ] ] Indicates that listings should use a single column. This flag is the same as the -n 1 flag. Indicates that listings should use multiple columns. This flag is the same as the -n 0 flag. Identifies the X Server to contact by specifying the host name and display number. Specifies the fontname Pattern that xlsfonts will list. (lowercase L) Indicates that medium, long, and very long listings, respectively, should be generated for each font.
182
-m -n Columns
-o
-u -w Width
Indicates that long listings should also print the minimum and maximum bounds of each font. Specifies the number of columns to use to display the output. By default, the xlsfonts command tries to fit as many columns of font names into the number of characters specified by the -w Width flag. Instructs the xlsfonts command to perform OpenFont (and QueryFont, if appropriate) instead of ListFonts. The -o flag is useful if the ListFonts or ListFontsWithInfo fails to list a known font, as is the case with some scaled font systems. Indicates that the output should remain unsorted. Specifies the width in characters that should be used to determine how many columns to print. The default is 79.
Environment Variable
DISPLAY Gets the default host and display to use.
Examples
1. To specify a medium-sized list of each font, use a lowercase L and enter:
xlsfonts -l
3. To display all fonts with the string iso8859 within their names, enter:
xlsfonts -ll "*"iso8859"*"
4. To list all fonts with rom1 plus one following character in their names, enter:
xlsfonts rom1"?"
Related Information
The X command, xset command.
Syntax
xmbind [ -display Host:Display:ScreenID ] [ FileName ]
Description
The xmbind command is an X Windows System client that configures the virtual key bindings for AIXwindows applications. This action is performed by the mwm command at its startup, so the xmbind client is only needed when mwm is not in use or when you want to change bindings without restarting mwm. If a file is specified, its contents are used as the virtual key bindings. If a file is not specified, the .motifbind file in the users home directory is used. If this file is not found, the xmbind command loads the default virtual key bindings.
183
Flags
-display Host:Display:ScreenID Specifies the display to use. The -display option has the following parameters: Host Specifies the host name of a valid system on the network. Depending on the situation, this could be the host name of the user or the host name of a remote system.
Display Specifies the number (usually 0) of the display on the system on which the output is to be displayed. ScreenID Specifies the number of the screen where the output is to be displayed. This number is 0 for single-screen systems.
Parameters
FileName Specifies the file containing bindings for virtual mouse and key events.
Exit Status
This command returns the following exit values:
0 >0 Indicates successful completion. Indicates an error occurred.
Related Information
The X command.
Syntax
xmkmf [ -a ] [ TopDir [ CurDir ] ]
Description
The xmkmf command creates a Makefile from an Imakefile shipped with third-party software. When invoked with no arguments or variables in a directory containing an Imakefile file, the imake command runs with arguments appropriate for your system (configured into xmkmf when X was built) and generates a Makefile.
Flag
-a First builds the Makefile in the current directory, then automatically executes make Makefiles, make includes, and make depend. This is how to configure software that is outside of the MIT X build tree.
Variables
Specify TopDir and CurDir if you are working inside the MIT X build tree (highly unlikely unless you are an X developer).
184
TopDir CurDir
Specify as the relative path name from the current directory to the top of the build tree. Specify as a relative path name from the top of the build tree to the current directory. The CurDir variable is required if the current directory has subdirectories; otherwise, the Makefile will not be able to build the subdirectories. If a TopDir variable is given in its place, xmkmf assumes nothing is installed on your system and searches for files in the build tree instead of using the installed versions.
Related Information
The imake command, make command.
Syntax
xmwlm [ -d recording_dir ] [ -n recording_name ] [ -t trace_level ] [ -L ]
Description
The xmwlm agent provides recording capability for a limited set of local system performance metrics. These include common CPU, memory, network, disk, and partition metrics typically displayed by the topas command. Daily recordings are stored in the /etc/perf/daily directory. The topasout command is used to output these recordings in raw ASCII or speadsheet format. The xmwlm agent can also be used to provide recording data from Workload Management (WLM). This is the default format used when xmwlm is run without any flags. Daily recordings are stored in the /etc/perf/wlm directory. The wlmmon command can be used to process WLM-related recordings. The xmwlm agent can be started from the command line, from a user script, or can be placed near the end of the /etc/inittab file. All recordings cover 24-hour periods and are only retained for seven days by default. You can configure the retain value in the /usr/lpp/perfagent/daily.cf file to change the default recording duration.
Flags
-d recording_dir Specifies the output directory for the recording files. The default location is /etc/perf/wlm when xmwlm is run without any flags and /etc/perf/daily when xmwlm is run with the -L flag. Specifies the collection of topas-like metrics. The metric set is not user configurable. Specifies the name for the recording file. By default, xmwlm creates recording files named in an xmwlm.YYMMDD format. For example, if -n myrecording is specified, the recording files will be named myrecording.YYMMDD. Specifies a trace level. xmwlm prints various information to a log file in the appropriate /etc/perf subdirectory. The trace level can be set from 1 to 9. More trace data is generated at higher trace levels. This trace data is useful to determine xmwlm recording status and for debugging purposes. The log file name is xmwlm.log1 or xmwlm.log2. xmwlm cycles between these two files after a file reaches the maximum allowable size.
-L -n recording_name
-t trace_level
185
Location
/usr/bin/xmwlm
Files
/usr/bin/xmwlm Contains the xmwlm agent. The agent is part of the perfagent.tools fileset.
Related Information
The topas command, topasout command, and wlmmon command.
Syntax
xmodem { -s | -r } FileName
Description
The xmodem shell command is used with the Asynchronous Terminal Emulation (ATE) program to transfer a file, designated by the FileName parameter, using the xmodem protocol. The xmodem protocol is an 8-bit transfer protocol to detect data transmission errors and retransmit the data. The workstation sending data waits until the remote system sends a signal indicating it is ready to receive data. After the receiving system get data, it returns an acknowledgment to the sending system. In the ATE program the receiving system times out if data is not received within 90 seconds after the file transfer is initiated. Sending and receiving with the xmodem command are complementary operations. One system must be set to send while the other is set to receive. Use the xmodem command on the remote system in combination with the send subcommand or the receive subcommand from the ATE Connected Main Menu on the local system. To interrupt an xmodem file transfer, press the Ctrl-X key sequence. Notes: 1. The DOS operating system terminates each line in an ASCII file with a newline character and a carriage return (Ctrl-M) character. UNIX terminates each line in an ASCII file only with a newline character. The carriage return characters are preserved when a DOS file is transferred to AIX. The vi text editor can be used to remove spurious Ctrl-M characters using the subcommand
:%s/<Ctrl-V><Ctrl-M>//
186
where <Ctrl-V> and <Ctrl-M> each represent a single control character that is typed. However, since Ctrl-V is the default ATE MAINMENU_KEY, the ATE defaults must be altered in order to issue the vi subcommand while logged in via ATE. 2. The xmodem file transfer process adds Ctrl-Z characters to the last packet transferred to make the packet 128 bytes long. Most files transferred will, therefore, have Ctrl-Z characters appended to the end. The DOS operating system terminates an ASCII file with a Ctrl-Z character. Every file transferred from DOS to AIX will, therefore, end with at least one Ctrl-Z character. These extra Ctrl-Z characters can be removed with the vi text editor.
Flags
-r -s Receives data from the local workstation. Sends data to the local workstation.
Examples
Sending a File with the xmodem Protocol
To send the file myfile with the xmodem protocol, use the ate command and the connect or directory subcommand to establish a connection to the remote system. 1. After logging in to the remote system and before pressing the MAINMENU_KEY (usually the Ctrl-Vkey sequence) to return to ATE on the local system, enter:
xmodem -r myfile
at the shell command line. The xmodem protocol starts receive mode on the remote system. 2. Press the MAINMENU_KEY to return to ATE on the local system. The ATE Connected Main Menu displays. 3. Enter the send subcommand at the prompt on the ATE Connected Main Menu:
s myfile
The send subcommand instructs the local system to send myfile to the remote system. After transferring the file, the ATE Connected Main Menu displays.
at the shell command line. The xmodem protocol starts, in send mode, on the remote system. 2. Press the MAINMENU_KEY to return to ATE on the local system. The ATE Connected Main Menu displays. 3. Enter the receive subcommand at the prompt on the ATE Connected Main Menu:
r infile
The receive subcommand instructs the local system to receive infile from the remote system. After transferring the file, the ATE Connected Main Menu displays.
File
ate.def Contains ATE default values.
187
Related Information
The ate command. The connect subcommand, directory subcommand, modify subcommand, send subcommand, receive subcommand. Editing the ATE default file in Networks and communication management explains how to permanently change ATE defaults. Asynchronous Terminal Emulation in Networks and communication management introduces the ATE program, its menus, and its control keys.
Syntax
xmodmap [ -display Display ] [ -e Expression ] [ -grammar | -help ] [ -n] [ -pk ] [ -pke ] [ -pm ] [ -pp ] [ -quiet | -verbose ] [ FileName ]
Description
The xmodmap command edits and displays the keyboard modifier map and keymap table that client applications use to convert event keycodes into key symbols. It is usually run from the session startup script to configure the keyboard according to the personal tastes of the user. Every time a keycode expression is evaluated, the server generates a MappingNotify event on every client. All of the changes should be batched together and done at one time. Clients that receive keyboard input and ignore MappingNotify events will not notice any changes made to keyboard mappings. The FileName parameter specifies a file containing the xmodmap command expressions to be run. This file is usually kept in the home directory of the user with a name like .xmodmaprc. If no file is specified, input is taken from stdin. The xmodmap command program reads a list of expressions and parses them all before attempting to run any of them. This makes it possible to refer to key symbols that are being naturally redefined without having to worry as much about name conflicts.
add The key symbol names are evaluated as the line is read. This permits you to remove keys from a modifier without worrying about whether they were reassigned. Adds the given key symbols to the indicated modifier map. The key symbol names are evaluated after all input expressions are read to make it easy to write expressions to swap keys. Removes all entries in the modifier map for the given modifier, where the valid names are Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, and Mod5 (case does not matter in modifier names, although it does matter for all other names). For example, clear Lock removes all keys bound to the shift lock modifier. Assigns the list of key symbols to the indicated keycode (which can be specified in decimal, hex, or octal and be determined by running the xev program in the /usr/lpp/X11/Xamples/demos directory). Usually only one key symbol is assigned to a given code.
clear ModifierName
188
keysym KeySymbolName = KeySymbolName... The KeySymbolName on the left hand side is translated into matching keycodes used to perform the corresponding set of keycode expressions. The list of keysym names can be found in the keysym database /usr/lib/X11/XKeysymDB or the header file X11/keysymdef.h (without the XK_ prefix). Note that if the same keysym is bound to multiple keys, the expression is run for each matching keycode. pointer = default Sets the pointer map back to its default settings (such as, button 1 generates a code of 1, button 2 generates a 2, and so forth). pointer = Button1 Button2 Button3... Sets the pointer map to contain the indicated button codes. The list always starts with the first physical button. remove ModifierName = KeySymbolName... Removes all keys containing the given keysyms from the indicated modifier map. Unlike add, the keysym names are evaluated as the line is read in. This allows for the removal of keys from a modifier without having to worry about whether or not they have been reassigned.
Lines that begin with an ! (exclamation point) are taken as comments. If you want to change the binding of a modifier key, you must also remove it from the appropriate modifier map.
Flags
-display Display -e Expression -grammar -help -n -pk -pke Specifies the host and display to use. Specifies an expression to be run. You can specify any number of expressions from the command line. Prints a help message describing the expression grammar used in files and with the -e Expressions flag prints to standard error. Prints a brief description of the command line arguments to standard error. This is done whenever an unhandled argument is given to the xmodmap command. Indicates that the xmodmap command should not change the mappings, but should display what it would do when given this flag. Indicates that the current keymap table should print on the standard output. Indicates that the current keymap table should be printed on the standard output in the form of expressions that can be fed back to xmodmap. This flag is specific to X11R5. Indicates that the current modifier map should print on the standard output. Indicates that the current pointer map should print on the standard output. Turns off the verbose logging. This is the default. Indicates that the xmodmap command should print logging information as it parses its input.
Examples
1. The following command reverses the button codes that get generated so that the primary button is pressed using the index finger of the left hand on a 3 button pointer:
xmodmap -e "pointer = 1 2 3 4 5"
2. The following command attaches meta to the multi-language key (sometimes labeled Compose Character). It also takes advantage of the fact that applications that need a Meta key simply need to get the keycode and do not require the key symbol to be in the first column of the keymap table. This means that applications that are looking for a Multi_key (including the default modifier map) will not notice any change.
keysym Multi_key = Multi_key Meta_L
189
3. To automatically generate less than and greater than characters when the comma and period keys are shifted, reset the bindings for the comma and period with the following scripts:
! ! make shift-, be < and shift-. be > ! keysym comma = comma less keysym period = period greater
4. To swap the location of the Control and Shift Lock keys, use the following script:
! ! Swap Caps_Lock and Control_L ! remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock add Control = Control_L
Related Information
The X command.
Syntax
xmpeek [ -a | -l ] [ hostname ]
Description
The xmpeek command is used to list down the data consumers that currently have instruments (stat sets) defined with the xmtopas daemon, and list down all known data consumers by the xmtopas daemon . The xmpeek command is also used to print down all the available SPMI statistics for any given host.
Flags
-a If this flag is specified, one line is listed for each data consumer known by the daemon. If this flag is not used, only data consumers that currently have instruments (stat sets) defined with the daemon are listed. This flag is optional. This flag is explained in the Using the xmpeek Program to Print Available Statistics document. This flag is optional. If the hostname is specified, the daemon on the named host is asked. If no host name is specified, the daemon on the local host is asked.
-l hostname
Examples
The following is an example of the output from the xmpeek program:
Statistics for xmtopas daemon on *** birte *** Instruments currently defined: 1 Instruments currently active: 1 Remote monitors currently known: 2 --Instruments--- Values Packets Internet Protocol
190
Defined Active Active Sent Address Port Hostname ------- ------- ------- ------- ---------------- ---- ---------1 1 16 3,344 129.49.115.208 3885 xtra
Output from xmpeek can take two forms. The first form is a line that informs you that the xmtopas daemon is not feeding any data-consumer programs. This form is used if no statsets are defined with the daemon and no command flags are supplied. The second form includes at least as much as is shown in the preceding example, except that the single detail line for the data consumer on host xtra is shown only if either the -a flag is used or if the data consumer has at least one instrument (statset) defined with the daemon. Note that xmpeek itself appears as a data consumer because it uses the RSi API to contact the daemon. Therefore, the output always shows at least one known monitor. In the fixed output, first the name of the host where the daemon is running is shown. Then follows three lines giving the totals for current status of the daemon. In the above example, you can see that only one instrument is defined and that its active. You can also see that two data consumers are known by the daemon, but that only one of them has an instrument defined with the daemon in birte. Obviously, this output was produced without the -a flag. An example of more activity is shown in the following sample output from xmpeek. The output is produced with the command:
xmpeek -a birte
Notice that some detail lines show zero instruments defined. Such lines indicate that an are_you_there message was received from the data consumer but that no states were ever defined or that any previously defined states were erased.
Statistics for smeared daemon on *** birte *** Instruments currently defined: 16 Instruments currently active: 14 Remote monitors currently known: 6 --Instruments--- Values Packets Internet Protocol Defined Active Active Sent Address Port 8 8 35 10,232 129.49.115.203 4184 6 4 28 8,322 129.49.246.14 3211 0 0 0 0 129.49.115.208 3861 1 1 16 3,332 129.49.246.14 3219 0 0 0 0 129.49.115.203 4209 1 1 16 422 129.49.115.208 3874 ------- ------- ------- ---------16 14 95 22,308
Notice that the same host name may appear more than once. This is because every running copy of xmperf and every other active data-consumer program is counted and treated as a separate data consumer, each identified by the port number used for UDP packets as shown in the xmpeek output. The second detail shows that one particular monitor on host umbra has six instruments defined but only four active. This would happen if a remote xmperf console has been opened but is now closed. When you close an xmperf console, it stays in the Monitor menu of the xmperf main window and the definition of the instruments of that console remains in the tables of the data-supplier daemon but the instruments are not active.
191
Syntax
xmscheck [ file_name ]
Description
When the xmtopas command is started with the command line argument -v, its recording configuration file parser writes the result of the parsing to the log file. The output includes a copy of all lines in the recording configuration file, any error messages, and a map of the time scale with indication of when recording starts and stops. Although this is useful to document what is read from the recording configuration file, it is not a useful tool for debugging of a new or modified recording configuration file. Therefore, the program xmscheck command is available to preparse a recording configuration file before you move it to the /etc/perf directory, where the xmtopas command looks for the recording configuration file. When xmscheck command is started without any command line argument, it parses the file /etc/perf/xmservd.cf. This way, you can determine how the running daemon is configured for recording. If a file name is specified on the command line, that file is parsed. Output from the xmscheck command goes to stdout. The parsing is done by the exact same module that does the parsing in the xmtopas command. That module is linked in as part of both programs. The parsing checks that all statistics specified are valid and prints the time scale for starting and stopping recording in the form of a time table. In the time table, each minute has a numeric code. The meaning of codes is as follows:
0 1 2 3 Recording Recording Recording Recording is is is is inactive. Neither a start nor a stop request was given for the minute. active. Neither a start nor a stop request was given for the minute. inactive. A stop request was given for the minute. active. A start request was given for the minute.
Examples
The following example shows how the xmscheck command formats the time table. The table only displays part of Tuesday. The example shown in Hot Lines Recording Only section was used to produce this output.
Day Day Day Day Day Day Day Day Day Day Day Day Day Day Day 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, Hour Hour Hour Hour Hour Hour Hour Hour Hour Hour Hour Hour Hour Hour Hour 00: 01: 02: 03: 04: 05: 06: 07: 08: 09: 10: 11: 12: 13: 14: 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000311111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111 200000000000000000000000000000000000000000000000000000000000 311111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111
192
2, 2, 2, 2, 2, 2, 2, 2, 2,
Syntax
xmtopas [ -v ] [ -b UDP_buffer_size ] [ -i min_remote_interval ] [ -l remove_consumer_timeout ] [ -m supplier_timeout ] [ -p trace_level ] [ -s max_logfile_size ] [ -t keep_alive_limit ] [ -x xmtopas_execution_priority ]
Description
The xmtopas command is always started from inetd daemon. Therefore, command line options must be specified on the line defining the xmtopas command to the inetd daemon in the /etc/inetd.conf file.
Flags
-v -b UDP_buffer_size Causes parsing information for the xmtopas recording configuration file to be written to the xmtopas log file. Defines the size of the buffer used by the daemon to send and receive UDP packets. The buffer size must be specified in bytes and can be from 4,096 to 16,384 bytes. The buffer size determines the maximum number of data values that can be sent in one data_feed packet. The default buffer size is 4096 bytes, which allows for up to 124 data values in one packet. Defines the minimum interval in milliseconds with which data feeds can be sent. Default is 500 milliseconds. A value between 100 and 5,000 milliseconds can be specified. Any value specified is rounded to a multiple of 100 milliseconds. Whichever minimum remote interval is specified causes all requests for data feeds to be rounded to a multiple of this value. For more information review the Rounding of Sampling Interval topic. Sets the time_to_live after feeding of statistics data has ceased as described in section Life and Death of xmtopas. Must be followed by a number of minutes. A value of 0 (zero) minutes causes the daemon to stay alive forever. The default time_to_live is 15 minutes. This value is also used to control when to remove inactive data-consumers as described in Removing Inactive Data Consumers topic.
-i min_remote_interval
-l remove_consumer_timeout
193
-m supplier_timeout
When a dynamic data-supplier is active, this value sets the number of seconds of inactivity from the DDS before the SPMI assumes the DDS is dead. When the timeout value is exceeded, the SiShGoAway flag is set in the shared memory area and the SPMI disconnects from the area. If this flag is not given, the timeout period is set to 90 seconds. The size of the timeout period is kept in the SPMI common shared memory area. The value stored is the maximum value requested by any data consumer program, including the xmtopas command. Sets the trace level, which determines the types of events written to the /etc/perf/xmtopas.log1 log file or the /etc/perf/ xmtopas.log2 log file. This flag must be followed by a digit from 0 to 9, with 9 being the most detailed trace level. Default trace level is 0 (zero), which disables tracing and logging of events but logs error messages. Specifies the approximate maximum size of the log files. At least every time_to_live minutes, it is checked if the currently active log file is bigger than the max_logfile_size value. If so, the current log file is closed and logging continues to the alternate log file, which is first reset to zero length. The two log files are /etc/perf/xmtopas.log1 and /etc/perf/xmtopas.log2. Default maximum file size is 100,000 bytes. You cannot make the max_logfile_size value smaller than 5,000 or larger than 10,000,000 bytes. Sets the keep_alive_limit value must be followed by a number of seconds from 60 to 900 (1 to 15 minutes). The default is 300 seconds (5 minutes). Sets the execution priority of the xmtopas command. Use this option if the default execution priority of the xmtopas command is unsuitable in your environment. Generally, the daemon should be given as high execution priority as possible (a smaller number gives a higher execution priority). On systems other than IBMRS/6000 systems, the -x flag is used to set the nice priority of the xmtopas command. The nice priority is a value from -20 to 19. The default is -20.
-p trace_level
-s max_logfile_size
-t keep_alive_limit
-x xmtopas_execution_priority
Syntax
xntpd [ -a ] [ -b ] [ -d ] [ -D Level] [ -m ] [-x][ -c ConfigFile ] [ -e AuthenticationDelay ] [ -f DriftFile ] [ -k KeyFile ] [ -l LogFile ] [ - o TraceFile] [ -p pidFile ] [ -r BroadcastDelay ] [ -s StatsDirectory ] [ -t TrustedKey ] [ -v SystemVariable ] [ -V SystemVariable ]
Description
The xntpd daemon sets and maintains a Unix system time-of-day in compliance with Internet standard time servers. The xntpd daemon is a complete implementation of the Network Time Protocol (NTP) version 3 standard, as defined by RFC 1305, and also retains compatibility with version 1 and 2 servers as defined by RFC 1059 and RFC 1119, respectively. The xntpd daemon does all computations in fixed point arithmetic and does not require floating point code.
194
The xntpd daemon reads from a configuration file (/etc/ntp.conf is the default) at startup time. You can override the configuration file name from the command line. You can also specify a working, although limited, configuration entirely on the command line, eliminating the need for a configuration file. Use this method when configuring the xntpd daemon as a broadcast or multicast client, that determines all peers by listening to broadcasts at runtime. You can display the xntpd daemon internal variables with the ntpq command (Network Time Protocol (NTP) query program). You can alter configuration options with the xntpdc command. The xntpd daemon operates in several modes, including symmetric active/passive, client/server and broadcast/multicast. A broadcast/multicast client can automatically discover remote servers, compute one-way delay correction factors and configure itself automatically. This mode makes it possible to deploy a group of workstations without specifying a configuration file or configuration details specific to its environment. Note: When operating in a client mode running AIX 4.2.1 or later, the xntpd daemon will exit with an error if no configured servers are within 1000 seconds of local system time. Use the date or ntpdate command to set the time of a bad skewed system before starting xntpd.
Flags
-a -b -c ConfigFile -d -D Level -e AuthenticationDelay -f DriftFile -k KeyFile -l LogFile -m -o TraceFile -p pidFile -r BroadcastDelay Runs in authenticate mode Listens for broadcast NTP and synchronizes to them if available. Specifies the name of an alternate configuration file. Specifies debugging mode. This flag may occur multiple times (maximum of 10), with each occurrence indicating greater detail of display. Specifies debugging level directly (value from 1 to 10). Specifies the time, in seconds, it takes to compute the NTP encryption field on this computer. Specifies the location of the drift file. Specifies the location of the file which contains the NTP authentication keys. (lowercase L) Specifies the use of a log file instead of logging to syslog. Listens for multicast messages and synchronizes to them if available. Assumes multicast address 224.0.1.1. Specifies trace file name (default is stderr). Specifies the name of the file to record the daemons process id. There is no default. Specifies the default delay (in seconds) if the calibration procedure fails. Normally, the xntpd daemon automatically compensates for the network delay between the broadcast/multicast server and the client. Specifies the directory to use for creating statistics files. Adds the specified key number to the trusted key list. Adds the specified system variable Adds the specified system variable listed by default. Makes small time adjustments. (SLEWING)
195
Reference clock addresses are of the form 127.127.Type.Unit where Type is an integer denoting the clock type and Unit indicates the type-specific unit number. You configure reference clocks by using a server statement in the configuration file where the HostAddress is the clock address. The key, version and ttl options are not used for reference clock support. Reference clock support provides the fudge command, which configures reference clocks in special ways. This command has the following format: fudge 127.127.Type.Unit [ time1 Seconds ] [ time2 Seconds ] [ stratum Integer ] [ refid Integer ] [ flag1 0 | 1 ] [ flag2 0 | 1 ] [ flag3 0 | 1 ] [ flag4 0 | 1 ] The time1 and time2 options are in fixed point seconds and used in some clock drivers as calibration constants. The stratum option is a number in the range zero to 15 and used to assign a nonstandard operating stratum to the clock. Since the xntpd daemon adds one to the stratum of each peer, a primary server ordinarily displays stratum one. In order to provide engineered backups, use the stratum option to specify the reference clock stratum as greater than zero. Except where noted, this option applies to all clock drivers. The refid option is an ASCII string in the range one to four characters and used to assign a nonstandard reference identifier to the clock. The binary flags: flag1, flag2, flag3 and flag4 are for customizing the clock driver. The interpretation of these values, and whether they are used at all, is a function of the needs of the particular clock driver.
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Security
Access Control: You must have root authority to run this command. Auditing Events: N/A
Examples
1. To start the xntpd daemon, enter:
startsrc -s xntpd
3. To use the authentication key file /etc/ntp.new.keys when running the xntpd daemon, enter:
/usr/sbin/xntpd -k /etc/ntp.new.keys
Files
/usr/sbin/xntpd /etc/ntp.conf /etc/ntp.drift /etc/ntp.keys Contains Contains Contains Contains the the the the xntpd daemon. default configuration file. default drift file. default key file.
196
Related Information
The ntpq, ntpdate, ntptrace, and xntpdc commands.
Syntax
xntpdc [ -i ] [ -l ] [ -n ] [ -p ] [ -s ] [ -c SubCommand ] [ Host ... ]
Description
The xntpdc command queries the xntpd daemon about its current state and requests changes to that state. It runs either in interactive mode or by using command-line arguments. The xntpdc command interface displays extensive state and statistics information. Nearly all the configuration options that can be specified at start-up using the xntpd daemons configuration file, can also be specified at run-time using the xntpdc command. If you enter the xntpdc command with one or more request flags, the NTP servers running on each of the hosts specified (or defaults to local host) receive each request. If you do not enter any request flags, the xntpdc command tries to read commands from standard input and run them on the NTP server running on the first host specified or on the local host by default. It prompts for subcommands if standard input is the terminal. The xntpdc command uses NTP mode 7 packets to communicate with the NTP server and can query any compatible server on the network that permits it. The xntpdc command makes no attempt to retransmit requests, and will time-out requests if the remote host does not respond within a suitable time. Specifying a flag other than -i or -n sends the queries to the specified hosts immediately. Otherwise, the xntpdc command attempts to read interactive format commands from standard input.
Flags
-c SubCommand -i -l -n -p -s Specifies an interactive format command. This flag adds SubCommand to the list of commands to run on the specified hosts. You can enter multiple -c flags. Specifies interactive mode. Standard output displays prompt and standard input reads commands. (lowercase L) Displays a list of the peers known to the servers. This is the same as the listpeers subcommand. Displays all host addresses in dotted decimal format (0.0.0.0) rather than the canonical host names. Displays a list of the peers known to the server and a summary of their state. This is the same as the peers subcommand. Displays a list of the peers known to the server and a summary of their state but in a format different from the -p flag. This is the same as the dmpeers subcommand.
Parameters
Host ... Specifies the hosts.
197
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Security
Access Control: You must be part of the system group to run this command. Auditing Events: N/A Displays per-peer statistic counters associated with the specified peers.
Examples
1. To start the query/control program for the Network Time Protocol daemon, enter:
xntpdc
2. To display the statistic counters of the peer at address 127.127.1.0 on host 9.3.149.107, enter:
xntpdc -c "pstats 127.127.1.0" 9.3.149.107
198
host HostName
hostnames yes | no
keyid Number
Specifies the host to send queries to. HostName may be either a host name or a numeric address. If you enter this subcommand without an argument, it prints the current setting for this subcommand. Specifies whether to display the host name (yes) or the numeric address (no). The default is yes unless the -n flag is used. If you enter this subcommand without an argument, it prints the current setting for this subcommand. Specifies the server key number to use to authenticate configuration requests. If you enter this subcommand without an argument, it prints the current setting for this subcommand. Prompts you to type in the NTP server authentication password to use to authenticate configuration requests. Exits the xntpdc query program. Specifies the time-out period for responses to server queries. The default is 8000 milliseconds. If you enter this subcommand without an argument, it prints the current setting for this subcommand.
Query Subcommands
The xntpdc query subcommands result in sending NTP mode 7 packets containing requests to the server. These subcommands are read-only (they do not modify the server configuration state).
clkbug ClockPeerAddress [ Addr2 ] [ Addr3 ] [ Addr4 ] Displays debugging information for a reference clock driver. Some clock drivers provide this information that is mostly undecodable without a copy of the driver source in hand. Displays information concerning a peer clock. The values obtained provide information on the setting of fudge factors and other clock performance information. Displays a list of peers for which the server is maintaining state, along with a summary of that state. Identical to the output of the peers subcommand except for the character in the leftmost column. Characters only are displayed beside peers that were included in the final stage of the clock selection algorithm. The possible character in the leftmost column are: . + * iostats kerninfo Indicates that this peer was cast off in the falseticker detection. Indicates that the peer made it through.
dmpeers
listpeers
Denotes the peer the server is currently synchronizing with. Displays statistics counters maintained in the input-output module. Displays kernel phase-lock loop operating parameters. This information is available only if the kernel of the hosts being generated has been specially modified for a precision timekeeping function. Displays a brief list of the peers for which the server is maintaining state. These include all configured peer associations as well as those peers whose stratum is such that the server considers them to be possible future synchronization candidates.
199
Displays the values of selected loop filter variables. The loop filter is the part of NTP that adjusts the local system clock. The offset is the last offset given to the loop filter by the packet processing code. The frequency is the frequency error of the local clock in parts-per-million (ppm). The poll adjust controls the stiffness (resistance to change) of the phase-lock loop and the speed at which it can adapt to oscillator drift. The watchdog timer is the number of elapsed seconds since the last sample offset given to the loop filter. The oneline and multiline options specify the format to display this information. The multiline option is the default. Displays statistics counters related to memory allocation code. Displays traffic counts collected and maintained by the monitor facility. Displays a list of peers for which the server is maintaining state, along with a summary of that state. Summary information includes: v address of the remote peer, v reference ID (0.0.0.0 for an unknown reference ID), v the stratum of the remote peer (a stratum of 16 indicates the remote peer is unsynchronized), v the polling interval (seconds), v the reachability register (octal), and v the current estimated delay, offset and dispersion of the peer (seconds). The character in the left margin indicates the mode this peer entry is in: + = ^ ~ * symmetric active. symmetric passive. remote server polled in client mode. server is broadcasting to this address. remote peer is sending broadcasts. marks the peer the server is currently synchronizing to.
The contents of the host field may be a host name, an IP address, a reference clock implementation name with its parameter or REFCLK (ImplementationNumber, Parameter). Only IP addresses display when using hostnames no. Displays per-peer statistic counters associated with the specified peers. Displays the servers restriction list which may help to understand how the restrictions are applied.
200
sysinfo
sysstats timerstats
Displays a variety of system state variables related to the local server. All except the last four lines are described in the NTP Version 3 specification, RFC 1305. The system flags show various system flags, some of which can be set and cleared by the enable and disable configuration statements. The stability is the residual frequency error remaining after applying the system frequency correction. You use it for maintenance and debugging. In most architectures, this value will initially decrease from as high as 500 ppm to a nominal value in the range .01 to 0.1 ppm. If it remains high for some time after starting the daemon, something may be wrong with the local clock, or the value of the kernel variable Tick may be incorrect. The broadcastdelay shows the default broadcast delay, as set by the broadcastdelay configuration statement, while the authdelay shows the default authentication delay, as set by the authdelay configuration statement. Displays statistics counters maintained in the protocol module. Displays statistics counters maintained in the timer/event queue support code.
201
delrestrict Address Mask [ ntpport ] disable Option ... enable Option ...
Sets a trap for asynchronous messages at the specified address and port number for sending messages with the specified local interface address. If you do not specify the port number, the value defaults to 18447. If you do not specify the interface address, the value defaults to the source address of the local interface. Displays information concerning the authentication module, including known keys and counts of encryptions and decryptions performed. Same as the addpeer subcommand, except that the operating mode is broadcast. The PeerAddress can be the broadcast address of the local network or a multicast group address assigned to NTP (224.0.1.1). Clears a trap for asynchronous messages at the specified address and port number for sending messages with the specified local interface address. If you do not specify the port number, the value defaults to 18447. If you do not specify the interface address, the value defaults to the source address of the local interface. Deletes the matching entry from the restrict list. Disables various server options. Does not affect options not mentioned. The enable subcommand describes the options. Enables various server options. Does not affect options not mentioned. You can specify one or more of the following values for Option: auth Causes the server to synchronize with unconfigured peers only if the peer has been correctly authenticated using a trusted key and key identifier. The default for this option is disable (off).
bclient Causes the server to listen for a message from a broadcast or multicast server, following which an association is automatically instantiated for that server. The default for this argument is disable (off). monitor Enables the monitoring facility, with default enable (on). pll Enables the server to adjust its local clock, with default enable (on). If not set, the local clock free-runs at its intrinsic time and frequency offset. This option is useful when the local clock is controlled by some other device or protocol and NTP is used only to provide synchronization to other clients.
stats Enables statistics facility filegen, with default enable (on). fudge PeerAddress [ Time1 ] Provides a way to set certain data for a reference clock. [ Time2 ] [ Stratum ] [ Refid ] Time1 and Time2 are in fixed point seconds and used in some clock drivers as calibration constants. Stratum is a number in the range zero to 15 and used to assign a nonstandard operating stratum to the clock. Refid is an ASCII string in the range one to four characters and used to assign a nonstandard reference identifier to the clock. Enables or disables the monitoring facility. A monitor no subcommand followed by a monitor yes subcommand is a good way of resetting the packet counts. Purges the current set of authentication keys and obtains a new set by rereading the keys file specified in the xntpd configuration file. This allows you to change encryption keys without restarting the server. Clears the statistics counters in various modules of the server. You can specify one or more of the following values for Module: io, sys, mem, timer, auth, allpeers.
reset Module
202
Adds the values of Option to an existing restrict list entry, or adds a new entry to the list with the specified Option. The mask option defaults to 255.255.255.255, meaning that Address is treated as the address of an individual host. You can specify one or more of the following values for Option: ignore Ignore all packets from hosts that match this entry. Does not respond to queries nor time server polls. limited Specifies that these hosts are subject to client limitation from the same net. Net in this context refers to the IP notion of net (class A, class B, class C, etc.). Only accepts the first client_limit hosts that have shown up at the server and that have been active during the last client_limit_period seconds. Rejects requests from other clients from the same net. Only takes into account time request packets. Private, control, and broadcast packets are not subject to client limitation and therefore do not contribute to client count. The monitoring capability of the xntpd daemon keeps a history of clients. When you use this option, monitoring remains active. The default value for client_limit is 3. The default value for client_limit_period is 3600 seconds. lowpriotrap Declare traps set by matching hosts to low priority status. The server can maintain a limited number of traps (the current limit is 3), assigned on a first come, first served basis, and denies service to later trap requestors. This parameter modifies the assignment algorithm by allowing later requests for normal priority traps to override low priority traps. nomodify Ignore all NTP mode 6 and 7 packets that attempt to modify the state of the server (run time reconfiguration). Permits queries that return information. nopeer Provide stateless time service to polling hosts, but not to allocate peer memory resources to these hosts. noquery SIgnore all NTP mode 6 and 7 packets (information queries and configuration requests) from the source. Does not affect time service. noserve Ignore NTP packets whose mode is not 6 or 7. This denies time service, but permits queries. notrap Decline to provide mode 6 control message trap service to matching hosts. The trap service is a subsystem of the mode 6 control message protocol intended for use by remote event logging programs. notrust STreat these hosts normally in other respects, but never use them as synchronization sources. ntpport Match the restriction entry only if the source port in the packet is the standard NTP UDP port (123). Sets the precision that the server advertises. Precision should be a negative integer in the range -4 through -20. Displays the traps set in the server. Adds one or more keys to the trusted key list. When you enable authentication, authenticates peers with trusted time using a trusted key. Removes the configured bit from the specified peers. In many cases deletes the peer association. When appropriate, however, the association may persist in an unconfigured mode if the remote peer is willing to continue on in this fashion. Removes the specified options from the restrict list entry indicated by Address and Mask. The restrict subcommand describes the values for Option. Removes one or more keys from the trusted key list.
setprecision Precision traps trustkey Keyid ... unconfig PeerAddress [ Addr2 ] [ Addr3 ] [ Addr4 ] unrestrict Address Mask Option ... untrustkey Keyid ...
203
Files
/usr/sbin/xntpdc Contains the xntpdc command.
Related Information
The ntpq, ntpdate, and ntptrace commands. The xntpd daemon.
Syntax
xpr [ -append FileName [ -noff ] | -output FileName ] [ -landscape | -portrait ] [ -compact ] [ -cutoff Level ] [ -density Dpi ] [ -gray { 2 | 3 | 4 } ] [ -header String ] [ -height Inches ] [ -left Inches ] [ -noposition ] [ -plane PlaneNumber ] [ -psfig ] [ -report ] [ -rv ] [ -scale Scale ] [ -split Number ] [ -top Inches ] [ -trailer String ] [ -width Inches ] [ -device Device ] [ ImageFile ]
Description
The xpr command uses a window dump file produced by the xwd utility as input and formats the dump file for output on all printers supported by the hardware. If you do not specify a file argument, the xpr command uses standard input. By default, the xpr command prints the largest possible representation of the window on the output page. The xpr command options allow you to add headers and trailers, specify margins, adjust the scale and orientation, and append multiple window dumps to a single output file. Output is to standard output unless the -output flag is specified.
Flags
-append FileName -compact Specifies a file name previously produced by the xpr command to which the window is to append. (This flag is not supported on PostScript printers.) Uses simple run-length encoding for compact representation of windows with many white pixels. This flag compresses white space but not black space, so it is not useful for reverse-video windows. (This flag supports PostScript, LIPS II+, and LIPSIII output only.) Changes the intensity level where colors are mapped to black or white for monochrome output on a LaserJet printer. The Level variable is expressed as a percentage of full brightness. Fractions are acceptable.
-cutoff Level
204
-device Device
Specifies the device on which the file prints. The xpr command supports the following printers: 3812 or pp IBM PP3812 4207 5201 5202 jprinter IBM Japanese Printer (Japanese data stream) ljet ps lips2 HP LaserJet and IBM Laser Printer PostScript printers (this is the default) Canon LaserShot LIPS II+ mode Proprinter IBM Quietwriter 1 model 2 IBM Quietwriter 2
lips3 Canon LaserShot LIPS III mode Indicates the dots-per-inch (dpi) density that the HP printer uses. 300 dpi is the default. Allowable densities are 300, 150, 100, and 75 dpi. Specifies gray-scale conversion to a color image, rather than mapping to a black-and-white image. The Number variable must be one of the following: 2 3 4 2 x 2 conversion 3 x 3 conversion 4 x 4 conversion
This conversion doubles, triples, or quadruples, respectively, the effective width and height of the image. Note: This option is valid only for PostScript printers. Specifies a header string to print above the window. Specifies the maximum height of the page. Contains the captured bitmap of the image. If you do not specify the ImageFile parameter, the xpr command uses standard input. Forces the window to print in landscape mode. (The display is laid out with the windows being wider than they are high.) By default, a window prints so that its longest side follows the long side of the paper. Specifies the left margin in inches. Fractions are acceptable. By default, this flag prints the window on the center of the page. When specified in conjunction with the -append flag, the window is displayed on the same page as the previous window. (This flag is not supported on PostScript printers.) Causes the header, trailer, and image positioning command generation to be bypassed for the LaserJet printer. Specifies an output file name. If you do not specify this option, the xpr command uses standard output. Specifies which bit plane to use in an image. The default uses the entire image and maps values into black and white based on color intensities. This option is not supported for the LaserJet printer. Forces the window to print in portrait mode. (The display is laid out with the windows being higher than they are wide.) By default, a window prints so that its longest side follows the long side of the paper. Suppresses translation of the PostScript picture to the center of the page. Prints out statistics to standard error about the window ImageFile parameter. Forces the window to print in reverse video.
-portrait
205
-scale Scale
-split Number
Affects the size of the window on the page. PostScript printers are able to translate each bit in a window pixel map into a grid of a specified size. For example, each bit might translate into a 3 x 3 grid. To specify a 3 x 3 grid, enter -scale 3. By default, a window prints with the largest scale that fits on the page for the specified orientation. If you do not specify a device, the aspect ratio can vary. Splits a window into several pages. This might be necessary for very large windows that would otherwise cause the printer to overload and print the page in an obscure manner. (This flag is not supported on PostScript or HP Laserjet printers.) Specifies the top margin for the window in inches. Fractions are acceptable. By default, this flag prints the window on the center of the page. Specifies a trailer string to print below the window. Specifies the maximum width of the page. Note: The 4207, 5201, and 5202 printers images must be recorded by the xwd utility in XYPixmap or XYBitmap format. XYPixmap images are converted into bitmaps using a thresholding algorithm. For the HP Laserjet printer, multiplane images must be recorded in ZPixmap format. Single plane images may be either XYPixmap, XYBitmap, or ZPixmap formats.
Related Information
The X command, xwd command, xwud command.
Syntax
xpreview [ -BackingStore BackingStoreType ] [ -page Number ] [ ToolKitFlag ... ] { File | - }
Description
The xpreview command is an AIXwindows 2.1- and Motif2.1-based application that displays output from the troff command on an AIXwindows display. The troff command output file must be prepared for the devX100 device. The user interface contains the standard AIXwindows interface controls for calling the root menu, iconifying the window, and setting the window to full screen size. The interface also includes a main window with a scrollable display area for text. Use the pushbuttons for Next, Previous, Goto Page, Print Page, Print File, and Newfile to manipulate the viewing document. Mouse button three actuates a popup menu for configuring print capabilities. The menu includes an option to set the command line and another to select a printer queue. The command line dialog box expects command line input through the troff command. For example,
pic -Tibm3816 troff-input-file |tbl|troff -mm -Tibm3816
is an acceptable command line. The printer queue option displays a list of configured printer queues. If this option is not selected, the xpreview command uses the system-defined default queue. When you are previewing an input file, the Print Page and Print File buttons require command line input. Note that once a printer queue is selected, it remains selected for the duration of the viewing session, or until an alternate printer queue is selected. Fonts supported for the devX100 device in European locales are:
206
v v v v
Times New Roman in normal, italic, and bold Courier in normal and bold Helvetica in normal and bold Symbol
The xpreview command supports the following font sizes: 8, 10, 14, 18, 24, 30, and 36. The xpreview command does not display files resulting from the troff command constructed for a device other than those described in this document. To preview a file on a certain device, the xpreview command requires the fonts found in the following directories: v /usr/lib/X11/fonts directory for files formatted for font files other than Japanese v /usr/lib/X11/fonts/JP for Japanese font files
Multibyte Support
The xpreview command supports multibyte locales. Also, to display Japanese characters, Japanese 16-dot fonts (part of the Japanese BSL package) and 24- and 32-dot fonts (part of the AIXwindows font package) must be installed. To display Korean characters, Korean fonts (part of the Korean BSL package) must be installed. Japanese support currently includes the following font sets: v In 16-dot: RomanKn12, Kanji12, and IBM_JPN12 v In 24-dot: RomanKn17, Kanji17, and IBM_JPN17 v In 32-dot: RomanKn23, Kanji23, and IBM_JPN23, or RomanKn23G, Kanji23G, and IBM_JPN23G Korean support currently includes the following font sets: v In 16-dot, EnglHg16 and Hangul16 v In 24-dot, EnglHg24 and Hangul24
Flags
The xpreview command accepts the standard X Toolkit command line flags, as well as the following flags:
-help -BackingStore BackingStoreType Requires input to be read from standard input. Indicates that a brief summary of the allowed command line flags should be printed. The -BackingStore flag causes the server to save the window contents so that when it is scrolled around the viewport, the window is painted from contents saved in server backing store. Redisplays of the drawing window can take up to a second or so. The BackingStoreType parameter can have one of the following values: Always, WhenMapped or NotUseful. Tip: Enter a space between the -BackingStore flag and its BackingStoreType parameter. Requirement: Use of this flag requires that the server be started with backing store enabled. Specifies the page number of the document to be first displayed.
-page Number
207
ToolKitFlag
The following standard X Toolkit flags are commonly used with the xpreview command: -bg Color Specifies the color to use for the background of the window. The default is white. -bg Color Specifies the color to use for the background of the window. The default is white. -fg Color Specifies the color to use for displaying text. The default is black. -geometry Geometry Specifies the preferred size and position of the window. -display Host:Display Specifies the X server to contact. -xrm ResourceString Specifies a resource string to be used. Specifies the file to be printed.
File
Examples
1. To build files output by the troff command into files that are suitable for use with the xpreview command, enter the following commands:
troff-TX100 troff-input | xpreview pic -TX100 pic-troff-input | tbl | troff -man -TX100 | xpreview
2. To build files output by the troff command into files that are suitable for use with the Japanese language version of the xpreview command, enter the following commands:
LANG=ja_JP troff -TX100 troff-input | xpreview pic -TX100 pic-troff-input | tbl | troff -man -TX100 \ | xpreview -
Files
/usr/lib/X11/app-defaults/XPreview /usr/lib/X11/Ja_JP/app-defaults/XPreview Contains user-configurable applications defaults file. Contains user-configurable applications default file for the Japanese (IBM-932) locale. Contains user-configurable applications default file for the Japanese (IBM-eucJP) locale. Contains user-configurable applications default file for the Korean locale. Contains user-configurable applications default file for the Traditional Chinese locale. Contains troff fonts for devX100 devices. Contains X fonts for 100 dpi devices. Contains X fonts for multi-byte characters.
/usr/lib/X11/ja_JP/app-defaults/XPreview
/usr/lib/X11/ko_KR/app-defaults/XPreview
/usr/lib/X11/zh_TW/app-defaults/XPreview
208
/usr/lib/X11/fonts/JP
Related Information
The cat command, csplit command, diff command, lint command, lp command, lpr command, pg command, pr command, qprt command, sed command, sort command, tabs command, X command, xrdb command. The eqn command, grap command, pic command, tbl command, troff command, X command, xrdb command. The nl_langinfo subroutine in AIX 5L Version 5.3 Technical Reference: Base Operating System and Extensions.
Syntax
xprofiler [ program ] [ -b ] [ -s ] [ -z ] [ -a path ] [ -c file ] [ -L pathname ] [ [ -e function]...] [ [ -E function ]...] [ [ -f function]...] [ [ -F function ]...] [ -disp_max number_of_functions ] [ [ gmon.out ]...] xprofiler -h | -help
Description
The xprofiler command invokes Xprofiler, a GUI-based AIX performance profiling tool. Xprofiler is used to analyze the performance of both serial and parallel applications. Xprofiler uses data collected by the -pg compiling option and presents a graphical representation of the functions in the application in addition to providing textual data in several report windows. These presentation formats are intended to identify the functions which are most processor-intensive.
Flags
-a To specify an alternate search path or paths for library files and source code files. If more than one path is specified, the paths must be embraced by , and each path should be separated by either : or space. Suppresses the printing of the field descriptions for the Flat Profile, Call Graph Profile, and Function Index reports when they are written to a file with the Save As option of the File menu. Loads a configuration file that contains information to be used to determine which functions will be displayed when Xprofiler is brought up. Sets the number of function boxes that Xprofiler initially displays in the function call tree. The value supplied with this flag can be any integer between 0 and 5,000. Xprofiler displays the function boxes for the most processor-intensive functions through the number you specify. For instance, if you specify 50, Xprofiler displays the function boxes for the 50 functions in your program that consume the most processor. After this, you can change the number of function boxes that are displayed via the Filter menu options. This flag has no effect on the content of any of the Xprofiler reports.
-b -c -disp_max
209
-e
-E
-f
-F
-h -help -L -s
-z
De-emphasizes the general appearance of the function box or boxes for the specified functions in the function call tree, and limits the number of entries for these function in the Call Graph Profile report. This also applies to the specified functions descendants, as long as they have not been called by non-specified functions. In the function call tree, the function boxes for the specified functions appear greyed-out. Its size and the content of the label remain the same. This also applies to descendant functions, as long as they have not been called by non-specified functions. In the Call Graph Profile report, an entry for the specified function only appears where it is a child of another function, or as a parent of a function that also has at least one non-specified function as its parent. The information for this entry remains unchanged. Entries for descendants of the specified function do not appear unless they have been called by at least one non-specified function in the program. Changes the general appearance and label information of the function box or boxes for the specified functions in the function call tree. Also limits the number of entries for these functions in the Call Graph Profile report, and changes the processor data associated with them. These results also apply to the specified functions descendants, as long as they have not been called by non-specified functions in the program. In the function call tree, the function box for the specified function appears greyed-out, and its size and shape also changes so that it appears as a square of the smallest allowable size. In addition, the processor time shown in the function box label, appears as 0 (zero). The same applies to function boxes for descendant functions, as long as they have not been called by non-specified functions. This option also causes the processor time spent by the specified function to be deducted from the left side processor total in the label of the function box for each of the specified functions ancestors. In the Call Graph Profile report, an entry for the specified function only appears where it is a child of another function, or as a parent of a function that also has at least one non-specified function as its parent. When this is the case, the time in the self and descendants columns for this entry is set to 0 (zero). In addition, the amount of time that was in the descendants column for the specified function is subtracted from the time listed under the descendants column for the profiled function. As a result, be aware that the value listed in the % time column for most profiled functions in this report will change. De-emphasizes the general appearance of all function boxes in the function call tree, except for that of the specified function(s) and its descendant(s). In addition, the number of entries in the Call Graph Profile report for the non-specified functions and non-descendant functions is limited. The -f flag overrides the -e flag. In the function call tree, all function boxes except for that of the specified function(s) and it descendant(s) appear greyed-out. The size of these boxes and the content of their labels remain the same. For the specified function(s), and it descendants, the appearance of the function boxes and labels remain the same. In the Call Graph Profile report, an entry for a non-specified or non-descendant function only appears where it is a parent or child of a specified function or one of its descendants. All information for this entry remains the same. Changes the general appearance and label information of all function boxes in the function call tree except for that of the specified function(s) and its descendants. In addition, the number of entries in the Call Graph Profile report for the non-specified and non-descendant functions is limited, and the processor data associated with them is changed. The -F flag overrides the -E flag. In the function call tree, the function box for the specified function appears greyed-out, and its size and shape also changes so that it appears as a square of the smallest allowable size. In addition, the processor time shown in the function box label, appears as 0 (zero). In the Call Graph Profile report, an entry for a non-specified or non-descendant function only appears where it is a parent or child of a specified function or one of its descendants. The time in the self and descendants columns for this entry is set to 0 (zero). When this is the case, the time in the self and descendants columns for this entry is set to 0 (zero). As a result, be aware that the value listed in the % time column for most profiled functions in this report will change. Writes the Xprofiler usage to STDERR and then exits. The information includes xprofiler command line syntax and a description of Xprofiler runtime options. Uses an alternate path name for locating shared libraries. If you plan to specify multiple paths, use the Set File Search Paths option of the File menu on the Xprofiler GUI. If multiple gmon.out files are specified when Xprofiler is started, produces the gmon.sum profile data file. The gmon.sum file represents the sum of the profile information in all the specified profile files. Note that if you specify a single gmon.out file, the gmon.sum file contains the same data as the gmon.out file. Includes functions that have both zero processor usage and no call counts in the Flat Profile, Call Graph Profile, and Function Index reports. A function will not have a call count if the file that contains its definition was not compiled with the -pg option, which is common with system library files.
210
Example
To use xprofiler, you must first compile your program (for example, foo.c) with -pg:
xlc -pg -o foo foo.c
1. When the program foo is executed, one gmon.out file will be generated for each processor involved in the execution. To invoke xprofiler, enter:
xprofiler foo [[gmon.out]...]
Files
/usr/lib/X11/app-defaults/ Xprofiler Location of the xprofiler command.
Related Information
Commands: gprof(1), xlc(1), xlf(1).
Syntax
xrdb [ -display Display ] [ -help ] [ -quiet ] [ -retain ] [ -cpp FileName | -nocpp ] [ -D Name=Value ] [ -I Directory] [ -U Name ] [ -all | -global | -screen | -screens ] [ -n ] [ -edit FileName | [ -backup String ] | -merge [ FileName ] | -load [ FileName ] | -query | -remove | symbols ] -override ]
Description
The xrdb command gets or sets the contents of the RESOURCE_MANAGER property on the root window of screen 0 or the SCREEN_RESOURCES property on the root window of any or all screens, or everything combined. You normally run this program from your X startup file. Most X clients use the RESOURCE_MANAGER and SCREEN_RESOURCES properties to get user preferences about color, fonts, and so on for applications. Having this information in the server (where it is available to all clients) instead of on disk solves the problem in previous versions of X that required you to maintain defaults files on every machine that you might use. It also allows for dynamic changing of defaults without editing files. The RESOURCE_MANAGER property specifies resources that apply to all screens of the display. The SCREEN_RESOURCES property on each screen specifies additional (or overriding) resources to be used for that screen. (When there is only one screen, SCREEN_RESOURCES is normally not used; all resources are placed in the RESOURCE_MANAGER property.) For compatibility, if there is no RESOURCE_MANAGER property defined (either because the xrdb command was not run or if the property was removed), the resource manager looks for a file called .Xdefaults in your home directory. The file name (or the standard input if - or no file name is given) is optionally passed through the C preprocessor with the following symbols defined, based on the capabilities of the server being used:
SERVERHOST=Hostname Specifies the hostname portion of the display to which you are connected.
211
SRVR_name
WIDTH=Number HEIGHT=Number X_RESOLUTION=Number Y_RESOLUTION=Number PLANES=Number RELEASE=Number REVISION=Number VERSION=Number VENDOR=Vendor VNDR_name EXT_name
CLASS=VisualClass CLASS_visualclass=visualid
Turns the SERVERHOST hostname string into a legal identifier. For example my-dpy.lcs.mit.edu becomes SRVR_my_dpy_lcs_mit_edu. Specifies the hostname portion of the display to which you are connected. Specifies the number of the display on the server host. Specifies the name of the host on which xrdb is running. Turns the CLIENTHOST hostname string into a legal identifier. For example expo.lcs.mit.edu becomes CLNT_expo_lcs_mit_edu. Specifies the width of the default screen in pixels. Specifies the height of the default screen in pixels. Specifies the x resolution of the default screen in pixels per meter. Specifies the y resolution of the default screen in pixels per meter. Specifies the number of bit planes (the depth) of the root window of the default screen. Specifies the vendor release number for the server. The interpretation of this number varies depending on VENDOR. Specifies the X protocol minor version supported by this server (currently 0). Specifies the X protocol major version supported by this server (should always be 11). A string specifying the vendor of the server. Turns the VENDOR name string into a legal identifier. For example MIT X Consortium becomes VNDR_MIT_X_Consortium. Turns each extension string into a legal identifier. A symbol is defined for each protocol extension supported by the server. For example X3D-PEX becomes EXT_X3D_PEX. Specifies the total number of screens. Specifies the number of current screen. from 0 (zero). Specifies the number of significant bits in an RGB color specification. This is the log base 2 of the number of distinct shades of each primary that the hardware can generate. Note that it is not related to PLANES. Specifies the visual class of the root window of the default screen which is one of the following: Specifies the visual class of the root window in a form can #ifdef on. The value is the numeric id of the visual. DirectColor, GrayScale, PseudoColor, StaticColor, StaticGray, TrueColor A symbol is defined for each visual supported for the screen. The symbol includes the class of the visual and its depth; the value is the numeric id of the visual. (If more than one visual has the same class and depth, the numeric id of the first one reported by the server is used.)S Defined only if CLASS is one of StaticColor, PseudoColor, TrueColor, or DirectColor.
CLASS_visualclass_depth=num
COLOR
Comment lines begin with an ! (exclamation mark) and are ignored. Since xrdb can be read from standard input, use it to change the contents of properties directly from a terminal or from a shell script.
212
Flags
-all Indicates that operation is performed on the screen-independent resource property (RESOURCE_MANAGER), as well as the screen-specific property (SCREEN_RESOURCES) on every screen of the display. For example, when used in conjunction with -query, the contents of all properties are output. For -load and -merge, the input file is processed once for each screen. The resources that occur in common in the output for every screen are collected and applied as the screen-independent resources. The remaining resources are applied for each individual per-screen property. This is the default mode of operation. This option is specific to X11R5. Specifies a suffix to append to the file name. Use it with -edit to generate a backup file. -edit is a prerequisite for -backup String. Specifies the pathname of the C preprocessor program to use. Although the xrdb command was designed to use CPP, any program that acts as a filter and accepts the -D, -I, and -U flags can be used. Passes through to the preprocessor and defines symbols to use with conditionals such as #ifdef. Specifies the X Server to use. It also specifies the screen to use for the -screen option, and it specifies the screen from which preprocessor symbols are derived for the -global option. Indicates that the contents of the specified properties should be edited into the given file, replacing any values listed there. This allows you to put changes you made to your defaults back into your resource file, preserving any comments or preprocessor lines. Indicates that the operation should only be performed on the screen-independent RESOURCE_MANAGER property. This option is specific to X11R5. Prints a brief description of the allowed flags. ( uppercase i ) Passes through to the preprocessor and specifies a directory to search for files referenced with #include. Indicates that the input is loaded as the new value of the specified properties, replacing the old contents. This is the default action. Indicates that the input merges with, instead of replaces, the current contents of the specified properties. This option performs a lexicographic sorted merge of the two inputs, which is probably not what you want, but remains for backward compatibility. Indicates that changes to the specified properties (when used with -load or -merge) or to the resource file (when used with -edit) should be shown on the standard output, but should not be performed. This option is specific to X11R5. Indicates that the xrdb command should not run the input file through a preprocessor before loading it into properties. Indicates that the input should be added to, instead of replacing, the current contents of the specified properties. New entries override previous entries. Indicates that the current contents of the specified properties should print onto the standard output. Note that since preprocessor commands in the input resource file are part of the input file, not part of the property, they do not appear in the output from this flag. Indicates that a warning about duplicate entries should not display. This option is specific to X11R5. Indicates that the specified properties should be removed from the server. Indicates that the server should be instructed not to reset if the xrdb command is the first client. This should never be necessary under normal conditions, since the xdm and xinit commands always act as the first client. This option is specific to X11R5. Indicates that the operation should only be performed on the SCREEN_RESOURCES property of the default screen of the display. This option is specific to X11R5. Indicates that the operation should be performed on the SCREEN_RESOURCES property of each screen of the display. For -load and -merge, the input file is processed once for each screen. This option is specific to X11R5. Indicates that the symbols defined for the preprocessor should be printed onto the standard output.
Alphabetical Listing of Commands
-edit FileName
-n
-screen -screens
-symbols
213
-UName
Passes through to the preprocessor and removes any definitions of this symbol.
Examples
1. To load a file into the database:
xrdb -load myfile
2. To take the contents of the database just loaded and edit or put it into newfile:
xrdb -edit newfile
Files
The xrdb command generalizes the ~/.Xdefaults files.
Syntax
xsend User
Description
The xsend command sends messages that can be read only by the intended recipient. This command is similar to the mail command, but the mail sent with this command is intended to be secret. The xsend command is used with the enroll command and the xget command to send secret mail. The enroll command sets up the password used to receive secret mail. The xget command uses that password to receive the mail. The xsend command reads standard input until an EOF (Ctrl-D) or a . (period) is entered. It then encrypts this text along with some header information and sends it. After sending the encrypted message,the xsend command mails a standard mail message to the recipient informing them they have received secret mail. Note: Secret mail can only be sent to local users.
Examples
1. To send secret mail, enter:
xsend ron
When you have issued the xsend command with the recipients name, the mail system is used to enter the text of the message. When you finish entering the message to user ron, press the Enter key, then Ctrl-D or a . (period) to exit the mail editor and send the message. The xsend command encrypts the message before it is sent. 2. To send a file to another user, enter:
xsend lance <proposal
Files
/var/spool/secretmail/*.keys Contains the encrypted key for User.
214
/var/spool/secretmail/*.[0-9] /usr/bin/xsend
Contains the encrypted mail messages for User. Contains the command executable files.
Related Information
The bellmail command, enroll command, mail command, xget command. Mail applications, Sending and receiving secret mail in Networks and communication management.
Syntax
xset [ -display Display ] [ b [ Volume [ Pitch [ Duration ] ] ] | -b | b on | b off ] [ bc | -bc ] c [ Volume ] | -c | c on | c off ] [ [ - | + ] fp [ - | + | = ] Path [ ,Path, [ ... ] ] ] [ fp default ] [ fp rehash ] [ [ - ] led [ Integer ] ] [ led on | led off ] [ m [ Accelerator ] [ Threshold ] ] ] [ m [ ouse ] default ] [ p Pixel Color ] [ [ - ] r ] [ r on | r off ] [ s [ Length [ Period ] ] ] [ s blank | s noblank ] [ s expose | s noexpose ] [ s on | s off ] [ s activate ] [ s reset ] [ s default ] [ q ]
Description
The xset command customizes your X-Windows environment.
Flags
-display Host:Display b or b on Specifies the X server to use. For more information about servers, see the X command. Turns the bell on. This is the default setting. Note: Not all hardware is able to vary the bell characteristics, but for that which can, all of the b flag permutations and its variables are available. b [Volume [Pitch [Duration] ] ] Specifies the bell volume, pitch, and duration. This flag accepts up to three numeric values. Volume If only one numeric is given then it is assumed to be Volume. The bell volume is set to that numeric as a percentage of the bells maximum possible volume dependent on current hardware capabilities. Pitch Duration The third numeric in milliseconds, is the length of time that the bell rings. Turns the bell off. The second numeric in hertz values, is the tonal sound of the bell.
-b or b off
215
bc or -bc
Controls bug compatibility mode in the server, if possible. A preceding - (dash) disables this mode; otherwise, bug compatibility mode is enabled. The server must support the MIT-SUNDRY-NONSTANDARD protocol extension for the bc flag to work. New application development should be performed with bug compatibility mode disabled. The bc flag is provided for pre-X11 Release 4 (X11R4) clients. Some pre-X11R4 clients pass illegal values in various protocol requests. Such clients, when run with an X11R4 server, end abnormally or otherwise fail to operate correctly. This flag explicitly reintroduces certain bugs into the X server so that such clients still can be run. Turns on the click. System default. A numeric from 0 to 100 that specifies a percentage of the clicks maximum possible volume dependent on current hardware capabilities. Turns off the click. Sets the font path to the directories given in the Path parameter. The directories are interpreted by the server, not by the client, and are server-dependent. The server ignores directories that do not contain font databases created by the mkfontdir command. All of the options and variables supported by the fp flag are available. Deletes the font path specified by the Path parameter from the end of the current font path if the - (dash) precedes fp and from the front of the font path if the (dash) follows fp. Adds the font path specified by the Path parameter to the bottom of font list if the - (dash) precedes fp and from the end of the font path if the - (dash) follows fp. Resets the font path to the servers default. Causes the server to reread the font databases in the current font path. Usually used only when adding new fonts to a font directory after running mkfontdir to recreate the font database. Turns all LEDs on. Turns the LED specified by Integer off. Valid values are between 1 and 32. Turns the LED specified by Integer on. Valid values are between 1 and 32. Turns all LEDs off. Note: Not all hardware assigns the same Integer variables to the same LED functions.
c or c on c Volume
-c or c off fp=Path,...
fp- or -fp
fp+ or +fp
fp default fp rehash
216
Allows you to control the precision of the mouse or other pointing device. If no variable or the default argument is specified, the system defaults are used. This flag accepts the following optional arguments and parameters: Acceleration Sets the multiplier for the mouse movement. The value can be specified as an integer or a fraction. Threshold Sets the minimum number of pixels needed to invoke a movement of the mouse. The value is specified in pixels. If only one parameter is given, it will be interpreted as the Acceleration parameter.
default Uses the system defaults. Controls pixel color values. The root background colors may be changed on some servers by altering the entries for BlackPixel and WhitePixel. Although these values are often 0 and 1, they need not be. Also, a server may choose to allocate those colors privately, in which case the xset command generates an error. The xset command also generates an error if the map entry is a read-only color. Valid parameters are: Pixel Specifies the color map entry number in decimal.
Color Specifies a color. Enables autorepeat. Disables autorepeat. Sets screen saver parameters to the default screen-saver characteristics. Specifies the length of time the server must be inactive for the screen saver to activate. Period specifies the period in which the background pattern must be changed to avoid burn in. The values of Length and Period are specified in seconds. If only one numerical parameter is given, it is read as a Length parameter. Turns the screen saver functions on and off, respectively. Causes the screen saver to activate, even if it has been turned off. Causes the screen saver to deactivate if it was activated. Sets the preference to blank the video (if the hardware can do so) rather than display a background pattern. Sets the preference to display a pattern rather than blank the video. Sets the preference to allow window exposures (the server can freely discard window contents). Sets the preference to disable screen saver unless the server can regenerate the screens without causing exposure events.
217
Reports information on the current settings. These settings will be reset to default values when you log out. Note: Not all X implementations are guaranteed to honor all of these options.
Examples
1. To set the bell volume to medium, the tone to 50 hertz, and length of time the bell rings to 50 milliseconds:
xset b 50,50,50
3. To cause the server to reread the font databases in the current font path:
xset fp rehash
0x8006e
WhitePixel:
Related Information
The X command, xmodmap command, xrdb command, xsetroot command.
Syntax
xsetroot [ -bg Color ] [ -cursor CursorFile MaskFile ] [ -cursor_name CursorName ] [ -def ] [ -display Display ] [ -fg Color ] [ -help ] [ -name String ] [ -rv ] [ -bitmap FileName | -gray | -grey | -mod X Y | -solid Color ]
218
Description
The xsetroot command allows you to tailor the appearance of the background (root) window on a workstation display running X. Normally, you experiment with the xsetroot command until you find a personalized look that you like, then put the xsetroot command that produces it into your X startup file. If no options are specified or if the -def flag is specified, the window is reset to its default state. The -def flag can be specified with other flags and only the unspecified characteristics are reset to the default state. Only one of the background color (tiling) changing flags (-bitmap, -solid, -gray, -grey, or -mod) can be specified at a time.
Flags
-bg Color -bitmap FileName Uses the Color parameter as the background color. Uses the bitmap specified in the file to set the window pattern. You can make your own bitmap files (little pictures) using the bitmap program. The entire background is made of repeated tiles of the bitmap. Changes the pointer cursor to what you want when it is outside of any window. Cursor and mask files are bitmaps (little pictures) that can be made with the bitmap program. You probably want the mask file to be all black until you get used to the way masks work. Changes the pointer cursor to one of the standard cursors from the cursor font. Resets unspecified attributes to the default values. (Restores the background to the familiar gray mesh and the cursor to the hollow x shape.) Specifies the server connection. See the X command. Uses the Color parameter as the foreground color. Foreground and background colors are meaningful only with the -cursor, -bitmap, or -mod flags. Makes the entire background gray. Makes the entire background grey. Prints a usage message and exits. Makes a plaid-like grid pattern on your screen. The X and Y parameters are integers ranging from 1 to 16. Zero and negative numbers are taken as 1. Sets the name of the root window to the String parameter. There is no default value. Usually a name is assigned to a window so that the window manager can use a text representation when the window is iconified. This flag is not used because you cannot iconify the background. Exchanges the foreground and background colors. Normally the foreground color is black and the background color is white. Sets the background of the root window to the specified color. This flag is only used on color servers.
-name String
Related Information
The X command, xset command, xrdb command.
219
Syntax
xss [ -e CommandString ] [ -timeout Seconds ] [ -display DisplayPtr ] [ -v ] [ -fg Color ] [ -bg Color ] [ -geometry wxh+x+y ]
Description
The xss command works with the newly added Massachusetts Institute of Technology (MIT) Screen Saver Extensions in order to implement a user controllable screen saver/lock. This command is designed to improve the security of unattended workstations. The xss command executes a user-specified command string when it receives a screen saver timeout message, or when the user activates the pushbutton. When no user-specified command is given, the xss command defaults to the xlock command. Note: The xss command only uses the newly added MIT Screen Saver Extensions. The xss command does not work on an older X server, or when using an older X extension library.
Flags
-e CommandString Sets the xss command to execute when either the screen saver times out, or the user activates the pushbutton. Note that if the CommandString parameter value is longer than one word, it must be surrounded by (double quotations). Sets the number of seconds of user inactivity before the screen saver times out, and causes the xss command to run the CommandString parameter. Sets the connection to the X11 display. Turns on verbose mode. Sets the foreground color of the pushbutton. Sets the background color of the pushbutton. Specifies the size and location of the client window.
-timeout Seconds -display DisplayPtr -v -fg Color -bg Color -geometry wxh+x+y
Examples
When running remotely and using the -display flag for the xss command, remember that you may also have to use the -display flag option for the command that will be executed by the xss command. See the following running remote example: 1. Running remote:
xss -display myhost:0 -e "xlock -remote -display myhost:0"
3. Simple example:
xss -e xlock
Syntax
xstr [ -v ] [ -c ] [ - ] [ File ]
220
Description
The xstr command maintains a file strings into which strings in component parts of a large program are hashed. These strings are replaced with references to this array. This serves to implement shared constant strings, most useful if they are also read-only. The command:
xstr -c File
extracts the strings from the C source in the File parameter, replacing string references by expressions of the form (&xstr[number]) for some number. An appropriate declaration of the xstr array is prepended to the file. The resulting C text is placed in the file x.c, to then be compiled. The strings from this file are appended into the strings file if they are not there already. Repeated strings and strings which are suffixes of existing strings do not cause changes to the file strings. If a string is a suffix of another string in the file but the shorter string is seen first by the xstr command, both strings are placed in the file strings. After all components of a large program have been compiled, a file xs.c declaring the common xstr array space can be created by a command of the form:
xstr
This xs.c file should then be compiled and loaded with the rest of the program. If possible, the array can be made read-only (shared), saving space and swap overhead. The xstr command can also be used on a single file. The command:
xstr File
creates files x.c and xs.c as before, without using or affecting any strings file in the same directory. It may be useful to run the xstr command after the C preprocessor if any macro definitions yield strings or if there is conditional code which contains strings which may not, in fact, be needed. The xstr command reads from its standard input when the - (minus sign) flag is given and does not alter the strings file unless the -c flag is specified also. An appropriate command sequence for running the xstr command after the C preprocessor is:
cc -E name.c | xstr -c cc -c x.c mv x.o name.o
The xstr command does not touch the file strings unless new items are added, thus the make command can avoid remaking the xs.o file unless truly necessary.
Flags
-c -v Extracts strings from the specified file, and places them in the strings file. Verbose mode. Tells when strings are found, or new in the strings file. Reads from standard input.
Examples
1. To extract the strings from the C source in the File.c parameter, replacing string references by expressions of the form (&xstr[number]):
xstr -c File.c
221
An appropriate declaration of the xstr array is prepended to the file. The resulting C text is placed in the file x.c, to then be compiled. 2. To declare the common xstr array space in the xs.c file:
xstr
Files
strings x.c xs.c /tmp/xs* /usr/ccs/bin/mkstr /usr/ccs/bin/mkstr File which contains the extracted strings. Massaged C source. C source for definition of array xstr. Temporary file when xstr command does not touch the strings file. Contains an executable file. Contains an executable file for Berkeley environment.
Related Information
The mkstr command.
Syntax
xterm [ -ToolkitOption ... ] [ -Option ... ]
Description
The xterm program is a terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that cannot use the window system directly. If the underlying operating system supports terminal resizing capabilities, the xterm program uses the facilities to notify programs running in the window whenever it is resized. The VT102 and Tektronix 4014 terminals each have their own window so that you can edit text in one and look at graphics in the other at the same time. To maintain the correct aspect ratio (height/width), Tektronix graphics are restricted to the largest box with a 4014 aspect ratio that will fit in the window. This box is located in the upper left area of the window. Although both windows might be displayed at the same time, one of them is considered the active window for receiving keyboard input and terminal output. This is the window that contains the text cursor. The active window can be chosen through escape sequences, the VT Options menu in the VT102 window, and the Tek Options menu in the 4014 window.
Emulations
The VT102 emulation is fairly complete, but does not support smooth scrolling, VT52 mode, the blinking character attribute, or the double-wide and double-size character sets. The termcap file entries that work
222
with the xterm command include xterm, vt102, vt100 and ``ansi, and the xterm command automatically searches the termcap file in this order for these entries and then sets the TERM and the TERMCAP environment variables. Many of the special xterm features might be modified under program control through a set of escape sequences different from the standard VT102 escape sequences. The Tektronix 4014 emulation is also fairly good. It supports 12-bit graphics addressing, scaled to the window size. Four different font sizes and five different lines types are supported. There is no write-thru or defocused mode support. The Tektronix text and graphics commands are recorded internally by the xterm command and may be written to a file by sending the COPY escape sequence (or through the Tektronix menu, as described in the following sections). The name of the file will be COPYyy-MM-dd.hh:mm:ss, where yy, MM, dd, hh, mm, and ss are the year, month, day, hour, minute, and second when the copy is performed (the file is created in the directory that the xterm command is started in, or the home directory for a login xterm).
Other Features
The xterm command automatically highlights the text cursor when the pointer enters the window (selected) and unhighlights it when the pointer leaves the window (unselected). If the window is the focus window, the text cursor is highlighted no matter where the pointer is located. In VT102 mode, there are escape sequences to activate and deactivate an alternate screen buffer, which is the same size as the display area of the window. When activated, the current screen is saved and replaced with the alternate screen. Saving of lines scrolled off the top of the window is disabled until the usual screen is restored. The termcap file entry for the xterm command allows the vi command editor to switch to the alternate screen for editing and to restore the screen on exit. In either VT102 or Tektronix mode, there are escape sequences to change the name of the windows.
Options
The xterm terminal emulator accepts all of the standard X Toolkit command-line options as well as the following (if the option begins with a + instead of a -, the option is restored to its default value):
-help -132 Causes the xterm command to print out a message describing its options. Usually, the VT102 DECCOLM escape sequence that switches between 80- and 132-column mode is ignored. This option causes the DECCOLM escape sequence to be recognized, and the xterm window will resize appropriately. Indicates that the xterm command should always highlight the text cursor. By default, the xterm command will display a hollow text cursor whenever the focus is lost or the pointer leaves the window. Indicates that the xterm command should do text cursor highlighting based on focus. Specifies the size of the inner border (the distance between the outer edge of the characters and the window border) in pixels. The default is 2. Sets classes indicated by the given ranges for use in selecting by words. Indicates that newlines should not be cut in line-mode selections.
-ah
+ah -b Number
223
-fb Font
-i +i -j
+j -ls
+ls -mb
Indicates that newlines should be cut in line-mode selections. Specifies the color to use for the text cursor. The default is to use the same foreground color that is used for text. Indicates that the xterm command should work around a bug in the more program that causes it to incorrectly display lines that are exactly the width of the window and are followed by a line beginning with a tab (the leading tabs are not displayed). This option is so named because it was originally thought to be a bug in the curses function cursor motion package. Indicates that xterm should not work around the more function bug previously mentioned. Specifies the program (and its command-line arguments) to be run in the xterm window. It also sets the window title and icon name to be the base name of the program being run if neither the -T nor the -n option is given on the command line. Note: This must be the last option on the command line. Specifies a font to be used when displaying bold text. This font must be the same height and width as the normal font. If only one of the normal or bold fonts is specified, it will be used as the normal font and the bold font will be produced by overstriking this font. The default is to do overstriking of the normal font. Turns on the useInsertMode resource. Turns off the useInsertMode resource. Indicates that the xterm command should do jump scrolling. Usually, text is scrolled one line at a time; this option allows the xterm command to move multiple lines at a time so that it does not fall as far behind. Its use is strongly recommended because it makes the xterm command much faster when scanning through large amounts of text. The VT100 escape sequences for enabling and disabling smooth scrolling as well as the VT Options menu can be used to turn this feature on or off. Indicates that the xterm command should not do jump scrolling. Indicates that the shell that is started in the xterm window is a login shell (in other words, the first character of the ArgumentVector parameter is a dash, indicating to the shell that it should read the users .login or .profile file). Indicates that the shell that is started should not be a login shell (in other words, it will be a usual subshell). Indicates that the xterm command should ring a margin bell when the user types near the right end of a line. This option can be turned on and off from the VT Options menu. Indicates that the margin bell should not be rung. Specifies the maximum time between multiclick selections. Specifies the color to be used for the pointer cursor. The default is to use the foreground color. Specifies the number of characters from the right end of a line at which the margin bell, if enabled, will ring. The default is 10.
224
-rw
+rw
Indicates that reverse wraparound should be allowed. This allows the cursor to back up from the leftmost column of one line to the rightmost column of the previous line. This is very useful for editing long shell command lines and is encouraged. This option can be turned on and off from the VT Options menu. Indicates that reverse wraparound should not be allowed.
-aw
+aw -s
+s -sb
+si -sk
+t -tm String
Indicates that auto wraparound should be allowed. This allows the cursor to automatically wrap to the beginning of the next line when it is at the rightmost position of a line and text is output. Indicates that auto wraparound should not be allowed. Indicates that the xterm command may scroll asynchronously, meaning that the screen does not have to be kept completely up to date while scrolling. This allows the xterm command to run faster when network latencies are high and is typically useful when running across a large Internet or many gateways. Indicates that the xterm command should scroll synchronously. Indicates that some number of lines that are scrolled off the top of the window should be saved and that a scrollbar should be displayed so that those lines can be viewed. This option can be turned on and off from the VT Options menu. Indicates that a scrollbar should not be displayed. Indicates that Sun Function Key escape codes should be generated for function keys. Indicates that the standard escape codes should be generated for function keys. Indicates that output to a window should not automatically reposition the screen to the bottom of the scrolling region. This option can be turned on and off from the VT Options menu. Indicates that output to a window should cause it to scroll to the bottom. Indicates that pressing a key while using the scrollbar to review previous lines of text should cause the window to be repositioned automatically in the usual position at the bottom of the scroll region. Indicates that pressing a key while using the scrollbar should not cause the window to be repositioned. Specifies the number of lines to save that have been scrolled off the top of the screen. The default is 64. Indicates that the xterm command should start in Tektronix mode, rather than in VT102 mode. Switching between the two windows is done using the Options menus. Indicates that the xterm command should start in VT102 mode. Specifies a series of terminal-setting keywords followed by the characters that should be bound to those functions, similar to the stty program. Allowable keywords include: intr, quit, erase, kill, eof, eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, weras, and lnext. Control characters might be specified as ^Character (for example, ^c or ^u), and ^? may be used to indicate Delete.
225
-tn Name
+vb -wf
+wf -C
-Sccn
Specifies the name of the terminal type to be set in the TERM environment variable. This terminal type must exist in the termcap database and should have li# and co# entries. Indicates that the xterm command should not write a record into the /etc/utmp system log file. Indicates that the xterm command should write a record into the /etc/utmp system log file. Indicates that a visual bell is preferred over an audible one. Instead of ringing the terminal bell whenever the Ctrl+G key sequence signal is received, the window will flash. Indicates that a visual bell should not be used. Indicates that the xterm command should wait for the window to be mapped the first time before starting the subprocess so that the initial terminal size settings and environment variables are correct. It is the applications responsibility to catch subsequent terminal size changes. Indicates that the xterm command should not wait before starting the subprocess. Indicates that this window should receive console output. This is not supported on all systems. To obtain console output, you must be the owner of the console device, and you must have read and write permission for it. If you are running X windows under xdm on the console screen, you may need to have the session startup and reset programs explicitly change the ownership of the console device in order to get this option to work. Specifies the last two letters of the name of a pseudoterminal to use in slave mode, plus the number of the inherited file descriptor. The option is parsed ``%c%c%d. This allows the xterm command to be used as an input and output channel for an existing program and is sometimes used in specialized applications.
The following command-line arguments are provided for compatibility with older versions. They may not be supported in the next release as the X Toolkit provides standard options that accomplish the same task.
%geom #geom -T String -n String Specifies the preferred size and position of the Tektronix window. It is shorthand for specifying the *tekGeometry resource. Specifies the preferred position of the icon window. It is shorthand for specifying the *iconGeometry resource. Specifies the title for the xterm programs windows. It is equivalent to -title. Specifies the icon name for the xterm programs windows. It is shorthand for specifying the *iconName resource. Note that this is not the same as the Toolkit option -name (see the following). The default icon name is the application name. Indicates that reverse video should be simulated by swapping the foreground and background colors. It is equivalent to -rv. Specifies the width in pixels of the border surrounding the window. It is equivalent to -borderwidth or -bw.
-r -w Number
The following standard X Toolkit command-line arguments are commonly used with the xterm command:
-bg Color -bd Color -bw Number -fg Color -fn Font Specifies white. Specifies Specifies Specifies Specifies the color to use for the background of the window. The default is the the the the color to use for the border of the window. The default is black. width in pixels of the border surrounding the window. color to use for displaying text. The default is black. font to be used for displaying usual text. The default is fixed.
226
-name Name
-title String
Specifies the application name under which resources are to be obtained, rather than the default executable file name. The Name parameter should not contain . (dot) or * (asterisk) characters. Specifies the window title string, which may be displayed by window managers if the user so chooses. The default title is the command line specified after the -e option, if any; otherwise, the application name. Indicates that reverse video should be simulated by swapping the foreground and background colors. Specifies the preferred size and position of the VT102 window; see the X command. Specifies the X server to contact; see the X command. Specifies a resource string to be used. This is especially useful for setting resources that do not have separate command-line options. Indicates that the xterm command should ask the window manager to start it as an icon rather than as the usual window.
Resources
The program understands all of the core X Toolkit resource names and classes as well as:
iconGeometry (class IconGeometry) Specifies the preferred size and position of the application when iconified. It is not necessarily obeyed by all window managers. Specifies the terminal type name to be set in the TERM environment variable. Specifies a string that may be used by the window manager when displaying this application. Specifies a string containing terminal-setting keywords and the characters to which they may be bound. Allowable keywords include: intr, quit, erase, kill, eof, eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, weras, and lnext. Control characters may be specified as ^Character (for example, ^c or ^u) and ^? may be used to indicate Delete. This is very useful for overriding the default terminal settings without having run an stty program every time an xterm window is started. Forces the use of insert mode by adding appropriate entries to the TERMCAP environment variable. This is useful if the system termcap is broken. The default is false. Specifies whether xterm should try to record the users terminal in /etc/utmp. Specifies whether Sun Function Key escape codes should be generated for function keys instead of standard escape sequences. Specifies whether the xterm command should wait for the initial window map before starting the subprocess. The default is False.
227
The following resources are specified as part of the vt100 widget (class VT100):
allowSendEvents (class AllowSendEvents) Specifies whether synthetic key and button events (generated using the X protocol SendEvent request) should be interpreted or discarded. The default is False, meaning they are discarded. Note that allowing such events creates a large security hole. Specifies whether xterm should always display a highlighted text cursor. By default, a hollow text cursor is displayed whenever the pointer moves out of the window or the window loses the input focus. If True, the cursor keys are initially in application mode. The default is False. If True, the keypad keys are initially in application mode. The default is False. Specifies whether auto wraparound should be enabled. The default is True. Specifies the number of milliseconds after a bell command is sent during which additional bells will be suppressed. The default is 200. If set to nonzero, additional bells will also be suppressed until the server reports that processing of the first bell has been completed; this feature is most useful with the visible bell. Specifies the name of the bold font to use instead of overstriking. Specifies whether the VT102 DECCOLM escape sequence should be honored. The default is False. Specifies comma-separated lists of character class bindings of the form [low-]high:value. These are used in determining which sets of characters should be treated the same when doing cut and paste. See Character Classes on page 234. Specifies whether the last column bug in the curses function should be worked around. The default is False. If false, triple clicking to select a line does not include the Newline at the end of the line. If true, the Newline is selected. The default is true. If false, triple clicking to select a line selects only from the current word forward. If true, the entire line is selected. The default is true. Specifies the color to use for the background of the window. The default is white. Specifies the color to use for displaying text in the window. Setting the class name instead of the instance name is an easy way to have everything that would usually be displayed in the text color to change color. The default is black. Specifies the color to use for the text cursor. The default is black. If True, meta characters input from the keyboard are presented as a single character with the eighth bit turned on. If False, meta characters are converted into a 2-character sequence with the character itself preceded by ESC. The default is True. Specifies whether 8-bit characters sent from the host should be accepted as is or stripped when printed. The default is True. Specifies the name of the normal font. The default is fixed. Specifies the name of the first alternative font.
appcursorDefault (class AppcursorDefault) appkeypadDefault (class AppkeypadDefault) autoWrap (class AutoWrap) bellSuppressTime (class BellSuppressTime)
228
font2 (class Font2) font3 (class Font3) font4 (class Font4) font5 (class Font5) font6 (class Font6) geometry (class Geometry)
Specifies the name of the second alternative font. Specifies the name of the third alternative font. Specifies the name of the fourth alternative font. Specifies the name of the fifth alternative font. Specifies the name of the sixth alternative font. Specifies the preferred size and position of the VT102 window. hpLowerleftBugCompat (class hpLowerleftBugCompat) Specifies whether to work around a bug in xdb, which ignores termcap and always sends ESC F to move to the lower left corner. true causes xterm in interpret ESC F as a request to move to the lower left corner of the screen. The default is false. internalBorder (class BorderWidth) Specifies the number of pixels between the characters and the window border. The default is 2. jumpScroll (class JumpScroll) Specifies whether jump scrolling should be used. The default is True.
loginShell (class LoginShell) marginBell (class MarginBell) multiClickTime (class MultiClickTime) multiScroll (class MultiScroll) nMarginBell (class Column) pointerColor (class Foreground) pointerColorBackground (class Background) pointerShape (class Cursor) resizeGravity (class ResizeGravity)
Specifies whether the shell to be run in the window should be started as a login shell. The default is False. Specifies whether the bell should be run when the user types near the right margin. The default is False. Specifies the maximum time in milliseconds between multiclick select events. The default is 250 milliseconds. Specifies whether scrolling should be done asynchronously. The default is False. Specifies the number of characters from the right margin at which the margin bell should be rung, when enabled. Specifies the foreground color of the pointer. The default is XtDefaultForeground. Specifies the background color of the pointer. The default is XtDefaultBackground. Specifies the name of the shape of the pointer. The default is xterm. Affects the behavior when the window is resized to be taller or shorter. NorthWest specifies that the top line of text on the screen stays fixed. If the window is made shorter, lines are dropped from the bottom; if the window is made taller, blank lines are added at the bottom. This is compatible with the behavior in MIT version X11R4. SouthWest (the default) specifies that the bottom line of text on the screen stays fixed. If the window is made taller, additional saved lines will be scrolled down onto the screen; if the window is made shorter, lines will be scrolled off the top of the screen, and the top saved lines will be dropped. Specifies whether reverse video should be simulated. The default is False. Specifies whether reverse wraparound should be enabled. The default is False. Specifies the number of lines to save beyond the top of the screen when a scrollbar is turned on. The default is 64. Specifies whether the scrollbar should be displayed. The default is False. Specifies whether output to the terminal should automatically cause the scrollbar to go to the bottom of the scrolling region. The default is True.
Alphabetical Listing of Commands
229
Specifies whether pressing a key should automatically cause the scrollbar to go to the bottom of the scrolling region. The default is False. Specifies the number of lines that the scroll-back and scroll-forw actions should use as a default. The default value is 1. Specifies whether the entries in the Main Options menu for sending signals to xterm should be disallowed. The default is False. Specifies the preferred size and position of the Tektronix window. Specifies whether the escape sequence to enter Tektronix mode should be ignored. The default is False. Specifies whether the Tektronix mode window should start in its smallest size if no explicit geometry is given. This is useful when running the xterm command on displays with small screens. The default is False. Specifies whether xterm should start up in Tektronix mode. The default is False. Specifies whether xterm should remove ti and te termcap file entries (used to switch between alternate screens during startup of many screen-oriented programs) from the TERMCAP string. If set, the xterm command also ignores the escape sequence to switch to the alternate screen. Specifies the key and button bindings for menus, selections, programmed strings, and so forth. See Actions . Specifies whether a visible bell (flashing) should be used instead of an audible bell when the Ctrl+G key sequence signal is received. The default is False.
The following resources are specified as part of the tek4014 widget (class Tek4014):
width (class Width) height (class Height) fontLarge (class Font) font2 (class Font) font3 (class Font) fontSmall (class Font) initialFont (class InitialFont) Specifies the width of the Tektronix window in pixels. Specifies the height of the Tektronix window in pixels. Specifies the large font to use in the Tektronix window. Specifies font number 2 to use in the Tektronix window. Specifies font number 3 to use in the Tektronix window. Specifies the small font to use in the Tektronix window. Specifies which of the four Tektronix fonts to use initially. Values are the same as for the set-tek-text action. The default is large. Specifies what characters should follow a GIN report or status report. The possibilities are `none, which sends no terminating characters; CRonly, which sends CR; and CR&EOT, which sends both CR and EOT. The default is none.
The resources that may be specified for the various menus are described in the documentation for the Athena SimpleMenu widget. Following is a list of the names and classes of the entries in each of the menus.
230
231
The following resources are useful when specified for the Athena Scrollbar widget:
thickness (class Thickness) background (class Background) foreground (class Foreground) Specifies the width in pixels of the scrollbar. Specifies the color to use for the background of the scrollbar. Specifies the color to use for the foreground of the scrollbar. The thumb of the scrollbar is a simple checkerboard pattern with alternating pixels for foreground and background colors.
Pointer Usage
After the VT102 window is created, the xterm command allows you to select text and copy it within the same or other windows. The selection functions are invoked when the pointer buttons are used with no modifiers, and when they are used with the Shift key. The assignment of the functions to keys and buttons may be changed through the resource database. Pointer button 1 (usually left) is used to save text into the cut buffer. Move the cursor to beginning of the text, and then hold the button down while moving the cursor to the end of the region and releasing the button. The selected text is highlighted and is saved in the global cut buffer and made the PRIMARY selection when the button is released. Double-clicking selects by words, triple-clicking selects by lines, and quadruple-clicking goes back to characters. Multiple-click is determined by the amount of time from button up to button down, so you can change the selection unit in the middle of a selection. If the key or button bindings specify that an X selection is to be made, the xterm command will leave the selected text highlighted for as long as it is the selection owner. Pointer button 2 (usually middle) types (pastes) the text from the PRIMARY selection, if any, otherwise from the cut buffer, inserting it as keyboard input. Pointer button 3 (usually right) extends the current selection. If pressed while closer to the right edge of the selection than the left, it extends or contracts the right edge of the selection. If you contract the selection past the left edge of the selection, the xterm command assumes you really meant the left edge, restores the original selection, and then extends or contracts the left edge of the selection. And the opposite also applies: if pressed while closer to the left edge of the selection than the right, it extends/contracts the left edge of the selection. If you contract the selection past the right edge of the selection, the xterm command assumes you really meant the right edge, restores the original selection,
232
and then extends/contracts the right edge of the selection. Extension starts in the selection unit mode that the last selection or extension was performed in; you can multiple-click to cycle through them. By cutting and pasting pieces of text without trailing new lines, you can take text from several places in different windows and form a command to the shell, for example, or take output from a program and insert it into your favorite editor. Because the cut buffer is globally shared among different applications, regard it as a file whose contents you know. The terminal emulator and other text programs should be treating it as if it were a text file; in other words, the text is delimited by new lines. The scroll region displays the position and amount of text currently showing in the window (highlighted) relative to the amount of text actually saved. As more text is saved (up to the maximum), the size of the highlighted area decreases. Clicking button 1 with the pointer in the scroll region moves the adjacent line to the top of the display window. Clicking button 3 moves the top line of the display window down to the pointer position. Clicking button 2 moves the display to a position in the saved text that corresponds to the pointers position in the scrollbar. Unlike the VT102 window, the Tektronix window does not allow the copying of text. It does allow Tektronix GIN mode, and in this mode the cursor will change from an arrow to a cross. Pressing any key will send that key and the current coordinates of the cross cursor. Pressing button one, two, or three will return the letters l, m, and r, respectively. If the Shift key is pressed when a pointer button is pressed, the corresponding uppercase letter is sent. To distinguish a pointer button from a key, the high bit of the character is set (but this bit is usually stripped unless the terminal mode is RAW; see the tty command for details).
Menus
The xterm command has four menus, named mainMenu, vtMenu, fontMenu, and tekMenu. Each menu opens under the correct combinations of key and button presses. Most menus are divided into two section, separated by a horizontal line. The top portion contains various modes that can be altered. A check mark is displayed next to a mode that is currently active. Selecting one of these modes toggles its state. The bottom portion of the menu lists command entries; selecting one of these performs the indicated function. The xterm menu opens when the control key and pointer button one are pressed in a window. The mainMenu contains items that apply to both the VT102 and Tektronix windows. The Secure Keyboard mode is used when typing in passwords or other sensitive data in an unsecure environment. Notable entries in the command section of the menu are Continue, Suspend, Interrupt, Hangup, Terminate, and Kill, which send the SIGCONT, SIGTSTP, SIGINT, SIGHUP, SIGTERM, and SIGKILL signals, respectively, to the process group of the process running under xterm (usually the shell). The Continue function is especially useful if the user has accidentally pressed Ctrl+Z, suspending the process. The vtMenu sets various modes in the VT102 emulation, and is opened when the control key and pointer button two are pressed in the VT102 window. In the command section of this menu, the soft reset entry will reset scroll regions. This can be convenient when some program has left the scroll regions set incorrectly (often a problem when using VMS or TOPS-20). The full reset entry will clear the screen, reset tabs to every eight columns, and reset the terminal modes (such as wrap and smooth scroll) to their initial states just after the xterm command has finished processing the command-line options.
233
The fontMenu sets the font used in the VT102 window. In addition to the default font and a number of alternatives that are set with resources, the menu offers the font last specified by the Set Font escape sequence (See Control Sequences ) and the current selection as a font name (if the PRIMARY selection is owned). The tekMenu sets various modes in the Tektronix emulation, and is opened when the control key and pointer button two are pressed in the Tektronix window. The current font size is checked in the Modes section of the menu. The PAGE entry in the command section clears the Tektronix window.
Security
X windows environments differ in their security consciousness. MIT servers, run under xdm, are capable of using a magic cookie authorization scheme that can provide a reasonable level of security for many people. If your server is only using a host-based mechanism to control access to the server (see the xhost command), and if you enable access for a host and other users are also permitted to run clients on that same host, there is every possibility that someone can run an application that will use the basic services of the X protocol to snoop on your activities, potentially capturing a transcript of everything you type at the keyboard. This is of particular concern when you want to type in a password or other sensitive data. The best solution to this problem is to use a better authorization mechanism than host-based control, but a simple mechanism exists for protecting keyboard input in the xterm command. The xterm menu contains a Secure Keyboard entry that, when enabled, ensures that all keyboard input is directed only to the xterm command (using the GrabKeyboard protocol request). When an application prompts you for a password (or other sensitive data), you can enable Secure Keyboard using the menu, type in the data, and then disable Secure Keyboard using the menu again. Only one X client at a time can secure the keyboard, so when you attempt to enable Secure Keyboard it may fail. In this case, the bell will sound. If the Secure Keyboard succeeds, the foreground and background colors will be exchanged (as if you selected the Reverse Video entry in the Modes menu); they will be exchanged again when you exit secure mode. If the colors do not switch, be very suspicious that you are being spoofed. If the application you are running displays a prompt before asking for the password, it is safest to enter secure mode before the prompt gets displayed, and to make sure that the prompt gets displayed correctly (in the new colors), to minimize the probability of spoofing. You can also bring up the menu again and make sure that a check mark is displayed next to the entry. Secure Keyboard mode will be disabled automatically if your xterm window becomes iconified (or otherwise unmapped), or if you start up a reparenting window manager (that places a title bar or other decoration around the window) while in Secure Keyboard mode. (This is a feature of the X protocol not easily overcome.) When this happens, the foreground and background colors will be switched back and the bell will sound in warning.
Character Classes
Clicking the middle mouse button twice in rapid succession will cause all characters of the same class (such as letters, white space, punctuation) to be selected. Because different people have different preferences for what should be selected (for example, should file names be selected as a whole or only the separate subnames), the default mapping can be overridden through the use of the charClass (class CharClass) resource. This resource is a series of comma-separated range:value pairs. The range is either a single number or low-high in the range of 0 to 127, corresponding to the ASCII code for the character or characters to be set. The value is arbitrary, although the default table uses the character number of the first character occurring in the set.
234
For example, the string 33:48,37:48,45-47:48,64:48 indicates that the exclamation mark, percent sign, dash, period, slash, and & characters should be treated the same way as characters and numbers. This is useful for cutting and pasting electronic mailing addresses and file names.
Actions
It is possible to rebind keys (or sequences of keys) to arbitrary strings for input by changing the translations for the vt100 or tek4014 widgets. Changing the translations for events other than key and button events is not expected, and will cause unpredictable behavior. The following actions are provided for using within the vt100 or tek4014 translations resources:
bell([Percent]) ignore() insert() insert-seven-bit() insert-eight-bit() Rings the keyboard bell at the specified percentage above or below the base volume. Ignores the event but checks for special pointer position escape sequences. Inserts the character or string associated with the key that was pressed. Is a synonym for insert(). Inserts an 8-bit (meta) version of the character or string associated with the key that was pressed. The exact action depends on the value of the eightBitInput resource.
235
insert-selection(SourceName [, ...])
keymap(Name)
popup-menu(MenuName)
secure()
select-start()
Inserts the string found in the selection or cutbuffer indicated by the SourceName parameter. Sources are checked in the order given (case is significant) until one is found. Commonly used selections include PRIMARY, SECONDARY, and CLIPBOARD. Cut buffers are typically named CUT_BUFFER0 through CUT_BUFFER7. Dynamically defines a new translation table whose resource name is Name with the suffix Keymap (case is significant). The name None restores the original translation table. Displays the specified popup menu. Valid names (case is significant) include mainMenu, vtMenu, fontMenu, and tekMenu. Toggles the Secure Keyboard mode described in the section named Security , and is invoked from the securekbd entry in mainMenu. Begins text selection at the current pointer location. See the section entitled Pointer Usage for information on making selections. Tracks the pointer and extends the selection. Only bind this to Motion events. Puts the currently selected text into all of the selections or cutbuffers specified by DestName. Is similar to select-start except that it begins the selection at the current text cursor position. Is similar to select-end except that it should be used with select-cursor-start. Sets the font or fonts currently being used in the VT102 window. The first argument is a single character that specifies the font to be used: d or D indicates the default font (the font initially used when the xterm command was started), 1 through 6 indicate the fonts specified by the font1 through font6 resources, e or E indicates the normal and bold fonts that have been set through escape codes (or specified as the second and third action arguments, respectively), and s or S indicates the font selection (as made by programs such as the xfontsel program) specified by the second action argument. Is similar to select-start except that the selection is extended to the current pointer location. Is similar to select-extend except that the selection is extended to the current text cursor position. Inserts the specified text string as if it had been typed. Quotation is necessary if the string contains white space or nonalphanumeric characters. If the string argument begins with the characters ``0x, it is interpreted as a hex character constant. Scrolls the text window backward so that text that had previously scrolled off the top of the screen is now visible. The Count argument indicates the number of Units (which may be page, halfpage, pixel, or line) by which to scroll. Scrolls is similar to scroll-back except that it scrolls the other direction.
scroll-back(Count [,Units])
scroll-forw(Count [,Units])
236
Sets or toggles the allowSendEvents resource and is also invoked by the allowsends entry in mainMenu. Redraws the window and is also invoked by the redraw entry in mainMenu. Sends the signal named by SigName to the xterm subprocess (the shell or program specified with the -e command-line option) and is also invoked by the suspend, continue, interrupt, hangup, terminate, and kill entries in mainMenu. Allowable signal names are (case is not significant): tstp (if supported by the operating system), suspend (same as tstp), cont (if supported by the operating system), int, hup, term, quit, alrm, alarm (same as alrm), and
quit()
kill. Sends a SIGHUP to the subprogram and exits. It is also invoked by the quit entry in mainMenu.
set-scrollbar(On/Off/Toggle) set-jumpscroll(On/Off/Toggle) set-reverse-video(On/Off/Toggle) set-autowrap(On/Off/Toggle) set-reversewrap(On/Off/Toggle) set-autolinefeed(On/Off/Toggle) set-appcursor(On/Off/Toggle) set-appkeypad(On/Off/Toggle) set-scroll-on-key(On/Off/Toggle) set-scroll-on-tty-output(On/Off/Toggle) set-allow132(On/Off/Toggle) set-cursesemul(On/Off/Toggle) set-visual-bell(On/Off/Toggle) set-marginbell(On/Off/Toggle) set-altscreen(On/Off/Toggle)
Toggles the scrollbar resource and is also invoked by the scrollbar entry in vtMenu. Toggles the jumpscroll resource and is also invoked by the jumpscroll entry in vtMenu. Toggles the reverseVideo resource and is also invoked by the reversevideo entry in vtMenu. Toggles automatic wrapping of long lines and is also invoked by the autowrap entry in vtMenu. Toggles the reverseWrap resource and is also invoked by the reversewrap entry in vtMenu. Toggles automatic insertion of linefeeds and is also invoked by the autolinefeed entry in vtMenu. Toggles the handling Application Cursor Key mode and is also invoked by the appcursor entry in vtMenu. Toggles the handling of Application Keypad mode and is also invoked by the appkeypad entry in vtMenu. Toggles the scrollKey resource and is also invoked from the scrollkey entry in vtMenu. Toggles the scrollTtyOutput resource and is also invoked from the scrollttyoutput entry in vtMenu. Toggles the c132 resource and is also invoked from the allow132 entry in vtMenu. Toggles the curses resource and is also invoked from the cursesemul entry in vtMenu. Toggles the visualBell resource and is also invoked by the visualbell entry in vtMenu. Toggles the marginBell resource and is also invoked from the marginbell entry in vtMenu. Toggles between the alternate and current screens.
237
soft-reset() hard-reset()
clear-saved-lines()
set-terminal-type(Type)
set-visibility(vt/tek, On/Off/Toggle)
set-tek-text(large/2/3/small)
visual-bell()
Resets the scrolling region and is also invoked from the softreset entry in vtMenu. Resets the scrolling region, tabs, window size, and cursor keys and clears the screen. It is also invoked from the hardreset entry in vtMenu. Performs hard-reset (see previous entry) and also clears the history of lines saved off the top of the screen. It is also invoked from the clearsavedlines entry in vtMenu. Directs output to either the vt or tek windows, according to the Type string. It is also invoked by the tekmode entry in vtMenu and the vtmode entry in tekMenu. Controls whether or not the vt or tek windows are visible. It is also invoked from the tekshow and vthide entries in vtMenu and the vtshow and tekhide entries in tekMenu. Sets font used in the Tektronix window to the value of the resources tektextlarge, tektext2, tektext3, and tektextsmall according to the argument. It is also by the entries of the same names as the resources in tekMenu. Clears the Tektronix window and is also invoked by the tekpage entry in tekMenu. Resets the Tektronix window and is also invoked by the tekreset entry in tekMenu. Copies the escape codes used to generate the current window contents to a file in the current directory beginning with the name COPY. It is also invoked from the tekcopy entry in tekMenu. Flashes the window quickly.
238
~Meta<KeyPress>: Meta<KeyPress>: !Ctrl <Btn1Down>: !Lock Ctrl <Btn1Down>: !Ctrl <Btn2Down>: !Lock Ctrl <Btn2Down>: Shift ~Meta<Btn1Down>: ~Meta<Btn1Down>: Shift ~Meta<Btn2Down>: ~Meta<Btn2Down>: Shift ~Meta<Btn3Down>: ~Meta<Btn3Down>:
insert-seven-bit \n\ insert-eight-bit \n\ popup-menu(mainMenu) \n\ popup-menu(mainMenu) \n\ popup-menu(tekMenu) \n\ popup-menu(tekMenu) \n\ gin-press(L) \n\ gin-press(l) \n\ gin-press(M) \n\ gin-press(m) \n\ gin-press(R) \n\ gin-press(r)
The following is an example of how the keymap action is used to add special keys for entering commonly typed works:
*VT100.Translations: #override <Key>F13: keymap(dbx) *VT100.dbxKeymap.translations: \ <Key>F14: <Key>F17: <Key>F18: <Key>F19: <Key>F20: keymap(None) \n\ string("next") string(0x0d) \n\ string("step") string(0x0d) \n\ string("continue") string(0x0d) \n\ string("print ") insert-selection(PRIMARY,CUT_BUFFER0)
Environment
The xterm command sets the environment variables TERM and TERMCAP properly for the size window you have created. It also uses and sets the DISPLAY environment variable to specify which bitmap display terminal to use. The WINDOWID environment variable is set to the X window ID number of the xterm window.
Bugs
Large pastes do not work on some systems. This is not a bug in the xterm command; it is a bug in the pseudo terminal driver of those systems. The xterm command feeds large pastes to the pty only as fast as the pty will accept data, but some pty drivers do not return enough information to know if the write operation has succeeded. Many of the options are not resettable after the xterm command starts. Only fixed-width, character-cell fonts are supported.
Control Sequences
This section lists control sequences available for the xterm command.
Definitions
The following information shows how to interpret key sequences in this section.
c C Ps Pm Pt The literal characters c. A single (required) character. A single (usually optional) numeric parameter, composed of one or more digits. A multiple numeric parameter composed of any number of single numeric parameters, seperated by a ; (semi-colon) character or characters. A text parameter composed of printable characters.
239
VT100 Mode
Most of these control sequences are standard VT102 control sequences, but there are some sequences here from later DEC VT terminals, too. Major VT102 features not supported are smooth scrolling, double-size characters, blinking characters, and VT52 mode. There are additional control sequences to provide xterm-dependent functions, like the scrollbar or window size. Where the function is specified by DEC or ISO 6429, the code assigned to it is given in parentheses. The escape codes to designate character sets are specified by ISO 2022; see that document for a discussion of character sets.
Control Sequence BEL BS TAB LF VT FF CR SO SI ESC # 8 ESC ( C Description Bell (Ctrl+G) Backspace (Ctrl+H) Horizontal Tab (HT) (Ctrl+l) Line Feed or New Line (NL) (Ctrl+J) Vertical Tab (Ctrl+K) same as LF Form Feed or New Page (NP) (Ctrl+L) same as LF Carriage return (Ctrl+M) Shift Out (Ctrl+N) > Switch to ALternate Character Set: Invokes the G1 character set. Shift In (Ctrl+O) > Switch to Standard Character Set: Invokes the G0 character set (the default). DEC Screen Test (DCECALN) Designate G0 Character Set (ISO 2022) C=0 C=A C=B ESC ) C DEC Special Character and Line Drawing Set United Kingdom (UK) United States (USASCII)
Designate G1 Character Set (ISO 2022) C=0 C=A C=B DEC Special Character and Line Drawing Set United Kingdom (UK) United States (USASCII)
ESC * C
Designate G2 Character Set (ISO 2022) C=0 C=A C=B DEC Special Character and Line Drawing Set United Kingdom (UK) United States (USASCII)
ESC + C
Designate G3 Character Set (ISO 2022) C=0 C=A C=B DEC Special Character and Line Drawing Set United Kingdom (UK) United States (USASCII)
Save Cursor (DECSC) Restore Cursor (DECRC) Application Keypad (DECPAM) Normal Keypad (DECNM) Index (IND)
240
Control Sequence ESC E ESC H ESC M ESC N ESC P ESC O Pt ESC \ ESC Z ESC [ Ps @ ESC [ Ps A ESC [ Ps B ESC [ Ps C ESC [ Ps D ESC [ Ps ; Ps H ESC [ Ps J
Description Next Line (NEL) Tab Set (HTS) Reverse Index (RI) Single Shift Select of G2 Character Set (SS2): Affects next character only. Single Shift Select of G3 Character Set (SS2): Affects next character only. Device Control String (DCS). xterm implements no DCS functions; Pt is ignored. Pt need not be printable characters. Return Terminal ID (DECID). Obsolete form of ESC [ c (DA) Insert Ps (Blank) Character of Characters (default=1) (ICH) Cursor Up Ps Times (default=1) (CUU) Cursor Down Ps Times (default=1) (CUD) Cursor Forward Ps Times (default=1) (CUF) Cursor Backward Ps Times (default=1) (CUB) Cursor Position [row;column] (default=1) (CUP) Erase in Display (ED) Ps = 0 Ps = 1 Ps = 2 Clear Below (Default) Clear Above Clear All
ESC [ Ps K
Erase in Line (EL) Ps = 0 Ps = 1 Ps = 2 Clear to Right (Default) Clear to Left Clear All
Insert Ps Lines (default=1) (IL) Delete Ps Lines (default=1) (DL) Delete Ps Characters (default=1) (DCH) Initiate hilite mouse tracking. Parameters are [Func;Startx;Starty;FirstRow;LastRow]. See Mouse Tracking on page 245. SendDevice Attributes (DA)Delete Ps Characters (default=1) (DCH) Ps =0 or omitted Request attribute from terminal ESC [ ? 1 ; 2 c (I am a VT100 with Advanced Video Option.)
ESC [ Ps c
ESC [ Ps ; Ps f
241
ESC [ Ps g
ESC [ Pm h
ESC [ Pm l
ESC [ Pm m
Character Attributes (SGR) Ps = 0 Ps = 1 Ps = 4 Ps = 5 Ps = 7 Nomal (default) Bold Underscore Blink (displayed as Bold) Inverse
ESC [ Ps n
Device Status Report (DSR) Ps = 5 Ps = 6 Status Report ESC [ 0 n (OK) Report Cursor Position (CPR) [row;column] as ESC [ r ; c R Automatic Newline (LNM)
Ps = 2 0 ESC [ Ps ; Ps r ESC [ Ps x Set Scroll Region [top;bottom] (default = fullsize of window) (DECSTBM) Request Terminal Parameters (DECREQTPARM)
242
ESC [ ? Pm h
DEC Private Mode (DECSET) Ps = 1 Ps = 2 Application Cursor Keys (DECCKM) Designate USASCII for character sets G0G3. (In VT102, this selects VT52 mode (DECANM), which xterm does not support.) 132 Column Mode (DECCOLM) Smooth (Slow) Scroll (DECSCLM) Reverse Video (DECSCNM) Origin Mode (DECOM) Wraparound Mode (DECAWM) Auto-repeat Keys (DECARM) Set Mouse X and Y on button press. See Mouse Tracking on page 245. Enter Tektronix Mode (DECTEK) Ps = 4 0 Allow 80 <> 132 Mode Ps = 4 1 curses function fix Ps = 4 4 Turn On Margin Bell Ps = 4 5 Reverse Wraparound Mode Ps = 4 7 Use Alternate Screen Buffer (unless disabled by titelnhibit resource) Ps = 1 0 0 0 Set Mouse X and Y on button press and release. See Mouse Tracking on page 245. Ps = 1 0 0 1 Use Hilite Mouse Tracking.
Ps = 3 Ps = 4 Ps = 5 Ps = 6 Ps = 7 Ps = 8 Ps = 9 Ps = 3 8
243
ESC [ ? Pm l
DEC Private Mode Reset (DECRST) Ps = 1 Ps = 3 Ps = 4 Ps = 5 Ps = 6 Ps = 7 Ps = 8 Ps = 9 Ps = 4 0 Disallow 80 <> 132 Mode Ps = 4 1 No curses function fix Ps = 4 4 Turn Off Margin Bell Ps = 4 5 No Reverse Wraparound Mode Ps = 4 7 Use Normal Screen Buffer Ps = 1 0 0 0 Do not Send Mouse X and Y on button press and release. Ps = 1 0 0 1 Do not Use Hilite Mouse Tracking. xxx Normal Cursor Keys (DECCKM) 80 Column Mode (DECCOLM) Jump Fast Scroll (DECSCLM) Normal Video (DECSCNM) Normal Cursor Mode (DECOM) No Wraparound Mode (DECAWM) No Auto-repeat Keys (DECARM) Do not Send Mouse X and Y on button press.
Restore DEC Private Mode Values. The value of Ps previously saved is restored. Ps values are the same as DECSET. Save DEC Private Mode Values. Ps values are the same as DECSET. Set Text Parameters Ps = 0 Ps = 1 Ps = 2 Ps = 5 0 Set Font to Pt Change Icon Name and Window Title to Pt Change Icon Name to Pt Change Window Title to Pt
Private Mesage (PM). xterm implements no PM functions; Pt need not be printable characters. Application Program Command (APC). Private Mesage (PM). xterm implements no APC functions; Pt is ignored. Ptneed not be printable characters. Full Reset (RIS) Select the G2 Character Set (LS2) Select the G3 Character Set (LS3) Invoke the G3 Character Set as GR (LS3R). Has no visible effect in xterm.
244
ESC } ESC
Invoke the G2 Character Set as GR (LS2R). Has no visible effect in xterm. Invoke the G1 Character Set as GR (LS1R). Has no visible effect in xterm.
Where x is either a 1 or a 0 to turn standout mode on or off respectively, and y is either a 1 or a 0 to turn underline mode on or off respectively. See the article terminfo file format for more details on the SGR capability.
tput tput tput tput sgr sgr sgr sgr 0 0 1 1 1 0 1 0 turn turn turn turn off standout; turn on underline off standout; turn off underline on standout; turn on underline on standout; turn off underline
Mouse Tracking
The VT widget can be set to send the mouse position and other information on button presses. These modes are typically used by editors and other full-screen applications that want to make use of the mouse. There are three mutually exclusive modes, each enabled (or disabled) by a different parameter in the DECSET (or DECRST) escape sequence. Parameters for all mouse tracking escape sequences generated by the xterm command encode numeric parameters in a single character as value+040. The screen coordinate system is 1-based. For example ! is 1. The screen screen coordinate system is 1-based. X10 compatibility mode sends an escape sequence on button press encoding the location and the mouse button pressed. It is enabled by specifying parameter 9 to DECSET. On button press, the xterm command sends the following 6 characters . Cb is button-1. Cx and Cy are the x and y coordinates of the mouse when the button was pressed. ESC [ M CbCxCy Normal tracking mode sends an escape sequence on both button press and release. Modifier information is also sent. It is enabled by specifying parameter 1000 to DECSET. On button press or release, the xterm command sends the following key sequence : ESC [ M CbCxCy The low two bits of Cb encode button information: 0=MB1 pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. The upper bits encode what modifiers were down when the button was pressed and are added together. 4=Shift, 8=Meta, 16=Control. Cx and Cy are the x and y coordinates of the mouse event. The upper left corner is (1,1). Mouse hilite tracking notifies a program of a button press, receives a range of lines from the program, highlights the region covered by the mouse within that range until button release, and then sends the program the release coordinates. It is enabled by specifying parameter 1001 to DECSET.
245
Attention: Use of this mode requires a cooperating program or it will hang the xterm command. On button press, the same information as for normal tracking is generated; the xterm command then waits for the program to send mouse tracking information. All X events are ignored until the following proper escape sequence is received from the pty: ESC [ Ps ; Ps ; Ps ; Ps ; T The parameters are Func, Startx, Starty, FirstRow, and LastRow. The Func parameter is nonzero to initiate hilite tracking and 0 (zero) to abort. The Startx and Starty parameters give the starting x and y location for the highlighted region. The ending location tracks the mouse, but is never above row FirstRow and is always above row LastRow. (The top of the screen is row 1.) When the button is released, the xterm command reports the ending position one of two ways: if the start and end coordinates are valid text locations, the xterm command reports the ending position as follows: ESC [ t CxCy If either coordinate is past the end of the line, the xterm command reports the ending position as follows: ESC [ T CxCyCxCyCxCy The parameters are Startx, Starty, Endx, Endy, Mousex, and Mousey. The Startx, Starty, Endx, and Endy parameters give the starting and ending character positions of the region. The Mousex and Mousey parameters give the location of the mouse at button up, which might not be over a character.
Related Information
The aixterm command, resize command, tset command, vi or vedit command.
Syntax
xwd [ -add Value ] [ -frame ] [ -display Display ] [ -help ] [ -nobdrs ] [ -xy ] [ -out File ] [ -root | -id id | -name Name ] [ -icmap ] [ -screen ]
Description
The xwd command is an Enhanced X-Windows window dumping utility. The xwd command allows you to store window images in a specially formatted dump file. This file can then be read by various other X utilities that perform functions such as redisplaying, printing, editing, formatting, archiving, and image processing. Select the target window by clicking the mouse in the desired window. The keyboard bell rings once at the beginning of the dump and twice when the dump is completed.
Flags
-add Value -frame Specifies a signed value to add to every pixel. This option is specific to X11R5. This option indicates that the window manager frame should be included when manually selecting a window.
246
-id id
-name Name
-icmap -screen
-xy
Specifies the server connection. Prints the usage command syntax summary. Specifies that the window dump does not include the pixels that compose the X window border. This is useful if you want to include the window contents in a document as an illustration. The result of the -nobdrs flag depends on which window manager is running. Many window managers remove all borders from the client. For example, the XGetWindowAttributes function returns the value of 0 for the border_width field regardless of the border width when the client was started. Therefore, any border that is visible on the screen belongs to the window manager; the client has no knowledge of it. In this case, the -nobdrs flag has no effect. Specifies the output file on the command line. The default is to output to standard out. Indicates that the root window should be selected for the window dump, without requiring the user to select a window with the pointer. This option is specific to X11R5. Indicates that the window with the specified resource id should be selected for the window dump, without requiring the user to select a window with the pointer. This option is specific to X11R5. Indicates that the window with the specified WM_NAME property should be selected for the window dump, without requiring the user to select a window with the pointer. This option is specific to X11R5. Forces the first installed colormap of the screen to be used to obtain RGB values. By default, the colormap of the chosen window is used. This option is specific to X11R5. Indicates that the GetImage request used to obtain the image should be done on the root window, rather than directly on the specified window. In this way, you can obtain pieces of the other windows that overlap the specified window and, more importantly, capture menus or other popups that are independent windows but appear over the specified window. This option is specific to X11R5. Selects xy format dumping instead of the default z format. This option applies to color displays only.
File
XWDFile.h X Window dump file format definition file.
Related Information
The xwud command.
Syntax
xwud [ -in FileName ] [ -noclick ] [ -geometry Geometry ] [ -display Display ] [ -new ] [ -std MapType ] [ -raw ] [ -vis visual_type | visual_id ] [ -help ] [ -rv ] [ -plane Number ] [ -fg Color ] [ -bg Color ]
Description
The xwud command retrieves the dumped image of an Enhanced X-Windows window. It does so by displaying in a window an image saved in a specially formatted dump file previously produced by the xwd command. The dump file format is determined by the XWDFile.h file.
247
You can use flags to specify color display, window size and position, input field, and visual class or identification. You can also select a single bit plane of the image to display.
Flags
-bg Color -display Display -fg Color -geometry Geometry Specifies the color to display for the 0 (zero) bits in the image if a bitmap image (or a single plane of an image) is displayed. Specifies the server to connect to; see the X command. Specifies the color to display for the 1 bits in the image if a bitmap image (or a single plane of an image) is displayed. Specifies the size and position of the window. Typically, you will only specify the position and let the size default to the actual size of the image. Prints a short description of the allowable options. Specifies the input file on the command line. If the input file is not specified, the standard input is assumed. Creates a new color map for displaying the image. If the image characteristics match those of the display, this flag can display the image on the screen faster, but at the cost of using a new color map (which on most terminals causes other windows to go technicolor). Prevents the application from ending when a button in the window is clicked. You can end the application by typing a q or Q character, or the Ctrl-C key sequence. Selects a single bit plane of the image to display. Planes are numbered, with 0 (zero) being the least significant bit. Use this flag to determine which plane to pass to the xpr command for printing. Displays the dumped image in whatever color values currently exist on the screen. This flag is useful when undumping an image back onto the same screen that the image originally came from, while the original windows are still on the screen. This results in getting the image on the screen faster. Swaps the foreground and background colors if a bitmap image (or a single plane of an image) displays. This flag is useful when displaying a bitmap image that has the color sense of pixel values 0 and 1 reversed from what they are on the display. Uses the specified Standard Colormap to display the image. You can obtain the map type by converting the type to uppercase letters, prepending RGB_ and appending _MAP. Typical map types are best, default, and gray. See the /usr/lpp/X11/Xamples/clients/xstdcmap for information about creating Standard Colormaps. Specifies a particular visual type or visual id. The default picks the best one or you can specify default, which is the same class as the colormap of the root window. You can specify a particular class: StaticGray, GrayScale, StaticColor, PseudoColor, DirectColor, TrueColor. Specify Match to use the same class as the source image. Specify an exact visual id (specific to the server) as a hexadecimal number (prefixed with 0x) or as a decimal number. This string is not case sensitive.
-noclick
-plane Number
-raw
-rv
-std MapType
248
Environment Variables
DISPLAY Gets the default display.
Example
To retrieve a specific file from the dump window, enter:
xwud -in FileName
Related Information
The X command, xpr command, xwd command.
Syntax
yacc [ -b Prefix ] [ -C ] [ -d ] [ -l ] [ -NnNumber ] [ -NmNumber ] [ -NrNumber ] [ -p Prefix ] [ -s ] [ -t ] [ -v ] [ -y Path ] Grammar
Description
The yacc command converts a context-free grammar specification into a set of tables for a simple automaton that executes an LALR(1) parsing algorithm. The grammar can be ambiguous; specified precedence rules are used to break ambiguities. You must compile the output file, y.tab.c, with a C language compiler to produce a yyparse function. This function must be loaded with the yylex lexical analyzer, as well as with the main subroutine and the yyerror error-handling subroutine (you must provide these subroutines). The lex command is useful for creating lexical analyzers usable by the yyparse subroutine. Simple versions of main and yyerror subroutines are available through the yacc library, liby.a. Also, yacc can be used to generate C++ output. You can compile the yacc-generated C file (y.tab.c) with the -DYACC_MSG option to include code necessary to use the Message Facility. When you use this option during compilation, error messages generated by the yyparse subroutine and the YYBACKUP macro are extracted from the yacc_user.cat catalog. This allows you to receive error messages in languages other than English in non-English locales. If the catalog cannot be found or opened, the yyparse and YYBACKUP subroutines display the default English messages. The yacc command is affected by the LANG, LC_ALL, LC_CTYPE, and LC_MESSAGES environment variables.
Flags
-b Prefix Use Prefix instead of y as the prefix for all output file names. The code file y.tab.c, the header file y.tab.h (created when -d is specified), and the description file y.output (created when -v is specified) are changed to Prefix.tab.c, Prefix.tab.h, and Prefix.output, respectively. Produces the y.tab.C file instead of the y.tab.c file for use with a C++ compiler. To use the I/O Stream Library for input and output, define the macro, _CPP_IOSTREAMS.
-C
249
-d
-s
-t
Produces the file y.tab.h. This contains the #define statements that associate the yacc-assigned token codes with your token names. This allows source files other than y.tab.c to access the token codes by including this header file. Does not include any #line constructs in y.tab.c. Use this only after the grammar and associated actions are fully debugged. Changes the size of the token and nonterminal names array to Number. The default value is 8000. Valid values are only those greater than 8000. Changes the size of the memory states array to Number. Default value is 40000. Valid values are only those greater than 40000. Changes the internal buffer sizes to handle large grammars. The default value is 2000. Valid values are only those greater than 2000. Use Prefix instead of yy as the prefix for all external names created by the yacc command. External names affected include: yychar, yylval, yydebug, yyparse( ), yylex( ), and yyerror( ). (Previously, -p was used to specify an alternate parser; now, -yPath can be used to specify an alternate parser.) Breaks the yyparse function into several smaller functions. Since its size is somewhat proportional to that of the grammar, it is possible for the yyparse function to become too large to compile, optimize, or execute efficiently. Compiles run-time debugging code. By default, this code is not included when y.tab.c is compiled. However, the run-time debugging code is under the control of the preprocessor macro, YYDEBUG. If YYDEBUG has a nonzero value, the C compiler (cc) includes the debugging code, regardless of whether the -t flag is used. YYDEBUG should have a value of 0 if you dont want the debugging code included by the compiler. Without compiling this code, the yyparse subroutine will have a faster operating speed. The -t flag causes compilation of the debugging code, but it does not actually turn on the debug mode. To get debug output, the yydebug variable must be set either by adding the C language declaration, int yydebug=1 to the declaration section of the yacc grammar file or by setting yydebug through dbx. Prepares the file y.output. It contains a readable description of the parsing tables and a report on conflicts generated by grammar ambiguities. Uses the parser prototype specified by Path instead of the default /usr/lib/yaccpar file. (Previously, -p was used to specify an alternate parser.)
-v -y Path
Exit Status
This command returns the following exit values:
0 >0 Successful completion. An error occurred.
Examples
1. The following command:
yacc grammar.y
draws yacc rules from the grammar.y file, and places the output in y.tab.c. 2. The following command: yacc -d grammar.y
functions the same as example 1, but it also produces the y.tab.h file which would contain C-style #define statements for each of the tokens defined in the grammar.y file.
250
Files
y.output y.tab.c y.tab.h yacc.tmp yacc.debug yacc.acts /usr/ccs/lib/yaccpar /usr/ccs/lib/liby.a Contains a readable description of the parsing tables and a report on conflicts generated by grammar ambiguities. Contains an output file. Contains definitions for token names. Temporary file. Temporary file. Temporary file. Contains parser prototype for C programs. Contains a run-time library.
Related Information
The lex command. Generating a Lexical Analyzer with the lex Command in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs. The Example program for the lex and yacc programs in AIX 5L Version 5.3 General Programming Concepts: Writing and Debugging Programs.
Syntax
yes [ charstring ]
Description
The yes command outputs an affirmative response repetitively. Use the yes command as piped input to another command that requires an affirmative response before it completes the specified action. For example, the yes command is useful when deleting multiple files from a directory. The Ctl-C key sequence terminates the continuous affirmative responses. Note: The current locale is determined by the LC_MESSAGES environment variable or the charstring parameter, if specified. The charstring parameter can be any single character or character stream. If you enter an charstring parameter after issuing the yes command, the charstring parameter displays to the screen until you type the Ctl-C key sequence.
Example
To display the word first to the screen, type:
yes first
This statement displays the word until you enter the Ctl-C key sequence.
File
/usr/bin/yes Contains the yes command.
251
Related Information
The environment file. Shells in Operating system and device management.
Syntax
/usr/lib/netsvc/yp/ypbind [ -s -ypset -ypsetme ]
Description
The ypbind daemon binds, or connects, processes on a Network Information Services (NIS) client to services on an NIS server. This daemon, which runs on every NIS client, is started and stopped by the following System Resource Controller (SRC) commands:
startsrc -s ypbind stopsrc -s ypbind
When a client requests information from a Network Information Services (NIS) map, the ypbind daemon broadcasts on the network for a server. When the server responds, it gives the daemon the Internet address and port number of a host. This is the host that provides the information the client is seeking. The ypbind daemon stores this address information in the /var/yp/binding directory using a file name of domainname.version. Then, the next time the client wants to access an NIS map, the clients ypbind daemon refers to the addresses in the domainname.version file. The ypbind daemon can maintain bindings to several domains and their servers -ypsetme simultaneously. The default domain is the one specified by the domainname command at startup time. Notes: 1. If a domain becomes unbound (usually when the server crashes or is overloaded), the ypbind daemon broadcasts again to find another server. 2. To force a client to bind to a specific server, use the ypset command. 3. To find out which server a client is bound to, use the ypwhich command. 4. If the /var/yp/binding/domainname/ypservers file exists, ypbind will attempt to contact the servers listed in that file before broadcasting. The file should contain a list of server IP addresses, one per line. 5. By default, the NIS client will wait indefinitely for the NIS server, during which time, logins to the client system are not possible. It is possible, however, to limit the length of this wait. If the YPBIND_MAXWAIT environment variable is set (usually in /etc/environment) before the ypbind daemon is started, this value (in seconds) will limit the amount of time the NIS client will wait for the NIS server. If this limit is exceeded, the client behaves as if NIS were unavailable and continues using local files. This will allow local logins, such as root. 6. If a domain becomes unbound and it is listed in the /var/yp/binding/domainnanme/ypservers file, by default ypbind daemon attempts to contact the server that is currently down; however, if the YPBIND_SKIP environment variable is set to 1 (usually set in the /etc/environment file) before the ypbind daemon is started, the server that is currently down will not be contacted again.
Flags
-s -ypset Runs the ypbind daemon in a secure mode on privileged communications ports. Indicates the local host accepts ypset commands from local or remote hosts.
Commands Reference, Volume 6
252
-ypsetme
Indicates that the local host accepts ypset commands only from the local host. This flag overrides the -ypset flag if both are specified.
Notes: 1. If neither the -ypset or -ypsetme flags are specified, the local host rejects all ypset commands from all hosts. This is the most secure mode because the NIS server cannot change. 2. If neither the -ypset or -ypsetme flags are specified, the local host rejects all ypset commands from all hosts. This is the most secure mode because the NIS server cannot change. However, if no NIS servers exist on the networks directly connected to the client machine, then the -ypsetme flag must be used and the NIS server should be specified with the ypset command.
Files
/var/yp/binding directory /var/yp/binding/domainname/ypservers domainname.version Contains Internet addresses and port numbers for NIS servers. Contains a list of internet addresses, one per line, of servers to attempt to contact before broadcasting. Binary file that contains the address and port number of the current NIS server.
Related Information
The domainname command, makedbm command, mkclient command, mkmaster command, mkslave command, ypcat command, ypinit command, ypmatch command, yppoll command,yppush command, ypset command, ypwhich command, ypxfr command. System Resource Controller in Operating system and device management. Network File System (NFS) Overview for System Management in Networks and communication management. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
To Display the Network Information Services Database
/usr/bin/ypcat [ -k ] [ -t ] [ -d DomainName ] MapName
Description
The ypcat command prints out the Network Information Services (NIS) map you specify with the MapName parameter. You can specify either a map name or a map nickname. Because the ypcat command uses the NIS service, you do not need to specify a server.
253
Flags
-k Displays the keys for those maps in which the values are null or for which the key is not part of the value. (None of the maps derived from files that have an ASCII version in the /etc directory fall into this class.) Indicates that the name specified by the MapName parameter is not a nickname. This flag causes the ypcat command to bypass the nickname translation table and search only for the map specified by the MapName parameter. Searches the specified domain for the specified map. Displays the nickname translation table. This table lists the map nicknames the command knows of and indicates the map name (as specified by the MapName parameter) associated with each nickname.
-t
-d DomainName -x
Examples
1. To look at the networkwide password map, passwd.byname, type:
ypcat passwd
In this example, passwd is the nickname for the passwd.byname map. 2. To locate a map, type:
ypcat -t passwd
In this example, the ypcat command bypasses any maps with the nickname of passwd and searches for a map with the full name of passwd. 3. To display a map in another domain, type:
ypcat -d polaris passwd
In this example, the ypcat command locates the map named passwd in the domain named polaris. 4. To display the map nickname translation table, type:
ypcat -x
In this example, the ypcat command displays a list of map nicknames and their associated map names.
Related Information
The domainname command, ypmatch command. The ypserv daemon. Network File System (NFS) Overview for System Management in Networks and communication management. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
254
Syntax
To Set up NIS on an NIS Master Server
/usr/sbin/ypinit [ -o ] [ -n ] [ -q ] -m [ SlaveName ... ]
Description
The ypinit command sets up NIS maps on a Network Information Services (NIS) master server or NIS slave server. Only users with root user authority can use the ypinit command. By default, the ypinit command uses the ASCII system files as input files for the map being created.
Flags
-m [SlaveName...] Indicates that the local host is to be the NIS master. If the -q flag is used the -m flag can be followed by the names of the machines that will be the NIS slave servers. Indicates that the ypinit command is not to stop if it finds errors. Allows any existing maps for the current NIS domain to be overwritten. Indicates that the ypinit command is to get arguments from the command line instead of prompting for input. Copies NIS maps from the server workstation you specify in the MasterName parameter.
-n -o -q -s MasterName
Examples
1. To set up an NIS master server that functions as the master for all NIS maps, type the following command on the command line:
ypinit -m
This command invokes the make procedure, which follows the instructions in the /var/yp/Makefile file. 2. To set up an NIS slave server, type:
ypinit -s zorro
In this example, the ypinit command copies the NIS maps onto your workstation from the NIS server named zorro, making your workstation an NIS slave server. 3. To set up an NIS master server without being prompted for input, type:
ypinit -o -n -q -m slave
Note: If the system has previously been configured as an NIS master server, ensure that the directory, /var/yp/binding, is removed before executing ypinit. If old information is stored in /var/yp/binding, it may cause errors to occur during configuration of the NIS master server.
Files
/etc/bootparams /etc/passwd /etc/group /etc/hosts /var/yp/Makefile /etc/networks /etc/netmasks Lists clients that diskless clients can use for booting. Contains an entry for each user that has permission to log on to the machine. Contains an entry for each user group allowed to log on to the machine. Contains an entry for each host on the network. Contains rules for making NIS maps. Contains the name of each network in the DARPA Internet. Lists network masks used to implement IP standard subnetting.
Alphabetical Listing of Commands
255
Contains identification information for machines, hosts, and groups. Contains map information for RPC programs. Contains an entry for each server available through the Internet. Defines Internet protocols used on the local host. Contains information about each user group on the network. Contains the Ethernet addresses of hosts on the Internet network. Contains public or secret keys for NIS maps.
Related Information
The chmaster command, chslave command, lsmaster command, makedbm command, mkmaster command, mkslave command, yppush command, ypxfr command. The ypserv daemon. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
To Display Key Values for an NIS Map
/usr/bin/ypmatch [ -d Domain ] [ -k ] [ -t ] Key... MapName
Description
The ypmatch command displays the values associated with one or more keys within a Network Information Services (NIS) map. Use the MapName parameter to specify either the name or nickname of the map you want to search. When you specify multiple keys in the Key parameter, the system searches the same map for all of the keys. Because pattern matching is not available, match the capitalization and length of each key exactly. If the system does not find a match for the key or keys you specify, a diagnostic message is displayed.
Flags
-d Domain -k Specifies a domain other than the default domain. Prints a key followed by a colon before printing the value of the key. This is useful only if the keys are not duplicated in the values or if you have specified so many keys that the output could be confusing. Inhibits translation of nickname to map name. Displays the map nickname table. This lists the nicknames (as specified by the MapName parameter) the command knows of and indicates the map name associated with each nickname.
-t -x
256
Examples
To display the value associated with a particular key, type: ypmatch -d ibm -k host1 hosts
In this example, the ypmatch command displays the value of the host1 key from the hosts map in the ibm domain.
Related Information
The ypcat command. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
yppasswd [ -f [ Name ] | -s [ Name [ ShellProg ]] ]
Description
The yppasswd command changes (or installs) a network password and associates it with the name you specify in the UserName parameter. To create or change a password, you must be the owner of the password you want to change. The Network Information Services (NIS) password can be different from the one on your own machine. Root users on an NIS server can change the password of another user without knowing the users original password. To do this, the Root user enters their password in place of the users original password. Root users on an NIS client, however, do not have this privilege. When you enter the yppasswd command on the command line, the system prompts you to enter the old password. When you do this, the system prompts you to enter the new password. The password you enter can be as small as four characters long if you use a mixture of uppercase and lowercase characters. Otherwise, the password has to be six characters long or longer. These rules are relaxed if you are insistent enough. If you enter the old password incorrectly, you have to enter the new password before the system will give you an error message. The system requires both passwords because the update protocol sends them to the server at the same time. The server catches the error and notifies you that you entered the old password incorrectly. To verify the new password, the system prompts you to enter it again. For this new password to take effect, the yppasswdd daemon must be running on your NIS server. Note: The yppasswd command cannot establish rules for passwords as does the passwd command.
Flags
-f [ Name ] Changes user Names gecos information in the NIS maps. Gecos information is general information stored in the /etc/passwd file.
257
-s [ Name [ ShellProg ]]
Example
1. To change a users NIS password, enter:
yppasswd Joe
This example demonstrates how to change the NIS password for the user named Joe. The system prompts you to enter Joes old password and then his new password. 2. To change the login shell to /bin/ksh for the user named Joe, if the yppasswdd daemon has not been started with the -noshell flag, enter: yppasswd -s Joe /bin/ksh 3. To change the gecos information in the passwd file for the user named Joe, if the yppasswdd daemon has not been started with the -nogecos flag, enter: yppasswd -f Joe Old NIS password: Joes current gecos: John Doe Test User Id Change (yes) or (no)? >y To?>Joe User Test User Id
Related Information
The yppasswdd daemon. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
rpc.yppasswdd FileName [ -nogecos ] [ -nopw ] [ -noshell ] [ -r | -m [ Argument... ] ]
Description
The yppasswdd daemon is a server that receives and executes requests for new passwords from the yppasswd command. These requests require the daemon to verify the users old password and change it. The daemon changes the password in the file you specify in the FileName parameter, which has the same format as the /etc/passwd file. To make it possible to update the Network Information Services (NIS) password map from remote machines, the yppasswdd daemon must be running on the master server that contains the NIS password map. Note: The yppasswdd daemon is not run by default, nor can it be started up from the inetd daemon like other Remote Procedure Call (RPC) daemons.
258
The yppasswdd daemon can be started and stopped with the following System Resource Controller (SRC) commands:
startsrc -s yppasswdd stopsrc -s yppasswdd
Flags
-m Runs the make command using the makefile in the /var/yp directory. This adds the new or changed password to the NIS password map. Any arguments that follow the -m flag are passed to the make command. Indicates the server will not accept changes for gecos information from the yppasswd command. Indicates that the server will not accept password changes from the yppasswdd command. Indicates the server will not accept changes for user shells from the yppasswd command. Directly updates the /var/yp/domainname/passwd.byname and /var/yp/domainname/passwd.byuid database files on the Master server as well as any Slave servers with new or changed passwords. This option is faster than the -m flag because the make command is not run. The -r flag is useful when the database files are large (several thousand entries or more).
Note: The System Resource Controller (SRC) starts the yppasswdd daemon with the -m flag specified by default. Use the chssys command to change the default to the -r flag.
Example
To propagate updated passwords immediately, invoke the yppasswdd daemon as follows:
startsrc -s yppasswdd
Files
/etc/inetd.conf /var/yp/Makefile /etc/rc.nfs /etc/security/passwd Defines how the inetd daemon handles Internet service requests. Contains rules for making NIS maps. Contains the startup script for the NFS and NIS daemons. Stores password information.
Related Information
The chssys command, domainname command, make command, passwd command, startsrc command, yppasswd command. The inetd daemon. The /etc/security/passwd file. System Resource Controller in Operating system and device management. Network File System (NFS) Overview for System Management in Networks and communication management. Remote Procedure Call (RPC) Overview for Programming in AIX 5L Version 5.3 Communications Programming Concepts. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
259
Syntax
/usr/sbin/yppoll [ -h Host ] [ -d Domain ] MapName
Description
The yppoll command uses the ypserv daemon to display the order number of the map you specify in the MapName parameter. An order number is a maps ID number and is assigned by the system. This number changes whenever a map is updated. Use the yppoll command whenever you want to make sure your servers are using the most current version of a particular map. The yppoll command can run on systems that have either version 1 or version 2 of the Network Information Services (NIS) protocol installed. Be aware, however, that each version of the protocol has its own set of diagnostic messages. Note: When specifying a MapName, be sure to enter the maps full name. The yppoll command does not recognize map nicknames.
Flags
-h Host -d Domain Enables you to specify a server other than the default server. To find out which server the command defaults to, use the ypwhich command. Enables you to specify a domain other than the default domain. To find out which domain the command defaults to, use the domainname command.
Examples
1. To look at a map located on a particular host, type:
/usr/sbin/yppoll -h thor netgroups.byuser
In this example, the yppoll command displays the order number for the netgroups.byuser map located on the host named thor. 2. To look at a map on a domain, type:
/usr/sbin/yppoll -d atlantis hosts.byname
In this example, the ypoll command displays the order number for the hosts.byname map located in the domain atlantis.
Related Information
The domainname command, ypwhich command. The ypserv daemon. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
260
Syntax
/usr/sbin/yppush [ -v ] [ -d Domain ] MapName
Description
The yppush command, which is issued from the /usr/etc/yp directory, prompts the Network Information Services (NIS) slave servers to make copies of updated NIS maps. The MapName variable specifies that map to be transferred to the slave servers of the master servers. To get a list of the servers it needs to prompt, the yppush command reads the ypservers map, specified by the Domain parameter or the current default domain. When prompted, each slave server uses the ypxfr command to copy and transfer the map back to its own database. You can use the System management interface tool (SMIT) to run this command. To use SMIT, type:
smit yppush
Note: If your system uses version 1 of the NIS protocol, the ypxfr command is not the transfer agent.
Flags
-d Domain -v Specifies a domain other than the default domain. The maps for the specified domain must exist. Displays messages as each server is called and then displays one message for each servers response, if you are using the version 2 protocol. If this flag is omitted, the command displays error messages only. Note: Version 1 of the NIS protocol does not display messages. If your system uses version 1, use the yppoll command to verify that the transfer took place.
Examples
1. To copy a map from another domain to the slave servers, type:
/usr/sbin/yppush -d atlantis netgroup
In this example, the yppush command copies the netgroup map from the atlantis domain. 2. To display the in-progress status of the yppush command as it calls each slave server, type:
/usr/sbin/yppush -v -d atlantis netgroup
In this example, the yppush command displays in-progress messages as it copies the netgroup map from the atlantis domain onto each of the networks slave servers.
Files
/var/yp/DomainName/ypservers.{dir, pag} Lists servers that the yppush command prompts to make copies of updated NIS maps.
Related Information
The yppoll command, ypxfr command. The ypserv daemon.
Alphabetical Listing of Commands
261
System management interface tool in Operating system and device management. Network File System (NFS) Overview for System Management in Networks and communication management and NIS Maps in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
/usr/lib/netsvc/yp/ypserv
Description
The ypserv daemon looks up information in its local Network Information Services (NIS) maps. The operations performed by the ypserv daemon are defined for the implementor by the NIS Protocol Specification and for the programmer by the /usr/include/rpcsvc/yp_prot.h header file. Communication with the ypserv daemon is by means of Remote Procedure Calls (RPC). The ypserv daemon runs only on server machines. The ypserv daemon is started and stopped by the following System Resource Controller (SRC) commands:
startsrc -s ypserv stopsrc -s ypserv
The ypserv daemon performs the following operations on a specified map within an NIS domain:
Match Get_first Get_next Get_all Get_order_number Takes a key and returns the associated value. Returns the first key-value pair from the map. Enumerates the next key-value pair in the map. Ships the entire NIS map to a requestor in response to a single RPC request. Supplies information about a map instead of map entries. The order number actually exists in the map as a key-value pair, but the server does not return it through the normal lookup functions. However, the pair will be visible if you examine the map with the makedbm command. Supplies information about a map instead of map entries. The master name actually exists in the map as a key-value pair, but the server does not return it through the normal lookup functions. However, the pair will be visible if you examine the map with the makedbm command.
Get_master_name
Log information is written to the /var/yp/ypserv.log file if it exists when the ypserv daemon starts running. If the /var/yp/securenets file exists, the ypservr command only responds to hosts within the ip range specified in this file.
Files
/etc/rc.nfs /var/yp/ypserv.log Contains the startup script for the NFS and NIS daemons. Contains the log for the ypserv daemon.
262
Related Information
The chmaster command, chslave command, domainname command, makedbm command, mkmaster command, mkslave command, ypcat command, ypinit command, ypmatch command, yppoll command, yppush command, ypset command, ypwhich command, ypxfr command. System Resource Controller in Operating system and device management. Network File System (NFS) Overview for System Management in Networks and communication management, NIS Maps in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. Remote Procedure Call Overview for Programming in AIX 5L Version 5.3 Communications Programming Concepts. How to Configure NIS in Networks and communication management. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
/usr/sbin/ypset [ -V1 ] [ -d Domain ] [ -h Host ] Server
Description
The ypset command directs the ypbind daemon on the client to the ypserv daemon on the server. The ypbind daemon goes to the server you specify in the Server parameter to get Network Information Services (NIS) services for the domain you specify in the Domain parameter. The ypbind daemon gets the NIS services from the ypserv daemon on the server. After the binding is set, it is not tested until a client process (such as the ypcat command or the ypwhich command) tries to get a binding for the domain. If the attempt to bind fails (the specified server is down or is not running the ypserv daemon), the ypbind daemon makes another attempt to bind for the same domain. Specify either a name or an Internet Protocol (IP) address in the Server parameter. If you specify a name, the ypset command attempts to resolve the name to an IP address through the use of the NIS service. This works only if your machine has a current valid binding for the domain in question. In most cases, you should specify the server as an IP address. In cases where several hosts on the local network are supplying NIS services, the ypbind daemon can rebind to another host. If a server is down or is not running the ypserv daemon, the ypbind daemon rebinds the client to another server. In this way, the network information service balances the load among the available NIS servers. Use the ypset command if the network: v Does not support broadcasting.
Alphabetical Listing of Commands
263
v Supports broadcasting but does not have an NIS server. v Accesses a map that exists only on a particular NIS server. An alternative to using ypset is to use the /var/yp/binding/domain_name/ypservers file. This file, if present, should contain a list of NIS servers to attempt to bind to, one server per line. If the ypbind daemon cannot bind to any of the servers in the ypservers file, then it will attempt to use the server specified by ypset. If that fails, it will broadcast on the subnet for a NIS server.
Flags
-d Domain -h Host -V1 Specifies a domain other than the default domain. Sets the binding for the ypbind daemon on the specified host instead of on the local host. The host can be specified as a name or as an IP address. Binds the specified server for the (old) version 1 NIS protocol.
Example
To set a server to bind on a host in a particular domain, enter:
ypset -d ibm -h venus mars
In this example, the ypset command causes the host named venus to bind to the server named mars.
Related Information
The domainname command, ypcat command, ypwhich command, The ypbind daemon, ypserv daemon. Network File System (NFS) Overview for System Management in Networks and communication management. How to Configure NIS in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
/usr/lib/netsvc/yp/rpc.ypupdated [ -i | -s ]
Description
The ypupdated daemon updates information in Network Information Services (NIS) maps. Before it can update information, however, the daemon consults the updaters file in the /var/yp directory to determine which NIS maps should be updated and how they should be changed. By default, the ypupdated daemon requires the most secure method of authentication available to it, either DES (secure) or UNIX (insecure).
264
The ypupdated daemon is started and stopped by the following System Resource Controller (SRC) commands:
startsrc -s ypupdated stopsrc -s ypupdated
Flags
-s Accepts only calls authenticated using the secure Remote Procedure Call (RPC) mechanism (AUTH_DES authentication). This disables programmatic updating of NIS maps unless the network supports these calls. Accepts RPC calls with the insecure AUTH_UNIX credentials. This allows programmatic updating of NIS maps in all networks.
-i
Examples
To start the ypupdated daemon from the command line, type:
startsrc -s ypupdated
File
/var/yp/updaters A makefile for updating NIS maps.
Related Information
The startsrc command. The keyserv daemon. System Resource Controller in Operating system and device management. Remote Procedure Call Overview for Programming in AIX 5L Version 5.3 Communications Programming Concepts. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
To Identify the NIS Server
/usr/bin/ypwhich [ -d Domain ] [ -V1 | -V2 ] [ HostName ]
265
Description
The ypwhich command identifies which server supplies Network Information Services (NIS) services or which server is the master for a map, depending on how the ypwhich command is invoked. If invoked without arguments, this command displays the name of the NIS server for the local machine. If you specify a host name, the system queries that host to find out which master it is using.
Flags
-d Domain -V1 -V2 Uses the specified domain instead of the default domain. Indicates which server is serving the old version 1 NIS protocol client processes. Indicates which server is serving the current version 2 NIS protocol client processes. If neither version is specified, the ypwhich command attempts to locate the server that supplies the version 2 services. If there is no version 2 server currently bound, the ypwhich command then attempts to locate the server supplying version 1 services. Because servers and clients are both backward-compatible, the user need seldom be concerned about which version is currently in use. Inhibits nickname translation, which is useful if there is a map name identical to a nickname. Finds the master NIS server for a map. No host can be specified with the -m flag. The MapName variable can be a map name or a nickname for a map. When the map name is omitted, the -m flag produces a list of available maps. Displays the map nickname table. This lists the nicknames (MapName) the command knows of and indicates the map name associated with each nickname.
-t -m MapName
-x
Examples
1. To find the master server for a map, type:
ypwhich -m passwd
In this example, the ypwhich command displays the name of the server for the passwd map. 2. To find the map named passwd, rather than the map nicknamed passwd, type:
ypwhich -t -m passwd
In this example, the ypwhich command displays the name of the server for the map whose full name is passwd. 3. To find out which server serves clients that run the old version 1 of the NIS protocol, type:
ypwhich -V1
Related Information
The ypset command. The ypserv daemon. Network File System (NFS) Overview for System Management in Networks and communication management. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide.
266
NIS Reference.
Syntax
/usr/sbin/ypxfr [ -f ] [ -c ] [ -d Domain ] [ -h Host ] [ -s Domain ] [ -C TID Program IPAddress Port ] [ -S ] MapName
Description
The ypxfr command transfers a Network Information Services (NIS) map from an NIS server to the local host as follows: 1. Creates a temporary map in the /var/yp/Domain directory (which must already exist) on the client. 2. Fetches the map entries from the server and fills in the map on the client, one at a time. 3. Gets and loads the map parameters (order number and server). 4. Deletes any old versions of the map. 5. Moves the temporary map to the real map name. If the /var/yp/securenets file exists, the ypxfr command only responds to hosts that are listed in this file. The MapName variable specifies the name of a map that will be transferred from an NIS server. If run interactively, the ypxfr command sends output to the users terminal. If invoked without a controlling terminal, the ypxfr command appends its output to the /var/yp/ypxfr.log file (if the file already exists). This file records each transfer attempt and its results. The ypxfr command is most often invoked from the root users crontab file or by the ypserv daemon. To maintain consistent information between servers, use the ypxfr command to update every map in the NIS database periodically. Be aware though that some maps change more frequently than others and therefore need to be updated more frequently. For instance, maps that change infrequently, such as every few months, should be updated at least once a month. Maps that change frequently, such as several times a day, should be checked hourly for updates. The services.byname map, for example, may not change for months at a time, while the hosts.byname map may change several times a day. To perform periodic updates automatically, use a crontab entry. To update several maps at one time, group commands together in a shell script. Examples of a shell script can be found in the /usr/etc/yp directory in the following files: ypxfr_1perday, ypxfr_2perday, ypxfr_1perhour. You can use the System management interface tool (SMIT) to run this command. To use SMIT, enter:
smit ypxfr
267
Flags
-C TID Program IPAddress Port Tells the ypxfr command where to find the yppush command. The ypserv daemon invokes the ypxfr command to call back a yppush command to the host. Use the parameters to indicate the following: TID Program Specifies the program number associated with the yppush command. IPAddress Specifies the Internet Protocol address of the port where the yppush command resides. Port Specifies the port that the yppush command is listening on. Specifies the transaction ID of the yppush command.
-c
-d Domain -f -h Host
-S
-s Domain
Note: This option is only for use by the ypserv daemon. Prevents sending of a request to Clear Current Map to the local ypserv daemon. Use this flag if the ypserv daemon is not running locally at the time you are running the ypxfr command. Otherwise, the ypxfr command displays an error message and the transfer fails. Specifies a domain other than the default domain. The maps for the specified domain must exist. Forces the transfer to occur even if the version at the master is not more recent than the local version. Gets the map from host specified, regardless of what the map says the master is. If a host is not specified, the ypxfr command asks the NIS service for the name of the master and tries to get the map from there. The Host variable can contain a name or an Internet address in the form a.b.c.d. Requires the ypserv server, from which it obtains the maps to be transferred, use privileged IP ports. Because only root user processes are typically allowed to use privileged ports, this feature adds an extra measure of security to the transfer. If the map being transferred is a secure map, the ypxfr command sets the permissions on the map to 0600. Specifies a source domain from which to transfer a map that should be the same across domains (such as the services.byname map).
Examples
To get a map from a host in another domain, enter:
/usr/sbin/ypxfr -d ibm -h venus passwd.byname
In this example, the ypxfr command gets the passwd.byname map from the host name venus in the ibm domain.
Files
/var/yp/ypxfr.log /usr/sbin/ypxfr_1perday /usr/sbin/ypxfr_2perday /usr/sbin/ypxfr_1perhour Contains the Contains the daemons. Contains the Contains the log file. script to run one transfer each day, for use with the cron script to run two transfers each day. script for hourly transfers of volatile maps.
268
Related Information
The crontab command, yppush command. The cron daemon, ypserv daemon. System management interface tool in Operating system and device management. Network File System (NFS) Overview for System Management in Networks and communication management, NIS Maps in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. Network Information Services (NIS) Overview for System Management in AIX 5L Version 5.3 Network Information Services (NIS and NIS+) Guide. NIS Reference.
Syntax
zcat [ -n ] [ -V ] [ File ... ]
Description
The zcat command allows the user to expand and view a compressed file without uncompressing that file. The zcat command does not rename the expanded file or remove the .Z extension. The zcat command writes the expanded output to standard output.
Flags
-n -V Omits the compressed file header from the compressed file. Note: Use the -n option if the file was compressed using the -n option. Writes the current version and compile options to standard error.
Parameters
File ... Specifies the compressed files to expand.
Return Values
If the zcat command exits with a status of 1 if any of the following events occur: v The input file was not produced by the compress command. v An input file cannot be read or an output file cannot be written. If no error occurs, the exit status is 0.
Exit Status
0 >0 Successful completion. An error occurred.
269
Examples
To view the foo.Z file without uncompressing it, enter:
zcat foo.Z
The uncompressed contents of the foo.Z file are written to standard output. The file is not renamed.
Related Information
The compress command, pack command, uncompress command, unpack command. Commands in Operating system and device management.
Syntax
zdump [ -v ] [ -c CutOffYear ] TimeZoneName ...
Description
The zdump command prints the current time for each zone name specified on the command line.
Flags
-c CutOffYear -v Stops the verbose output near the start of the year CutOffYear. For each TimeZoneName listed on the command line, the following information is printed: v The current time. v The time at the lowest possible time value. v The time one day after the lowest possible time value. v The times both one second before, and exactly at each time, when the rules change for computing local time. v The time at the highest possible time value v The time at one day less than the highest possible time value. Each line ends with isdst=1 if the given time is Daylight Saving Time, or isdst=0 otherwise.
Parameters
TimeZoneName Represents the name of the zone whose time zone information is displayed.
Exit Status
0 >0 The command completed successfully. An error occurred.
Examples
1. To report time zone information for Singapore , enter:
zdump -v Singapore
270
2. To report verbose time zone information for Turkey with verbose output stopping near the start of the year 2035, enter:
zdump -v -c 2035 Turkey
Files
/usr/sbin/zdump /usr/share/lib/zoneinfo Contains the SystemV zdump command. Contains the standard time zone directory.
Related Information
The zic command.
Syntax
zic [ -v ] [ -d Directory ] [ -l LocalTime ] [ -y YearIsType ] [ FileName ...]
Description
The zic command processes text from the files named on the command line and creates the time conversion binary files specified in this input. The time zone information is processed from the standard input if file name is specified as - (hyphen). Input lines in the specified files are made up of fields. Field separators are be any number of white space characters. A pound sign (#) in the input file indicates a comment that extends to the end of the line on which the pound sign appears. White space characters and pound signs can be enclosed in double quotes () if they are to be used as part of a field. Blank lines are ignored. A rule line has the form:
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
The fields that make up the rule line are as follows: NAME Provides a random name for the set of rules for which this Rule is applicable. FROM Provides the first year in which the rule applies. Specifying minimum (min) indicates the minimum year with a representable time value. Specifying maximum (max) indicates the maximum year with a representable time value. TO Provides the final year in which the rule applies. This is indicated as a valid time value or by specifying minimum and maximum. Specifying only is used to repeat the value of the FROM field.
TYPE Provides the type of year in which the rule applies. The TYPE field has the following values: - uspres The rule applies in U.S. Presidential election years. nonpres The rule applies in years other than U.S. Presidential election years. The rule applies in all years between FROM and TO, inclusively.
271
If the TYPE field has a value other than what is mentioned above, the zic command runs the /usr/sbin/yearistype year type command to check the type of year. The yearistype command accepts two parameters; the year and the type of year. An exit status of 0 is taken to mean that the year is of the given type. Otherwise, 1 is returned as exit status. IN ON Represents the month in which the rule takes effect. Month names may be abbreviated. Prepresents the day on which the rule takes effect. Recognized forms include: v lastFri represents the last Friday in the month. v lastMon represents the last Monday in the month. v A number representing the day of the month. For example, 5 represents the fifth of the month. v v v v lastSun represents the last Sunday in the month. lastMon represents the last Monday in the month. Sun>=8 represents first Sunday on or after the eighth. Sun<=25 represents last Sunday on or before the 25th.
Names of days of the week can be abbreviated or spelled out in full. Note that there must be no spaces within the ON field. AT Represents the time of day at which the rule takes effect. Recognized forms include: v A number representing time in hours. For example, 2 indicates two hours. v 2:00 indicates two oclock in hours and minutes. v 15:00 represents 3 oclock in the afternoon using the 24-hour format time format. v 1:28:14 indicates one oclock, twenty-eight minutes and fourteen seconds, using the hours, minutes, seconds format. Any of these forms may be followed by the letter w if the given time is local wall-clock time or s if the given time is local standard time. In the absence of w or s, wall-clock time is assumed. Regions with more than two types of local time are required to use the local standard time in the AT field of the earliest transition times rule to ensure the accuracy of the earliest transition time that is stored in the resulting time-zone binary. SAVE Prepresents the amount of time to be added to local standard time when the rule is in effect. This field has the same format as the AT field The w and s suffixes are not valid with this field. LETTER/S Provides the variable part of the time-zone abbreviations that are used when this rule is in effect. When this field contains - (hyphen), the variable is null. The S character is used to indicate EST and the D character is used to indicate EDT. A zone line has the form:
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
The fields that make up a zone line are: NAME Indicates the name of the time zone. This is the name used to create the time conversion information file for the zone. GMTOFF Indicated the amount of time to add to GMT to get standard time in this zone. This field has the same format as the AT and SAVE fields of rule lines. Begin the field with a minus sign if time must be subtracted from GMT. RULES/SAVE Indicated the name of the rules that apply in the time zone or, alternately, an amount of time to add to local standard time. If value of this field is - (hyphen), then standard time always applies in the time zone.
272
FORMAT Indicates the format for time zone abbreviations in this time zone. The %s characters are used to show where the variable part of the time zone abbreviation goes. UNTIL Indicates the time at which the GMT offset or the rules change for a location. It is specified as year, month, day, and time of day. If this is specified, the time zone information is generated from the given GMT offset and rule change until the time specified. The next line must be a continuation line. The continuation line places information starting at the time specified in the UNTIL field of the previous line into the file used by the previous line. This line has the same format as a zone line, except that the Zone string and the name are omitted. Continuation lines can contain an UNTIL field, just as zone lines do, indicating that the next line is a further continuation. A link line has the form:
Link LINK-FROM LINK-TO
The LINK-FROM field should appear as the NAME field in a zone line; the LINK-TO field is used as an alternate name for that zone. Except for continuation lines, lines can appear in any order in the input. The zic command has a limitation of compiling input containing a date before 14 December 1901 because dates before this time cannot be represented by a 32-bit time_t data type.
Flags
-d Directory -l TimeZone Creates time conversion information files in the Directory directory, instead of the/usr/share/lib/zoneinfo/ standard directory . Use the TimeZone time zone as local time. The zic command acts as if the file contained a link similar to the following: Link timezone localtime Provides a message if a year that appears in a data file is outside the range of years representable by system time values (0:00:00 AM GMT, January 1, 1970, to 3:14:07 AM GMT, January 19, 2038). Uses the given yearistype command rather than /usr/sbin/yearistype command when used to check year types.
-v
-y YearIsType
Parameters
FileName A file containing input lines that specify the time conversion information files to be created. If FileName is - (hyphen), then standard input is read.
Examples
1. A rule line can have the following format:
Rule Zone Link USA 1970 max 3:00 CET Sep Sun<=14 3:00 0 S
3. A link line can have the following format: 4. To compile a timezone.infile file containing input time zone information and place the binaries into the standard time zone /usr/share/lib/zoneinfo/ directory, type:
zic timezone.infile
273
5. To compile a timezone.infile file containing input time zone information and place the binaries into a directory specified with -d option , type:
zic -d tzdir timezone.infile
6. To report warnings during compilation of the time zone input file when the range of years are incorrect , type:
zic -v timezone.infile
7. To compile a timezone.infile file that contains input time zone information using the yearistype file specified with -y flag to check year types, type:
zic -y year timezone.infile
Exit Status
0 >0 The command completed successfully. An error occurred.
Files
/usr/sbin/yearistype /usr/sbin/zic /usr/share/lib/zoneinfo Contains the yearistype command used to check year types. Contains the SystemV zic command. Standard directory used for files create by the zic command.
Related Information
The zdump command.
274
275
276
Network Computing System (NCS) v Files and Directories Directories Editors Files File Contents Text Formatting Text Formatting Macro Packages v General Operations Devices and Terminals Documentation and Education File Systems Games
iFOR/LS Logical Volumes Network Installation Management (NIM) Numerical Data Performance Tuning Processes and Commands Queues Screen Output
Security and System Access Shells System Accounting and Statistics acct/* Commands System Resources Software Installation User Interface Macros v Programming Tools
Copyright IBM Corp. 1997, 2010
277
278
Provides periodic information on the status of BNU file transfers. uudemon.cleanu Cleans up BNU spooling directories and log files. uudemon.hour Initiates file transport calls to remote systems using the BNU program. uudemon.poll Polls the systems listed in the BNU Poll file. uuid_gen Generates Universal Unique Identifiers (UUIDs) for objects, types, and interfaces. uuencode Encodes or decodes a binary file for transmission using electronic mail. uukick Uses debugging mode to contact a specified remote system. uulog Provides information about BNU file-transfer activities on a system. uuname Provides information about other systems accessible to the local system. uupick Completes the transfer and handles files sent by the uuto command. uupoll Forces a poll of a remote BNU system. uuq Displays the BNU job queue and deletes specified jobs from the queue. uusched Schedules work for the Basic Networking Utilities (BNU) file transport program. uusend Sends a file to a remote host. uusnap Displays the status of BNU contacts with remote systems. uustat Reports the status of and provides limited control over BNU operations. uuto Copies files from one system to another. uutry Contacts a specified remote system with debugging turned on and allows the user to override the default retry time. Uutry Contacts a specified remote system with debugging turned on and saves the debugging output in a temporary file. uux Runs a command on another UNIX-based system. uuxqt Executes Basic Networking Utilities (BNU) remote command requests.
279
280
Displays statistics about mail traffic. mailx Sends and receives mail. newaliases Builds a new copy of the alias database from the /etc/aliases file. pop3d Starts the Post Office Protocol Version 3 (POP3) server process. rmail Handles remote mail received through Basic Networking Utilities (BNU). sendmail Routes mail for local or network delivery. smdemon.cleanu Cleans up the sendmail queue for periodic housekeeping. xget Receives secret mail in a secure communication channel. xsend Sends secret mail in a secure communication channel.
281
Sends or receives mail. mhpath Prints full path names of messages and folders. msgchk Checks for messages. msh Creates an MH shell. next Shows the next message. packf Compresses the contents of a folder into a file. pick Selects messages by content, and creates and modifies sequences. post Routes a message. prev Shows the previous message. prompter Invokes a prompting editor. rcvdist Sends a copy of incoming messages to additional recipients. rcvpack Saves incoming messages in a packed file. rcvstore Incorporates new mail from standard input into a folder. rcvtty Notifies the user of incoming messages. refile Moves files between folders. repl Replies to a message. rmf Removes folders and the messages they contain. rmm Removes messages from active status. scan Produces a one line per message scan listing. send Sends a message. sendbug Mails a system bug report to a specified address. show Shows messages. slocal Processes incoming mail. sortm Sorts messages. spost Routes a message. vmh Invokes a visual interface for use with MH commands. whatnow Invokes a prompting interface for draft disposition. whom Manipulates Message Handler (MH) addresses.
282
283
rup Shows the status of a remote host on the local network. rusers Reports a list of users logged in remote machines. rusersd Responds to queries from the rusers command. rwall Sends messages to all users on the network. rwalld Handles requests from the rwall command. showmount Displays a list of all clients that have remotely mounted file systems. spray Sends a specified number of packets to a host and reports performance statistics. sprayd Receives packets sent by the spray command. statd Provides crash and recovery functions for the locking services on NFS.
284
mkkeyserv Uncomments the entry in the /etc/rc.nfs file for the keyserv daemon and invokes the daemon by using the startsrc command. mkmaster Invokes the ypinit command and starts the NIS daemons to configure a master server. mkslave Executes the ypinit command to retrieve maps from an NIS master server and starts the ypserv daemon to configure a slave server. mk_niscachemgr Uncomments the entry in the /etc/rc.nfs file for the nis_cachemgr daemon and invokes the daemon by using the startsrc command. mk_nisd Uncomments the entry in the /etc/rc.nfs file for the rpc.nisd daemon and invokes the daemon by using the startsrc command. mk_nispasswdd Uncomments the entry in the /etc/rc.nfs file for the rpc.nispasswdd daemon and invokes the daemon by using the startsrc command. newkey Creates a new key in the /etc/publickey file. nis_cachemgr Starts the NIS+ cache manager daemon.. nisaddcred Creates NIS+ credential information. nisaddent Creates NIS+ tables from corresponding /etc files or NIS maps. niscat Displays the contents of an NIS+ table. nischgrp Changes the group owner of a NIS+ object. nischmod Changes the access rights on a NIS+ object. nischown Changes the owner of one or more NIS+ objects or entries. nisclient Initializes NIS+ credentials for NIS+ principals. nisdefaults Displays the seven default values currently active in the namespace. niserror Displays NIS+ error messages. nisgrep Utility for searching NIS+ tables. nisgrpadm Creates, deletes, and performs miscellaneous administration operations on NIS+ groups. nisinit Initializes a workstation to be a NIS+ client. nisln Creates symbolic links between NIS+ objects and table entries. nislog The nislog command displays the contents of the transaction log. nisls Lists the contents of an NIS+ directory. nismatch
285
Utility for searching NIS+ tables. nismkdir Creates non-root NIS+ directories. nismkuser Creates a new NIS+ user account. nispopulate Populates the NIS+ tables in a NIS+ domain. nisrm Removes NIS+ objects from the namespace. nisrmdir Removes NIS+ objects from the namespace. nisrmuser Removes a NIS+ user account. nisserver Sets up NIS+ servers. nissetup Initializes an NIS+ domain. nisshowcache Prints out the contents of the shared cache file. nisstat Reports NIS+ server statistics. nistbladm Administers NIS+ tables. nistest Returns the state of the NIS+ namespace using a conditional expression. nisupdkeys Updates the public keys in NIS directory objects. revnetgroup Reverses the listing of users and hosts in network group files in NIS maps. rm_niscachemgr Stops the rpc.nisd daemon and comments the entry in the /etc/rc.nfs file. rm_nisd Stops the nis_cachemgr daemon and comments the entry in the /etc/rc.nfs file. rm_nispasswdd Stops the rpc.nispasswdd daemon and comments the entry in the /etc/rc.nfs file. rmkeyserv Stops the keyserv daemon and comments the entries for the keyserv daemon in the /etc/rc.nfs file. rmyp Removes the configuration for NIS. rpc.nispasswd NIS+ password update daemon. ypbind Enables client processes to bind, or connect, to an NIS server. ypcat Prints out an NIS map. ypinit Sets up NIS maps on an NIS server. ypmatch Displays the values of given keys within an NIS map. yppasswd
286
Changes your network password in NIS. yppasswdd Receives and executes requests from the yppasswd command. yppoll Displays the order number (ID number) of the NIS map currently in use on the server. yppush Prompts the NIS slave servers to copy updated NIS maps. ypserv Looks up information in local NIS maps. ypset Directs a client machine to a specific server. ypupdated Updates information in NIS maps. ypwhich Identifies either the NIS server or the server that is the master for a given map. ypxfr Transfers an NIS map from an NIS server to a local host.
287
288
mktcpip Sets the required values for starting TCP/IP on a host. named Provides the server function for the Domain Name Protocol. namerslv Directly manipulates domain name server entries for local resolver routines in the system configuration database. netstat Shows network status. nslookup Queries Internet domain name servers. ping Sends an echo request to a network host. rcp Transfers files between a local and a remote host or between two remote hosts. remsh Executes the specified command at the remote host or logs into the remote host. rexec Executes commands one at a time on a remote host. rexecd Provides the server function for the rexec command. rlogin Connects the local host with a remote host. rlogind Provides the server function for the rlogin command. rmnamsv Unconfigures TCP/IP-based name service on a host. rmprtsv Unconfigures a print service on a client or server machine. route Manually manipulates the routing tables. routed Manages network routing tables. rsh Executes the specified command at the remote host or logs into the remote host. rshd Provides the server function for remote command execution. ruptime Shows the status of each host on a network. ruser Directly manipulates entries in three separate system databases that control foreign host access to programs rwho Shows which users are logged in to hosts on the local network. rwhod Provides the server function for the rwho and ruptime commands. securetcpip Enables the operating system network security feature. setclock Sets the time and date for a host on a network. slattach Attaches serial lines as network interfaces. sliplogin
Appendix B. Functional List of Commands
289
Configures a standard-input terminal line as a Serial Line Internet Protocol (SLIP) link to a remote host. talk Converse with another user. talkd Provides the server function for the talk command. tcpdump Prints out packet headers. telinit Initializes and controls processes. telnet Connects the local host with a remote host using the TELNET interface. telnetd Provides the server function for the TELNET protocol. tftp Transfers files between hosts using the Trivial File Transfer Protocol (TFTP). tftpd Provides the server function for the Trivial File Transfer Protocol. timed Invokes the time server daemon at system startup time. timedc Returns information about the timed daemon. tn Connects the local host with a remote host using the TELNET interface. tn3270 Connects the local host with a remote host using the TELNET interface. traceroute Prints the route that IP packets take to a network host. trpt Performs protocol tracing on TCP sockets. utftp Transfers files between hosts using the Trivial File Transfer Protocol (TFTP).
290
Changes permission modes. chroot Changes the root directory of a command. delete Removes (unlinks) files or directories. dircmp Compares two directories and the contents of their common files. dirname Writes to standard output all but the last part of a specified path. dosdir Lists the directory for DOS files. fdformat Formats diskettes. ls Displays the contents of a directory. mkdir Creates one or more new directories. mvdir Moves (renames) a directory. pathchk Checks pathnames. pwd Displays the pathname of the working directory. rm Removes (unlinks) files or directories. rmdir Removes a directory. which_fileset Searches the /usr/lpp/bos/AIX_file_list file for a specified file name or command.
291
292
restore Copies previously backed-up file systems or files, created by the backup command, from a local device. rm Removes (unlinks) files or directories. rmvfs Removes entries in the /etc/vfs file. split Splits a file into pieces. sum Displays the checksum and block count of a file. tar Manipulates archives. tee Displays the output of a program and copies it into a file. touch Updates the access and modification times of a file. umask Displays or sets the file mode creation mask. unlink Performs an unlink subroutine.
293
Writes to standard output with tabs changed to spaces. fgrep Searches a file for a literal string. fold Folds long lines for finite-width output device. genxlt Generates a code set conversion table for use by the lconv library. grep Searches a file for a pattern. head Display the first few lines or bytes of a file or files. iconv Converts the encoding of characters from one code page encoding scheme to another. join Joins the data fields of two files. localedef Processes locales and character map files to produce a locale database. look Finds lines in a sorted file. more Displays continuous text one screen at a time on a display screen. paste Merges the lines of several files or subsequent lines in one file. pcat Unpacks files and writes them to standard output. pack Compresses files. page Displays continuous text one screen at a time on a display screen. rev Reverse characters in each line of a file. sdiff Compares two files and displays the differences in a side-by-side format. sort Sorts files, merges files that are already sorted, and checks files to determine if they have been sorted. spell Finds English-language spelling errors. spellin Creates a spelling list. spellout Verifies that a word is not in the spelling list. tab Changes spaces into tabs. tail Writes a file to standard output, beginning at a specified point. tr Translates characters. trbsd Translates characters (BSD version). tsort Sorts an unordered list of ordered pairs (a topological sort). uncompress
294
Compresses and expands data. unexpand Writes to standard output with tabs restored. uniq Deletes repeated lines in a file. unpack Expands files. untab Changes tabs into spaces. wc Counts the number of lines, words, and bytes in a file. what Displays identifying information in files. zcat Compresses and expands data.
295
Provides an interactive thesaurus. fmt Formats mail messages prior to sending. grap Typesets graphs to be processed by the pic command. greek Converts English-language output from a Teletype 37 workstation to output for other workstations. hp Handles special functions for the HP2640- and HP2621-series terminals. hplj Post-processes the troff command output for the HP LaserJet Series printers. hyphen Finds hyphenated words. ibm3812 Post-processes the troff command output for the 3818 Pageprinter and the 3812 Model 2 Pageprinter. ibm3816 Post-processes the troff command output for the 3816 Pageprinter and the 3812 Model 2 Pageprinter. ibm5587G Post-processes troff command output for the 5587G printer with the (32x32/24x24) cartridge installed. indxbib Builds an inverted index for a bibliography. lookbib Finds references in a bibliography. macref Produces cross-reference listing of macro files. makedev Creates binary description files suitable for reading by the troff command and its preprocessors. managefonts Provides the user with a simple menu-based interface to update or change the set of installed font families on the system. mant Typesets manual pages. mm Prints documents formatted with memorandum macros. mmt Typesets documents. mvt Typesets English-language view graphs and slides. ndx Creates a subject-page index for a document. neqn Formats mathematical text for the nroff command. newform Changes the format of a text file. nl Numbers lines in a file. nroff Formats text for printing on typewriter-like devices and line printers. pic
296
Preprocesses troff command input for the purpose of drawing pictures. proff Formats text for printers with personal printer data streams. ps630 Converts Diablo 630 print files to PostScript format. ps4014 Converts a Tektronix 4014 files to PostScript format. psc Converts troff intermediate format to PostScript format. psdit Converts troff intermediate format to PostScript format. psplot Converts files in plot format to PostScript format. psrev Reverses the page order of a PostScript file and selects a page range for printing. psroff Converts files from troff format to PostScript format. ptx Generates a permuted index. refer Finds and inserts literature references in documents. roffbib Prints a bibliographic database. soelim Processes .so requests in nroff command files. sortbib Sorts a bibliographic database. spell Finds English-language spelling errors. spellin Creates a spelling list. spellout Verifies that a word is not in the spelling list. style Analyzes surface characteristics of a document. subj Generates a list of subjects from a document. tbl Formats tables for the nroff and troff commands. tc Interprets text in the troff command output for the Tektronix 4015 system. troff Formats text for printing on typesetting devices. ul Performs underlining. vgrind Formats listings of programs that are easy to read. xpreview Displays troff files on an X display.
297
298
Converts the ASCII form of the /etc/qconfig file into the /etc/qconfig.bin file, a binary version of the queue configuration used by the qdaemon command. dscreen Starts the Dynamic Screen utility. enable Enables a printer queue fdformat Formats diskettes. flcopy Copies to and from diskettes. fold Folds long lines for finite-width output device. format Formats diskettes. getty Sets the characteristics of ports. hplj Post-processes the troff command output for the HP LaserJet Series printers. ibm3812 Post-processes the troff command output for the 3816 Pageprinter and the 3812 Model 2 Pageprinter. ibm3816 Post-processes the troff command output for the 3816 Pageprinter and the 3812 Model 2 Pageprinter. ibm5587G Post-processes troff command output for the 5587G printer with the (32x32/24x24) cartridge installed. iconv Converts the encoding of characters from one code page encoding scheme to another. infocmp Manages terminfo descriptions. iostat Reports Central Processing Unit (CPU) statistics and input/output statistics for tty, disks, and CD-ROMs. keycomp Compiles a keyboard mapping file into an input method keymap file. lp Sends requests to a line printer. lpr Enqueues print jobs. lpstat Displays line printer status information. lptest Generates the line printer ripple pattern. lsattr Displays attribute characteristics and possible values of attributes for devices in the system. lscfg Displays diagnostic information about a device. lsconn Displays the connections a given device, or kind of device, can accept. lscons
299
Writes the name of the console device to standard output. lsdev Displays devices in the system and their characteristics. lsdisp Lists the displays currently available on the system. lsfont Lists the fonts available for use by the display. lskbd Lists the keyboard maps currently available to the Low Function Terminal (LFT) subsystem. lsparent Displays the possible parent devices that accept a specified connection type or device. mkdev Adds a device to the system. mkfont Adds the font code associated with a display to the system. mknod Creates a special file. mt (BSD) Gives subcommands to streaming tape device. panel20 Diagnoses activity between an HIA and the 5080 Control Unit. pdelay Enables or reports the availability of delayed login ports. pdisable Disables login ports. penable Enables or reports the availability of login ports. phold Disables or reports the availability of login ports on hold. pioattred Provides a way to format and edit attributes in a virtual printer. piobe Print job manager for the printer backend. pioburst Generates burst pages (header and trailer pages) for printer output. piocnvt Expands or contracts a predefined definition or virtual printer definition. piodigest Digests attribute values for a virtual printer definition into memory image and stores the memory image in a file. piofontin Copies fonts from a multilingual font diskette. pioformat Drives a printer formatter. piofquote Converts certain control characters destined for PostScript printers. pioout Printer backends device driver interface program. piopredef Creates a predefined printer data stream definition. portmir
300
Allows one TTY stream (monitor) to attach to another TTY stream (target) and monitor the user session that is taking place on that stream. pr Writes a file to standard output. pshare Enables or reports the availability of shared login ports. pstart Enables or reports the availability of login ports (normal, shared, and delayed). pstat Interprets the contents of the various system tables and writes it to standard output. reset Initializes terminals. rmdev Removes a device from the system. rmt Allows remote access to magnetic tape devices. script Makes a typescript of a terminal session. setmaps Sets terminal maps or code setmaps. splp Changes or displays printer driver settings. stty Sets, resets, and reports workstation operating parameters. stty-cxma Sends and reports the terminal options for 128-port asynchronous controllers. swapon Specifies additional devices for paging and swapping. swcons Redirects, temporarily, the system console output to a specified device or file. sysdumpdev Changes the primary or secondary dump device designation in a running system. tabs Sets tab stops on terminals. tapechk Performs consistency checking of the streaming tape device. tcopy Copies a magnetic tape. tctl Gives commands to a streaming tape device. termdef Queries terminal characteristics. tput Queries the terminal descriptor files in the terminfo database. tset Initializes terminals. tsm Provides terminal state management. tty Writes to standard output the full pathname of your terminal.
Appendix B. Functional List of Commands
301
302
Makes a file system. mklost+found Creates a lost and found directory for the fsck command. mkproto Constructs a prototype file system. mount Makes a file system available for use. ncheck Generates path names from i-node numbers. proto Constructs a prototype file for a file system. rmfs Removes a file system, any logical volume on which it resides, and the associated stanza in the /etc/filesystems file. rrestore Copies previously backed up file systems from a remote machines device to the local machine. skulker Cleans up file systems by removing unwanted files. umount Unmounts a previously mounted file system, directory, or file. unmount Unmounts a previously mounted file system, directory, or file. update Periodically updates the super block.
303
304
mklvcopy Provides copies of data within the logical volume. mkvg Creates a volume group. mkvgdata Creates a file containing information about a volume group for use by the savevg and restvg commands. redefinevg Redefines the set of physical volumes of the given volume group in the device configuration database. reducevg Removes physical volumes from a volume group. reorgvg Reorganizes the physical partition allocation for a volume group. restvg Restores the user volume group and all it containers and files, as specified in the /tmp/vgdata/vgname/vgname.data file contained within the backup image created by the savevg command. rmlv Removes logical volumes from a volume group. rmlvcopy Removes copies from a logical volume. savevg Finds and backs up all file belonging to a specified volume group. synclvodm Synchronizes or rebuilds the logical volume control block, the device configuration database, and the volume group descriptor areas on the physical volumes. syncvg Synchronizes logical volume copies that are not current. unmirrorvg Removes the mirrors that exist on volume groups or specified disks. varyoffvg Deactivates a volume group. varyonvg Activates a volume group.
305
306
307
piomgpdev piomkapqd piomkpq piomsg qadm qcan qchk qdaemon qhld qmov qpri qprt qstatus rembak rmprtsv rmque rmquedev rmvirprt
Manages printer pseudo-devices. Builds a SMIT dialog to create print queues and printers. Creates a printer queue. Sends a printer backend message to the user. Performs system administration functions for the print spooling system. Cancels a print job. Displays the status of a print queue. Schedules jobs enqueued by the enq command. Holds a spooled print job. Moves spooled print jobs to another queue. Prioritizes a job in the print queue. Starts a print job. Provides printer status for the printer spooling system. Sends a print job to a queue on a remote server. Unconfigures a print service on a client or server machine. Removes a printer queue from the system. Removes a printer or plotter queue device from the system. Removes a virtual printer.
308
groups grpck last lastlogin lssec lock login logname logout lsgroup lslicense lsrole lsuser makekey mkgroup mkpasswd mkrole mkuser mkuser.sys newgrp nulladm passwd pwdadm pwdck rmgroup rmrole rmuser Rsh setgroups setsenv shell su sysck tcbck usrck xss
Displays group membership. Verifies the correctness of a group definition. Displays information about previous logins. Updates the /var/adm/acct/sum/loginlog file to show the last date each user logged in. Lists the attributes in the security stanza files. Reserves a terminal. Initiates a user session. Displays login name. Stops all processes on a port. Displays the attributes of groups. Displays the maximum number of users that can be logged in concurrently. Displays role attributes. Displays attributes of user accounts. Generates an encryption key. Creates a new group. Creates a hashed look-aside version of the user database. Creates new roles. Creates a new user account. Customizes a new user account. Changes your primary group identification. Creates active accounting data files. Changes a users password. Administers users passwords. Verifies the correctness of local authentication information. Removes a group. Removes a role. Removes a user account. Invokes the restricted version of the Bourne shell. Resets the supplementary group ID for the session. Resets the protected state environment of a user. Executes a shell with the users default credentials and environment. Changes the user ID associated with a session. Checks the inventory information during installation and update procedures. Audits the security state of the system. Verifies the correctness of a user definition. Improves the security of unattended workstations.
309
line patch read rsh Rsh sh shell tee test true tsh type ulimit unalias xargs yes
Reads one line from the standard input. Applies changes to files. Reads one line from standard input. Executes the specified command at the remote host or logs into the remote host. Invokes the restricted version of the Bourne shell. Invokes the default shell. Executes a shell with the users default credentials and environment. Displays the output of a program and copies it into a file. Evaluates conditional expressions. Returns an exit value of zero (true) or a nonzero exit value (false). Interprets commands in a trusted shell. Writes a description of the command type. Sets or reports user resource limits. Removes alias definitions. Constructs argument lists and runs commands. Outputs an affirmative response repetitively.
310
syslogd tput uname uptime users (BSD) vmstat w watch who whoami whois
Logs system messages. Queries the terminal descriptor files in the terminfo database, Displays the name of the current operating system. Shows how long the system has been up. Displays a compact list of users currently on the system. Reports virtual memory statistics. Prints a summary of current system activity. Observes a program that may be untrustworthy. Identifies the users currently logged in. Displays your login name. Identifies a user by user ID or alias.
acct/* Commands
ac acctcms acctcom acctcon1 acctcon2 acctdisk acctdusg acctmerg acctprc1 acctprc2 accton acctwtmp chargefee ckpacct diskusg dodisk fwtmp lastlogin monacct nulladm prctmp prdaily prtacct remove runacct shutacct startup turnacct wtmpfix Prints connect-time records. Produces command usage summaries from accounting records. Displays selected process accounting record summaries. Performs connect-time accounting. Performs connect-time accounting. Performs disk-usage accounting. Performs disk-usage accounting. Merges total accounting files into an intermediary file or a daily report. Performs process-accounting procedures. Performs process-accounting procedures. Performs process-accounting procedures. Manipulates connect-time accounting records to change formats and to make corrections in the records. Charges users for the computer resources they use. Checks data file size for process accounting. Generates disk accounting data by user ID. Initiates disk-usage accounting. Manipulates connect-time accounting records to change formats and to make corrections in the records. Reports the last login date for each user on the system. Performs monthly or periodic accounting. Creates active accounting data files. Displays session record files. Creates an ASCII report of the previous days accounting data. Formats and displays files in tacct format. Deletes files from var/adm/acct subdirectories. Runs daily accounting. Turns off processing accounting. Turns on accounting functions at system startup. Provides an interface to the accton command to turn process accounting on or off. Manipulates connect-time accounting records to change formats and to make corrections in the records.
311
lsps lssrc mknotify mkps mkserver mkssys pack pagesize pcat rmnotify rmps rmserver rmssys srcmstr startsrc stopsrc swapon tracesoff traceson uncompress zcat
Displays the characteristics of paging spaces. Gets status of a subsystem, a group of subsystems, or a subserver. Adds a notify method definition to the Notify object class. Add an additional paging space to the system. Adds a subserver definition to the subserver object class. Adds a subsystem definition to the subsystem object class. Compresses files. Displays the system page size. Unpacks files and writes them to standard output. Removes a notify method definition from the Notify object class. Removes a paging space from the system along with any logical volume on which it resides. Removes a subserver definition from the Subserver Type object class. Removes a subsystem definition from the subsystem object class. Starts the System Resource Controller. Starts a subsystem, a group of subsystems, or a subserver. Stops a subsystem, a group of subsystems, or a subserver. Specifies additional devices for paging and swapping. Turns off tracing of a subsystem, a group of subsystems, or a subserver. Turns on tracing of a subsystem, a group of subsystems, or subserver. Compresses and expands data. Compresses and expands data.
312
Enhanced X-Windows:
addX11input aixterm bdftopcf deleteX11input listX11input mkfontdir resize rgb startx uil X xauth xclock xcmsdb xdm xfs xhost xinit (Enhanced X-Windows) xinit (X11R5) xlock xlsfonts xmodmap xpr xrdb xset (X-Windows) xsetroot xterm xwd xwud Adds an X11 input extension record into the ODM database. Initializes an Enhanced X-Windows terminal emulator. A font compiler that converts fonts from Bitmap Distribution format to Portable Compiled format. Deletes an X11 input extension record from the ODM database. Lists X11 input extension records entered into the ODM database. Creates a fonts.dir file from a directory of font files. Sets the TERMCAP environment variable and terminal settings to the current window size. Reads lines from standard input and inserts them into a database to associate color names with specific rgb values. Initializes an X session. Starts the User Interface Language Compiler for the AIXwindows system. Starts the X Server. Edits and displays the authorization information used in connecting to the X server. Continuously displays the current time of day. Loads, queries, or removes Screen Color Characterization Data stored in properties on the root window of the screen. X Display Manager with support for XDMCP. Supplies fonts to X Window System display servers. Controls who can have access to Enhanced X-Windows on the current host machine. Initializes the X Window System. Locks the local X display until a password is entered. Displays the font list for X. Modifies keymaps in the X server. Formats a window dump file for output to a printer. Performs X server resource database utilities. Sets options for your X-Windows environment. The root window parameter setting utility for the x command. Provides a terminal emulator for the X Window System. Dumps the image of an Enhanced X-Window. Retrieves the dumped image of an Enhanced X-Windows window.
313
clnt_call clnt_control clnt_destroy clnt_freeres clnt_geterr DTOM del_netopt feof, ferror, clearerr, orfileno M_HASCL MTOCL MTOD M_XMEMD man m_copy m_clget me m_getclust mm mptx ms mv svc_destroy svc_freeargs svc_getargs svc_getcaller varargs xdr_destroy xdr_getpos xdr_inline xdr_setpos
Calls the remote procedure associated with the clnt parameter. Changes or retrieves various information about a client object. Destroys the clients RPC handle. Frees data that was allocated by the RPC/XDR system. Copies error information from a client handle. Converts an address anywhere within an mbuf structure to the head of that mbuf structure. Deletes a network option structure from the list of network options. Checks the status of a stream. Determines if an mbuf structure has an attached cluster. Converts a pointer to an mbuf structure to a pointer to the head of an attached cluster. Converts a pointer to an mbuf structure to a pointer to the data stored in the mbuf structure. Returns the address of an mbuf cross-memory descriptor. Provides a formatting facility for manual pages. Creates a copy of all or part of a list of mbuf structures. Allocates a page-sized mbuf structure cluster. Provides a formatting facility for creating technical papers in various styles. Allocates an mbuf structure from the mbuf buffer pool and attaches a page-sized cluster. Provides a formatting facility for business documents such as memos, letters, and reports. Formats a permuted index produced by the ptx command. Provides a formatting facility for various styles of articles, theses, and books. Simplifies typesetting of view graphs and projection slides. Destroys a Remote Procedure Call (RPC) service transport handle. Frees data allocated by the RPC/XDR system. Decodes the arguments of an RPC request. Gets the network address of the caller of a procedure. Handles a variable-length parameter list. Destroys the XDR stream pointed to by the xdrs parameter. Returns an unsigned integer that describes the current position in the data stream. Returns a pointer to the buffer of a stream pointed to by the xdrs parameter Changes the current position in the XDR stream.
314
315
cdc Changes the comments in a SCCS delta. comb Combines SCCS deltas. ctags Makes a file of tags to help locate objects in source files. delta Creates a delta in a SCCS file. get Creates a specified version of a SCCS file. prs Displays a Source Code Control System (SCCS) file. rmdel Removes a delta from a SCCS file. sact Displays current SCCS file-editing status. sccs Administration program for SCCS commands. sccsdiff Compares two versions of a SCCS file. sccshelp Provides information about a SCCS message or command. unget Cancels a previous get command. unifdef val vc vgrind whereis Locates source, binary, or manual for program. which Locates a program file, including aliases and paths (the csh (C shell) command only). Removes ifdefed lines from a file. Validates SCCS files. Substitutes assigned values for identification keywords. Formats listings of programs that are easy to read.
316
Finds the printable strings in an object or binary file. strip Reduces the size of an Extended Common Object File Format (XCOFF) object file by removing information used by the binder and symbolic debug program.
xstr yacc
317
FORTRAN:
asa Prints FORTRAN files. fpr Prints FORTRAN files. fsplit Splits FORTRAN source code into separate routine files. struct Translates a FORTRAN program into a RATFOR program.
318
Appendix C. Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the users responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Corporation Dept. LRAS/Bldg. 003 11400 Burnet Road Austin, TX 78758-3498 U.S.A. Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us. For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:
319
IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrates programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy, modify, and distribute these sample programs in any form without payment to IBM for the purposes of developing, using, marketing, or distributing application programs conforming to IBMs application programming interfaces. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at Copyright and trademark information at www.ibm.com/legal/copytrade.shtml Java and all Java-based trademarks and logos are registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.
320
PostScript Other company, product, or service names may be the trademarks or service marks of others.
Appendix C. Notices
321
322
Index A
accounting system correcting format problems 128 acct/* commands 311 add entries to product, lpp, history databases using vpdadd command 63 vendor databases using vpdadd command 63 aliases locating 92 argument lists constructing using xargs command 145 ARPANET user of whois command 100 assemblers functional list of commands 318 ATE program functional list of commands 278 transferring files with xmodem 186 xmodem command 186 authorization information editing and displaying using xauth command 148 commands (continued) vsdnode 71 vsdsklst 72 w 78 wall 80 wallevent 80 who 94 wlmassign 103 wlmcntrl 106 wlmmon 109 wlmperf 109 wlmstat 113 wsm 124 wsmaccess 125 xargs 145 xdm 154 xmbind 183 xmodmap 188 xntpdc 197 xterm 222 ypcat 253 ypinit 254 yppasswd 257 yppoll 260 yppush 261 ypset 263 ypwhich 265 ypxfr 267 communication channel receiving mail in a secure using xget command 171 sending mail in a secure using xsend command 214 communications facilities functional list of commands 280 compilers functional list of commands 318 configuring virtual key bindings using xmbind command 183 connecting to NIS server using ypbind daemon 252
B
binding to NIS server using ypbind daemon 252 bindings configures virtual key using xmbind command 183 BNU functional list of commands 278
C
characters counting the number of using wc command 84 client machine directing to a specific server using ypset command 263 command X 130 command lines running using xargs command 145 commands event response resource manager (ERRM) wallevent 80 vacation 1 vpdadd 63 vsdchgserver 67 vsdelnode 68
Copyright IBM Corp. 1997, 2010
D
daemons ypbind 252 yppasswdd 258 ypserv 262 ypupdated 264 debuggers functional list of commands 315 devices functional list of commands for 298 directing a client machine to specific server using ypset command 263
323
directories functional list of commands 290 documentation functional list of commands for 302 dump file formatting for printer output using xpr command 204
H
help describing command functions 87 host machine controlling access using xhost command 173
E
editors functional list of commands 291 education functional list of commands for 302 emulations xterm command 222 ERRM commands elogevent 80 ERRM scripts wallevent 80 event response resource manager (ERRM) commands wallevent 80 scripts wallevent 80
I
ID number, displaying of NIS map using yppoll command 260 idcmds 280, 283, 287, 302, 306, 307, 308 identifying server for a given map, master using ypwhich command 265 image displaying using xwud command 247 dumping using xwd command 246 retrieving using xwud command 247
K F
file contents functional list of commands 293 file systems functional list of commands for 302 files compression 270 executable locating 92 expansion 269 functional list of commands 292 locating sections 91 SCCS displaying identifying information 85 validating 3 font directories adding 143 font path element removing 144 font servers adding 142 fonts supplying to X Window display servers 169 key bindings configures virtual using xmbind command 183 keymaps modifying using xmodmap command 188 keywords SCCS substituting values 8
L
lines counting the number of using wc command 84 locking X display until password is entered using xlock command 180 logged in, users identifying using who command 94 logical volume functional list of commands 304 looks up information in NIS maps using ypserv daemon 262
G
games functional list of commands hunt the wumpus 129 303
M
macros functional list of 313 text formatting 298 mail receiving in a securing communication channel using xget command 171
324
mail (continued) sending in a secure communication channel using xsend command 214 sending vacation message using vacation command 1 managing a collection of X displays with support for XDMCP using xdm command 154 map nickname table displaying using ypwhich command 265 master server identifying for a given map using ypwhich command 265 memory management reporting virtual memory statistics 54 messages functional list of commands 315 listing the addresses of recipients of using whom command 101 prompting for the disposition of using whatnow command 88 receiving from a remote system using writesrv command 123 sending from a remote system using writesrv command 123 sending to other users using write command 119 verifying the addresses of recipients of using whom command 101 writing to all users using wall command 80 MH functional list of commands 281 MH commands invoking a visual interface for use with using vmh command 30
NIS commands (continued) yppoll 260 yppush 261 ypset 263 ypwhich 265 ypxfr 267 NIS daemons ypbind 252 yppasswdd 258 ypserv 262 ypupdated 264 NIS maps displaying ID number using yppoll command 260 finds information in using ypserv daemon 262 printing using ypcat command 253 prompting NIS slave servers to copy using yppush command 261 sets up on NIS server 254 transfers to an NIS server using ypxfr command 267 updating using ypupdated daemon 264 using ypinit command 254 NIS network password changing using yppasswd command 257 NIS server binding to using ypbind daemon 252 sets up NIS maps on 254 transfers NIS map to using ypxfr command 267 using ypinit command 254 numerical data functional list of commands for 306
N
NCS commands functional list 290 network information service 252 network manager functional list of commands 287 network password changing in NIS using yppasswd command 257 Network Time Protocol command xntpd 194 Network Time Protocol daemon starting xntpdc using xntpdc command 197 NFS commands functional list 283 NIS commands functional list 284 ypcat 253 ypinit 254 ypmatch 256 yppasswd 257
O
object files functional list of commands 316 ODM (Object Data Manager) functional list of commands 318 order number, displaying of NIS map using yppoll command 260
P
parameter lists constructing using xargs command 145 parser creating with the yacc command 249 path names executable files finding 92 performance tuning functional list of commands 306
Index
325
printing activity summary using w command 78 NIS maps using ypcat command 253 process suspension suspending execution 79 processes functional list of commands 307 program monitoring using watch command 82 program listing formatting using vgrind command 10 programming languages functional list of commands Assembler 318 C 317 FORTRAN 318 miscellaneous 317 programs creating a Makefile from an Imakefile
184
Q
query/control program, starting for xntpdc daemon using xntpdc command 197 queue functional list of commands for 307
R
realtime messages sending to other users using write command 119 receives and executes requests from the yppasswd command using yppasswdd daemon 258 repetitive responses generating 251 resource database performing utilities for X server using xrdb command 211
screen color characterization data (continued) queries using xcmsdb command 153 removing from root window using xcmsdb command 153 screen lock controlling using xss Command 219 screen output functional list of commands 308 scripts event response resource manager (ERRM) wallevent 80 wallevent 80 security functional list of commands 308 locking workstation screens using xss Command 219 shell scripts repetitive responses generating 251 shells locating executable files in C 92 slave servers, NIS prompting to copy NIS maps using yppush command 261 software installation functional list of commands 312, 313 source programs functional list of commands 315 STREAMS commands functional list 287 strings, shared using xstr command 220 system printing a summary of activity for the using w command 78 system access 309 functional list of commands 308 system accounting functional list of commands 310 system resources functional list of commands 311 system statistics functional list of commands 310
S
SCCS files displaying identifying information validating 3 keywords substituting values 8 SCCS commands val 3 vc 8 what 85 screen color characterization data loading from root window using xcmsdb command 153 85
T
TCP/IP commands functional list 288 terminal emulator providing for X Window System using the xterm Command 222 terminals functional list of commands for 298 text formatting functional list of commands 295 list of macro packages 298 time displaying the current using xclock command 151
326
U
updating NIS maps using ypupdated daemon 264 user name directory searching for ID using whois command 100 searching for nickname using whois command 100 users displaying login name 97 identifying those logged in using who command 94 writing messages to all using wall command 80
W
w command 78 wall command 80 wallevent command 80 wallevent script 80 watch command 82 wc command 84 whatis command 87 whatnow command 88 which_fileset command 93 who command 94 whodo command 98 whois command ARPANET use on 100 description of 100 example of 100 WLM analyzing 109 wlmassign command 103 wlmcheck command 105 wlmcntrl command 106 wlmmon 109 wlmperf 109 wlmstat command 113 wol command 118 words counting the number of using wc command 84 Workload Manager see WLM 109 workstation screens locking using xss Command 219 write command 119 writesrv command 123 wsm 124 wsmaccess 125 wtmpfix command 128
V
vacation command 1 vacation message sends to mail recipient using vacation command 1 varyoffvg command 4 varyonvg command 5 vgrind command 10 vi command 12 limitations 13 vi editor command mode 13 customizing 14 defining macros 17 interrupting and ending 29 last line mode 13 mapping keys 18 procedures scrolling 24 scrolling 24 set command using 14 starting 30 subcommands 23 text input mode 13 view command 30 virtual key bindings configuring using xmbind command 183 virtual memory reporting statistics 54 vmh command 30 vmo command 32 volume group activating using varyonvg command 5 deactivating using varyoffvg command 4 vpdadd command 63 vsdchgserver command 67 vsdelnode command 68 vsdnode command 71 vsdsklst command 72
X
x command 130 X display displaying troff files on using xpreview command 206 locking until password is entered using xlock command 180 X displays managing a collection of using xdm command 154 X Server modifying keymaps in using xmodmap command 188 starting using X command 130 x_add_fs_fpe command 142 x_add_nfs_fpe command 143 x_rm_fpe command 144
Index
327
X-Windows setting environment options 215 setting root window parameters 218 xargs command 145 xauth command 148 xclock command 151 setting the defaults 152 xcmsdb Command 153 xdm command 154 XDMCP manages collection of X displays supporting using xdm command 154 xfs command 169 xget command 171 xhost command 173 xinit command 174 xlock command 180 xlsfonts command 182 xmbind command 183 xmodem command 186 xmodem protocol 186 xmodmap command 188 xmpeek command 190 xmscheck command 192 xmtopas command 193 xmwlm command 185 xntpd daemon 194 xntpdc command 197 xpr command 204 xpreview command 206 xprofiler 209 xrdb command 211 xsend command 214 xsetroot command 218 xss Command 219 xstr command 220 xterm command 222 actions 235 bugs 239 character classes 234 control sequences definitions 239 VT100 Mode 240 xterm description limitation 245 emulations 222 environment 239 menus 233 mouse tracking 245 pointer usage 232 providing terminal emulation for X Windows system 222 resources 227 security 234 xwd command 246 xwud command 247
ypinit command 254 ypmatch command 256 yppasswd command 257 receives and executes requests from using yppasswdd daemon 258 yppasswdd daemon 258 yppoll command 260 yppush command 261 slave servers, NIS prompting to copy NIS maps 261 ypserv daemon 262 ypset command 263 ypupdated daemon 264 ypwhich command 265 ypxfr command 267
Z
zcat command 269 zdump command 270 zic command 271
Y
yacc command 249 ypbind daemon 252 ypcat command 253
328
Thank you for your support. Submit your comments using one of these channels: v Send your comments to the address on the reverse side of this form. v Send your comments via e-mail to: pserinfo@us.ibm.com If you would like a response from IBM, please fill in the following information:
Address
E-mail address
___________________________________________________________________________________________________
Tape do not Fold and _ _ _ _ _ _ _Fold _ _ _and ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please _____ __ _ _ staple _____________________________ ___ _ _ Tape ______ NO POSTAGE NECESSARY IF MAILED IN THE UNITED STATES
IBM Corporation Information Development Department 04XA-905-6B013 11501 Burnet Road Austin, TX 78758-3400
_________________________________________________________________________________________ Fold and Tape Please do not staple Fold and Tape
SC23-4893-07
Printed in U.S.A.
SC23-4893-07