Script para ocultar los paneles en Gnome

18 01 2009

Creo que habia comentado que tengo una Eee PC 900, la cual es muy comoda para trabajar, además no tengo las manos muy grandes y no me es muy incomo el teclado.

El punto es que a veces la aplicaciones en Gnome las hacen un poco más grandes que mi monitor puede mostrar, a veces es por poco que no se ve completa, para ello decidí crear un script en Python que oculta el panel de arriba y de abajo (es la configuración por defecto de gnome), éste es el script:

#!/usr/bin/env python

import os

command = "gconftool-2 --set /apps/panel/toplevels/panel_1/auto_hide --type bool "
command2 = "gconftool-2 --set /apps/panel/toplevels/panel_0/auto_hide --type bool "

results = os.popen("gconftool-2 --get /apps/panel/toplevels/panel_1/auto_hide").read()
str.replace(results, "\n","")

if results == "false\n":
        os.popen(command + "1")
        os.popen(command2 + "1")
else:
        os.popen(command + "0")
        os.popen(command2 + "0")

Para saber cuales son los paneles en cuestion, porque varian de maquina en maquina si se han removido y re-agregado anteriormente, hay que abrir el gconf-editor se puede abrir pusaldo la combinación de teclas Alt+F2 y escribiendo la caja de texto gconf-editor.

Ya con la aplicación abierta hay que expandir las carpetas apps->panel->toplevels->panel0, como dije anteriormente puede variar esos nombres, una forma de saber si son esos es darle click de las carpetas de alguno de los paneles y darle click en el checkbox auto_hide si el panel llegase a ocultarse significa que ese el correcto y hay que poner el nombre en el script, se repite el mismo proceso para el otro panel ( si tuvieran uno mas).

Un tip extra, es que por defecto los paneles ocultos, se siguen mostrando una parte (6 pixeles), eso se modifica en la propiedad de nuevo de alguno de los paneles auto_hide_size, yo casi siempre lo pongo en 0, asi no se muestran del todo.





Script en python para hacer respaldos

5 10 2008

Ultimamente me ha interesado bastante python tanto asi, que me di la tarea de ir haciendo programitas (scripts) que hagan cosas automaticamente por mi.

Unas de las ideas que se me presentó es hacer un respaldo, ya que en la computadora que tengo en el trabajo ultimamente me ha dado problemas, creo que es el disco duro que está en las últimas, por dicha nos van a cambiar la maquinas 😀

Bueno volviendo al tema, me dieron acceso (ssh) a otro maquina para que subiera mis respaldos, como un respaldo es algo que se hace monotonamente todo el tiempo decidi hacer el script pero en python, normalmente estos tipos de scripts se hacen en shell (bash, sh, awk, perl, etc), personalmente me gusta bastante python, por lo que investigue como hacer llamadas al sistema y éste es el resultado:

import os

# Definicion de la variables que para preconfigurar
backupDir = '/home/edder/Backups/'
backupUser = 'backup'
backupPass = '*******'
summary = ""
backupDest = 'edder@192.168.0.x:/home/edder/backups/'
webroot = '/var/www/'

#funcion que ejecuta un comando y devuelve el resultado
def run_command(command, message):
	results = os.system(command)

	if results == 0:
		return message + '\n'
	else:
		return str(results) + "\n"

# comando y mensaje que hace un respaldo de mysql
command = 'mysqldump -u ' + backupUser + ' -p'+ backupPass + ' website > ' + backupDir + 'website.sql'
message = "Backup completed of the database\n"
summary += run_command(command, message)

#comando que respalda un website (apache) en un tar.gz
command = 'tar -pzcf ' + backupDir + '/website.tar.gz ' + webroot+ 'website'
message = "Backup of page website completed\n"
summary += run_command(command, message)

# comando que copia los respaldos via ssh a otra maquina via rsync
command = 'rsync -avz ' + backupDir + ' ' + backupDest
message = "Backup stored in the remote computer\n"
summary += run_command(command, message)

# los resultados obtenidos
print summary

Al script le falta pulir pero se entiene la esencia de lo que hace 😉





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 😛 , el cual me ayudo este post, por lo cual lo seguí y voy a realizar la guia oficial para principiantes.

CYA.