Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

El Centro de Control de Wine - WinecfgEmuladores - DeSmuME

Emulación CD/DVD - CDEmu




Emulación CD/DVD - CDEmu




Copyright

Copyright © José Luis Lara Carrascal  2011-2024   http://manualinux.es



Sumario

Introducción
Módulo VHBA
LibMirage
Traducción al español de Libmirage
CDEmu daemon
Traducción al español de CDEmu daemon
CDEmu client
Traducción al español de CDEmu client
Ejemplos de uso de CDEmu client
gCDEmu
Traducción al español de gCDEmu
Configurar el inicio de gCDEmu
Iniciamos gCDEmu
Enlaces




Introducción

CDEmu es una suite de software diseñada para emular una unidad óptica y el disco (incluyendo CD-ROM y DVD-ROM) en el sistema operativo GNU/Linux. Para los usuarios provenientes de Windows, es el equivalente a las famosas DAEMON Tools, que permiten crear unidades de CD virtuales y montar todo tipo de imágenes de disco, evitando tener que grabarlas, con el ahorro que supone para el usuario, en la compra de discos de CD o DVD. Junto al manual se incluyen las traducciones al español de CDEmu client y gCDEmu.



Módulo VHBA

Es el encargado de proveer un adaptador de bus anfitrión virtual (SCSI), que es el vínculo entre el demonio del espacio de usuario y el kernel.

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado VHBA para la elaboración de este documento.

* GCC - (13.2.0) o Clang - (17.0.6)
* Make - (4.4.1)

Librerías de Desarrollo

* Código fuente del kernel - (6.7.3-ml)



Descarga

vhba-module-20240202.tar.xz

Extracción y Configuración

$ tar Jxvf vhba-module-20240202.tar.xz
$ cd vhba-module-20240202
$ sed -i 's:-Werror::' Makefile

Explicación de los comandos

sed -i 's:-Werror::' Makefile : Evita que los avisos sean tratados como errores en el proceso de compilación.

Compilación

$ make

Instalación como root

$ su
# make install
# modprobe vhba; lsmod | grep vhba

Configuración del inicio del módulo VHBA  Bloc de Notas

1) OpenMandriva, Mageia y PCLinuxOS

Abrimos una ventana de terminal y ejecutamos lo siguiente:

$ su -c "echo vhba > /etc/modprobe.preload.d/vhba"

2) Fedora

Abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

echo -n "Cargando módulo VHBA..."
if /sbin/modprobe vhba
then
    echo "OK"
else
    echo "FALLÓ"
fi

Lo guardamos con el nombre vhba.modules, y lo instalamos como root en /etc/sysconfig/modules.

$ su -c "install -m755 vhba.modules /etc/sysconfig/modules"

3) Slackware y derivados

Abrimos con un editor de texto, como root, el archivo /etc/rc.d/rc.local, y añadimos lo que está en rojo:

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.

# Ufw
if [ -x /etc/init.d/ufw ]; then
/etc/init.d/ufw start
fi

# VHBA
/sbin/modprobe vhba


4) Debian y derivados

Abrimos con un editor de texto, como root, el archivo /etc/modules, y añadimos lo que está en rojo:

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

vhba

5) OpenSUSE

Abrimos una ventana de terminal y ejecutamos lo siguiente:

$ su -c "echo vhba > /etc/modules-load.d/vhba.conf"

6) Crear una regla para Udev para establecer correctamente los permisos de lectura y escritura para los usuarios del grupo "cdrom" en /dev/vhba_ctl

Abrimos un editor de texto, como root y añadimos lo siguiente:

KERNEL=="vhba_ctl", MODE="0660", OWNER="root", GROUP="cdrom"

Lo guardamos con el nombre 60-vhba.rules, y lo instalamos como root en /etc/udev/rules.d. Tendremos que reiniciar el sistema para que estas reglas sean efectivas.

$ su
# mkdir -p /etc/udev/rules.d
# install -m644 60-vhba.rules /etc/udev/rules.d

Comprobamos también que nuestro nombre de usuario, está incluido en el grupo "cdrom".

