¿Conocías… Gobby?

5 06 2007

GNU/Linux es lo que es gracias a muchísimas personas que trabajan y lo hacen cooperativamente y cada uno en su casa. Os traigo un editor de texto que le facilitará la vida a más de uno: Gobby.

En las últimas semanas he estado programando un juego en ensamblador con un amigo. Cuando empezamos quedamos un día en su casa y otro en la mía. La intención era alternarnos porque estamos a 20 minutos y como quedábamos temprano era un fastidio.

Tras el segundo día recordé que no mucho antes descubrí un programa bastante interesante que nos podía echar un cable, Gobby.

¿Qué es Gobby?

Es un editor de texto cooperativo donde una o varias personas se puede conectar a otra, que hace de servidor, pudiendo compartir archivos de texto y editarlos a la vez. Esto sumado a un programa de comunicación por voz (en nuestro caso usamos Skype) nos facilitó el hacer la práctica sin tener que desplazarnos.

Puede que algunos conozcáis Google Docs. Es un servicio online parecido al que estoy comentando, sólo que Gobby está mejorado y es en tiempo real. En cuanto un colaborador del documento cambie algo, así se reflejará automática y rápidamente en el documento compartido por el resto de colaboradores. Tiene otras mejoras, pero luego hablamos de ellas.

Instalar Gobby

A ver quién no sabe a estas alturas cómo se instala un programa de esta sección 😛

$ sudo aptitude install gobby

Puede que os salga una advertenca de que los paquetes pueden comprometer la seguridad del sistema. Personalmente lo he estado probando durante varias semanas y no he tenido problema alguno, así que escribid «Si» y dadle al «Enter«.

Ya está descargado e instalado.

Antes de continuar

Antes de continuar con la guía/artículo, se supone que este programa lo vais a usar con más de una persona. Para ello el servidor necesitará usar un puerto que debéis abrir en vuestro router en caso de que tengáis ese hardware de conexión. Podéis usar el puerto que queráis, pero debe ser superior al 1024.

El puerto sólo ha de ser abierto por el servidor. Si del grupo uno va a hacer siempre de servidor, sólo es necesario que lo habra él.

Abrir Gobby

Ahora sí podéis ejecutarlo: «Alt+F2» y dentro escribid «gobby«. Seguramente os saldrá este mensaje:

No os preocupéis, ni es un error, ni es importante. Gobby intenta usar Zeroconf, que es una especie de descubridor de equipos y servicios por red. Pero no es necesario. Podéis aceptar y os aparecerá el programa.

Si a alguien le resulta molesto -pues sale cada vez que inicies Gobby- lo único que tenéis que hacer es aseguraros de que «avahi-daemon» esté ejecutándose antes. Podéis ejecutarlo vosotros mismos manualmente o agregarlo en el inicio de la sesión:

$ sudo avahi-daemon -D

Pasado esto nos encontraremos ya con el programa. Os voy a mostrar las opciones más importantes de configuración.

Iniciando servidor de Gobby

El servidor de Gobby no es nada especial, simplemente para que se desarrolle la comunicación entre todos los colaboradores, uno debe hacer de servidor.

En la fila de iconos, dadle al primero «Crear sesión» (accesible también desde el menú «Gobby«) y os aparecerá esta ventana:

En el puerto poned el que habéis elegido y abierto en el router (si tenéis módem, cualquiera os vale). En el nombre, pues… vuestro nombre. Los colores son para distinguir los cambios que ha hecho cada usuario. Cada modificación que se haga en el fichero compartido, tendrá el color de fondo del usuario que ha hecho la modificación. De esta forma se sabe quién ha hecho cada aporte/cambio. La contraseña es opcional, si la ponéis debéis dársela a vuestros colaboradores para que puedan conectar a tu servidor de Gobby. Las sesiones abiertas se pueden guardar y restaurar. Para abrir una sesión guardada, tan sólo debéis darle al botón «Abrir» y buscarla. Tanto si la sesión es nueva o guardada y ya la habéis seleccionado, dadle a «Host«.

El servidor ya está creado y los colaboradores pueden conectar (luego os indicaré cómo). Si os fijáis en la ventana de Gobby hay dos secciones diferenciadas. La superior, bajo los iconos, que es donde tendremos el texto de los archivos abiertos, y en la inferior vemos una ventana de sucesos que sirve también de chat:

Si queréis la podéis deshabilitar pulsando en el icono de «Chat» (accesible también desde el menú «Ventana«).

Conectando colaboradores

Es igual de sencillo que crear el servidor. El colaborador debe pinchar en el segundo icono, el de «Unirse a una sesión» (accesible también desde el menú «Gobby«) y aparecerá una ventana parecida a la de crear servidor. En «Host» poned la IP del servidor. En «Puerto» el que está usando el servidor (en el ejemplo el 4444). En «Nombre» vuestro nombre o nick y el «Color» personal para que podáis distinguir las modificaciones. Aceptad y si el servidor tenía contraseña os la pedirá. Introducidla y conectaréis con vuestro compañero.

Compartiendo documentos

Cualquiera puede abrir y compartir un documento y podéis tener varios separados y organizados en pestañas. Si queréis crear uno nuevo, tan sólo tenéis que darle al botón «Crear documento…«, le ponéis el nombre que queráis al documento y os abrirá una pestaña con él.

Inicialmente sólo el que ha creado el documento puede verlo. Para que el resto pueda verlos tiene que suscribirse a dicho documento. Podéis ver los documentos que hay abiertos mediante el botón «Lista de documentos» (accesible también desde el menú «Ventana«):

