jueves, 17 de abril de 2014

Proyecto Presentaciones con Html5: Inicio


Últimamente he comenzado a aburrirme con las presentaciones tipo ppt que hago con Impress de LibreOffice, asi que comencé a buscar la forma de hacer presentaciones con html.

He encontrado algunos sitios web en los que se publicita hacer presentaciones con html5; desde fanthom.js hasta Html5 Slides. Sin embargo, ante la necesidad de gastar algún tiempo para aprender a utilizar esos programas,  he decidido hacer mi propio editor de presentaciones. Para lograrlo, decidí que primero debo hacer una presentación «general» y luego pensar en hacer el editor.

sábado, 10 de agosto de 2013

Aprendiendo a usar GTK+ 3 con C: ¡Hola Mundo!



Definitivamente el primer programa que se hace al aprender un lenguaje de programación es el famoso “Hola mundo”. Y este caso no va a ser la excepción. El siguiente programa es una adaptación del programa “Hola mundo” de libro Foundations of GTK+ Development de Andrew Krause, (apress. Pág 16).

El programa queda así:
#include <gtk/gtk.h> int main( int argc, char *argv[] ) { /* Inicializa los widgets que se van a utilizar (inicialmente la ventana)*/ GtkWidget *ventana; /* Arranca GTK+ */ gtk_init (&argc, &argv); /* Define los tipos de widget y los configura*/ // creamos la ventana ventana = gtk_window_new(GTK_WINDOW_TOPLEVEL); // ponemos título a la ventana gtk_window_set_title(GTK_WINDOW(ventana), "Hola Mundo 1"); // mostramos la ventana gtk_widget_show (ventana); /* Arranca el programa*/ gtk_main (); /* Finaliza el programa*/ return 0; }

Problemas con Javascipt en Firefox bajo Ubuntu y OpenJDK


Desde hace ya algunas versiones de Ubuntu (actualmente tengo la 13.04) he instalado en mi computador sólo utilizo OpenJDK, vesión 7, y la máquina virtual Icedtea. Para la mayoría de los propósitos no he tenido problema alguno, sin embargo, recientemente intenté correr desde firefox, versión 23, un objeto virtual de aprendizaje - OVA hecho con JClik y de repente... problemas...

Firefox me pedía un complemento que intenté instalar, pero no lo logré.

lunes, 8 de julio de 2013

Aprendiendo a usar GTK+ 3 (instalación)


Ahora reinicio mis entradas en este blog con un nuevo proyecto... Aprender a usar GTK+ para escribir mis programas.
Llegué a GTK+ luego de intentar, más o menos infructuosamente, hacer mis programas utilizando Anjuta y, desde luego, Glade. Conclusión: soy cerrado para hacer algo más que una ventana con botones y etiquetas.... cuando intento pasar a la programación, me queda grande.
Entonces decidí comenzar desde cero... Bueno, no propiamente desde cero cero, sino desde cero algo, porque se programar cosas sencillas desde C... De tal forma que iré aprendiendo ambas cosas al mismo tiempo.

Instalación

Dado que ya he hecho algunos intentos de programación instaland Glade y Anjuta...
>sudo aptitude install glade
>sudo aptitude install anjuta
 ... ya tengo GTK+. Sin embargo, para quien quiere comenzar instalando GTK+ el comando desde consola es:
>sudo aptitude install libgtk-3-dev
Y si quiere tener los ejemplos y demo, tendrá que instalar (yo no lo he hecho):
>sudo aptitude install gtk-3-examples
 Entiendo que con estas instalaciones basta.
Mirando en synaptic veo que tengo los siguientes programas instalados:
  • libgtk-3-doc
  • libgtk-3-dev
  • libgtk-3-0
  • libgtk-3-common
  • libgtk-3-bin
De tal forma que, a quien no le funcione, puede optar por instalarlos uno por uno.

domingo, 3 de febrero de 2013

Desinstalando insync y problemas derivados

 

Problema

Desinstalar Insync
Problemas de Gestor de Actualizaciones debido a Insync
Error de GPG: http://apt.insynchq.com oneiric

Solución rápida

En la consola
sudo rm -rf /usr/bin/insync /usr/bin/insync-set /usr/bin/insync-get /usr/lib/insync
 rm ~/.local/share/nautilus-python/extensions/insync_plugin.py

