Iniciando en Bash Script

25 03 2008

Unas de las ventajas que tiene Linux sobre Windows, es el poder de la consola y para muestra un botón, cuando se quiere hacer un script que automatice comandos se necesita hacer una gran investigación y aún asi no se puede hacer mucho por la falta de documentación, no dejo de lado que se puedan hacer cosas con Basic Script, pero a lo que me concierne es muy feo.

En cambio en Linux un Bash Script se puede facilmente aún si conexión a Internet, puedes travesear y hacer scripts con sólo usar los manuales que de caja trae GNU/Linux; algo que me llamó la antención sobremanera es la posibilidad de instalar un plugin de Gnome (Especificamente Nautilus) , que te permite correr scripts desde el click derecho en cualquier parte de escritorio, en ésta página o en ésta, hay bastantes recursos o bien si se quiere se puede descargar alguno y modificarlo a nuestras necesidades.

Para instalar un script es necesario darle permiso de ejecución:

chmod +x <nombre_del_script>

Luego hay que copiarlo a la carpeta de scripts:

cp <nombre_del_script> ~/.gnome2/nautilus-scripts/

Si se quiere personalizar el script dentro de esta carpeta de scripts se puende crear sub-carpetas, que esto causaría que en el menú contextual de nautilus se hagan sub-menús o bien se puede cambiar el icono de script para que concuerde con el tema de script.

CYA.





Que es Javascript

24 03 2008

Me hizo gracia esta imágen que explica muy bien que es Javascript:

Javascript





Iniciación en Python

23 03 2008

Luego de leer que python fue el mejor lenguaje del 2007, me dio indicios de aprender un poco de este facinante lenguaje, por lo que no voy a calar mucho definiendo, la verdad voy a dedicarle bastante tiempo después de que termine con mi proyecto en Mono (Después pongo mas detalle); un sitio que me ayudó a adentrarme un poco fue el sitio principal, que también esta en español, además de que tiene bastante documentación como para iniciar, otra ayuda fue la busqueda de un IDE bastante robusto que me permitiera hacer mucho loco :P , el cual me ayudo este post, por lo cual lo seguí y voy a realizar la guia oficial para principiantes.

CYA.





Menu contextual desde un Treeview en Mono

22 03 2008

He pasando bastante tiempo investigando de como se hacen cosas en Mono, lo cual la documentación es muy poca, muchas cosas me han costado, y esta es una de esas :P .

Para mostrar un menú a dar click en alguna de las filas del treeview, es necesario agregar el evento de ButtonKeyPressRelease si se usa monodevelop es muy sencillo, un punto importante es que mono en sus ultimas versiones no maneja sin un indicador el evento de botón presionado, por lo que hay que agregar una bandera, un ejemplo seria:

[GLib.ConnectBefore] // muy importante para que se dispare el evento
protected virtual void OnTreeview2ButtonReleaseEvent (object o, Gtk.ButtonReleaseEventArgs args)
{
   Gdk.EventButton eventbutton = args.Event;
   if (eventbutton.Button == 3)
   {
       doPopup(); // Metodo que muestra el menu
   }
}

con eso tenemos el evento que se dispara, y el método que muestra un ejemplo de menu:

protected void doPopup()
        {
            // Menu contextual
            Menu popup = new Menu();
            // Menu item de Detener
            MenuItem menuItemDetener = new MenuItem("Detener Proceso");
            menuItemDetener.ButtonReleaseEvent += new ButtonReleaseEventHandler(<metodo_que_se_dispara>);
            popup.Append(menuItemDetener);            

            // Menu item de Matar
            MenuItem menuItemMatar = new MenuItem("Matar Proceso");
            menuItemMatar.ButtonReleaseEvent += new ButtonReleaseEventHandler(</metodo_que_se_dispara><metodo_que_se_dispara>);
            popup.Append(menuItemMatar);
            popup.Popup(null, null, null, IntPtr.Zero, 3, Gtk.Global.CurrentEventTime);
            popup.ShowAll(); // importante: si esto da un error que no muestra los menuItem's
        }

Después de eso, ya podemos levantar un menú al dar click en una fila X de un treeview.

CYA.





Cambiar iconos en el Editor de Configuracion

12 03 2008

El editor de configuración de configuración de Gnome casi que viene siendo el registro de Windows, y unas de las cosas que no me gustan son los feos iconos que trae de caja, por dicha en gnome-look hay un bueno tema que ayude a mejorar visualmente este detalle, para cambiarlos solo falta de realizar los siguiente s pasos:

1. Respaldar los iconos originales (para descartar bestialidades :P ):

$ sudo mv /usr/share/pixmaps/gconf-editor/ /usr/share/pixmaps/gconf-editor_backup

2. Descomprimir los iconos a instalar, y luego copiarlos, un ejemplo seria:

$ tar -xzvf 43225-tango-gconf.tar.gz
$ sudo mv  tango-gconf /usr/share/pixmaps/gconf-editor

Listo calisto, ya tenemos iconos nuevos.





Recobrar privilegios como administrador en Ubuntu

7 03 2008

Que no les pase como me pasó a mi, que por estar traveseando los grupos sin querer saque a mi usuario en el grupo de administradores, ¿que pasa con eso?, pues te quedas sin poder hacer nada a tu maquina sin poder modificar nada que no sea tu home! :o es decir eres un usuarios sin privilegios que no tiene derecho a nada, una solución es reiniciar y esconger en grub “…recovery mode” luego de que carga puedes editar el archivo group:

$ vim /etc/group

y en la linea que dice:

admin:x:110:

Quedaria asi:

admin:x:110:tu_usuario

Reinicias y listo calisto!! ya regresaron tu privilegios.





Blog como referencia personal

7 03 2008

Según yo iba a publicar casi a diario y lo que hago es un post por semana, la verdad no se de que escribir (es muchas cosas en las que estoy), pero lo que pienso organizarme utilizando este blog como herramienta, y de las primeras cosas que voy a hacer es publicar herramientas o trucos para desarrollar más rapido, que de hecho he pasado buscando como loco como se hace para ver los procesos de Linux desde C, y no encuentro nada :x , para cuando lo descubra pienso publicarlo acá, que al fin de cuentas para eso es este blog, un lugar donde publico mis experiencias como desarrollador y otras cosas, y si alguien le sirve que lo utilice respetando la licencia.

Por el momento pienso terminar una serie de tareas, que seguramente voy a publicar en un sección que tengo pensada para después.

CYA.