Difference between revisions of "CDemu"

From ArchWiki
Jump to: navigation, search
(added info about changes in cdemu work)
Line 4: Line 4:
CDemu can be [[pacman|installed]] with package {{Pkg|cdemu-client}}, availale in [[official repositories]].
# pacman -S cdemu-client
This will install the dependencies as well.
Due to [http://cdemu.org/news/ upstream developer's decision] cdemu no longer uses {{Pkg|libdaemon}} and instead utilizes [[dbus]] session message bus for communication with {{Pkg|cdemu-client}}. This broke package which currently lacks maintainer and caused creation of {{AUR|cdemu-daemon-fixed}} in [[AUR]]. See {{Bug|26534}} for additional details.
CDemu can be configured to register with the D-Bus system or session bus. A session bus instance is created for every user session, and is visible only within that session. On the other hand, there's only one instance of system bus, which is visible system-wide.
{{Note|Both packages (in AUR and community) contain daemon script '''cdemud''' in {{Ic|/etc/rc.d/}}, but it is hardly useful together with dbus. See {{man cdemu}} {{man cdemud}} for details.}}
===System Bus===
To configure CDemu, edit {{ic|/etc/conf.d/cdemud}}. You can change the number of drives to emulate, the control device, and which audio backend to use.
====Starting cdemu====
If you want to start cdemu at boot add cdemud to the daemons section in {{ic|/etc/rc.conf}}.
you can also start cdemu manually by running '{{ic|/etc/rc.d/cdemud}} start' as root.
In both cases cdemud loads the necessary modules.
===Session Bus===
Add every user who needs to run the daemon to the cdemu group. They will need to log out to take effect.
Add {{ic|vhba}} to the modules array in {{ic|/etc/rc.conf}}
Copy {{ic|/etc/conf.d/cdemud}} to {{ic|~/.cdemu-daemon}} for configuration. All options replace variables in {{ic|/usr/bin/cdemu-daemon-session.sh}}
====Starting cdemu====
Run {{ic|cdemu-daemon-session.sh}} as a normal user. Errors are logged to {{ic|~/.cdemu-daemon.log}} by default.
==To Run==
By default on archlinux cdemu is configured to use the DBus system bus, the user command however defaults to the DBus session bus.
either replace cdemu in the below examples with 'cdemu -b system' or make an alias.
i added this alias to .bashrc of the users that need to run cdemu :
alias cdemu='cdemu -b system'
Leave as is if using session bus.

Revision as of 03:19, 28 February 2012

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

CDemu enables you to use disc images that contain more than a standard ISO-9660 filesystem, like .bin/.cue, .nrg, or .ccd images. It's needed only because mount can only directly handle .iso disc images, which can only contain a single filesystem, but many CDs have multiple sessions, mixed data/audio tracks, etc. In short you can mount nearly any kind of image file with ease using cdemu.


CDemu can be installed with package cdemu-client, availale in official repositories.


Due to upstream developer's decision cdemu no longer uses libdaemon and instead utilizes dbus session message bus for communication with cdemu-client. This broke package which currently lacks maintainer and caused creation of cdemu-daemon-fixedAUR in AUR. See FS#26534 for additional details.

Note: Both packages (in AUR and community) contain daemon script cdemud in /etc/rc.d/, but it is hardly useful together with dbus. See Template:Man cdemu Template:Man cdemud for details.


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

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

Changing device ID of first device:

# cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"

Enumerating supported parsers:

# cdemu enum-supported-parsers

Enumerating supported fragments:

# cdemu enum-supported-fragments

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


Available on the AUR

GTK/Gnome gcdemuAUR: Provides a GNOME panel applet.

KDE kde-cdemu-managerAUR: Standalone program and integrates with Dolphin's Actions menu when right clicking an image file.