[root@localhost ~]# groupmems -g cdrom -l
jose

Si no es así, ejecutamos el siguiente comando:

# groupmems -g cdrom -a jose

Donde pone jose, poner el nombre de usuario de cada uno.



LibMirage

Librería de acceso a imágenes de CD-ROM, con soporte de los siguientes formatos de imagen: B6T, C2D, CCD, CDI, CIF, CUE, DAA, ISO, MDS, NRG y TOC.

Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado LibMirage para la elaboración de este documento.

* GCC - (13.2.0)
* CMake - (3.27.9)
* Make - (4.4.1)
* Intltool - (0.51.0)
* Gettext - (0.22.4)
* Pkg-config - (0.29.2)
* GTK-Doc - (1.33.2)
* GObject Introspection - (1.74.0)
* Vala - (0.56.14)

Librerías de Desarrollo

* GLib - (2.74.7)
* Libbzip2 - (1.0.8)
* Libsamplerate - (0.2.2)
* Libsndfile - (1.2.2)
* XZ Utils - (5.4.5)
* Zlib - (1.3)



Descarga

libmirage-3.2.7.tar.xz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Parámetros adicionales

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Extracción y Configuración

$ tar Jxvf libmirage-3.2.7.tar.xz
$ cd libmirage-3.2.7
$ mkdir build; cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DPOST_INSTALL_HOOKS=OFF ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Instala la librería en el directorio principal /usr.

-DPOST_INSTALL_HOOKS=OFF : Impide que el proceso de instalación, actualice los tipos MIME del sistema, cada vez que se instala un archivo nuevo en el directorio /usr/share/mime, ralentizando de forma considerable dicho proceso. La actualización la haremos de forma manual, una vez se instale el paquete.

Compilación

$ make

Parámetros de compilación opcionales

VERBOSE=1 : Muestra más información en el proceso de compilación.

-j$(nproc) : Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ su
# make install/strip
# ldconfig -v
# update-mime-database /usr/share/mime &> /dev/null

Borrar las locales adicionales instaladas con la utilidad BleachBit

$ su -c "bleachbit -c system.localizations"

Estadísticas de Compilación e Instalación de Libmirage

Estadísticas de Compilación e Instalación de Libmirage
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.6.3-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BORE
Versión de Glibc 2.38
Enlazador dinámico Mold 2.3.3
Compilador GCC 13.2.0
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación VERBOSE=1 -j12
Tiempo de compilación 11"
Archivos instalados 101
Mostrar/Ocultar la lista de archivos instalados
Enlaces simbólicos creados 2
Mostrar/Ocultar la lista de enlaces simbólicos creados
Ocupación de espacio en disco 3,0 MB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

libmirage-3.2.7-scripts.tar.gz

$ su
# tar zxvf libmirage-3.2.7-scripts.tar.gz
# cd libmirage-3.2.7-scripts
# ./Desinstalar_libmirage-3.2.7

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf libmirage-3.2.7-scripts.tar.gz
# cd libmirage-3.2.7-scripts
# ./Respaldar_libmirage-3.2.7

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_libmirage-3.2.7




Traducción al español de Libmirage  

Descarga

Libmirage_es-ML0.run

Firma Digital  Clave pública PGP

Libmirage_es-ML0.run.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc 
$ gpg --verify Libmirage_es-ML0.run.asc Libmirage_es-ML0.run

Instalación como root

$ su -c "sh Libmirage_es-ML0.run"



CDEmu daemon

Es el demonio que se ejecuta en el espacio de usuario, controlándose vía D-BUS.

Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado CDEmu daemon para la elaboración de este documento.

* GCC - (13.2.0)
* CMake - (3.27.9)
* Make - (4.4.1)
* Intltool - (0.51.0)
* Gettext - (0.22.4)
* Pkg-config - (0.29.2)

Librerías de Desarrollo

* D-Bus - (1.14.10)
* GLib - (2.74.7)
* Libao - (1.2.0)
* Libmirage - (3.2.7)



Descarga

cdemu-daemon-3.2.6.tar.xz

