Saltar al contenido

Montaje de ISO en Linux / KDE

Solución:

La mejor respuesta a su problema es agregar menús contextuales para Montar / Desmontar en Dolphin, o menús de servicio como se llaman en KDE.

Para hacer esto, necesita:

  1. cree la carpeta donde se montará la ISO. (para este ejemplo usaré / mnt / iso)
  2. navegar a /usr/share/kde4/services/ServiceMenus
  3. crear un nuevo archivo con .desktop extensión (utilicé iso.desktop)
  4. agregue las siguientes líneas:

    [Desktop Entry]
    Type=Service
    ServiceTypes=KonqPopupMenu/Plugin
    MimeType=application/octet-stream;
    Actions=mountISO;umountISO;
    
    [Desktop Action mountISO]
    Name=Mount
    Icon=utilities-terminal
    Exec=kdesu 'sudo mount -o loop,ro -t iso9660 "%f" /mnt/iso/'
    
    [Desktop Action umountISO]
    Name=Unmount
    Icon=utilities-terminal
    Exec=kdesu 'sudo umount "%f"'
    
  5. Si kdesudo está disponible en su sistema en lugar de kdesu, agregue las siguientes líneas en su lugar:

    [Desktop Entry]
    Type=Service
    ServiceTypes=KonqPopupMenu/Plugin
    MimeType=application/octet-stream;
    Actions=mountISO;umountISO;
    
    [Desktop Action mountISO]
    Name=Mount
    Icon=utilities-terminal
    Exec=kdesudo 'mount -o loop,ro -t iso9660 "%f" /mnt/iso/'
    
    [Desktop Action umountISO]
    Name=Unmount
    Icon=utilities-terminal
    Exec=kdesudo 'umount "%f"'
    

OBSERVACIONES:

  • el montaje en / media / iso en lugar de / mnt / iso hará que la iso montada aparezca convenientemente como una unidad de solo lectura en los lugares de Dolphin.
  • en el ServiceMenus directorio puede encontrar otros ejemplos de cómo se debe formatear el archivo.
  • la sintaxis es bonita, así que no la describiré (comente si tiene preguntas).
  • este método funciona solo para un ISO a la vez, ya que todos están montados en el mismo directorio y todavía no pude encontrar una manera de superar esto.
  • se le pedirá una contraseña cada vez que monte / desmonte
  • al final debería verse así:
    ¡problema resuelto!

Aquí hay una aplicación que hace todo lo anterior.

Menú de servicio simple basado en KDE-Services y Mount ISO image (más detalles aquí):

 kate ~/bin/iso_manager-mount-image.sh 

Con este contenido (pegando esto aquí para evitar la necesidad de instalar KDE-Services o cargar el script):

#!/bin/bash

#################################################################
# For KDE-Services. 2012-2017.                  #
# By Geovani Barzaga Rodriguez <[email protected]>      #
# Improved by Victor Guardiola (vguardiola) Jan 5 2014      #
#   -Fixed the problem of [dir|file]name with whitespaces.  #
#################################################################

PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/$USER/bin
MOUNTEXIT=""

##############################
############ Main ############
##############################

cd "${1%/*}"

if [ "$1" == "${1%.*}.iso" ]; then
   fuseiso -p "$1" "${1%.iso}"
   MOUNTEXIT=$?
else
   rename .ISO .iso *
   kdialog --icon=ks-error --title="Mount ISO-9660 Image" 
                   --passivepopup="[Error] Can't mount ${1##*/}: Renamed extension of ISO image, because contain uppercase characters. Please try again."
   exit 1
fi

if [ "$MOUNTEXIT" = "0" ]; then
   kdialog --icon=ks-media-optical-mount --title="Mount ISO-9660 Image" --passivepopup="[Finished] ${1##*/} mounted."
else
   kdialog --icon=ks-error --title="Mount ISO-9660 Image" 
                   --passivepopup="[Error] Can't mount ${1##*/}: Already mount or check image integrity."
   exit 1
