You are on page 1of 13

Tutorial GeekTool + Scripts

Para explicar un poco que es el geektool y su funcionamiento tirare un poco de Wiki, porque si
lo explico con mis palabras va a quedar algo as "Es una movi que sirve pa ver la hora y
dems polladas en el escritorio" entonces como debemos ser un poco mas profesionales en
los tutos, aun que yo creo que se ha entendido de cojones, va el wiki: No tiene wiki
jajajaja

Con este tutorial vamos a conseguir algo como esto o en caso de algunos una mierda como
un templo jajaja que noooooooo, es coa!!

Versiones
Bueno, para empezar tendremos que instalar el Geektool. Hay 2 formas de hacerlo y por lo
que he podido comprobar, 2 versiones. La primera es la tipica, tiramos de Appstore y pista.
La segunda es bajarnos el dmg e instalarlo.
La version de la Appstore es valida para lion, la version en dmg solo es para Leopard y dems
antiguallas. (Yo tengo Leopard)

Ventajas de una y de otra


Pues....no sabria que decir, por ejemplo a mi la de la Appstore me ha dado problemas a la
hora de poner los scripts, ya que me los superponia a los inconos del escritorio, quedado muy
mal esteticamente. Por el contrario la del dmg no me deja ejecutar algun script que con la del
Appstore no he tenido problema al hacerlo.

Instalacion
Para instalar la version del Appstore, lo abriremos y buscaremos Geektool, pincharemos en
instalar dejando que Mac OX haga el resto.

Para instalar la version dmg, la bajamos de aqui, hacemos doble click en ella, nos monta el
dmg, lo abriremos y le damos caa al icono del Geektool, el soft hara el resto. Quedando
instalado en las Preferencias del Sistema.

Bien, una vez hecho todo este tramite, comenzamos con la pomada guapa. La pomada
consiste en hacer que Geektool ejecute nuestros scripts para asi poder verlos de forma grafica
en el escritorio. Tenemos una gran variedad de usos y aplicaciones, pero como yo no tengo ni
puta idea de programarlos vamos a poner los tipicos para que nos quede algo curioso y fino
fino.

Uso de Geektool
Abrimos el Geektool (en mi caso esta en preferencias del sistema)(el que haya instalado el
geektool desde el Appstore lo tendra en aplicaciones) y vemos que cosas tiene y cuales
vamos a usar. Tenemos 3 opciones: Shell, imagen y archivo.
Shell es para ejecutar algo, ya sea un script o un comando de consola con el que ejecutar
algo: script, php, tengo la picha grande, etc etc...
Imagen es para cargar imagenes, como su propio nombre indica.
Archivo sera para cargar archivos, no se, no lo he usado nunca.
En este tutorial vamos a usar 2 de ellas, Shell e Imagen. Para hacer que alguna de ellas se
situe en el escritorio es muy facil, solo hay que pinchar en una y sin soltar, arrastrar hasta el
escritorio. Os dejo un video de mi escritorio para que veis como se hace (En plan Dummies,
que nunca esta dems)

Como hemos visto en el video, eso se hara cuando queramos sacar un shell o una imagen.
Si nos hemos fijado, al sacar el shell ha salido un menu de opciones to curioso. En el caso del
video es el menu de shell, pero ahora explicare el de los 2, imagen y shell.

Teniendo claro todo esto, vamos a comenzar a poner los scripts.


Lista de scripts para este tutorial (Hay muchos mas, pero a mi no me molan y no me sale de
los huevos ponerlos). Estos los pondremos en la linea de comando y luego a cada uno le
daremos un tiempo de refresco apropiado, asi no se quedaran fijos. El tiempo de refresco es
importante, porque si no lo ponemos, el shell no actualizara dicho script y hasta no reiniciar el
pc no veremos una nueva hora, dia, clima, iba yo de pregrino y me cogiste de la mano, etc...
El tiempo de refresco lo pongo al lado de cara titulo de script. Pongo los tiempos que uso yo,
cada uno que ponga el que le salga del rabo. Los tiempos van en Segundos, es decir 60
segundo una peli de nicolas cage cojonuda!!! jajaja al lio!!

Hora 1 Segundo de refresco


CDIGO: SELECCIONAR TODO

date '+%I:%M:%S'

PM-AM 60 Segundos de refresco


CDIGO: SELECCIONAR TODO

date +"%p"

Dia de la semana 360 Segundos de refresco


CDIGO: SELECCIONAR TODO

echo `date +%A` |awk '


BEGIN { upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower = "abcdefghijklmnopqrstuvwxyz"
}
{
FIRSTCHAR = substr($1, 1, 1)
if (CHAR = index(lower, FIRSTCHAR))
$1 = substr(upper, CHAR, 1) substr($1, 2)
print $0
}'

Dia del mes 360 Segundos de refresco


CDIGO: SELECCIONAR TODO

date +%d

Mes 3600 Segundos de refresco


CDIGO: SELECCIONAR TODO

echo `date +%B` |awk '


BEGIN { upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
lower = "abcdefghijklmnopqrstuvwxyz"
}
{
FIRSTCHAR = substr($1, 1, 1)
if (CHAR = index(lower, FIRSTCHAR))
$1 = substr(upper, CHAR, 1) substr($1, 2)
print $0
}'

Ao X Segundos de refresco (el que sea un poco espabilado que calcule


los segundos que quedan hasta que acabe el ao y asi solo se actualiza
cada ao, el que sea bobo como yo que ponga "culo" jajaja es coa,
poner 3600 Segundos)
CDIGO: SELECCIONAR TODO

date +%Y

Calendario (cortesia de Makanudo) 360 Segundos de refresco


CDIGO: SELECCIONAR TODO

cal | awk '{ print " "$0; getline; print " Lu Ma Mi Ju Vi Sa Do"; getline;
if (substr($0,1,2) == " 1") print "

1 "; \

do { prevline=$0; if (getline == 0) exit; print " " \

substr(prevline,4,17) " " substr($0,1,2) " "; } while (1) }' | sed -E '1,$'"s/ ($(date +
%e))( |$)/ $(echo '\033[1;31m')\1$(echo '\033[0m')\2/"

Tiempo (The weather que dicen los ingleses) 60 Segundos de refresco


CDIGO: SELECCIONAR TODO

curl --silent "http://weather.yahoo.com/spain/basque-country/san-vicente-debaracaldo-773463/" | grep "current-weather" | sed "s/.*background\:url(\'\(.*\)\')


.*/\1/" | xargs curl --silent -o /tmp/weather.png\

Si nos fijamos en el cdigo, hay una direccin web que es de yahoo y en este caso es la
direccin del tiempo donde vivo yo. Tenis que entrar en yahoo tiempo y seleccionar la de
vuestro barrio. Despus la cambiareis por la del script.

Icono del tiempo 60 Segundos de refresco


CDIGO: SELECCIONAR TODO

file:///tmp/weather.png

Temperatura que hace en tu barrio 60 Segundos de refresco


CDIGO: SELECCIONAR TODO

curl http://m.wund.com/global/stations/08025.html |sed -n '21p' | sed -e 's/<span


class="nowrap"><b>//g' | sed -e 's/<\/b.*/ C/g'

Si nos fijamos en el cdigo, hay una direccin web que es de wund.com y en este caso es la
direccin del tiempo donde vivo yo. Tenis que entrar en Wund.com y seleccionar vuestro
barrio. Despus la cambiareis por la del script.
EDITO: Cambiamos el codigo anterior por este nuevo. Se debe a que han aadido codigo en
la pagina y ya no se muestra en la linea 21, sino que ahora lo hace en la 49. Como se puede
ver solo es necesario cambiar el 21 por un 49 y ya funcionara.
CDIGO: SELECCIONAR TODO

curl http://m.wund.com/global/stations/08025.html |sed -n '49p' | sed -e 's/<span


class="nowrap"><b>//g' | sed -e 's/<\/b.*/ C/g'

Yo no tengo mas, pero tambien hay para ver los twitters, el caralibro, estado de CPU,
temperatura cpu y molto cosas mas.

Meter dichos cdigos en el Geektool.


Para meter los cdigos en geektool basta con ponerlos en la linea de comando, la que hemos
visto en la foto que describe las opciones.(Sustaco que ma dao el gato, ojo infarto!!)

Cuando el comando es muy largo o metemos un script de varias lineas, pinchamos en los
puntos de al lado de la linea de comando y se nos abre una especie de editor de texto. Basta
con poner ahi el cdigo, darle a cmd+s para guardar y luego cerrar el editor.

Como hemos visto en la imagen anterior una vez metido el cdigo nos sale en el shell la
palabra "Domingo". Esto quiere decir que hemos metido el script para que nos muestre el dia
de la semana con la primera letra en mayscula. (Hay un comando que es mas simple y lo
muestra en minscula todo). Pues ahora hay que hacer lo mismo pero con todos los dems.
Para los mas bajos abajo del todo os voy a dejar todos los archivos para que podais ahorraos
todo el proceso, pero es mejor hacerlo uno a uno, as aprendeis mamones.

Modificacin de scripts y colocacin de archivos, as como


explicacin de su funcionamiento
Ha quedado claro que para sacar unos shell y unas imagenes, asi como para meterles unos
cdigos que ejecuten comandos internos, es facil.
Ahora vamos a hacer que los shell ejecuten scripts externos mediante un comando de
ejecucin de scripts. Estos scripts externos nos sirven para mostar procesos que necesitan
gestionar y crear archivos, en este caso imagenes que nos muestran los estados de las cosas
que queremos analizar. Como ya he dicho en este tuto haremos capacidad de discos duros y
carga de baterias, de Macbook y perifericos.
La lista de ejecucion de scripts externos es la siguiente:

Carga de bateria Macbook 60 Segundos de refresco


Con este script vamos a conseguir que Geektool nos muestre mediante imagenes temporales,
la carga que tiene la bateria del pc. Para eso vamos a ver el funcionamiento del script.
Este script en cuestion analiza la carga maxima de bateria y la carga en el momento actual,
hace una operacion matematica tan simple como una regla de 3, para obtener el numero de
imagen que tiene que mostrar. Con esa imagen creada, Geektool nos mostrara la cantidad de
bateria que tenemos en el Mac.
El Pack consta de dicho script, de una carpeta de imagenes y de una imagen temporal, que
sera la que el script crea para asi posteriormente geektool la carge.
Como hacemos que Geektool cargue esa imagen y ejecute dicho script, pues de la siguiente
forma.
Nos descargamos dicho pack con los archivos necesarios de aqui: [url]BatteryMeterApple[/url]
Al descomprimirlo veremos una carpeta llamada "BatteryMeterApple" y dentro habra un
archivo llamado BM.scpt. Abriremos dicho archivo con el editor de scripts de apple y vemos la
siguiente linea:
CDIGO: SELECCIONAR TODO

set pathName to "/Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterApple/"

Cambiaremos el nombre de usuario por el de nuestro mac, guardamos y cerramos. Una vez
hecho eso metemos la carpeta "BatteryMeterApple" en /Users/TU NOMBRE DE
USUARIO/Documents/Geektool/.
Despues de hacer eso, pillaremos el geektool y meteremos los siguientes comandos, sacando
2 shell y 1 imagen.
Texto forzado
CDIGO: SELECCIONAR TODO

echo MacBook Pro: (En caso de tener un Macbook Pro)

Codigo para Shell


CDIGO: SELECCIONAR TODO

osascript /Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterApple/BM.scpt

Codigo para Imagen


CDIGO: SELECCIONAR TODO

file://localhost/Users/TU NOMBRE DE
USUARIO/Documents/Geektool/BatteryMeterApple/temp.png

Carga de bateria Teclado Bluetooth 60 Segundos de


refresco (El cdigo lo he hecho yo)
Con este script vamos a conseguir que Geektool nos muestre mediante imagenes temporales,
la carga que tiene la bateria del Teclado Bluetooth. Para eso vamos a ver el funcionamiento del
script.
Este script en cuestin analiza la carga maxima de bateria del teclado y la carga en el
momento actual, hace una operacin matematica tan simple como una regla de 3, para
obtener el numero de imagen que tiene que mostrar. Con esa imagen creada, Geektool nos
mostrara la cantidad de bateria que tenemos en el teclado.
El Pack consta de dicho script, de una carpeta de imagenes y de una imagen temporal, que
sera la que el script cree para as posteriormente geektool la cargue.
Como hacemos que Geektool cargue esa imagen y ejecute dicho script, pues de la siguiente
forma.
Nos descargamos dicho pack con los archivos necesarios de aqui:
[url]BatteryMeterTeclado[/url]
Al descomprimirlo veremos una carpeta llamada "BatteryMeterTeclado" y dentro habra un
archivo llamado BM.scpt. Abriremos dicho archivo con el editor de scripts de apple y vemos la
siguiente linea:
CDIGO: SELECCIONAR TODO