Optimizaciones

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Parámetros adicionales

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Extracción y Configuración  Bloc de Notas

$ tar Jxvf cdemu-daemon-3.2.6.tar.xz
$ cd cdemu-daemon-3.2.6
$ mkdir build; cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Instala el programa en el directorio principal /usr.

Compilación

$ make

Parámetros de compilación opcionales

Instalación como root

$ su -c "make install/strip"

Instalar los siguientes archivos en sistemas que no utilicen Systemd (también son válidos para los que lo utilicen)

Estos archivos han sido retirados del paquete en las últimas versiones, dando por hecho, que todo el mundo utiliza Systemd (este último requiere de la instalación de archivos adicionales que podemos encontrar en el directorio service-example. Sin la instalación de estos archivos, CDEmu se vuelve totalmente inoperativo en sistemas que no utilicen Systemd. El respaldo de estos archivos se incluye en los scripts proporcionados por este manual.

cdemu-daemon-session.sh  |  net.sf.cdemu.CDEmuDaemon.service

$ su
# install -dm755 /usr/libexec
# install -m755 cdemu-daemon-session.sh /usr/libexec
# install -m644 net.sf.cdemu.CDEmuDaemon.service /usr/share/dbus-1/services

Crear el archivo de configuración personal 

El archivo de configuración personal, hay que crearlo de forma manual para poder modificar el número de unidades virtuales a crear, o el controlador de audio a utilizar por Libao. Los valores predefinidos son 2 unidades virtuales y PulseAudio, como controlador de audio predefinido de Libao. Abrimos un editor de texto y añadimos lo siguiente:

# Default settings
NUM_DEVICES=2
AUDIO_DRIVER=pulse
LOG_FILE=~/.cdemu-daemon.log

Lo guardamos con el nombre .cdemu-daemon en nuestro home.

Definición de los elementos del archivo de configuración de CDEmu daemon
NUM_DEVICES= Define el número de unidades virtuales que se crearán de forma automática en el inicio del demonio. El número predefinido está en 2. Podemos poner tantas como creamos conveniente.
AUDIO_DRIVER= Define el controlador de audio a utilizar por Libao. Podemos elegir entre alsaosspulsenull. El predefinido es pulse.
LOG_FILE= Define la ruta al archivo de registro de sucesos del demonio. Por defecto, ~/.cdemu-daemon.log

El archivo de configuración de ejemplo, que utilizaré para el manual es el siguiente:

# Default settings
NUM_DEVICES=4
AUDIO_DRIVER=alsa
LOG_FILE=~/.cdemu-daemon.log

Crear los puntos de montaje y editar /etc/fstab

Creamos los puntos de montaje necesarios para ubicar las unidades virtuales. En el ejemplo se crean 4 directorios en /media, también se puede utilizar el tradicional /mnt.

$ su -c "mkdir -p /media/{vcd0,vcd1,vcd2,vcd3}"

Editamos como root el archivo de configuración /etc/fstab, y añadimos las correspondientes entradas de los puntos de montaje creados, configuradas para que apunten a su correspondiente dispositivo virtual.

none /proc proc defaults 0 0
none /proc/bus/usb usbfs defaults 0 0
none /sys sysfs defaults 0 0
none /tmp tmpfs defaults 0 0
/dev/hda5 swap swap defaults 0 0
/dev/scd1 /media/vcd0 auto user,noauto,ro,noexec 0 0
/dev/scd2 /media/vcd1 auto user,noauto,ro,noexec 0 0
/dev/scd3 /media/vcd2 auto user,noauto,ro,noexec 0 0
/dev/scd4 /media/vcd3 auto user,noauto,ro,noexec 0 0



Dejar siempre una línea vacía después de la última entrada añadida en /etc/fstab.

Borrar las locales adicionales instaladas con la utilidad BleachBit

$ su -c "bleachbit -c system.localizations"

Estadísticas de Compilación e Instalación de CDEmu daemon

Estadísticas de Compilación e Instalación de CDEmu daemon
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Sistema de archivos XFS
Versión del Kernel 6.6.3-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BORE
Versión de Glibc 2.38
Enlazador dinámico Mold 2.3.3
Compilador GCC 13.2.0
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación VERBOSE=1 -j12
Tiempo de compilación 1"
Archivos instalados 5
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 172 KB

Archivo de configuración personal

~/.cdemu-daemon Es el archivo de configuración personal de CDEmu daemon en nuestro home

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

cdemu-daemon-3.2.6-scripts.tar.gz

$ su
# tar zxvf cdemu-daemon-3.2.6-scripts.tar.gz
# cd cdemu-daemon-3.2.6-scripts
# ./Desinstalar_cdemu-daemon-3.2.6

Copia de Seguridad como root

$ su
# tar zxvf cdemu-daemon-3.2.6-scripts.tar.gz
# cd cdemu-daemon-3.2.6-scripts
# ./Respaldar_cdemu-daemon-3.2.6

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_cdemu-daemon-3.2.6




Traducción al español de CDEmu daemon  

Descarga

CDEmu-daemon_es-ML0.run

Firma Digital  Clave pública PGP

CDEmu-daemon_es-ML0.run.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify CDEmu-daemon_es-ML0.run.asc CDEmu-daemon_es-ML0.run

Instalación como root

$ su -c "sh CDEmu-daemon_es-ML0.run"



CDEmu client

Es una utilidad de línea de comandos, mediante la cual, podemos controlar CDEmu daemon.

Instalación  

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha instalado CDEmu client para la elaboración de este documento.

* GCC - (13.2.0)
* CMake - (3.27.9)
* Make - (4.4.1)
* Intltool - (0.51.0)
* Gettext - (0.22.4)

Intérpretes de Lenguaje de Programación

* Python - (3.12.0)

Aplicaciones

* Bash-completion - (2.11) - opcional



Descarga

cdemu-client-3.2.5.tar.xz

Extracción y Configuración  Bloc de Notas

$ tar Jxvf cdemu-client-3.2.5.tar.xz
$ cd cdemu-client-3.2.5
$ mkdir build; cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Instala el programa en el directorio principal /usr.

Instalación como root

$ su -c "make install"

Borrar las locales adicionales instaladas con la utilidad BleachBit

$ su -c "bleachbit -c system.localizations"

Estadísticas de Instalación de CDEmu client

Estadísticas de Instalación de CDEmu client
Sistema de archivos XFS
Archivos instalados 6
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 144 KB

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

cdemu-client-3.2.5-scripts.tar.gz

$ su
# tar zxvf cdemu-client-3.2.5-scripts.tar.gz
# cd cdemu-client-3.2.5-scripts
# ./Desinstalar_cdemu-client-3.2.5

Copia de Seguridad como root

$ su
# tar zxvf cdemu-client-3.2.5-scripts.tar.gz
# cd cdemu-client-3.2.5-scripts
# ./Respaldar_cdemu-client-3.2.5

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_cdemu-client-3.2.5




Traducción al español de CDEmu client  

Descarga

CDEmu-client_es-ML0.run

Firma Digital  Clave pública PGP

CDEmu-client_es-ML0.run.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify CDEmu-client_es-ML0.run.asc CDEmu-client_es-ML0.run

Instalación como root

$ su -c "sh CDEmu-client_es-ML0.run"



Ejemplos de uso de CDEmu client

1) Cargar un archivo de imagen en la primera unidad virtual