fi

exit 0

Luego:

kate ~/.local/share/kservices5/ServiceMenus/mount-iso.desktop

con este contenido:

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/x-cd-image;model/x.stl-binary
Actions=mount;unmount;
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
Icon=application-x-cd-image
X-KDE-Submenu=Mount/unmount image


[Desktop Action unmount]
Name=Unmount
Icon=edit-redo
Exec=which fuser fusermount; if [ "$?" != "0" ];then kdialog --icon=ks-error --title="Unmount ISO-9660 Image" --passivepopup="[Error] Please install fuser and fusermount command and try again."; exit 1; else fuser -k %f; fusermount -u "$(ls "%f"|sed 's/.iso$//')"; rm -fr "$(ls "%f"|sed 's/.iso$//')"; kdialog --icon=ks-media-optical-umount --title="Unmount ISO-9660 Image" --passivepopup="[Finished] $(basename %f) unmounted.";fi

[Desktop Action mount]
Name=Mount
Icon=circular-arrow-shape
Exec=which fuseiso; if [ "$?" != "0" ];then kdialog --icon=ks-error --title="Mount ISO-9660 Image" --passivepopup="[Error] Please install fuseiso command and try again."; exit 1; else ~/bin/iso_manager-mount-image.sh %F;fi

ingrese la descripción de la imagen aquí

Montará la imagen en una carpeta recién creada dentro del mismo directorio que la imagen, y esa carpeta se eliminará cuando se seleccione la opción de desmontar para la iso.

fuser, fusermount, fuseiso y kdialog Se necesitan.”


Acetoneiso viene en Plasma 5 con solo tres paquetes suplementarios: fuseiso y otros dos que son qt-basado.

sudo apt install acetoneiso

Para verlo en Dolphin, debe agregar el programa a las propiedades del archivo iso.

ingrese la descripción de la imagen aquí

Entonces, se puede encontrar en Dolphin bajo el Abrir con opción:

ingrese la descripción de la imagen aquí

Eso montará la imagen, la abrirá en Dolphin, y también abrirá la ventana Acetineiso, donde puedes encontrar la Desmontar opción.

ingrese la descripción de la imagen aquí


También hay gnome-disk-utility que, a pesar del nombre, viene sin dependencias que no sean de kde en Plasma 5.8 (de hecho, no depende en absoluto), e incluye (al lado gnome-disks, también llamado “Discos”, predeterminado en Ubuntu) una herramienta llamada gnome-disk-image-mounter.

sudo apt-get install gnome-disk-utility

Después de eso, se crea una entrada del menú contextual de Dolphin, accesible seleccionando ‘Abrir con’ – ‘Montador de imagen de disco’.

ingrese la descripción de la imagen aquí


Estos programas también podrían usarse con un menú de servicio (pero ambos carecen de un comando de desmontaje).

Por ejemplo, se podría usar esto con Acetoneiso:

kate ~/.local/share/kservices5/ServiceMenus/acetoneiso-mount-iso.desktop 

con el contenido:

[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/x-cd-image
Actions=mount
X-KDE-Priority=TopLevel
X-KDE-StartupNotify=false
Icon=application-x-cd-image
X-KDE-Menu=Mount with Acetoneiso



[Desktop Action mount]
Name=Mount with Acetoneiso
Icon=Acetino2
Exec=acetoneiso %f

ingrese la descripción de la imagen aquí


Parece haber una especie de error aquí al usar estos programas con Dolphin: al desmontar desde el botón Acetoneiso o desde la lista de dispositivos Dolphin, la entrada de la lista permanecerá allí (llamada ‘Dispositivo de bucle’ en el caso de gnome-disks) que, si se selecciona, volverá a montar la imagen. Esa entrada permanecerá allí hasta que se reinicie el sistema (cerrar sesión no es suficiente). (El primer guión no se ve afectado por esto).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *