domingo, 18 de julio de 2010

Ubuntu: Crear un acceso a un recurso remoto compartido por windows

El siguiente texto supone que el recurso remoto se encuentra en //192.168.1.102/compartido y dicho recurso no esta protegido por contraseña.

El modo de conectarse a un recurso remoto utilizando nautilus es:
En la barra de direccion escribir, por ejemplo: smb://192.168.1.102/compartido

Tambien puede utilizarse el asistente: archivo, conectar con el servidor, tipo de servicio, compartido por windows

Luego, si uno quiere automatizar el asunto podria crear una entrada en el archivo
/etc/fstab:
//192.168.1.102/compartido /media/compartido cifs users,rw,auto,guest 0 0

Luego de eso, como uno de los parametros de mount es "users", se le permite al usuario montar y desmontar el recurso.

A partir de aqui comienza una serie de problemas.

El primero con el que me encontré:
En algunos sistemas, el solo hecho de agregar esa linea en fstab hace que el recurso se vea en 'Equipo' (computer:///)
Entonces con solo hacer doble clic se monta, con clic derecho tambien se monta o se desmonta. En fin todo muy bonito.
En otros sistemas no encontré cómo hacer que el recurso aparezca en computer:///
La solucion que encontre fue simple: crear un lanzador con la siguiente linea de comando:

mount /media/compartido

Eso resolvio el primer problema.
Obviamente, todo esto fue pensando en el operador y en no tener que darle instrucciones cripticas para un operarador inexperto.

El segundo:
Con el recurso montado de ese modo las cosas parecen funcionar bien, hasta que uno se topa con este bug:
http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg1272315.html

Basicamente, cuando, desde nautilus, se intenta reemplazar un archivo con otro del mismo nombre, no nos deja. Tampoco se pueden modificar archivos con gedit ya que informa de un error impidiendo la modificacion.
Ese error en español es:
"Error inesperado: Archivo de texto en uso"
Y en ingles:
“Unexpected Error: Text file busy”

El error de nautilus al intentar reemplazar un archivo del mismo nombre es:
En español:
"Error al renombrar el archivo temporal: Archivo de texto en uso"
Y en ingles:
“Error while renaming temporary file: Text file busy”

Al parecer son los unicos dos problemas. Abrir archivos de open office no trae problemas, por ejemplo.
Sin embargo, el operador no sabe de bugs, ni le interesan, ni quiere lidiar con ellos.

La solucion que encontre fue la siguiente:

Todo es tan simple como crear un lanzador con la siguiente linea de comandos:

nautilus smb://192.168.1.102/compartido