$ cdemu load 0 VL7.0-STD-RC2.1.iso

2) Cargar un archivo de imagen en la primera unidad virtual que esté disponible

$ cdemu load any VL7.0-STD-RC2.1.iso

3) Cargar varios archivos de imagen (TOC) en la primera unidad virtual (ejemplo extraído de la página de manual del programa)

$ cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc

4) Cargar un archivo de imagen cifrado (DAA) en la primera unidad virtual (ejemplo extraído de la página de manual del programa)

$ cdemu load 0 ~/image.daa --password=estoyencrisis

5) Comprobar el estado de los dispositivos

[jose@localhost ~]$ cdemu status
Estado de los dispositivos:
DEV   CARGADO    ARCHIVO
0     1          /home/jose/VL7.0-STD-RC2.1.iso
1     0
2     0
3     0

6) Descargar el archivo de imagen de la primera unidad virtual

$ cdemu unload 0

7) Añadir un nuevo dispositivo virtual

$ cdemu add-device

8) Suprimir el último dispositivo virtual creado

$ cdemu remove-device



gCDEmu

Una interfaz gráfica, desde la cual, podremos controlar el uso de CDEmu daemon, sin necesidad de tener que recurrir a la línea de comandos.

Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha instalado gCDEmu para la elaboración de este documento.

