Allá por Julio del año pasado escribí un articulo en el cual os mostraba como usar Drive en Ubuntu con una aplicación llamada Grive. Todavía no entiendo como puede ser que Google no haya sacado una aplicación oficial para ello, pero no me quiero enrollar con eso. En dicho articulo mostraba como instalarla, yo no la tengo instalada desde hace tiempo en el ordenador, pero muchos usuarios me han reportado problemas al instalarla y aquí os quiero dejar la forma de arreglarlo. También os voy a mostrar como usar Grive desde el principio, mi intención es que este articulo sirva para instalar Grive mediante PPA, crear un directorio en el ordenador y sincronizarlo con Drive para empezar a trabajar con el en Ubuntu. Antes de seguir quiero agradecer a Raul su aporte, en un comentario del anterior articulo me dejo la solución, todo el merito es suyo. También quiero agradecer a los chicos de Ubunlog el excelente articulo en el cual me he basado para escribir este.
Vamos al lío, antes de escribir el articulo lo he probado en una maquina virtual de Ubuntu 14.04 y ha funcionado todo correcto. He borrado dicha maquina virtual, la he restaurado de la copia de seguridad para que estuviese vacía y voy a hacer todo el proceso desde cero. Lo primero que tenemos que hacer es abrir una Terminal en nuestro Ubuntu y escribir lo siguiente para añadir el PPA necesario:
sudo apt-add-repository ppa:nilarimogard/webupd8
Después recargamos con:
sudo apt-get update
Y finalmente instalar Grive con el siguiente comando:
sudo apt-get install grive
Antes de escribir este articulo me pase por Launchpad para comprobar en que versiones de Ubuntu debería funcionar y, en principio, debería funcionar para la mayoría, os dejo una captura de pantalla:
Como podéis ver en la imagen este PPA funciona desde la versión 10.04 hasta la 15.10 de Ubuntu. Ahora que ya tenemos instalado el Grive lo siguiente seria decidir que directorio vamos a usar, en mi caso he creado uno en mi directorio personal llamado «grive». Podéis crear dicho directorio desde el Nautilus, pero yo voy a hacer todo el proceso mediante la Terminal. Ya tengo la Terminal abierto y voy a teclear un comando para saber en que directorio me encuentro:
pwd
En la primera linea podéis ver el comando «pwd», este comando nos muestra en el directorio en el que estamos, en mi caso es «/home/liher», en la tercera linea he escrito el comando «ls», esto nos muestra el contenido de dicho directorio, como podéis ver esta «Descargas», «Escritorio» y demás. El siguiente comando que he escrito es:
mkdir grive
Con este comando creo un directorio llamado «grive», ese es el directorio que voy a usar para sincronizar mis archivos, vosotros podéis llamarle como queráis. Después he puesto «cd grive» para entrar en dicho directorio y después he vuelto a poner «pwd» para comprobar que estoy en el directorio «grive». Bien, el ultimo comando que he introducido es «ls» para ver su contenido y no muestra nada ya que esta vacío.
Primero tenemos que autorizar a esta aplicación para que pueda trabajar con Drive, esto solo tenemos que hacerlo una vez de la siguiente forma, en la Terminal y situados dentro del directorio donde vamos a sincronizar tecleamos lo siguiente:
grive -a
Al teclear esto veremos lo siguiente en la Terminal:
Como podéis ver mas o menos en la mitad de la captura he tecleado el comando y debajo aparece un mensaje que dice «Please go to this URL and get an authentication code:», esto quiere decir que copiemos la dirección web que hay debajo, las 6 lineas, y la peguemos en el navegador web, podéis seleccionar las 6 lineas con el ratón, una vez seleccionadas hacéis click con el botón derecho del ratón y seleccionáis «Copiar», después vais al navegador web que uséis y lo pegáis en la barra de direcciones como podéis ver en la siguiente imagen:
La flecha amarilla señala cual es la barra de direcciones, en este caso he usado el Firefox, ahí podéis ver que he pegado la dirección que me salio en la Terminal. Ahora, una vez copiada esa dirección, pulsamos Enter y veremos esto en el navegador:
Aquí nos pide nuestra dirección de correo de Gmail, la tecleamos y pulsamos el botón azul en el que pone «Next», ahora aparecerá una pantalla en la cual Google nos pide nuestra contraseña como podéis ver en la siguiente imagen:
Después de escribir nuestra contraseña hay que pulsar donde pone «Sign in». Aquí, en mi caso uso la verificación en dos pasos de Google por seguridad, para los que no sepáis lo que es os lo explico. Google nos permite dotar a nuestra cuenta de una seguridad extra, consiste en que al introducir nuestro nombre de usuario y nuestra contraseña nos mande un mensaje de texto al numero de teléfono que tengamos asignado a nuestra cuenta, de esa forma solo se puede usar la cuenta de Google si tienes en la mano el teléfono con el que esta vinculada.
Entonces, si tenéis la verificación de la cuenta en dos pasos la hacéis y si no con teclear vuestro nombre de usuario y contraseña ya valdrá. Después nos pedirá permiso para usar el Grive en un pantalla como la siguiente:
Aquí pulsamos el botón de la parte inferior derecha, donde pone «Permitir» y veremos algo como esto:
En esta ventana del navegador nos aparece un código, es el que esta debajo del mensaje que dice «Copia este código, ve a tu aplicación y pegalo en ella». Eso es lo que tenemos que hacer, seleccionamos el código y con el botón derecho del ratón lo copiamos. Ahora vamos a la Terminal y pegamos el código de tal forma que quede mas o menos así:
Como podéis ver el código lo tenéis que pegar en la parte de abajo, en la ultima linea. Entonces pulsáis Enter y empezara la sincronización. La sincronización consiste en que Google deje nuestro directorio del ordenador igual que la unidad de Drive que tenéis en la nube, para ello copiara todos los archivos y directorios que tenéis allí a vuestro ordenador y, si tenéis algún archivo en el directorio de vuestro ordenador que no este en Drive lo copiara a la nube. El resultado final es que haya lo mismo en los dos sitios. Tenéis que tener en cuenta que si tenéis muchos archivos en Drive tardara un rato en descargarlos todos a vuestro ordenador. En la siguiente imagen podéis ver un poco el proceso:
En la imagen, donde pone «Reading local directories» es donde empieza la sincronización. Esa linea nos dice que esta leyendo los directorios de nuestra unidad de Drive, un poco mas abajo hay varias lineas que empiezan por la palabra «sync», eso quiere decir que esta copiando dichos archivos a nuestro ordenador. Puede que tengáis muchas cosas en Drive y no os interese hacer la sincronización en ese momento, yo recomiendo dejarlo por la noche pero si no podéis esta la opción de cancelar el proceso presionando las teclas «CTRL» + «c» y hacerlo en otro momento, ahora os explico como hacerlo, una cosa muy importante quiere deciros y que la tengáis muy en cuenta, los archivos de tu ordenador tienen prioridad, si canceláis el proceso y lo reiniciáis en otro momento y algunos de los archivos no termino de descargarse en la primera sincronización se subirá el de vuestro ordenador sobrescribiendo el que esta en Drive, lo digo por experiencia. Si queréis ver los archivos que se han sincronizado solo tenéis que teclear «ls» en la Terminal y los veréis.
Por ahora no he encontrado una GUI de Grive y las operaciones son todas mediante la Terminal, aunque es bastante sencillo de usar como veréis a continuación.
Una vez hecha la primera sincronización todo sera mas rápido. Cada vez que hagamos uso de los archivos de Drive y que queramos que todo este igual en ambas partes tenéis que acudir a la Terminal y escribir el siguiente comando para sincronizar:
grive sync
Este comando comparara los archivos del directorio donde estemos en ese momento con los de la unidad de Drive y los hará la sincronización necesaria solo de los archivos que hayan cambiado. Aquí hay que tener mucho cuidado con una cosa, debemos estar seguros de que estamos en el directorio que elegimos al principio para hacer la sincronización, si estuviésemos en otro directorio diferente la sincronización empezaría desde cero, solo seria un problema de borrar los archivos duplicados, pero con los comandos que os deje al inicio de este articulo es muy fácil hacerlo. Si queréis evitar problemas también podéis indicarle al comando la ruta completa de la siguiente forma:
grive -p /home/liher/grive sync
Aquí tenéis que indicar bien la ruta del directorio sincronizado, fijaros bien en donde tenia yo el directorio creado al inicio del articulo y tendríais que cambiar el «/home/liher/grive» por el directorio que hayáis elegido en vuestro ordenador.
Cada vez que hagáis cambios tanto en vuestro directorio sincronizado del ordenador como en Drive habría que ejecutar el ultimo comando que os he dejado.
Creo que esta todo, espero que este articulo os sea útil, ya podéis instalar Grive mediante PPA en vuestro Ubuntu para usar vuestra unidad de Grive.
Un saludo.
Gracias Liher, está funcionando
Hola Alfonso, me alegro de que te sirva, muchas gracias a ti por tu visita, un saludo amigo
saludos liher ojala me puedas ayudar con una duda que tengo, tengo una hp con 6gb de ram pero le doy en acerca de este equipo y dice que solamente tengo 4.7gb, sabes como puedo hacer para que me detecte los 6gb? saludos
Hola Joel, me podrias mandar una captura del comando «free» en tu ordenador? Un saludo amigo
Hola Liher al hacer grive -a y proceder con la autenticación me genera este error
exception: /build/grive2-2exUFZ/grive2-0.4.1/libgrive/src/json/Val.cc(90): Throw in function const gr::Val& gr::Val::operator[](const string&) const
Dynamic exception type: boost::exception_detail::clone_impl
[gr::expt::BacktraceTag*] = #0 0x80a8b82 grive gr::Val::Error::Error()
#1 0x80ae0b1 grive gr::Val::operator[](std::string const&) const
#2 0x80c4c0f grive gr::v2::Entry2::Update(gr::Val const&)
#3 0x80c5971 grive gr::v2::Entry2::Entry2(gr::Val const&)
#4 0x80c5d22 grive gr::v2::Feed2::GetNext(gr::http::Agent*)
#5 0x808664f grive gr::Drive::DetectChanges()
#6 0x80752d3 grive Main(int, char**)
#7 0x8073184 grive main
#8 0xb7114a83 /lib/i386-linux-gnu/libc.so.6 __libc_start_main
#9 0x8073e60 grive
[gr::NoKey*] = downloadUrl
Hola Daniel, los datos eran los correctos?
Todo correcto, por fin grive funcionando, muchas gracias.
Hola Ivan, me alegro de que te funcionase, muchas gracias por tu visita, un saludo amigo
Hola Liher, cuando copio el código de autenticación me sale el siguiente error
Reading local directories
exception: boost::filesystem::directory_iterator::construct: Permission denied: «./.gvfs»
Hola Veronica, lo buscare a ver que es, gracias por tu visita, un saludo amiga
Gracias Liher, por fin bien explicado, comenzar en linux no es facil…
Hola Lolo, es solo cuestion de paciencia y querer aprender. Muchas gracias por tu visita, un saludo amigo
Hola, Liher. El tuto está muy bien explicado y ya tengo todo listo, pero hay una duda que quiero transmitirte: ¿hay alguna forma de configurar el grive para que solamente suba los archivos a la nube sin hacer su copia correspondiente en el disco? Me explico, si yo ya tengo mi carpeta de documentos sincronizada y borro alguno de los archivos que están en la PC, al ejecutar grive me los volvería a descargar nuevamente en el disco, ¿verdad?. ¿Hay alguna forma de cambiar este comportamiento? Muchas gracias!
Hola IvanW, la verdad es que no uso Drive con esta herramienta y no se aconsejarte como configurarla en detalle. En la propia pagina del desarrollador tendras mas informacion, la podras encontrar en Launchpad, la web que uso para el ejemplo. Muchas gracias por tu visita, un saludo amigo
¡Muy bien explicado! Y, ¿la sincronización selectiva?
Un saludo desde Perillo (Oleiros) – A coruña
Hola Jorge, te refieres a elegir que archivos se sincronizan y cuales no?
Muy bueno, muchas gracias.
¿Sabes si se puede aplicar este método con varias cuentas de gDrive?
Tengo una personal y otra laboral que me gustaría sincronizar en un PC. Con el cliente de Windows no se puede hacer, hay que cambiar de sesión de windows o reconfigurar el teléfono. Lo curioso es que el cliente android si que lo permite.
Quería decir PC con windows, no teléfono, sorry
Hola Felix, lo desconozco, no uso el programa Muchas gracias por tu visita, un saludo amigo
Pues resulta que se pueden sincronizar varias cuentas simplemente repitiendo el procedimiento en varios directorios.
Para sincronizar basta con teclear «grive», por defecto ya sincroniza
Hola Felix, muchas gracias por tu aporte y tu visita, un saludo amigo
Muchas gracias por las indicaciones. Lo pude instalar y hacer funcionar sin problemas!
Hola Jorge, muchas gracias a ti por tu visita y me alegro de que te funcionase bien, un saludo amigo
Hola…como sería si tengo en mi pc con windows y ubuntu en un disco duro particionado y en el disco F tengo la carpeta Google Drive…sería pasar todo lo que tengo dentro de Google Drive a una nueva carpeta dentro del directorio llamada grive…dejar que actualize en la nube…luego pasarme a ubuntu…y hacer esta instalación…como ya está creado el directorio grive en F:/Google Drive/grive …solo sería entrar allí por terminal y dar el comando grive?…
Gracias por el tuto
Hola Gustavo, la verdad es que no uso Grive,, lo probe en su dia para escribir este articulo y vi que funcionaba, pero no soy usuario habitual de Drive y cuando tengo que subir o bajar archivos lo hago a mano. Para probar yo haria algo, haz una copia de los archivos que tengas den Drive por si pasa algo, luego instala Grive en Ubuntu y la herramienta que uses en Windows, al sincronizar cada vez que inicies con uno u otro SO se sincronizara automaticamente, yo lo probaria asi, aunque te recuerdo que hagas la copia de seguridad por si acaso. Muchas gracias por tu visita, un saludo amigo
Hola
¿Cómo hacer sincronización para varias cuentas de google drive?
¿Se deben crear varios directorios en local o existe otra forma?
Muchas gracias de antemano por tu respuesta y muchas gracias por el tutorial.
Hola Patricio, solo hice el tuto para explicar como instalarlo pero yo no lo uso. Quizas en la web del programa tengas como hacerlo, siento no serte de mas ayuda, muchas gracias por tu visita, un saludo amigo
Gracias de todas maneras.
Saludos cordiales.
Hola Patricio, ha sido un placer, un saludo amigo
Creas tantos directorios como cuentas tengas y en cada uno de ellos ejecutes «grive» la primera vez te pregunta toda la historia de la cuenta, clave etc y luego solo sincriniza
Féliz Díaz:
Muchas gracias. He puesto en práctica lo que me indicas y ha resultado sin problemas. Muchas gracias por tu ayuda.
Saludos a todos.
Creo que es un poco tarde para preguntar pero, instale grive en ubuntu 16.04, sicroniza correcrtamente solo que al abrir cualquier archivo me dice que «No tiene los permisos necesarios para abrir el archivo».
No se como solucionar este problema, me puedes apoyar por favor?
Hola Diego, siento decirte que no uso este programa. Si tienes ese problema seguramente ese archivo tenga otro propietario o lo hayas creado con root. Muchas gracias por tu visita, un saludo amigo.
Hola Liher, en primer lugar gracias por la aportación.
Mi duda es si cada vez que quiero sincronizar google drive tengo que sincronizarlo todo, es decir, si yo tengo una carpeta de google drive con varios archivos y solo modifico uno de ellos, ¿no hay una manera de sincronizar solo ese archivo? Sería una sincronización selectiva.
Gracias
Hola RG, siento decirte que no uso Grive y no soy un experto. Muchas gracias por tu visita, un saludo amigo
Buenos días LIHER,
Muy bien explicado el artículo pero cuando ejecuto el apt-get update y el install me da este mensaje de error. No se instala grive y no lo puedo ejecutar. Sabrías decirme a qué se debe ese error? Gracia
sudo apt-get update
Obj:1 http://es.archive.ubuntu.com/ubuntu yakkety InRelease
Obj:2 http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu yakkety InRelease
Des:3 http://es.archive.ubuntu.com/ubuntu yakkety-updates InRelease [102 kB]
Des:4 http://security.ubuntu.com/ubuntu yakkety-security InRelease [102 kB]
Des:5 http://es.archive.ubuntu.com/ubuntu yakkety-backports InRelease [102 kB]
Descargados 306 kB en 2s (123 kB/s)
E: No se pudo bloquear /var/lib/dpkg/lock – open (11: Recurso no disponible temporalmente)
E: No se pudo bloquear el directorio de administración (/var/lib/dpkg/), ¿quizás haya algún otro proceso utilizándolo?
alex@entretierras:~/Documentos/Drive$ sudo apt-get install grive
E: No se pudo bloquear /var/lib/dpkg/lock – open (11: Recurso no disponible temporalmente)
E: No se pudo bloquear el directorio de administración (/var/lib/dpkg/), ¿quizás haya algún otro proceso utilizándolo?
Vaya tontería: Tenía abierto el gestor de paquetes y por eso los directorios estaban bloqueados. Solucionado. Perdón por la pregunta.
Hola Alex, justo pense eso tambien 😀
Hola Alex, que version de Ubuntu usas?