Configure your system for different network environments
netenv is an interactive utility to switch between different network configurations. It does not accept any command line arguments.
On Debian systems, netenv can work with both PCMCIA and on-board network cards. You can also use netenv to configure your windowmanager or your printing environment. The new menu item, however, will not work under many circumstances (it might work with a PCMCIA card). The full documentation is included in html format (see below).
Note that you either have to specify the boot parameter
or enter the chosen environment by hand during boot time. The boot process will stop until you entered something. Alternatively, you can specify a timeout, after which the default configuration will be used (see below). If you want to change to the default configuration without waiting for the timeout, set NETENV to the hostname of your computer.
Netenv needs the dialog binary for user interaction; if it cannot be found, it will display an error message and exit.
The system administrator can also run netenv during normal operation. netenv will then ask wether to activate the changes by restarting the networking now. In this case, /etc/init.d/networking restart will be executed as well as additional scripts specified in NETENV_RUN_INIT_SCRIPTS
For setting up different network configurations and related configuration files like XF86Config, see the html-Documentation.
netenv will read the file /etc/netenv/netenv.conf. You can specify the following variables there:
If this is set to YES, you can enter "expert mode" by pressing CANCEL in the chooser dialog. THIS IS A SECURITY RISK! Everybody with physical access to your computer will get a ROOT SHELL without any password! Do not leave your laptop alone when this is set to YES. This feature is disabled by default.
The width of the screen used, in columns or characters. Default is 68.
If set to yes, and netenv is called with a controlling tty (that is, interactively by root instead of by the init script), netenv will restart the network without asking. If set to never, it will not do this, also without asking. Otherwise you will be asked, obviously.
The time (in seconds) netenv will show the dialog before chosing the default configuration. The default is 0, which means that it will wait forever.
If the system administrator runs netenv during normal system operation and chooses to activate the changes at once, then the init scripts specified in this variable are called with argument restart after calling /etc/init.d/networking restart. You can use this to notify daemons of the changed network configuration. The scripts have to reside in /etc/init.d/ and must be specified as a space separated list, e.g. NETENV_RUN_INIT_SCRIPTS="chrony myinitscript". Default is none.
In Debian, calling an init script with the argument restart means that it will execute itself twice, first with the argument stop, then with start. Some init scripts, however, do more than that. Currently I am only aware of wwwoffle, which checks its online status before and switches back to the same state after restart. (The netenv maintainer considers this a bug, the wwwoffle maintainer a feature.) To be able to change from offline to online, or vice versa, we have to work around this magic. This can be done by stopping the service manually and starting it again, and that is what is done for scripts in this variable (again a space separated list), e.g. NETENV_START_STOP_SCRIPTS=wwwoffle (for further information, see the html documentation).
Debian's netenv can also remember your last selection. You can enable this by setting the variable to yes. Furthemore if you set it to default, your last selection will be used in case of timeout (see NETENV_TIMEOUT).
Note that the default values are set in the script before /etc/netenv/netenv.conf is sourced. Thus, environment variables cannot be used (and this doesn't make much sense since netenv usually is not called by a user.
Some other variables are also used and could, in principle, be defined in /etc/netenv/netenv.conf, but aren't useful. See the executable /sbin/netenv for further information.
Report bugs to Gerd Bavendiek <[email protected]>, or to the Debian Bugtracking System if you're using this distribution.
Further documentation for netenv can be found in /usr/share/doc/netenv/netenv-en.html and /usr/share/doc/netenv/netenv-de.html