SUSHI(8) BSD System Manager's Manual SUSHI(8)
sushi -- a menu based system administration tool
The sushi tool gives the user a menu of various system administration
tasks that may be performed on the system. It is designed to be simple
enough for a novice to use, and quick enough to help seasoned users per-
form more complex tasks with ease.
It is also designed to be easily extended and customizable by the user or
administrator. The menus themselves consist of a number of flat ascii
files which are parsed by the sushi engine when run. Commands are actu-
ally scripts written by the administrator, and executed from the menu
hierarchy. It is possible to have multiple hierarchies, and even ones
private to a particular user on the machine. These hierarchies are all
merged for the user at run-time into a single menu system.
The following option is available:
quickname This option allows the user to jump directly to a known sub-
menu or function within sushi. It can be used to avoid the
need to navigate deeply nested menus, when the end destination
The following environment variables are used by sushi:
LANG Determines the user's current language setting.
PKG_PATH This is the default URL for binary packages used when fetching
lists of packages available to download. It is also used when
actually downloading those packages. It defaults to:
There may be other environment variables used by various scripts in the
sushi menu hierarchy. This manual page cannot account for those environ-
ment variables, however they should be detailed in the help files for
This file is used by sushi to override the default locations
searched for menu hierarchies. It consists of a keyword, followed
by instructions. To override the default searchpaths in sushi you
would issue the keyword 'searchpath' followed by a directory name,
one per line, that will be searched, in order, for menu hierar-
chies. Each directory name must be preceded by the 'searchpath'
keyword. It is not an error to have a non-existent directory
listed in this file, as they will simply be skipped over. The
default list of directories searched is printed below, in order:
The $HOME/sushi path, is always searched, and does not need to
appear in the /etc/sushi.conf file. The /etc/sushi.conf file will
not be parsed for environment variables such as $HOME, so it would
likely be an error to include it there.
The /etc/sushi.conf file may also include key bindings, which will
override the default use of function keys in sushi. These may be
desired in situations where function keys are not available, or
are not desirable because of a window-manager binding. The format
for binding a key is:
bind F1 ^T ^T=Help
In the above example, we have rebound the 'F1' key to Control-T.
The final keyword is the message that will appear at the bottom of
your screen, to remind you which keys are bound to which func-
tions. There can be no whitespace in the key description. The
syntax of the new key binding must either be an ascii character
preceded by a caret ``^'' to signify a control modifier, a func-
tion key, such as 'F9' or a single ascii character. It is not
possible to bind Alt or Meta keys, nor is it possible to bind a
modified function key, such as control-F1.
Most of the actual usage of sushi is documented in the internal help
files, such as commands, and keystrokes that are used to navigate the
menus. There is also full documentation in the help pages on writing
your own menus. In order to access help, you may hit the F1 key at any
time, and if help is available for the current menu, it will be dis-
played. It is advised that the user read the help file from the main
menu, as it contains most of the navigation, and basic concepts of the
sushi first appeared in NetBSD 1.6.
sushi was written by Tim Rightnour garbled@NetBSD.org and
Dante Profeta dante@NetBSD.org.
At the time of this writing, there are a number of display glitches which
are currently being worked on. In addition there are some failure modes
that sushi does not handle well, such as not receiving output from a
At the time of this writing, the F6 option, to display the current com-
mand before running it, does not work.
BSD January 8, 2001 BSD