jueves, 13 de mayo de 2021

Compartir carpeta en menú contextual de Thunar

 

En muchos centros de trabajo donde se concentra un número elevado de ordenadores, en una escuela, por ejemplo, puede ser muy interesante usar una distribución GNU-Linux en sus equipos informáticos, aunando así el sistema operativo y las aplicaciones necesarias para trabajar en todos ellos. En este caso usé una distribución educativa muy recomendable en gallego llamada abalarLibre (basada en Debian Stretch). En esta entrada tratamos la necesidad de compartir el contenido de una carpeta entre los equipos de una red en una distribución Linux, siendo muy útil poder disponer en el menú contextual del gestor de archivos (Thunar) de una acción que permita hacerlo con facilidad.

La primera dificultad que encontramos cuando usamos una distribución clonada en todos los equipos de una red es que el nombre es el mismo para todos ellos; por ejemplo:

Con el comando hostname usado en un terminal de Linux podemos conocer el nombre del equipo.

Si deseamos cambiar el nombre de algún equipo podemos hacerlo usando el comando hostnamectl del siguiente modo, por ejemplo:

hostnamectl set-hostname abalarNacho


Usando de nuevo hostname, el equipo nos devuelve ahora el nuevo nombre:

Después crearemos una contraseña para el usuario de Samba. Si no está instalado Samba, deberemos instalarlo usando el terminal o el Gestor de paquetes Synaptic.

En el terminal de root tecleamos lo siguiente:

apt-get install samba

Usando Synaptic:

Para crear una contraseña al usuario (usuario) del servidor Samba, tecleamos en el terminal de root lo siguiente:

smbpasswd usuario -a


Le asignamos la contraseña que queramos.

Seguidamente, abrimos el gestor de archivos Thunar, y en el menú Editar configuramos las acciones personalizadas:


Añadimos Compartir carpeta picando en el signo +.


Al editar la acción en la pestaña Básico añadimos el Nombre, la Descripción y la Orden (usé un ordenador cuyo sistema estaba en gallego, pero son fáciles de entender los menús):


La Orden contiene lo siguiente:

net usershare add %n %f "" Everyone:F guest_ok=y && chmod 777 %f

El argumento es compartir las carpetas desde la línea de comandos que el campo Orden nos brinda usando el comando net usershare. Los primeros parámetros añaden el nombre de la carpeta y su ruta, donde se añade también que el recurso es compartido por todos, incluidos los invitados. Para que en el recurso compartido (carpeta) puedan añadir ficheros los invitados cambié los permisos de la carpeta. Si sólo queréis que lo hagan los usuarios auténticados, poner a guest_ok=n. En fin, lo puse fácil porque prefiero garantizar que funcione bajo todo tipo de condición.

Haciendo clic en Icono (Icona en gallego), añadí un icono asociado a la entrada del menú para hacerlo más visual. Filtramos con la palabra Folder y añadí el icono de folder-remote:


En la pestaña Condiciones de aparición sólo marcamos Directorios.


Finalmente, la nueva acción queda como se muestra en la siguiente imagen. Cerramos (Pechar).

Si deseamos compartir una carpeta, por ejemplo, con el nombre Documentos compartidos, sólo tenemos que crearla, y luego desplegar el menú contextual del gestos de archivos y hacer clic en el menú Compartir carpeta.


Desplegamos el menú contextual y elegimos Compartir carpeta.


Aparentemente no hace nada, pero nos ubicamos en otro ordenador de la red local compartida, y en Explorar la red del gestor de archivos aparecen visibles el resto de los equipos.

SMB (Samba para los colegas), nos permite conectarnos a equipos de diversos sistemas operativos, como Windows o Linux. En este caso husmearemos dentro del grupo de trabajo WORKGROUP.


Aparece ahora el equipo, abalarNacho, donde creamos la carpeta anterior.


Haciendo clic sobre abalarNacho aparecerán los recursos compartidos.

Picando en la carpeta nos pedirá la contraseña del usuario Samba creada anteriormente.

Et voilà, ahora ya podemos visualizar el contenido de la carpeta compartida. Las X de la imagen están porque en las preferencias de Thunar tenía configurado en la Vista predeterminada mostrar miniaturas sólo para los archivos locales.

Si se desea o es también necesario, podemos crear otra acción que invierta el resultado, es decir, que dejemos de compartir la carpeta. Para ello podemos crear la siguiente acción con su correspondiente argumento en el campo Orden de la pestaña Básico:


 net usershare delete %n && chmod 755 %f

 

En la pestaña Condiciones de aparición sólo tenemos que marcar Directorios.

En el menú contextual solamente tendremos que hacer clic  en Dejar de compartir carpeta (Deixar de compartir cartafol en gallego) para que la carpeta anteriormente compartida deje de estarlo.

No hay comentarios:

Publicar un comentario