set pathName to "/Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterTeclado/"

Cambiaremos el nombre de usuario por el de nuestro mac, guardamos y cerramos. Una vez
hecho eso metemos la carpeta "BatteryMeterTeclado" en /Users/TU NOMBRE DE
USUARIO/Documents/Geektool/.
Despus de hacer eso, pillaremos el geektool y meteremos los siguientes comandos:

Texto forzado
CDIGO: SELECCIONAR TODO

echo Teclado:

Codigo para Shell


CDIGO: SELECCIONAR TODO

osascript /Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterTeclado/BM.scpt

Codigo para Imagen


CDIGO: SELECCIONAR TODO

file://localhost/Users/TU NOMBRE DE
USUARIO/Documents/Geektool/BatteryMeterTeclado/temp.png

"Carga de bateria Magic Mouse" (No lo tengo pero lo voy


a poner, no soy un monstruo) 60 Segundos de refresco (El
cdigo lo he hecho yo)
Con este script vamos a conseguir que Geektool nos muestre mediante imagenes temporales,
la carga que tiene la bateria del Magic Mouse. Para eso vamos a ver el funcionamiento del
script.
Este script en cuestin analiza la carga maxima de bateria del raton y la carga en el momento
actual, hace una operacin matematica tan simple como una regla de 3, para obtener el
numero de imagen que tiene que mostrar. Con esa imagen creada, Geektool nos mostrara la
cantidad de bateria que tenemos en el raton.
El Pack consta de dicho script, de una carpeta de imagenes y de una imagen temporal, que
sera la que el script cree para as posteriormente geektool la cargue.
Como hacemos que Geektool cargue esa imagen y ejecute dicho script, pues de la siguiente
forma.
Nos descargamos dicho pack con los archivos necesarios de aqui:
[url]BatteryMeterMMouse[/url]
Al descomprimirlo veremos una carpeta llamada "BatteryMeterMMouse" y dentro habra un
archivo llamado BM.scpt. Abriremos dicho archivo con el editor de scripts de apple y vemos la

siguiente linea:
CDIGO: SELECCIONAR TODO

set pathName to "/Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterMMouse/"

Cambiaremos el nombre de usuario por el de nuestro mac, guardamos y cerramos. Una vez
hecho eso metemos la carpeta "BatteryMeterMMouse" en /Users/TU NOMBRE DE
USUARIO/Documents/Geektool/.
Despus de hacer eso, pillaremos el geektool y meteremos los siguientes comandos:
Texto forzado
CDIGO: SELECCIONAR TODO

echo Magic Mouse:

Codigo para Shell


CDIGO: SELECCIONAR TODO

osascript /Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterMMouse/BM.scpt

Codigo para Imagen


CDIGO: SELECCIONAR TODO

file://localhost/Users/TU NOMBRE DE
USUARIO/Documents/Geektool/BatteryMeterMMouse/temp.png

"Carga de bateria Trackpad" (Que no lo tengo joder!!) 60


Segundos de refresco (El cdigo lo he hecho yo)
Con este script vamos a conseguir que Geektool nos muestre mediante imagenes temporales,
la carga que tiene la bateria del Trackpad. Para eso vamos a ver el funcionamiento del script.
Este script en cuestin analiza la carga maxima de bateria del Trackpad y la carga en el
momento actual, hace una operacin matematica tan simple como una regla de 3, para
obtener el numero de imagen que tiene que mostrar. Con esa imagen creada, Geektool nos
mostrara la cantidad de bateria que tenemos en el Trackpad.

El Pack consta de dicho script, de una carpeta de imagenes y de una imagen temporal, que
sera la que el script cree para as posteriormente geektool la cargue.
Como hacemos que Geektool cargue esa imagen y ejecute dicho script, pues de la siguiente
forma.
Nos descargamos dicho pack con los archivos necesarios de aqui:
[url]BatteryMeterTrackpad[/url]
Al descomprimirlo veremos una carpeta llamada "BatteryMeterTrackpad" y dentro habra un
archivo llamado BM.scpt. Abriremos dicho archivo con el editor de scripts de apple y vemos la
siguiente linea:
CDIGO: SELECCIONAR TODO

