El otro día Pavloco nos mostró como integrar mejor a Dropbox en Xfce, y aunque no soy alguien fanático de las «nubes» (sobre todo por mi conexión de Internet…), recordé que me había ganado unos lindos 50GB en Box.com por usar un Android LG Me puse a investigar un poco de cómo integrar mejor a Box en Linux, y ahora vengo a enseñarles a quienes estén interesados.
Debo aclarar primero, que tampoco vamos a poder competir lado a lado con la poderosa integración que tiene Dropbox en Linux, ya que en el caso de Dropbox es un cliente nativo (o un daemon, no estoy seguro), pero para Box usaremos algunos trucos que nos permitirán utilizar funciones básicas, como subir/bajar y revisar archivos para uso personal.
Bien, empecemos. Lo primero que necesitamos, en instalar el paquete davfs2 en nuestra distribución, pues es la parte fundamental de todo.
En Debian ejecutaríamos esto (como root, por supuesto):
apt-get install davfs2
Para Arch sería:
pacman -S davfs2
En Fedora…
yum install davfs2
Entre otras… Lo siguiente que hay que hacer, será crear la carpeta donde montaremos nuestra cuenta, para acceder a ella. Por ejemplo, yo creé una en mi Home, llamada «Box» (sin comillas). Ahora deberemos editar el archivo /etc/fstab, añadiendo la siguiente línea:
https://www.box.com/dav /home/usuario/Box davfs rw,user,noauto 0 0
Cambiando «usuario» por su usuario, o la ruta entera si crearon la carpeta en otra parte. Esta línea sólo le indica al sistema, que monte el sistema DAV de Box.com en la carpeta que queremos, y que le de permiso a cualquier usuario de abrirla, así como Leer y escribir archivos en ella.
Sin embargo, no podrá montarla si no le damos nuestro usuario y contraseña de Box Así que en nuestra Home crearemos una carpeta llamada .davfs2 (el «.» es para que esté oculta), la cual contendrá las configuraciones. Luego hay que copiar los archivos «davfs2.conf» y «secrets» que están en /etc/davfs2/, y meterlos en la carpeta que recién creamos.
Esto podemos hacerlo rápidamente con estos comandos:
mkdir ~/.davfs2/
sudo cp /etc/davfs2/davfs2.conf /home/usuario/.davfs2/
sudo cp /etc/davfs2/secrets /home/usuario/.davfs2/
sudo chown -R usuario /home/usuario/.davfs2/ ## Cambien "usuario" por su nombre de usuario
Procedemos a abrir ambos archivos con nuestro editor de texto favorito. En «davfs2.conf» buscamos la línea «#use_locks 1» y la descomentamos (retiramos el #), y nos aseguramos de que el número que está a su lado sea «0«. Es decir, que quedaría así:
use_locks 0
Ahora editaremos el archivo «secrets«, y añadiremos la siguiente línea al final:
https://dav.box.com/dav user@email.com password
Claro, coloquen su correo y contraseña Sólo quedaría probar si se monta, así que abriremos una terminal y escribiremos en ella:
mount /ruta/a/la/carpeta/
Si no da ningún problema, pues estaremos listos Para probarlo podrían copiar un archivo ligero (1MB o menos?) a la carpeta dónde montaron Box.
En caso de que se presenten errores, los solucionaremos de su respectiva forma:
- /sbin/mount.davfs: program is not setuid root. Éste se soluciona con el comando:
sudo chmod u+s /sbin/mount.davfs - /sbin/mount.davfs: user must be member of group davfs2. Se arregla añadiendo nuestro usuario al grupo davfs2, ejecutamos:
sudo gpasswd -a usuario davfs2, donde «usuario» es tu usuario. - /sbin/mount.davfs: / is the home directory of user kernoops. Se arregla así:
sudo echo "ignore_home kernoops" >> /etc/davfs2/davfs2.conf
Esos son los posibles errores. Si les da algún otro error, no olviden ponerlo en los comentarios
Acción personalizada para Thunar
Aprovechando que estaba en Xfce, se me ocurrió probar si con comandos personalizados podía subir cualquier carpeta a Box desde Thunar. Y si que funciona. Aunque no muestre una barra de progreso para saber cuánto falta, si genera notificaciones para avisar que ya subió los archivos seleccionados.
Para usarla, abriremos Thunar, e iremos a Editar>Configurar acciones personalizadas. Hacemos click en Añadir (el símbolo de +) y rellenamos los espacios de esta manera:
Pestaña «Básico«:
Nombre: Subir archivo(s) a Box
Descripción: Sube los archivos seleccionados a Box.com
Comando: notify-send "Subiendo a Box" "Subiendo %F a tu cuenta de Box..." && cp -r %F ~/Box/ && notify-send "Listo" "Los archivos ya han sido subidos a tu cuenta de Box"

Pestaña «Condiciones de apariencia«: marquen todas las casillas.

Guardamos y listo, podemos subir rápidamente archivos a Box
Sincronizar carpetas de forma manual
Esto es algo que podemos hacer con el comando rsync, sin embargo algunos preferimos hacer esto desde una interfaz cómoda, así que instalaremos Unison, un frontend para rsync.
Será cuestión de instalar los paquetes unison y unison-gtk. En Debian sería así:
apt-get install unison unison-gtk
Luego, procedemos a buscarlo en el menú (categoría Accesorios) y lo abrimos. Nos saltará una ventana para configurar un «perfil«. Unison usa perfiles para cada carpeta que quieras sincronizar.
Entonces, crearemos uno. En «Profile Name» y «Description» podemos colocar lo que queramos. En tipo de sincronización, lo dejaremos en «Local«. Luego nos toca elegir las dos carpetas, la que está en Box y la que vamos a sincronizar.
Una vez que esté listo, simplemente abrimos el perfil y Unison comparará las dos carpetas. Luego sólo debemos hacer un click en «Go» y comenzará a sincronizar.
Nota: si borramos algo en una carpeta, por defecto Unison querrá borrarlo en la otra. Para cambiarlo sólo hacemos click en el archivo y luego presionamos «Right to left» o «Left to right» dependiendo de donde esté el archivo original.
Si bien es posible realizar sincronización automática con Unison o RSync, es algo complicado lograr un resultado óptimo para cada quien.
Bueno, eso es todo. Son opciones algo limitadas, pero si queremos algo mejor tendríamos que usar directamente la API de Box, ya que no hay cliente nativo para Linux (y si lo hubiera sería de pago, como el de Mac y Windows).
¿Qué les parece? ¿Utilizan alguna otra nube como Dropbox, Wuala, SpiderOak, etc? ¿No les gustan mucho las nubes? Opinen