* GCC - (13.2.0)
* CMake - (3.27.9)
* Make - (4.4.1)
* Intltool - (0.51.0)
* Gettext - (0.22.4)

Librerías

* GTK+ - (3.24.38)
* Libnotify - (0.8.2)
* PyGobject - (3.42.2)

Intérpretes de Lenguaje de Programación

* Python - (3.12.0)

Aplicaciones

* Convert (ImageMagick) - (7.1.1-21) [1]

[1] Requerido para poder crear los iconos en formato PNG del archivo desktop.



Descarga

gcdemu-3.2.6.tar.xz

Extracción y Configuración

$ tar Jxvf gcdemu-3.2.6.tar.xz
$ cd gcdemu-3.2.6
$ mkdir build; cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..

Explicación de los comandos

-DCMAKE_INSTALL_PREFIX=/usr : Instala el programa en el directorio principal /usr.

Compilación

$ make

Instalación como root  Bloc de Notas Información general sobre el uso de los comandos

$ su
# make install
# for i in /usr/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48,64x64,scalable}/apps ; \
install -m644 ../data/gcdemu.svg $i/scalable/apps ; \
convert -resize 64 -background transparent ../data/gcdemu.svg $i/64x64/apps/gcdemu.png ; \
convert -resize 48 -background transparent ../data/gcdemu.svg $i/48x48/apps/gcdemu.png ; \
convert -resize 32 -background transparent ../data/gcdemu.svg $i/32x32/apps/gcdemu.png ; \
convert -resize 24 -background transparent ../data/gcdemu.svg $i/24x24/apps/gcdemu.png ; \
convert -resize 16 -background transparent ../data/gcdemu.svg $i/16x16/apps/gcdemu.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Explicación de los comandos

for i in /usr/share/icons/hicolor..... : Crea e instala los iconos del programa, en sus diferentes medidas compatibles con el estándar de tamaño de icono de freedesktop.org.

Borrar las locales adicionales instaladas con la utilidad BleachBit

# bleachbit -c system.localizations

Estadísticas de Instalación de gCDEmu

Estadísticas de Instalación de gCDEmu
Sistema de archivos XFS
Archivos instalados 13
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 276 KB

Consumo inicial de CPU y RAM de gCDEmu

Consumo inicial de CPU y RAM de gCDEmu
Programa
CPU RAM
gcdemu 0 % 131,0 MB
cdemu-daemon 0 % 12,2 MB
TOTAL 0 % 143,2 MB
Para medir el consumo de CPU se utiliza el programa top, y para medir el consumo de RAM se utiliza el script de Python, ps_mem.py, creado por Pádraig Brady, que podemos encontrar en este enlace.

Desinstalación como root

1) MODO TRADICIONAL

En el directorio de compilación ejecutamos el siguiente comando:

$ su -c "make uninstall"

2) MODO MANUALINUX

gcdemu-3.2.6-scripts.tar.gz

$ su
# tar zxvf gcdemu-3.2.6-scripts.tar.gz
# cd gcdemu-3.2.6-scripts
# ./Desinstalar_gcdemu-3.2.6

Copia de Seguridad como root

$ su
# tar zxvf gcdemu-3.2.6-scripts.tar.gz
# cd gcdemu-3.2.6-scripts
# ./Respaldar_gcdemu-3.2.6

Restaurar la Copia de Seguridad como root

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_gcdemu-3.2.6



Traducción al español de gCDEmu  

Descarga

gCDEmu_es-ML0.run

Firma Digital  Clave pública PGP