Reiniciamos el sistema
sudo rm -r /var/lib/apt/lists/*

Por último vamos a
Inicio > Administración > Gestor de actualizaciones > Comprobar

Explicación

Recientemente, intentando comunicar mi Ubuntu con Google Drive, cometí la estupidez de instalar Insync (la versión beta).

Hoy, cuando intenté buscar un programa en el Centro de Software, éste se interrumpía sin pasar de la pantalla en blanco. Entonces se me ocurrió que podía ser problema del Insync (ya venía sospechando de este programa, que de otro lado, jamás funcionó), de tal forma que entre en el Gestor de Acualizaciones y, como no me mostraba posibles actulizaciones, le pedí que las Comprobara.

Entonces, Bingo! "Error de GPG: http://apt.insynchq.com oneiric". El Gestor de Actualización se bloqueó!

Buscando cómo desistalar insync encontré esto, aquí:

sudo rm -rf /usr/bin/insync /usr/bin/insync-set /usr/bin/insync-get /usr/lib/insync
 

rm ~/.local/share/nautilus-python/extensions/insync_plugin.py

Esto, no me botó ningún error. Parecía que funcionaba... pero el Gestor seguía sin destrabarse, y el ícono de insync seguía en la barra superior de Ubuntu.... parecía como si los comandos no hubieran funcionado.

Entonces entré en Aplicaciones al Inicio, desmarqué Insync y luego reinicié el equipo.

Al arrancar de nuevo, busqué con Synaptic si tenía todavía algo de Insync... no encontre nada.Entonces a corregir el Gestor de Actualizaciones.

Como el problema me parecía conocido, fuí a un artículo que había escrito anteriormente: Problem with MergeList /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_natty-updates_universe_i18n_Translation-en.

y apliqué la misma solución:

"sudo rm -r /var/lib/apt/lists/*

Con esto borro todo dentro del directorio, incluido un directorio que se llama /partial. Segundo...

Inicio > Administración > Gestor de actualizaciones

Como el gestor me dice que el sistema está actualizado, le doy click en Comprobar y.... volilá. Funcionando todo de nuevo
"

Ahora, por fin puedo entrar en Gestor de actualizaciones, sin que se bloquee, así como en el centro de software.

lunes, 14 de enero de 2013

Problemas con Gtalk en Empathy: Error de red


Recientemente intenté cambiarme a Ubuntu 12.10, pero me desanimé por el consumo de memoria que sobrecalentaba el computador y disparaba el trabajo del ventilador. De tal forma que resolví volver a Ubuntu 11.10.
No tuve mayor problema en volver a configurar mi máquina, hasta que intenté conectarme a Google talk y Empathy se quedó pensando por 15 minutos.

Borré la cuenta en Empathy, la volví a crear, la edité de una forma y otra, hasta que encontré la solución que transcribo:

1. Cree una nueva entrada de Empathy con protocolo: Jabber
2. ID de sesión: La dirección de mi correo en gmail (*******@gmail.com)
3. Contraseña: La contraseña de gmail, luego de marcar la casilla de "Recordar contraseña"
4. Entre por el link "> Avanzadas"
5. Activé la casilla de "Requiere cifrado (TLS/SSL)"
6. Activé la casilla de "Ignorar los errores de certificados SSL"
7.  Dejé en blanco la casilla de "Recurso"
8. Prioridad: 0
9. Servidor: talk.google.com
10. Cambié el puerto (que estaba en 5222) a 443
11. Activé la casilla de "Usar SSL antiguo"

Luego de esto reinicié el equipo y.... listo.

Reconocimiento

Esta solución la encontré aquí.


domingo, 12 de febrero de 2012

Cambiar /usr a otra partición


/usr es el directorio que contiene todos los programas (/usr/bin), las bibliotecas (/usr/lib) y sus respectivos documentos (/usr/share/doc) y, fundamentalmente, es el directorio que mayor espacio requiere en nuestra instalación Linux. Por esta razón, si tenemos “/usr”dentro del directorio raiz “/”, tiende a llenarse causando la advertencia constante acerca de la falta de espacio en la partición raiz.

Yo tengo Ubuntu en una partición de 5 Gigas. Afortunadamente, en algún momento en el pasado se me ocurrió poner “/home” (216 Gigas) en una partición diferente a la de raiz, pero con los diferentes programas que he montado solamente me quedan 130 Megas de espacio libre, de tal forma que no puedo instalar algo nuevo sin desinstalar algo que necesito.

Una solución sería volver a instalar Ubuntu en otra partición más grande pero, al igual que hice con /home, me parece que es mejor solución poner /usr en otra partición. Gracias a Dios tengo una partición sin uso!!!

El asunto lo divido en tres partes: 1)Dejar lista la nueva partición, 2) Pasar el contenido de /usr a la nueva partición, y 3) Decirle a Ubuntu dónde encontrar la nueva /usr. Comienzo alistando la partición:

Dejar lista la nueva partición
Empleando la “Utilidad de discos” de Ubuntu, ubico la partición que tengo libre (sda7 en mi caso. Esto puede variar en otros computadores.) y la formateo usando Ext4. 
Aquí es necesario indicar que el computador conoce esta partición como un dispositivo (!). En este caso el dispositivo /dev/sda7. Esto es importante porque se empleará más adelante para hacer que Ubuntu reconozca (monte) este dispositivo como un directorio o sistema de archivos.
Con esto tenemos la partición lista para hacer que nuestro Ubuntu la reconozca. Es decir, montar la partición.
Para hacer esto primero creamos un directorio en el cual montaremos el dispositivo sda7. Se puede crear un directorio en casi cualquier parte del sistema, pero lo haremos en el directorio /media para mantener nuestro sistema de ficheros en orden. El nombre que le daré será “usrtemp”.
Desde consola tecleamos:

          > sudo mkdir /media/usrtemp

Ahora si montamos la partición en el directorio que acabamos de crear tecleando en consola:

          > sudo mount /dev/sda7 /media/usrtemp

En la imagen se puede ver la instrucción anterior, seguida de la orden ls /media que nos lista los directorios dentro del directorio /media. En el último lugar tenemos el directorio que acabamos de crear: usrtemp.


Con esto ya hemos dejado lista la nueva partición para el siguiente paso que es...

Pasar el contenido de /usr a la nueva partición
Antes de proceder a hacer la copia del contenido de /usr debo detenerme en el significado de un punto “.” cuando hablamos de directorios en linux. La razón de esto es que algunas veces cometí el error de despreciar un punto en una orden y los resultados eran erróneos.
Voy a listar el contenido del directorio /media/usrtemp, que acabamos de dejar listo, con la orden:
> ls -al /media/usrtemp
la cual le pide a linux que nos de la información completa del los archivos dentro del directorio usrtemp


Los dos primeros directorios que aparecen son: punto “.” y dos puntos “..”. En realidad estos son apuntadores hacia:
El mismo directorio en el que estamos, es decir /usrtemp, en el caso del directorio punto “.”.
El directorio padre de aquel en el que estamos, es decir /media, en el caso del directorio “..”

Ahora si, a copiar los datos. En consola nos cambiamos al directorio /usr con la orden

          > cd /usr

y copiamos todo lo que hay en este a /media/usrtemp

          > sudo cp -ax . /media/usrtemp

Atención con el punto en esta orden!!! Esta copia puede tomar algunos minutos para completarse...

Ahora tenemos que hacer la última parte:

Decirle a Ubuntu dónde encontrar la nueva /usr
Ya tenemos todos los archivos de /usr copiados en /media/usrtemp por lo cual nos vamos a deshacer de /usr y montamos el nuevo pero, atención, dejamos /usr guardado por si algo sale mal y tenemos que echar marcha atrás.
Copiamos /usr a un directorio con el nombre /usr.viejo.

          > cd /
          > sudo mv /usr /usr.viejo

Ahora creamos un nuevo directorio /usr para montar el dispositivo sda7

En los tutoriales que consulté la orden para crear este directorio es sudo mkdir /usr, pero esta orden no tiene efecto alguno porque “sudo” está en /usr y ese directorio ya no existe!!! 

De paso, al intentar tomar la foto de la consola me doy cuenta que Ubuntu tampoco encuentra el programa que toma la foto porque este estaba en /usr.
Por esto tenemos que decirle al computador dónde encontrar “sudo”. La orden será:

          > /usr.viejo/bin/sudo mkdir/usr

Y luego montar el dispositivo sda7 en el directorio creado.

          >/usr.viejo/bin/sudo mount /dev/sda7 /usr

Con esto ya tenemos el /usr funcionando desde la nueva partición; Ahora si podemos escribir “sudo” sin más, o tomar fotos de las ventanas sin problemas, pero al apagar la máquina se pierde el punto de montaje, por lo cual, si se inicia nuevamente, Ubuntu irá a buscar los programas en /usr dentro del directorio raiz “/” el cual ¡está vacío! Porque todos los programas están en sda7

Tenemos que decirle a Ubuntu que, en el momento de arranque, monte la partición sda7 como /usr.Hay otras formas de hacerlo, pero parece que esta es la mas segura.

Averiguamos la UUID (identificador universal) de la partición y editamos el /etc/fstab para montar la partición al inicio.
En los manuales se indica que la orden es sudo vol_id -uuid /dev/nombre de la partición, pero vol_id no funciona de tal forma que utilizamos blkid

          > sudo blkid /dev/sda7


Esto me dice que la sda7 está en la dirección dc3a78d3-c662-4d6e-8bbf-387b21b34beb, y que el formato es ext4. Esto es importante porque necesitamos escribirlo en el archivo /etc/fstab, de tal forma que lo editamos:

          > sudo gedit /etc/fstab

Y añadimo estas lineas al final:

# partición /dev/sda7 montada en /usr manualmente (comentario)
UUID=dc3a78d3-c662-4d6e-8bbf-387b21b34beb /usr ext4 defaults 1 2

Grabamos, cerramos y listo, podemos reiniciar nuestro Ubuntu.

Si algo salió mal podemos utilizar una usb o un disco de arranque y restaurar el directorio /usr.viejo a /usr y borrar las dos líneas que hemos introducido en fstab, con lo que podemos repetir los pasos evitando los errores que hayamos cometido.

Si no hemos cometido error alguno, al reiniciar tendremos todo funcionando perfectamente, pero con particiones separadas. Solamente nos faltara borrar /usr.viejo para liberar el espacio que teníamos copado en la raiz /

> sudo rm -R /usr.viejo