cdemu − a simple command-line CDEmu client
cdemu [options] <command> <command parameters>
This is cdemu, a command-line client for controlling CDEmu daemon. It is part of the userspace-cdemu suite, a free, GPL CD/DVD-ROM device emulator for linux.
It provides a way to perform the key tasks related to controlling the CDEmu daemon, such as loading and unloading devices, displaying devices’ status and retrieving/setting devices’ debug masks.
When connecting to daemon, cdemu client can use either session or system bus. By hard-coded default, it uses system bus. The default bus to be used can be specified via /etc/cdemu-client.conf or ~/.cdemu-client file; for more information, please read README file. The default can be overriden using --bus option.
CDEmu daemon offers support for encrypted images. When password is required to load an image (and it hasn’t been provided via commandline using --password), cdemu-client will prompt for it and then send it to daemon.
NOTE, HOWEVER, THAT THE PASSWORD IS SENT OVER D-BUS IN A PLAIN STRING FORM, WITHOUT ANY PROTECTION. DEPENDING ON YOUR PRIVACY CONCERNS YOU MIGHT WISH TO AVOID LOADING SUCH IMAGES.
-h --help
Displays the help message. If command is specified, help message with synopsis and description for that command is displayed.
-v --version
Prints version info and exits.
-b --bus
Sets the D-BUS bus type to use for connection. Valid values are session and system. If no bus is specified, the default bus is used.
Parser parameters can be passed to the image parsers when trying to load the image. Parameters are optional; whether they are supported by a particular parser or not depends on the parser implementation.
The following parameters are valid:
--password <string>
Allows a password for an encrypted image to be specified via commandline; however, if an image requires password and it hasn’t been specified via commandline, then the client will prompt for it using standard input without echo.
--encoding <string>
Allows an encoding for text-based image format (such as CUE) to be specified. This might be needed if the image descriptor file contains non-ASCII characters and does not use Unicode.
--dvd-report-css <true/false>
Mark the DVD image as CSS-encrypted. This influences the generation of fake Disc Structure 0x01, and as such works only with images of DVD videos that do not provide this information (most images, with exception of perhaps mds/mdf, don’t). Enabling this option allows images of CSS-encrypted DVDs (e.g. created using ’dd’ or ’readcd’ without running through a CSS decryption step when creating the image) to be played by a deCSS-enabled Linux media player.
load <device> <filename> [...]
Loads the device; device is the number of the desired device, or any. If any is used, then the client will attempt to load the image into the first empty device it finds (provided there is one available). filename is the image filename. For multi-file images, multiple filenames can be provided.
unload <device>
Unloads the device; device is the number of the desired device, or all.
status |
Displays devices’ status |
add-device
Creates another virtual device
remove-device
Removes the last virtual device
device-mapping
Displays device mapping information
daemon-debug-mask <device> [new-value]
Displays/sets daemon debug mask; device is the number of the desired device, or all. new-value is the new debug mask value. If this argument is omitted, current debug mask is displayed. A list of supported debug mask values can be obtained with enum-daemon-debug-masks command.
library-debug-mask <device> [new-value]
Displays/sets library debug mask; device is the number of the desired device, or all. new-value is the new debug mask value. If this argument is omitted, current debug mask is displayed. A list of supported debug mask values can be obtained with enum-library-debug-masks command.
dpm-emulation <device> [new-value]
Displays/sets DPM emulation flag. device is the number of the desired device, or all. new-value is the new value to be set. If this argument is ommited, currently set value is displayed.
tr-emulation <device> [new-value]
Displays/sets transfer rate emulation flag. device is the number of the desired device, or all. new-value is the new value to be set. If this argument is ommited, currently set value is displayed.
bad-sector-emulation <device> [new-value]
Displays/sets bad sector emulation flag. device is the number of the desired device, or all. new-value is the new value to be set. If this argument is ommited, currently set value is displayed.
device-id <device> [new-vendor-id] [new-product-id] [new-revision]
[new-vendor-specific]
Displays/sets device ID. device is the number of the desired device. new-vendor-id is the new vendor ID string to be set (8 characters max). new-product-id is the new product ID string to be set (16 characters max). new-revision is the new revision string to be set (4 characters max). new-vendor-specific is the new vendor-specific string to be set (20 characters max). If new values are ommitted, currently set values are displayed.
enum-parsers
Enumerates supported parsers.
enum-file-filters
Enumerates supported file filters.
enum-daemon-debug-masks
Enumerates supported daemon debug masks.
enum-library-debug-masks
Enumerates supported library debug masks.
version
Displays version information
Loading a single image to first device:
cdemu load 0 ~/image.mds
Loading multiple-file image to first device:
cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc
Loading a text-based image in non-ASCII/non-Unicode encoding:
cdemu load 0 ~/image.cue --encoding=windows-1250
Loading an encrypted image with password provided as an argument:
cdemu load 0 ~/image.daa --password=seeninplain
Loading a raw image of a CSS-encrypted DVD created by ’dd’, so it can
be played by mplayer:
cdemu load 0 ~/image.iso --dvd-report-css=true
Unloading first device:
cdemu unload 0
Displaying device status:
cdemu status
Displaying device mapping information:
cdemu device-mapping
Setting daemon debug mask for the first device:
cdemu daemon-debug-mask 0 0x01
Obtaining library debug mask for the first device:
cdemu library-debug-mask 0
Disabling DPM emulation on all devices:
cdemu dpm-emulation all 0
Enabling transfer rate emulation on first device:
cdemu tr-emulation 0 1
Enabling bad sector emulation on first device:
cdemu tr-emulation 0 1
Changing device ID of first device:
cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"
Enumerating supported parsers:
cdemu enum-parsers
Enumerating supported file filters:
cdemu enum-file-filters
Enumerating supported daemon debug masks:
cdemu enum-daemon-debug-masks
Enumerating supported library debug masks:
cdemu enum-library-debug-masks
Displaying daemon and library version:
cdemu version
Rok Mandeljc <rok DOT mandeljc AT gmail DOT com>
CDEmu project’s web page: http://cdemu.sourceforge.net
CDEmu project’s mailing list: cdemu-devel AT lists DOT sourceforge DOT net