Skip to content
Command-line client for DSBMD
C Roff Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
Makefile
README.md
dsbmc-cli.1
dsbmc-cli.c
libdsbmc
readme.mdoc

README.md

ABOUT

dsbmc-cli is a command-line client for DSBMD that provides a simple interface to query information about storage devices, and to send requests to mount, unmount and eject these.

INSTALLATION

# git clone https://github.com/mrclksr/DSBMC-Cli.git
# git clone https://github.com/mrclksr/libdsbmc.git
# cd DSBMC-Cli && make install

USAGE

dsbmc-cli -L event command [arg ...] ; [-L ...]
dsbmc-cli -a [-b dev1,dev2,...] [-U time] [[-L event command [arg ...]] ; [-L ...]]
dsbmc-cli {{-e | -u} [-f] | {-m | -s | -u | -v speed}} device
dsbmc-cli {-e | -u} <mount point>
dsbmc-cli -i <disk image>
dsbmc-cli -l
dsbmc-cli [-h]

OPTIONS

-L

Listen for event, and execute the command every time the event is received. Possible events are mount, unmount, add, and remove. The command must be terminated by a semicolon (';') as a separate argument. Each event provides information about the device that can be accessed using the placeholders %d (device name), %l (volume label), %m (mount point) (only mount and unmount ), and %t (device type). A literal percent character ('%') must be escaped by a further '%' character ("%%"). Possible values for the device type (%t) are hdd, usbdisk, datacd, audiocd, dvd, vcd, svcd, mmc, mtp, and ptp. The -L option can be given multiple times.

-U

Auto-unmount. Try to unmount each automounted device every 'time' seconds.

-a

Automount. After mounting all devices presented by DSBMD, dsbmc-cli(1) waits for new devices added to the system, and mounts them. In addition, the -L option can be specified for each event. If dsbmc-cli(1) automounts a device, it executes the command defined for the mount event.

-b dev1,dev2,...

Define a comma-separated list of devices and/or volume labels to ignore if the -a option is given. Volume labels must be prefixed by "volid=".
Example: dsbmc-cli -a -b da0p2,volid=EFISYS,volid=TMP

-e device, -e <mount point>

Eject the given device or the device mounted on <mount point>

-i <disk image>

Create a memory disk to access the given disk image.

-l

List all currently attached devices DSBMD supports.

-m device

Mount the given device.

-s device

The storage capacity of the given device is queried, and the media size, the number of used and free bytes are printed to stdout.

-u device, -u <mount point>

Unmount the given device or the device mounted on <mount point>

-v speed device

Set the reading speed of the given CD/DVD device.

EXAMPLES

Automounting

Just execute 'dsbmc-cli -a' or, if you wish, add the command 'dsbmc-cli -a 2>/dev/null&' to your shell's startup file, your display manager's startup file, or your ~/.xsession. If you don't want to manually unmount your devices, you can in addition use the -U flag.

Events

$ dsbmc-cli -L mount printf "%%s was mounted on %%s\n" %d %m ';'

This command listens for mount events, and executes the printf command, where %d and %m are replaced by the device name and mount point.

$ dsbmc-cli -a -L add sh -c 'case %t in audiocd) vlc cdda://%d&;; dvd) vlc dvd://%d&;; esac' ';' -L mount sh -c 'Thunar %m&' ';'

In this example, dsbmc-cli automounts devices, and listens for add and mount events. If an audio CD or a DVD was inserted, the command vlc cdda://%d& or vlc dvd://%d& is executed, respectively. If a device was mounted, dsbmc-cli executes the command Thunar %m&, where %m is replaced by the mount point.

You can’t perform that action at this time.