Seleccionamos el documento al que nos queremos unir y le damos al botón «Suscribirse«, nos aparecerá una pestaña con los el documento abierto. ¿Por qué no se ve automáticamente? Muy sencillo. Puede ser que el grupo de trabajo sea grande y haya varios miembros, y puede que no todos ellos tengan que trabajar en todos los documentos abiertos. Por ejemplo puede haber un supervisor que tenga que estar al tanto de todo, mientras que otro sólo tenga que estar pendiente de un sólo archivo y puede que un tercero esté trabajando en dos de los 4 ficheros abiertos.

Cuando son dos compartiendo un archivo está muy claro quién hace cada modificación. Cuando son tres, todavía es comprensible, pero cuando son 4 o más es un poco difícil de saber de quién era cada color. Y como dije antesPara saberlo también puedes tener una ventana con los usuarios conectados y sus respectivos colores:

Como véis esta ventana es muy práctica, especialmente cuando hay varios colaboradores. Podemos ver que:

  • Hay dos usuarios conectados: CeeC y pepino
  • Hay un usuario que en algún momento conectó pero no lo está ahora: salamandra
  • El usuario CeeC está editando los archivos «Entre tuxes y pepinos» y «No me chilles que te empepino«
  • El usuario pepino está editando sólo el segundo de los mencionados.
  • También vemos el color de cada usuario.

Ambas ventanas, la lista de documentos y de usuarios, las podemos tener siempre presentes si así lo queremos.

Una muestra de cómo se ve

En esta captura podéis ver una muestra de cómo se ve la edición cooperativa con Gobby. Sólo son dos usuarios (yo y yo con el portátil xD), pero supongo que vale como ejemplo:


Click para agrandar

Otras características

Son varias las destacables:

  • Es multiplataforma, así que si alguno de vuestros amigos la tiene pequeña, digooo. es Windowsero y tú usas GNU/Linux no hay problema, ambos podéis usarlo en sistemas distintos. Tu amigo que se lo descargue de aquí.
  • Permite cambiar el color del usuario en cualquier momento (en «Usuario > Establecer color«) por si dos o más usuarios tienen un color parecido o igual.
  • Se puede hacer que cambie automáticamente los tabuladores por espacios (algo muy bueno para ciertos lenguajes de programación).
  • Resalta los corchetes y paréntesis coincidentes. Cuando nos colocamos sobre un corchete o paréntesis, automáticamente iluminará su pareja.
  • Muestra los números de línea, buena opción también para algunos lenguajes.
  • Letra personalizable.
  • Y la que pienso que es la mejor de todas, colorea el texto según la sintaxis del mismo, previa selección. Es capaz de distinguir y colorear el texto de ficheros Ada, Boo, C, C#, C++, ChageLog, CSS, D, .desktop, Diff, DocBook, Fortran 95, GtkRC, Haskell, HTML, IDL, .ini, Java, JavaScript, LaTeX, Lua, Makefile, MSIL, Nemerle, Objective Caml, Octave, Pascal, Perl, PHP, Python, R, RPM spec, Ruby, Scheme, sh, SQL, Tcl, Texinfo, traducción gettext, VB.NET, Verilog, VHDL y XML. Casi nada. Tan sólo tenemos que colocarnos en la pestaña del archivo y seleccionar la sintaxis en «Editar > Sintaxis > la_que_sea«
Lo que se echa en falta

Pero no existe aplicación perfecta, y Gobby no es una excepción. Durante el tiempo que estuvimos trabajando con él, echamos en falta especialmente dos cosas.

Una es que no hay una opción «Deshacer«. Si alguien borra algo que no debe, no podrá enmendar su error con la acostumbrada combinación «Ctrl+Z«. Esto es algo primordial en cualquier editor de texto, así que mientras lo uséis, nunca vendrá mal una copia de respaldo del documento y tener cuidado con lo que se o modifica borra por otro.

La otra es que aunque se sabe qué texto ha sido modificado por quién, no se sabe dónde lo está haciendo cada colaborador a no sé que esté escribiendo. Por ejemplo, imaginaros un documento un poco extenso, que haya que hacer scroll, cuando un compañero dice que mire algo específico, estaría bien que se viera su cursor parpadeando con su color. No es vital ya que te puede decir en qué línea está, pero vendría bien.

Y en cuanto a problemas, pues como habéis visto en la captura, no es compatible 100% con GTK. No se lleva muy bien con los escritorios oscuros ya que algunas letras, como las de las pestañas y chat, son negras.

Vídeo-demostración

Para que veáis más claro todo lo que hemos visto, he hecho este pequeño vídeo que os lo muestra. He de decir que soy yo en ambos ordenadores y no estoy lo suficientemente capacitado para escribir bien con una sola mano, así que simplemente veréis caracteres aleatorios de ambos equipos xD

Más «Conocías…» entre tuxes y pepinos

Acciones

Information

4 responses

27 03 2008
yiTaN!

Magnífico post CeeC. Andaba buscando uno así para las prácticas de Sistemas Operativos y esto me va a venir de puta madre.

La putada es que el instalador de Windows (desgraciadamente, uno de los ‘míos’ usa Win) no funciona del todo bien parece.

Por lo demás, funciona de puta madre y me ha venido de maravillas. Muchas gracias 😉

27 03 2008
CeeC

Me alegro 😉

Saludos.

10 01 2010
jf

Una consulta, el conectar a otros colaboradores, es necesario que el dueño de la sesion deba tener una IP estatica? o se podria conectar mediante una IP publica?

Saludos

21 09 2013
victorhck

interesante herramienta…
Voy a investigar más al respecto.
Gracias por compartir.

Deja un comentario