set pathName to "/Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterTrackpad/"

Cambiaremos el nombre de usuario por el de nuestro mac, guardamos y cerramos. Una vez
hecho eso metemos la carpeta "BatteryMeterTrackpad" en /Users/TU NOMBRE DE
USUARIO/Documents/Geektool/.
Despus de hacer eso, pillaremos el geektool y meteremos los siguientes comandos:
Texto forzado
CDIGO: SELECCIONAR TODO

echo Trackpad:

Codigo para Shell


CDIGO: SELECCIONAR TODO

osascript /Users/TU NOMBRE DE


USUARIO/Documents/Geektool/BatteryMeterTrackpad/BM.scpt

Codigo para Imagen


CDIGO: SELECCIONAR TODO

file://localhost/Users/TU NOMBRE DE
USUARIO/Documents/Geektool/BatteryMeterTrackpad/temp.png

Capacidad libre en Discos duros, tanto interno, como


USB, etc... 60 Segundos de refresco
Con este script vamos a conseguir que Geektool nos muestre mediante imagenes temporales,
la capacidad y uso de los discos duros. Para eso vamos a ver el funcionamiento del script.
Este script en cuestin analiza la capacidad total de los discos duros que hay en el mac y lo
usado en el momento actual, hace una operacin matematica para obtener el numero de
imagen que tiene que mostrar. Con esas imagenes creadas, Geektool nos mostrara el uso y
espacio libre de los discos duros.
El Pack consta de dicho script, de una carpeta de imagenes y de una o mas imagenes
temporales, que seran las que el script cree para as posteriormente geektool las cargue.
Como hacemos que Geektool cargue esas imagenes y ejecute dicho script, pues de la
siguiente forma.
Nos descargamos dicho pack con los archivos necesarios de aqui: [url]DiskCapacityMeter[/url]
Al descomprimirlo veremos una carpeta llamada "DiskCapacityMeter" y dentro habra un
archivo llamado HDUsed.scpt. Abriremos dicho archivo con el editor de scripts de apple y
vemos las siguientes lineas:
CDIGO: SELECCIONAR TODO

property hardDrivesList : {"disk0s2", "TU DISCO 2", "TU DISCO 3"}

Ahi es donde pondremos los disco duros que tenemos. Para saber el nombre de cada uno, en
la terminal pondremos df -h y nos dira el nombre de cada disco.

CDIGO: SELECCIONAR TODO

set pathName to "/Users/TU NOMBRE DE


USUARIO/Documents/Geektool/DiskCapacityMeter/"

CDIGO: SELECCIONAR TODO

set imagesPathName to "/Users/TU NOMBRE DE


USUARIO/Documents/GeekTool/DiskCapacityMeter/Images_Blue"

Cambiaremos el nombre de usuario por el de nuestro mac, guardamos y cerramos. Una vez
hecho eso metemos la carpeta "DiskCapacityMeter" en /Users/TU NOMBRE DE
USUARIO/Documents/Geektool/.

Despus de hacer eso, pillaremos el geektool y meteremos los siguientes comandos:


Codigo para Shell
CDIGO: SELECCIONAR TODO

osascript /Users/TU NOMBRE DE


USUARIO/Documents/Geektool/DiskCapacityMeter/HDUsed.scpt

Codigo para Imagen (Hay que poner tantas imagenes como discos tengamos) (El propio script
genera las imagenes necesarias por disco)
CDIGO: SELECCIONAR TODO

file://localhost/Users/TU NOMBRE DE
USUARIO/Documents/Geektool/DiskCapacityMeter/temp1.png

Con todo esto queda terminado el tuto. El tema de las imagenes podeis poner las que os
salgan del pene, pero que sean chulas. Yo estoy haciendo unas cuantas con el photoshop, las
colgare cuando pueda, aun asi, os dejo unas de devianart (recordar cambiar las imagenes que
hay dentro de las carpetas por otras con el mismo nombre y formato, dado que si son
diferentes el geektool con los script y comandos actuales, no las cargara):
http://midnighttokerkate.deviantart.com ... y/31894901

Archivos de este tuto:

Bateria MacBook
Bateria Teclado Bluetooth
Bateria Magic Mouse
Bateria Trackpad
Capacidad Discos Duros
Todos los GLETS usados en el tuto

You might also like