Hoy veremos en este artículo como podemos compartir archivos, carpetas o directorios entre nuestra máquina real y la máquina que tenemos virtualizada con Gnome Boxes.
Los que habéis usado VirtualBox, sabéis que para compartir archivos entre las máquinas reales y los sistemas operativos virtualizados o a la inversa, necesitamos instalar un complemento llamado “ Guest Additions” Un extra, que además nos permitirá adaptar la resolución de la pantalla a nuestro monitor y compartir periféricos.
La cuestión de adaptar la resolución de nuestro monitor queda resuelta automáticamente en la mayoría de las ocasiones en Gnome Boxes. La pregunta que genera este artículo y que me despertó la curiosidad es ¿Cómo puedo además compartir archivos, carpetas o directorios? Y me puse a investigar.
La solución es parecida a la que llevamos a cabo en VirtualBox y es la de instalar “un extra” en cada una de nuestras máquinas virtuales o huésped, llamada “ SPICE” o también “spice-webdavd”. La cual desempeña una función similar.
Instalando SPICE y configurando sistemas para compartir archivos en Gnome Boxes.
Antes de comenzar he de aclarar que nos enfrentamos a dos escenarios paralelos. El proceso de configuración es similar entre Gnome Boxes instalado de los repositorios y el instalado mediante la paquetería en formato Flatpak.
En este último caso deberemos darle un paso más, al llevado a cavo mediante una instalación convencional de la aplicación. Y es el de darle los oportunos permisos a la aplicación, para que todo esto sea efectivo y poder compartir archivos, carpetas o directorio. Lo veremos más adelante.
Comenzaremos desarrollando todos los pasos a seguir para ambas instalaciones de Gnome Boxe (tanto desde el repositorio como desde Flatpak, pues son similares).
- Configurando la aplicación para indicarle el directorio a compartir
- En nuestra aplicación Gnome Boxes debemos especificar la carpeta o directorio que queremos compartir entre máquina real y virtual. Para ello picaremos sobre la línea de tres puntos o sobre el icono de la máquina virtual (depende del modo vista que tengamos configurado). Menú derecho del rato, Preferencias, y en la ventana que se nos muestra, nos dirigimos a la pestaña llamada “Dispositivo y Comparticiones” y nos dirigimos al apartado “Carpetas Compartidas”. Picaremos sobre el símbolo + que allí se nos muestra y en el explorador que emerge, navegaremos hacia la carpeta que queremos compartir.
Lo podemos ver en la siguientes imágenes.
Bien completado este paso, por cada una de las máquinas virtual que vayamos creando, no olvidéis indicar el directorio compartido. Nos centraremos en ver el proceso de instalación del complemento que nos permitirá acceder al mencionado directorio y compartir archivos de modo bidireccional.
- Instalando SPICE o SPICE WEBDAVD.
No olvidéis que este complemento debemos instalarlo en cada una de las máquinas virtuales que vayamos creando. Solamente en las “virtuales” en “LA MÁQUINA REAL O NUESTRO PC, NO ES NECESARIO”.
Para ello abrimos una terminal de nuestro sistema operativo visualizado y tipeamos los siguientes comandos.
En Ubuntu, Debian y derivados el comando sería el siguiente
sudo apt install spice-webdavd |
En Fedora
sudo dnf install spice-webdavd |
*Nota:
En algunos Linux puede localizarse el paquete solamente con su nombre reducido, por tanto, pasaría a llamarse “Spice” simplificando el comando de instalación.
En derivados de Arch podemos clonarlo con los siguientes comandos
git clone phodav from upstream |
yum -y install gnome-common gcc gcc-c++ automake autoconf libtool |
intltool gtk-doc glib2-devel libsoup-devel libxml-devel |
./autogen.sh |
make |
make install |
spice-webdavd -p 8000 |
- Utilización de Spice.
- Bien, una vez ya instalado, pasaremos a ver como podemos utilizarlo fácilmente.
Procedamos a compartir un archivo entre nuestro PC real y la máquina virtual creada. Para ello, como muestra la siguiente imagen, utilizaremos un archivo de música como ejemplo. Dicho archivo lo tengo en mi PC y lo quiero copiar a mi sistema invitado.
Para ello nos dirigiremos a la barra de herramientas de la aplicación de nuestro Gnome Boxes y en el menú de línea de puntos, escogeremos la opción “Enviar un Archivo”. Lo que nos abrirá el explorador de archivos, seleccionaremos el archivo de música mencionado y comenzara el proceso de copiado.
Una vez terminado, se nos abrirá el gestor de archivos de nuestra máquina virtual por el directorio de descargas y veremos como nos aparece copiado ya el archivo de música en él.
A si de sencillo, podemos compartir un archivo entre la máquina real y virtual. Pero como podemos deducir, esto solo es anecdótico a la hora de compartir mucha información, pues lo ideal es poder compartir un directorio o como mínimo, una carpeta de un modo totalmente Bidireccional para que podamos trabajar de un modo más intenso, entre el sistema invitado y su anfitrión.
- Compartiendo directorio entre ambos sistemas (anfitrión e invitado o viceversa).
- Para comenzar no olvidaréis que es sumamente importarte, llegado este punto tener configurado ya el directorio compartir como os indicaba más arriba en el paso n.º1.
- Recordar que debemos tener instalado también en nuestra máquina virtual la aplicación “SPICE o SPICE WEBDAVD.” Indicada en el paso nº2.
- En el caso de que instalásemos Gnome Boxes en formato Flatpak, tenemos que darles permisos a la aplicación, para ello mirar al final del artículo (apartado N.º 6).
Realizado todo lo anterior, para poder montar y acceder a la capeta o directorio que queremos compartir, abriremos el gestor de archivos en nuestra máquina virtual. En mi caso Ubuntu 22.04 y nos dirigiremos al panel izquierdo y pulsaremos en la sección llamada “Otras Ubicaciones” como muestra claramente la siguiente imagen.
Como podéis observar nos aparece un acceso en Red con el nombre de “Spice clien folder,” si picamos sobre él y todo va bien, se nos abre el acceso al directorio que quereros compartir montándolo en el gesto de archivos como (dav://localhost:9843).
Ahora compartir archivos de modo bidireccional en dicha carpeta o directorio es factible.
A la izquierda el gestor de archivos en PC real y a la derecha el gestor de archivos Nautilus en máquina virtualizada.
- Observaciones y problemas hallados
Bien, las pruebas efectuadas para este artículo, se llevaron a cabo entre diferentes máquinas virtuales para ampliar posibles resultados.
Me he encontrado que spice funciona mejor con el gestor de archivos “Nautilus” generalmente, aunque, a veces, a la hora de montar el directorio puede dar error o no encontrarlo.
En el ejemplo usado para el artículo sobre Ubuntu 22.04 LTS. Honestamente, la primera vez que trate de montar el directorio picando sobre el icono de “Spice clien folder” me tiro el siguiente error.
Me puse a investigar y lo subsane de la siguiente manera. Con el gestor de archivos Nautilus de la Maquia Virtual abierto, pulsamos el siguiente atajo de teclado “Ctrl + L” y en la caja de direcciones escribimos lo siguiente “network:///Spice client folder” y pulsaremos la tecla “Intro”.
De ese modo estaremos indicándole al sistema huésped en que dirección de red queremos que busque la carpeta compartida.
Ahora ya, como vemos en la imagen anterior, ya accedió al directorio en cuestión montándolo en red.
Podemos dejarle fijado en la lista de iconos de la izquierda para la próxima vez que queramos acceder, tan sencillo como, botón derecho sobre la carpeta de “localhost9843” y en el menú contextual encogemos la opción “Añadir marcador” de este modo ya lo tendremos listo ahí siempre que lo necesitemos.
En algunas versiones de Nautilus sigue generando problemas y en algunos otros gestores de archivos podemos buscarlo mediante la opción de conexión remota a red, con los siguientes paramentos.
“dav+sd://Spice%20client%folder._webdav._tcp.local/” |
- Otorgándole privilegios de acceso a nuestra PC real, a la aplicación de GNOME Boxes instalado mediante vía Flatpak.
Si instalamos la aplicación de virtualización Gnome Boxes en nuestro PC mediante la paquetera Flatpak, a veces como es este caso, necesitaremos concederles permisos especiales, para que la aplicación Gnome Boxes pueda acceder a nuestro directorio de archivos reales. Recodar que una de las características de las aplicaciones en formato Flatpak es ejecutarse un “Sandbox o caja de arena” y que a la hora de instalarse estas aplicaciones suelen quedarle configurados los permisos necesarios que requieren para un óptimo funcionamiento. En caso de necesitar alguna excepción extra, debemos aplicársela nosotros de modo manual.
Para que los sistemas Linux invitados puedan acceder a nuestra carpeta directorio compartido necesitamos darle a Gnome Boxes dichos permisos una única vez, mientras no variemos el directorio a compartir, claro está.
Como aclaración le podríamos facilitar acceso completo a todos nuestros documentos en la máquina real, pero esto supone un riesgo serio a nuestra seguridad y privacidad, por lo que es más recomendable aplicar los oportunos permisos, solo a la ubicación compartida.
Para llevar esta tarea a cabo, necesitaremos instalar vía Flatpak, la siguiente aplicación llamada Flatseal o bien usando este soporte vía Store, si lo tenemos instalado. En caso contrario con el siguiente comando si carecemos de tienda de este tipo de aplicaciones.
flatpak instalar flathub com.github.tchx84.Flatseal |
Podemos seguir los pasos desde la página de FhapHub en el siguiente enlace.
Una vez instalada la buscamos en nuestro menú de inicio y la abrimos.
Su manejo es sencillo, del lado izquierdo aparecen las aplicaciones en formato Flatpak instadas y del lado derecho todas las modificaciones posibles, en los diferentes campos.
Procedemos a seleccionar el icono de Gnome Boxes (n.º 1) lado izquierdo, picando sobre él y a continuación en el lado derecho de la aplicación procederemos localizar apartado llamado “Filesystem”, nos desplazaremos hacia abajo, entre las opciones de ese apartado y nos fijaremos donde dice “Otros Archivos” (n.º 2) y picaremos en el icono con forma de carpeta. A continuación podemos observar, como nos aparece, una nueva caja destacada por el rectángulo verde, en cuyo campo podremos añadirle la dirección de la ubicación de la carpeta compartida (3).
En mi caso quedaría del siguiente modo:
/home/Pedro_Crespo/Público/Carpeta Virtual/:ro |
Nos quedará con un triángulo azul informativo, recordarnos que esta modificación de permisos fue realizada de modo manual y advirtiéndonos de tal motivo.
Si observamos debajo, existen tres modificaciones en rectángulo amarillo (n.º 4) realizadas por el sistema en el momento de instalar Gnome Boxes.
Ahora cerraremos y abriremos nuestro Gnome Boxes. La aplicación de virtualización y seleccionamos cualquier máquina virtual, que si le tenemos instalada la aplicación Spice anteriormente mencionada ya debería darnos acceso a la carpeta compartida sin problemas, en nuestro Gnome Boxes instalado en formato Flatpak.
Bien, eso es todo, espero les haya resultado útil este tutorial de como podemos compartir archivos, carpetas y directorios en Gnome Boxes con QEMU.
Os recordamos que podéis consultar este extenso manual de utilización de Gnome Boxes desde el siguiente enlace.
Para cualquier duda podéis visitar nuestro grupo de apoyo en Telegram, desde el siguiente enlace.
One Reply to “Gnome Boxes. Intercambios de archivos entre máquina virtual y real.”
Comments are closed.