gCDEmu_es-ML0.run.asc 

Verificar la firma digital del paquete

$ gpg --import manualinux.asc (sólo es necesario si no lo hemos hecho antes)
$ gpg --verify gCDEmu_es-ML0.run.asc gCDEmu_es-ML0.run

Instalación como root

$ su -c "sh gCDEmu_es-ML0.run"



Configurar el inicio de gCDEmu   

El programa requiere que el entorno gráfico en cuestión tenga soporte de bandeja de sistema. En aquellos que no lo tienen tenemos la opción de utilizar un panel como BMPanel, Fbpanel, LXPanel, PyPanel o Tint2 o, en su lugar, en el caso de que el entorno ya tenga un panel o barra de tareas, una utilidad de bandeja de sistema como Docker, PekSysTray, Stalonetray, Trayer o Wmsystemtray.

En los entornos gráficos que necesitemos utilizar aplicaciones auxiliares para proporcionar una bandeja de sistema, colocar siempre el comando de ejecución de gCDEmu, detrás del comando de ejecución del panel o utilidad de bandeja de sistema que vayamos a utilizar. También sería recomendable en estos casos, retardar su ejecución con el comando sleep. Un ejemplo:

tint2 &
sleep 2; gcdemu &

La ejecución automática al inicio de la sesión, no es estrictamente necesaria, sobre todo, en aquellos usuarios que monten de forma ocasional, alguna que otra imagen de CD. En este caso, lo pueden ejecutar desde el menú de aplicaciones de su entorno gráfico o panel. Si éste soporta archivos desktop, no hay que editar nada, se mostrará la entrada de forma automática. En aquellos entornos que no soporten archivos desktop en el menú de aplicaciones, habrá que añadir la entrada correspondiente de la aplicación, al archivo de configuración específico del menú de aplicaciones de cada entorno gráfico.

1) AfterStep

* No tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución en la sección correspondiente del archivo de configuración ~/.afterstep/autoexec,

Function "InitFunction"
#    Module  "I"     Animate
    Function "I"    WorkspaceState
    Function "I"    WorkspaceModules
    Module  "I"    Banner
    Exec    "I"    exec "$HOME/.afterstep/non-configurable/send_postcard.sh"
    Exec    "I"     exec "/usr/local/bin/xbindkeys"
    Exec    "I"     exec "/usr/bin/gcdemu"
EndFunction

2) Awesome

* Sí tiene soporte nativo de bandeja de sistema.

Editamos el archivo de configuración personal, ~/.config/awesome/rc.lua y añadimos el comando al final del mismo de la siguiente forma,

client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
-- }}}

os.execute("xbindkeys &")
os.execute("gcdemu &")

3) Blackbox


* No tiene soporte nativo de bandeja de sistema. En su manual se explica la instalación de Docker que proporciona funciones de bandeja de sistema a Blackbox.

Siguiendo el método que se utiliza en el manual de Blackbox lo añadimos al script ~/.blackbox/autostart de la siguiente forma,

#!/bin/sh

(sleep 2; bbkeys &) &
bsetbg -f ~/Fotos/40.jpg
gcdemu &

4) Enlightenment - E16

* No tiene soporte nativo de bandeja de sistema.

En su manual se explica de forma detenida la forma de añadir aplicaciones al inicio, sólo tendremos que crear los scripts correspondientes de ejecución. Abrimos un editor de texto con 3 ventanas y añadimos lo siguiente a cada una:

gcdemu_init

#!/bin/sh

sleep 2; gcdemu &

gcdemu_start
#!/bin/sh

killall -9 gcdemu &> /dev/null 
sleep 2; gcdemu &

gcdemu_stop
#!/bin/sh

killall -9 gcdemu &> /dev/null 

Los guardamos con los nombres que encabezan los scripts, les damos permisos de ejecución y los copiamos a los directorios correspondientes, si no existen los creamos.

$ mkdir -p ~/.e16/{Init,Start,Stop}
$ chmod +x gcdemu_*
$ cp gcdemu_init ~/.e16/init
$ cp gcdemu_start ~/.e16/start
$ cp gcdemu_stop ~/.e16/stop

5) Fluxbox

* Sí tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución en la sección correspondiente del script de inicio ~/.fluxbox/startup,

# Applications you want to run with fluxbox.
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
#
# unclutter -idle 2 &
# wmnd &
# wmsmixer -w &
wmix &
gcdemu &

6) Fvwm

* No tiene soporte nativo de bandeja de sistema. La configuración disponible en el manual está preparada para trabajar con Trayer, cuya instalación y configuración se explica en el mismo manual.

Añadimos el comando de ejecución en la sección correspondiente del archivo autostart, cuya configuración se explica en el manual de Fvwm.

AddToFunc StartFunction  I     Test (Init) Exec exec xscreensaver
AddToFunc StartFunction  I     Test (Init) Exec exec gcdemu

7) Fvwm-Crystal

* No tiene soporte nativo de bandeja de sistema. Está configurado para trabajar con Stalonetray o Trayer.

Añadimos el comando de ejecución al final del archivo ~/.fvwm-crystal/preferences/Startup, cuya configuración se explica en el manual de Fvwm-Crystal.

# Launch gcdemu
#+ I Test (x gcdemu) Exec pidof gcdemu || exec gcdemu


# vim:ft=fvwm

8) IceWM

* Sí tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución al script de inicio ~/.icewm/startup,

#!/bin/sh

stalonetray -p -t --tint-level 125 -geometry 5x1-0-26 &
gai-bgswitcher &
bluecombo &
sleep 2; gcdemu &

9) JWM


* Sí tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución en la sección correspondiente del archivo de configuración ~/.jwmrc, en la versión original y ~/.jwm/autostart.xml en la versión en español disponible en la web.

    <StartupCommand>
        gcdemu &
    </StartupCommand>

10) Openbox


* No tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución al script de inicio ~/.config/openbox/autostart, autostart.sh en versiones inferiores a la 3.5.x.

sleep 2 && pypanel &
xbindkeys &
Esetroot -scale ~/Fondos/2141.jpg
sleep 3.5; gcdemu &

11) Pekwm

* No tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución en la sección correspondiente del script de inicio ~/.pekwm/start

# There's probably a few other good uses for it, too. I mainly pushed for it
# because when I was doing fluxbox's docs, people used to complain that there
# wasn't one, and I wanted to avoid that for pekwm. ;) --eyez

tint2 &
numlockx &
idesk &
sleep 2; gcdemu &
hsetroot -fill /home/jose/Fotos/Natasha_Henstridge.jpg -gamma 1.5 -sharpen 1.5 -blur 1.0

12) Sawfish


* No tiene soporte nativo de bandeja de sistema.

Siguiendo el método que se utiliza en el manual de Sawfish lo añadimos al script ~/.sawfish/autostart de la siguiente forma,

#!/bin/sh

bmpanel &
idesk &
cwallpaper -l
sleep 2; gcdemu &

13) Window Maker

* No tiene soporte nativo de bandeja de sistema.

Añadimos el comando de ejecución al script de inicio ~/GNUSTEP/Library/WindowMaker/autostart

#!/bin/sh
#
# Place applications to be executed when WindowMaker is started here.
# This should only be used for non-X applications or applications that
# do not support session management. Other applications should be restarted
# by the WindowMaker session restoring mechanism. For that, you should
# either set SaveSessionOnExit=YES or select "Save Session" in the Workspace
# submenu of the root menu when all applications you want started are
# running.
#
# WindowMaker will wait until this script finishes, so if you run any
# commands that take long to execute (like a xterm), put a ``&'' in the
# end of the command line.
#
# This file must be executable.
#

stalonetray -p -t --tint-level 125 &
sleep 2; gcdemu &

14) LXDE, MATE, ROX Desktop y XFce4

* Sí tienen soporte nativo de bandeja de sistema.

Creamos el archivo desktop correspondiente con cat o con un editor de texto:

$ cat > gcdemu.desktop << "EOF"
[Desktop Entry]
Type=Application
Name=gCDEmu
Comment=
Exec=gcdemu
StartupNotify=false
Terminal=false
Hidden=false
OnlyShowIn=ROX;LXDE;XFCE;MATE;
EOF

Luego, lo copiamos a ~/.config/autostart.

$ mkdir -p ~/.config/autostart
$ cp gcdemu.desktop ~/.config/autostart


15) Para los que inician X desde terminal con el comando startx


Para los usuarios que inician los entornos gráficos con el comando startx, pueden añadir el comando de ejecución al archivo .xinitrc que se encuentra en nuestro home si no existe lo creamos, y añadimos lo siguiente:

gcdemu &
exec pekwm

16) XDM


Añadimos el comando de ejecución al archivo .xsession que se encuentra en nuestro home, si no existe lo creamos, y añadimos lo siguiente:

gcdemu &
exec pekwm

Para otros administradores de ventanas o escritorios, consultar sus respectivos manuales, en lo que haga referencia a la ejecución de programas al inicio de estos.



Iniciamos gCDEmu

Basta teclear el comando gcdemu en una terminal o en un lanzador para que el programa se inicie. Una vez se ha iniciado, colocamos el puntero del ratón sobre el icono de gCDEmu, y hacemos clic con el botón izquierdo o derecho, lo mismo da. Se desplegará el menú de los dispositivos que tengamos configurados, y las opciones de gCDEmu.

Personalmente recomiendo activar las notificaciones, que nos mostrarán en forma de descripción emergente, los resultados de los cambios que realicemos desde gCDEmu. Desde la versión 2.1.0 de CDEmu, se pueden añadir y quitar nuevos dispositivos virtuales, que serán operativos hasta el siguiente reinicio del sistema.


Captura - gCDEmu - 01

Hacemos clic con el botón derecho del ratón, por ejemplo, sobre el #00, y se desplegará la ventana de selección de archivo de imagen, buscamos la imagen, la seleccionamos, y ésta se mostrará como cargada en el menú de dispositivos.

Captura- gCDEmu - 02

Captura- gCDEmu - 03

Si hacemos clic con el botón izquierdo del ratón sobre la entrada del menú que muestra el dispositivo cargado, se desplegará una ventana de opciones a configurar sobre el mismo. Desde esta ventana, podemos también descargar el dispositivo en cuestión. También lo podemos descargar, haciendo clic con el botón derecho del ratón, sobre la entrada del menú que muestra el dispositivo cargado. Tener en cuenta que este proceso último de descarga puede llegar a demorarse unos segundos desde que hacemos clic en la correspondiente entrada del menú del dispositivo seleccionado, hasta que se realiza la notificación del mismo.

Captura- gCDEmu - 04

Una vez tenemos cargado el archivo de imagen correspondiente, sólo nos queda montar el dispositivo al que apunta la unidad virtual. Si estamos utilizando un entorno de escritorio que soporte automontaje de dispositivos, como es el caso de XFce 4, en el momento, que carguemos el archivo de imagen con gCDEmu, éste se montará de forma automática, mostrándose el correspondiente icono de la unidad en el escritorio. Desde la línea de comandos,

$ mount /media/vcd0

O desde un administrador de archivos que permita montar y desmontar dispositivos, como por ejemplo, ROX-Filer o XFE. En ROX-Filer, se montan de forma automática al hacer clic sobre el punto de montaje, y nos muestra un cuadro de diálogo, al salir del punto de montaje, en el que nos pregunta, si queremos dejarlo como está, desmontarlo o expulsarlo.

En el caso de XFE, para montarlo o desmontarlo, hay que hacer clic sobre el punto de montaje, con el botón derecho del ratón, y seleccionar montar o desmontar, en el menú contextual que se muestra cuando realizamos dicha acción.

Captura- gCDEmu - 05

Captura- gCDEmu - 06

Captura- gCDEmu - 07

Captura- gCDEmu - 08




Enlaces


http://cdemu.sourceforge.net >> La web de CDEmu.


Foro Galería Blog


Actualizado el 05-02-2024

Emulación CD/DVD - CDEmu

El Centro de Control de Wine - WinecfgEmuladores - DeSmuME