IVMAN-LAUNCH(8) System Manager's Manual IVMAN-LAUNCH(8)NAME
ivman-launch - launch script for Ivman
ivman-launch [ --exit-with-session <cmd> ] [ OPTIONS ] [ COMMAND [ ARGS... ]]
ivman-launch is a simple script used to launch Ivman. Its sole purpose is to ensure Ivman is closed at the end of a user's login session.
You can use it if your session manager does not properly close Ivman when you log out.
ivman-launch supports the same command-line options as Ivman, and one additional option: --exit-with-session. Thus, there is no point
using ivman-launch if you do not need to use this option.
If you supply a COMMAND (with optional ARGS), the the specified command will be run after ivman is started, and ivman will be killed after
that command exits.
OPTIONS --exit-with-session <cmd>
ivman-launch will block until the command 'cmd' terminates, at which point it will kill Ivman and exit itself. If the command 'cmd'
is not running when ivman-launch is started, Ivman will exit immediately. Note that this option implies Ivman will be called with
the '--nofork' option. option.
--debug --nofork --system
These flags be passed to the launched ivman command.
ivman-launch --exit-with-session xinit &
The ivman process will be started, then the xinit process is watched. When the xinit process exits, ivman is killed. Placing this
command in an ~/.xinitrc file would cause Ivman to launch in the background when your session begins, and exit when your session
The ivman process is launched, then /usr/bin/x-window-manager is run, when x-window-manager exits, ivman is killed. This is an
example of how ivman might be launched from Xsession in order to chain several programs together in one session.
SEE ALSO ivman(8)Xsession(5)CREDITS
This script was written by Daniele Favara.
10 February 2006 IVMAN-LAUNCH(8)
Check Out this Related Man Page
IVMCONFIGACTIONS.XML(5) File Formats Manual IVMCONFIGACTIONS.XML(5)NAME
IvmConfigActions.xml - actions to be performed by ivman(8)DESCRIPTION
IvmConfigActions.xml specifies which actions are to be performed by ivman(8) when a device is inserted/attached to the system, where an
action is defined as mounting the device or executing a program.
IvmConfigActions.xml is parsed as an XML file. The general form of the file is:
<?xml version="1.0" encoding="UTF-8"?>
<ivm:ActionsConfig version="0.2" xmlns:ivm="http://www.eikke.com/ivm">
<ivm:Match name="matchname" value="matchvalue">
<ivm:Option name="optionname1" value="optionvalue1" />
<ivm:Option name="optionname2" value="optionvalue2" />
Each time a device is added to the system, this file is parsed. If, for a Match element, matchname=matchvalue is true for the new device,
then the Match or Option elements within that Match element are parsed.
A Match element can have any of the following names:
Whether or not HAL specifies that a device can and should be mounted. Must be "true" or "false".
The string in place of "anything" will be taken as the name of a HAL property string for the device, and the value of the prop-
erty will be compared to the value given. Run 'lshal' to see a list of HAL properties which can be used here.
* Match every device. Use with care!
An Option element can have any of the following names:
If set to 'true', IvmConfigActions.xml will be parsed when Ivman starts and rules will be applied to all devices currently
attached to the system. This can be used to, for example, mount any removable devices attached to the system when Ivman
starts. This option should be specified outside of any 'match' constructs.
mount Whether or not to mount the device. Must be "true" or "false". If more than one value applies to a device, then the one clos-
est to the end of the file will be used.
exec A command to execute when the device or disc is inserted. The amount of commands per device is unlimited.
execun A command to execute when the device or disc is removed. The amount of commands per device is unlimited. Note that HAL prop-
erty substitution is limited for execun; since the device no longer exists when the command is executed, we cannot get informa-
tion about it from HAL, therefore any substitution will occur with the property values at the time of device insertion (or
mounting if Ivman mounted it), NOT removal.
A command to execute when the device is inserted if the device is a volume containing DVD-format video. The amount of commands
per device is unlimited. NOTE: execdvd is deprecated! A HAL property now exists to indicate whether or not a DVD contains
video - volume.disc.is_videodvd .
exec, execdvd and execun support substitution of HAL device properties. This is accomplished by surrounding the property name with $ sym-
bols. For instance, if $hal.volume.mount_point$ is within a command, it will be replaced with the volume's mount point before execution.
No character escaping is done in the substitution, but the characters ' and " are replaced with ?, so you can surround the substitution
with quotes without fear.
Remember that this is an XML file, which means that characters which have a special meaning in XML (entities) need to be escaped. Some
characters which are popular in shell scripting (&, <, >) are among these special characters. As a quick reference, & becomes & , <
becomes < , > becomes > , ' becomes ' and " becomes " .
As many Matches can be nested as is desired, and as many Matches and Options can be placed within a Match as is desired. This, along with
the ability to test HAL properties, makes Ivman quite flexible; see the examples below.
<!-- autoplay video DVDs -->
<ivm:Match name="hal.volume.disc.type" value="dvd_rom">
<ivm:Option name="execdvd" value="xine -f -g -D dvd:$hal.block.device$" />
<!-- autoplay audio CDs -->
<ivm:Match name="hal.volume.disc.type" value="cd_rom">
<ivm:Match name="hal.volume.disc.has_audio" value="true">
<ivm:Match name="hal.volume.disc.has_data" value="false">
<ivm:Option name="exec" value="cdplay -d $hal.block.device$ -c" />
<!-- blacklist some partitions we don't want mounted -->
<ivm:Match name="hal.block.device" value="/dev/hda5">
<ivm:Option name="mount" value="false" />
<ivm:Match name="hal.block.device" value="/dev/hda2">
<ivm:Option name="mount" value="false" />
Many more examples are given in the default file provided with Ivman.
SEE ALSO ivman(8), IvmConfigBase.xml(5), IvmConfigProperties.xml(5), IvmConfigConditions.xml(5)
12 May 2005 IVMCONFIGACTIONS.XML(5)