Manual Reference Pages - XFTP (1)
LLNL XFTP - an X-based interface to FTP
LLNL XFTP is a graphical user interface to FTP (File Transfer Protocol). LLNL XFTP does not execute the ftp program; instead, it directly communicates with remote FTP servers. LLNL XFTP is an X client and follows the OSF/Motif look-and-feel. LLNL XFTP enables users to transfer files and perform various directory manipulation commands, both remotely and locally. Two especially notable features are the ability to (1) perform "third-party" file transfers, and (2) transfer or delete entire directory substructures.
LLNL XFTPs main window is divided into five main sections: (1) the main menu bar at the top of the window, (2) the diagnostics log at the bottom, (3) the file transfer controls in the center, and (4 and 5) the "left" and "right" host sections to either side of the file transfer controls.
LLNL XFTP can be connected to zero, one, or two hosts. The hosts may be any combination of local and remote hosts (the local host is the client host upon which LLNL XFTP is running). In this document, a connected host is referred to as either the "left" or "right" host, depending on whether it is displayed in the left or right host section, respectively.
Each host section consists of four major graphical elements: (1) a label which displays the hosts name; (2) a menu bar whose menus contain many commands that operate on the host; (3) a "directory" menu; and (4) a scrollable "directory list."
Each hosts Connect menu contains commands for connecting/disconnecting local and remote hosts.
Each hosts Dir menu contains various commands for creating new directories, and for changing and displaying the current directory.
Each hosts Select menu contains commands for selecting/deselecting entries in the current directory (the selections appear in the scrollable list of directory entries).
Each hosts Ops menu contains several commands that operate on selected directory entries.
Each hosts directory menu contains each link of the path of the current directory (the last link is displayed). By selecting a link in the path, the current directory is correspondingly changed. (Hence, this is a mechanism to traverse up the hosts directory structure.)
Each hosts directory list contains the entries of the current directory. One way to select/deselect a directory entry is to click on it. If an entry is double-clicked, an attempt is made to change the current directory to that entry. (Hence, this is a way to traverse down the hosts directory structure.)
The file transfer controls in the middle of the main window allow the user to initiate file transfers on selected entries. The transfers can go from left to right or from right to left. Angle brackets in the Copy and Rcopy buttons indicate the direction of the transfer (e.g., ">>Copy>>" indicates that a left-to-right transfer would take place). The View button causes the selected file to be displayed.
The scrollable diagnostics log window at the bottom of the main window displays error and status information. The user can control the level of verbosity of messages written to this window via the user preference Diagnostics. The contents of this window can be saved to a file by selecting the Save Log item in the Log menu. The diagnostics window can be cleared by selecting the Clear Log item in the Log menu.
There is a flag to the left of the diagnostics log window that indicates whether an operation completes successfully or not. If an operation fails then (1) a beep is emitted, (2) the flag changes from green to red (white to black on monochrome displays), (3) the "OK" in the flag changes to "E", and (4) an error message is written to the diagnostic log window. The next operation will clear the error flag.
LLNL XFTP automatically caches (1) wildcard expressions, (2) paths of current directories, (3) host names and user names used in connecting to remote hosts, and (4) quoted commands. The purpose of each cache is to reduce the amount of typing required. For example, when the user wishes to apply a wildcard expression to select directory entries, a list of recently referenced wildcard expressions for that host will be presented to the user; the user can then double-click on an existing wildcard expression to apply it. The cache is automatically preserved across LLNL XFTP sessions in a file named ".xftpcache" in the users home directory.
LLNL XFTP accepts all of the standard X Toolkit command line options, as well as the following option:
Force LLNL XFTP to use a nice color scheme, even if the application defaults file, XFtp, is not found.
Use the Connect menus to connect the two sides to the desired combination of local and/or remote hosts. (Depending on how the user preferences are set, when LLNL XFTP comes up some combination of the left and right sides might already be connected to the local host.)
Once connected, traverse through a hosts directory structure by (1) using the directory name menu (the menu just above the directory list), (2) double-clicking on entries in the directory list, (3) selecting an item in the Go to Previous Directory submenu in the hosts Dir menu, or (4) selecting the Change Directory item in the hosts Dir menu.
Obtain different types of views into a hosts current directory by selecting the Display Directory (Long) or Display Directory (Table) items in the hosts Dir menu.
Select/deselect directory entries to operate on by (1) single-clicking on entries in the main directory list, (2) single-clicking on entries in the tabular directory list, (3) dragging the mouse with the left button held down over entries in the tabular directory list, or (4) by selecting any of the items in the hosts Select menu.
Transfer selected items by clicking on the Copy or Rcopy (recursive copy) buttons. Be sure to first set the file transfer mode by toggling the appropriate button (ASCII or Binary) in the main window.
View a selected file by clicking on the View button. Configure the viewer by selecting item Viewer Preferences in the Options menu. Be sure to first set the file transfer mode by toggling the appropriate button (ASCII or Binary) in the main window.
Perform other types of operations on selected items by selecting any one of the items in the hosts Ops menu.
Configure LLNL XFTP by selecting the Preferences item in the Options menu.
LLNL XFTP contains a large number of commands. The commands are found in (1) the main menus, (2) the host menus, and (3) in the Xfer Ops controls. Here is a list of the commands:
About LLNL XFTP (in File menu)
Gives version information.
Change Directory (in Dir menus)
Change the current directory. A dialog pops up to prompt for the directory to change to. The directory may be specified with a full or relative path. Previously referenced directories are cached and displayed in a scrollable list. Double-click on a path in the list to change to that directory. Single click on a path in the list to place that entry into the text field labeled "Directory:", where it can be edited. Click on the OK button to change to the directory displayed in the text field. (See user preferences Add to Cache, Diagnostics, Directory Cache Size, Host Cache Size, and Sort Caches.)
Clear Log (in Log menu)
Clear the diagnostics log window.
Connect to Anonymous (in Connect menus)
Easily connect to an anonymous FTP site. If currently connected, the connection is first closed. A dialog pops up to prompt for the remote host, user name and password. The user name is initialized to "anonymous". The password is initialized to the value of the user preference Anonymous Ftp Password (which you will probably want to set to your email address). An optional port number may follow the host name (using a space as the delimiter).
Previously used host/user name pairs are cached, and those with user names "anonymous" or "ftp" are displayed in a scolled list labeled "Recently Referenced Hosts:". Double-clicking on a host/user name pair initiates a connection. Single-clicking on a host/user name pair places those values in to the host name and user name fields, where they can be edited. Click on the Connect button to initiate a connection. (See user preferences Add To Cache, Anonymous Ftp Password, Diagnostics, Host Cache Size, User Cache Size, and Sort Caches.)
Connect to Local (in Connect menus)
Connect to the local (client) host. If currently connected, the connection is first closed. (See user preferences Left Auto Local Login and Right Auto Local Login.)
Connect to Remote (in Connect menus)
Connect to a remote host (use Connect to Anonymous to more easily connect to an anonymous FTP site). If currently connected, the connection is first closed. A dialog pops up to prompt for the remote host and user names. The user name is initialized to the value of the environment variable USER. An optional port number may follow the host name (using a space as the delimiter). Previously used host/user name pairs are cached and those with user names other than "anonymous" and "ftp" displayed in a scolled list labeled "Recently Referenced Hosts:". Double-clicking on a host/user name pair initiates a connection. Single-clicking on a host/user name pair places those values into the host name and user name fields, where they can be edited. Click on the Connect button to initiate a connection. (See user preferences Add To Cache, Diagnostics, Host Cache Size, User Cache Size, and Sort Caches.)
Contextual Help (in Help menu)
Enter contextual-help mode. The mouse cursor changes to a pointing hand. Move the hand and click on any graphical element in the main window that you wish to know more about.
Copy (in Xfer Ops controls)
Transfers the selected files according to the mode (ASCII or Binary) specified in Xfer Mode. A dialog pops up to enable the user to monitor the progress of the transfers. The dialog contains a button for aborting the transfers. (See user preferences Beep When Ops Done, Diagnostics, Initial Transfer Mode, and Inquire On Copy.)
Delete Selected Entry(s) (in Ops menus)
Deletes the selected entries. A dialog pops up to enable the user to monitor the progress of the deletions. The dialog contains a button for aborting the deletions. (See user preferences Beep When Ops Done, Diagnostics, and Inquire On Delete.)
Deselect All Entries (in Select menus)
Deselect all the entries in the hosts current directory.
Disconnect (in Connect menus)
Close the currently connected host. (See user preference Diagnostics.)
Display Directory (Long) (in Dir menus)
Pops up a dialog that displays the contents of the current directory in a scrollable list. If supported by the host (and this is almost always the case), additional information about each directory entry is displayed, such as file length and access restrictions. This display is automatically updated as the current directory changes. This directory display does not support selecting entries or displaying the current selection. Warning: Using this feature can increase network traffic, put an additional load on the remote host, and slow down interactivity. (See user preference Diagnostics and Sort Long Lists By Date.)
Display Directory Path (in Dir menus)
Pops up a dialog that displays the current directory for that host. It will be automatically updated as the current directory changes. (See user preference Diagnostics.)
Display Directory (Table) (in Dir menus)
Pops up a dialog that displays the contents of the current directory in tabular form. This dialog may be used to view and modify the directorys selected entries. Entries may be selected/deselected either by clicking or by moving the cursor over the entries with the mouse button down. Moving the mouse too quickly can cause some of the entries to be skipped. If an entry is double-clicked, an attempt is made to change the current directory to that entry. This display is automatically updated as the current directory changes. (See user preference Diagnostics.)
Getting Started (in Help menu)
Describes how to get started using LLNL XFTP.
Go to Previous Directory (in Dir menus)
Displays a pullright menu that allows the user to easily change the current directory to a previously referenced directory. (See user preferences Add to Cache, Diagnostics, Directory Cache Size, Host Cache Size, and Sort Caches.)
LLNL XFTP Overview (in Help menu)
Gives a high-level description of LLNL XFTP.
Make Directory (in Dir menus)
Pops up a dialog to prompt for the name of a directory to make in the current directory. The user preference Enter Dir Upon Creation controls whether the the newly created directory is automatically entered upon creation. (See user preferences Diagnostics and Enter Dir Upon Creation.)
Move Selected Entry(s) (in Ops menus)
Move selected entries from the current directory to another directory on the same host. This is similar to the UNIX mv command, but without rename capability. (See user preferences Beep When Ops Done, and Diagnostics.)
Preferences (in Options menu)
Display the user preferences dialog. See USER PREFERENCES section for a description of user preferences.
Quit (in File menu)
Terminate LLNL XFTP.
Rcopy (in Xfer Ops controls)
Recursively transfers the selected entries according to the mode (ASCII or Binary) specified in Xfer Mode. If a selected entry is a directory, an attempt is made to transfer its entire directory subtree. The user preference Overwrite Dir On Copy lets the user control whether or not it is okay to overwrite an existing directory. A dialog pops up to enable the user to monitor the progress of the transfers. The dialog contains a button for aborting the transfers. (See user preferences Beep When Ops Done, Diagnostics, Initial Xfer Mode, Inquire On Copy, and Overwrite Dir On Copy.)
Recursively Delete Selected Entry(s) (in Ops menus)
Recursively deletes the selected entries. A dialog pops up to enable the user to monitor the progress of the deletions. The dialog contains a button for aborting the deletions. Warning: Exercise extreme caution when using this command because it deletes entire directory subtrees. To minimize the chance of an unintentional deletion, this menu item is greyed out unless the user preference Recursive Delete Enabled is enabled. (See user preferences Beep When Ops Done, Diagnostics, Inquire On Delete, and Recursive Delete Enabled.)
Rename Selected Entry(s) (in Ops menus)
Pop up a dialog to individually rename selected entries. This is similar to the UNIX mv command except that the renamed entries cannot be moved to another directory. (See user preference Diagnostics.)
Save Log (in Log menu)
Write the contents of the diagnostics window to a user-specified file. The existing contents of the diagnostics window are not removed.
Save Preferences (in Options menu)
Save the current settings of the user and viewer preferences.
Select All Entries (in Select menus)
Select all the entries in the hosts current directory.
Send Quoted Command (in Ops menus)
Pops up a dialog to prompt for a "raw" command to send to the FTP server of the remote host. Previously issued commands are cached and displayed in a scrolled list. Double-clicking on a command in the list issues that command. To have a command act on items selected in the hosts directory list, use the quote placeholder (which by default is "<>") to represent a selected item. For example, type "stage 1 <>" to send a STAGE command to the the remote host for each selected item. The quote placeholder can changed via the user preferences. (See user preferences Beep When Ops Done, Diagnostics, and Quote Placeholder.)
Use Wildcard (in Select menus)
Pops up a dialog to prompt for a wildcard expression to use in selecting entries in the hosts current directory list. Previously referenced wildcard expressions are cached and displayed in a scrolled list. Double-clicking on an item in the list applies that wildcard expression. Single-clicking on an item in the list places the expression in a text field where it may be edited. Choose the toggle item Replace Filename Selection to cause the currently selected entries to be cleared before applying the wildcard. Choose the toggle item Add to Filename Selection to cause the entries selected by the wildcard to be added to the current selection. (See user preference Initial Wildcard Mode).
Using Help (in Help menu)
Gives a description of the online help package.
View (in Xfer Ops controls)
Displays the selected file. The Viewer Preferences dialog (accessible via the Options menu) can be used to control whether the file will be displayed using the built-in viewer or using an external viewer of the users choice (e.g., emacs or xv). The selection of the viewer is configurable, based on the file extension (e.g., ".gif" or ".jpg"). There is no limit on the number or types of viewers that can be simultaneously displayed.
The file is transferred according to the mode (ASCII or Binary) specified in Xfer Mode. A dialog pops up to enable the user to monitor the progress of the transfer. The dialog contains a button for aborting the transfer.
The destination of the transfer is a temporary directory created in the directory defined as P_tmpdir in the include file stdio.h. If the environment variable TMPDIR is defined, it is used as the directory. The temporary directory, and the files it contains, are automatically deleted when the user dismisses the viewer or terminates LLNL XFTP.
If the file is recognized as being compressed, it is expanded before viewing. LLNL XFTP excutes the following decompressors based on the file extension: gunzip for ".z" and ".gz"; uncompress for ".Z"; atob for "atob"; and uudecode for ".uu". LLNL XFTP searches for the decompressor application in the standard way using the PATH environment variable.
Viewer Preferences (in Options menu)
Display the viewer preferences dialog. See VIEWER PREFERENCES section for a description of viewer preferences.
Selecting item Preferences in the Options menu pops up a dialog that allows the user to configure LLNL XFTP according to his/her preferences. The user is presented with a number of configuration parameters, which are set by either toggling, sliding, or typing. Click the Apply button to cause the new values to take effect. The OK button has the same effect as Apply, but the dialog is also closed. The Cancel button undoes changes made since OK or Apply were last pressed. The preferences can be preserved across LLNL XFTP sessions in a text file named ".xftprc" in the users home directory. The user may alter the order the preferences are presented in the dialog by (1) terminating LLNL XFTP, (2) using a text editor to change the order of lines in ".xftprc" and (3) restarting LLNL XFTP.
Add To Cache
Specifies whether newly referenced items should be added to the directory, quoted command, wildcard, and host/user caches. It is usually desirable to choose Yes. Choose No if referencing a series of seldom-referenced items that would clear the cache of your favorite entries.
Anonymous Ftp Password
The value to initialize the "Password" field of the Connect to Anonymous dialog to. This is normally your email address. The Connect to Anonymous dialog is accessible via each hosts Connect menu.
Beep When Ops Done
Specifes whether to beep when each set of deletion, move, quoted command, and file transfer operations completes.
Specifies the level of diagnostics information to be written to the diagnostics log window. Choose Quiet for error messages, only. Choose Normal for error messages and success messages. Choose Verbose for error messages, success messages, and replies received from the FTP servers. Choose Debug for error messages, success messages, commands sent to the FTP servers, replies received from the FTP servers, and other assorted diagnostics.
Directory Cache Size
The maximum number of previously referenced directory paths cached per host. The cache is preserved across LLNL XFTP sessions.
Speficies whether to "pretty up" some of the graphical elements (such as scrolled lists and text fields) by changing the normal background colors. This preference has no effect on monochrome displays. Choose Yes to enhance the appearance, or No for the usual Motif look.
Enter Dir Upon Creation
Specifies whether to automatically enter a newly created directory.
Host Cache Size
The maximum number of hosts to cache items for. The cache is preserved across LLNL XFTP sessions.
Initial Logfile Name
The default file name to be presented to the user in the "Save Log" dialog.
Initial Transfer Mode
The default file transfer mode (ASCII or Binary).
Initial Wildcard Mode
The default mode of the "Use Wildcard" dialog. Choose Replace to make "Replace Filename Selection" the default. Choose Add to make "Add to Filename Selection" the default.
Inquire On Copy
Specifies whether to pop up a dialog that asks the user to confirm that the indicated transfers should take place.
Inquire On Delete
Specifies whether to pop up a dialog that asks the user to confirm that the indicated deletions should take place.
Inquire On Move
Specifies whether to pop up a dialog that asks the user to confirm that the indicated moves should take place.
Inquire On Quote
Specifies whether to pop up a dialog that asks the user to confirm that the indicated commands should be sent.
Left Auto Local Login
Specifies whether to automatically connect the left side to the local (client) host upon starting LLNL XFTP.
Max Ftp Retries
Specifies the maximum number of retries LLNL XFTP will attempt if it receives a response from an FTP server that indicates the desired operation failed because of some temporary condition on the remote host.
Max Time For Ftp Reply
Specifies the maximum time in seconds that LLNL XFTP will wait for a response from an FTP server before concluding that the connection has been broken.
Overwrite Dir On Copy
Specifies whether it is okay to overwrite an existing directory when recursively copying another directory by the same name. If a sink directory is overwritten then none of its subdirectories will be deleted, but new files and subdirectories might be added to it, and some existing files might be replaced.
Preserve Vms Ver Nums
Specifies whether to preserve VMS file version numbers when transferring files from a VMS system. This is only an issue for those VMS FTP servers that provide numbers (not all do).
Print Password In Debug
Specifies whether to print passwords in the log window when the user preference Diagnostics is set to Debug.
Quote Cache Size
The number of quoted commands to cache. The cache is preserved across LLNL XFTP sessions.
This is used as a placeholder in a quoted command to represent items selected in the directory list. For example, the quoted command "stage 1 <>" will send a STAGE command to the remote host for each selected item. The default value is "<>", but the placeholder can be set to any nonnull printable string.
Recursive Delete Enabled
Specifies whether to enable the Recursively Delete Selected Entry(s) item in the Ops menus. Choose No to help prevent accidental recursive deletions.
Right Auto Local Login
Specifies whether to automatically connect the right side to the local (client) host upon starting LLNL XFTP.
Specifies whether to sort (by ASCII-collating sequence) cached items when they are displayed in dialogs. If Yes, then sort. If No, then the most recently referenced items are placed at the top of the list.
Sort Longs Lists By Date
Specifies whether to attempt to sort the "long" directory lists by time modified (with most recent listed first) instead of by name. The Yes option is considered unsafe because some FTP servers to not support this option and may give unpredictable results. (Most UNIX hosts support this option.)
Specifies whether existing sink files are to be renamed before file transfer occurs. If Yes then the existing sink file is typically renamed by appending a "." (period) followed by an integer between 1 and 99.
Symbols On Dir Entries
Specifies whether to append single characters to directory entries in order to distinguish their types. If Yes(Unsafe) is chosen, "/" is appended to directories, "*" is appended to executables, "@" is appended to symbolic links, and "=" is appended to AF_UNIX address family sockets. The "Yes" option is considered to be unsafe because some FTP servers do not support this feature and may give unpredictable results. (Most UNIX hosts support this option.) Furthermore, if you are referencing a directory or directory entry whose name ends with one of the special characters, you will need to select No(Safe). When in doubt, select No(Safe). One further note: use of this feature can dramatically degrade interactivity.
Use Last Dir At Login
Specifies whether to automatically enter the most recently referenced directory after connecting to a host. If this option is requested, but is not possible to perform (e.g., because the directory no longer exists), an error message will be generated, and your home directory will be entered. Note: This mechanism attempts to enter the last directory referenced on the host, regardless of whether it is another users directory.
User Cache Size
The number of user names to cache (for remote hosts). The cache is preserved across LLNL XFTP sessions.
Wildcard Cache Size
The number of wildcard expressions to cache. The cache is preserved across LLNL XFTP sessions.
Selecting item Viewer Preferences in the Options menu pops up a dialog that allows the user to control which file will be displayed with which viewer, based on the file extension.
A file to be viewed is first transferred to a temporary directory and then, if necessary, is decompressed. The file extension (e.g., ".gif") is then examined to determine which viewer the file is to be displayed in. There are two types of viewers: the viewer built into LLNL XFTP (which is suitable for displaying text files) and external viewers (e.g., emacs for text and xv for graphics).
Single-click on an entry in the Extensions list to place that extension and its associated command line into the Extension and Viewer Command Line text fields, respectively.
An extension is a file suffix that begins with a period ("."). A special entry in the extensions list, "OTHERS" represents all files that do not have their extension listed (including files with no extensions).
The pattern "<>" in a command line is a placeholder for the name of the file to be viewed. A blank command line indicates that the built-in viewer is to be used.
To add a new extension to the list, fill in the Extension and Viewer Command Line text fields and press the Add button. If the text in Extension does not begin with a period, one will be added. If the extension is already in the list, it will be replaced.
To replace the command line associated with an extension, (1) single-click on the list item to select it, (2) edit the command line, and (3) press the Replace button.
To delete an extension from the list, single-click on the list item to select it and then press the Delete button. The "OTHERS" entry cannot be deleted (but its command line can be replaced).
Click the Apply button to cause the new changes to take effect. The OK button has the same effect as Apply, but the dialog is also closed. The Cancel button undoes the changes made since OK or Apply were last pressed.
The viewer preferences can be preserved across LLNL XFTP sessions in a text file named ".xftpview" in the users home directory (select Save Preferences in the main windows Options menu).
Here are some things to watch out for:
LLNL XFTP might not work with some old X servers. For example, some older OpenWindows servers might dump core. MacX fans should use nothing older than version 1.1.7b.
Old, buggy versions of Motif can cause weirdness.
LLNL XFTP might not work correctly with some non-Unix FTP servers. (If you can give us temporary access to such a server, we might be able to fix the problem.)
Out-of-spec FTP servers can cause untold grief. (Most Unix-based servers work correctly.)
Third-party file transfers will not work unless at least one of the remote FTP servers supports the PASV (passive) command.
$HOME/.xftpcache cache file
$HOME/.xftprc user preferences
$HOME/.xftpview viewer preferences
XFtp application defaults file
The sources for LLNL XFTP are tarred and compressed, and are available via anonymous ftp:
Because our resources are limited, we will not be able to give individual assistance in building and using LLNL XFTP. However, your comments, suggestions and bug reports are valuable in helping us determine how to best direct our efforts. Our email address is
(c) 1993-1995. The Regents of the University of California. All rights reserved.
This work was produced at the University of California, Lawrence Livermore National Laboratory (UC LLNL) under contract no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy (DOE) and The Regents of the University of California (University) for the operation of UC LLNL. Copyright is reserved to the University for purposes of controlled dissemination, commercialization through formal licensing, or other disposition under terms of Contract 48; DOE policies, regulations and orders; and U.S. statutes. The rights of the Federal Government are reserved under Contract 48 subject to the restrictions agreed upon by the DOE and University.
This software was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or the University of California. The views and opinions of the authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California, and shall not be used for advertising or product endorsement purposes.
Permission to use, copy, modify and distribute this software and its documentation for any non-commercial purpose, without fee, is hereby granted, provided that the above copyright notice and this permission notice appear in all copies of the software and supporting documentation, and that all UC LLNL identification in the user interface remain unchanged. The title to copyright LLNL XFTP shall at all times remain with The Regents of the University of California and users agree to preserve same. Users seeking the right to make derivative works with LLNL XFTP for commercial purposes may obtain a license from the Lawrence Livermore National Laboratorys Technology Transfer Office, P.O. Box 808, L-795, Livermore, CA 94550.
Neale G. Smith, Lawrence Livermore National Laboratory
|--> ||XFTP (1) ||29 September 1995 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.