Archivo

Archivo para la categoría ‘General’

Ver clima de nuestra ciudad II: usando conky

Sábado, 13 de Febrero de 2010

En la anterior entrada, vimos como añadir el tiempo de nuestra ciudad, al menú de openbox: http://behindopendoors.netne.net/blog/linux/ver-el-clima-de-nuestra-ciudad-en-openbox.

Ahora, vamos a visualizarlo, usando el mismo script pero mediante conky, por lo que lo podremos usar en cualquier distro y entorno de escritorio, solo tendremos que instalar previamente conky (lo encontraréis en repositorios).

Lo primero, tendremos que usar, el script escrito en python, que modificado un poco (copiad el texto, y pegarlo en un archivo). Yo lo guardo en la ruta ~/.config/openbox/scripts/gweather-conky2.py, pero podéis ponerlo donde queráis.

#!/usr/bin/python -o
# -*- coding: utf-8 -*-

from  urllib import urlopen, quote
from xml.etree.cElementTree import parse
from  datetime import datetime, timedelta
import os
from os.path import  join
from sys import argv
try:
import cPickle as pickle
except  ImportError:
import pickle

TRANSLATED_TEXT = {
'en': {
'current': 'Current conditions',
'weather': 'Weather',
'temp': 'Temperature',
'humidity': 'Humidity',
'wind': 'Wind',
'forecast': 'Forecast',
'mintemp': 'Minimun Temperature',
'maxtemp': 'Maximun Temperature'
},
'es': {
'current': u'Actualmente',
'weather': u'Tiempo',
'temp': u'Temperatura',
'humidity': u'Humedad',
'wind': u'Viento',
'forecast': u'Previsión',
'mintemp': u'Temperatura Mínima',
'maxtemp': u'Temperatura  Máxima'
},
'fr': {
'current': u'Actuel',
'weather': u'Météo',
'temp': u'Température',
'humidity': u'Humidité',
'wind': u'Vent',
'forecast': u'Prévision',
'mintemp': u'Température minimale',
'maxtemp': u'Température maximale'
},
'de': {
'current': u'Aktuell',
'weather': u'Wetter',
'temp': u'Temperatur',
'humidity': u'Luftfeuchtigkeit',
'wind': u'Wind',
'forecast': u'Prognostizieren',
'mintemp': u'Minimale Temperatur',
'maxtemp': u'Höchste  Temperatur'
}
}

if len(argv) != 3:
raise  Exception('Usage: gweather.py city language.')
else:
city =  argv[1]
lang = argv[2]

CACHE_HOURS = 1

WEATHER_URL  = 'http://www.google.com/ig/api?weather=%s&hl=%s&oe=UTF-8'

def  get_weather(city, lang):
url = WEATHER_URL % (quote(city),  quote(lang))
data = parse(urlopen(url))

forecasts =  []
for forecast in data.findall('weather/forecast_conditions'):
forecasts.append(
dict([(element.tag, element.get("data"))  for element in forecast.getchildren()]))

return {
'forecast_information': dict([(element.tag, element.get("data"))  for element in  data.find('weather/forecast_information').getchildren()]),
'current_conditions': dict([(element.tag, element.get("data")) for  element in data.find('weather/current_conditions').getchildren()]),
'forecasts': forecasts
}

def  get_openbox_pipe_menu(lang, forecast_information, current_conditions,  forecasts):
if lang == 'en-US':
lang = 'en'

tt = TRANSLATED_TEXT[lang]

temp_var, temp_unit =  ("temp_c", u"\u00b0C") if forecast_information['unit_system'] == "SI"  else ("temp_f", "F")

output = ''

output += '%s\n' % (current_conditions['condition'])
output += '%s: %s %s\n' % (tt['temp'], current_conditions[temp_var], temp_unit)
output += '%s\n' % (current_conditions['humidity'])
output += '%s' % (current_conditions['wind_condition'])return output.encode('utf-8')

cache_file =  join(os.getenv("HOME"), '.gweather-conky2.cache')

try:
f =  open(cache_file,'rb')
cache = pickle.load(f)
f.close()
except  IOError:
cache = None

if cache == None or (city, lang)  not in cache or (
cache[(city, lang)]['date'] +  timedelta(hours=CACHE_HOURS) < datetime.utcnow()):
# The cache  is outdated
weather = get_weather(city, lang)
ob_pipe_menu = get_openbox_pipe_menu(lang, **weather)
print  ob_pipe_menu
if cache == None:
cache = dict()
cache[(city, lang)] = {'date': datetime.utcnow(), 'ob_pipe_menu':  ob_pipe_menu}

#Save the data in the cache
try:
f = open(cache_file, 'wb')
cache = pickle.dump(cache,  f, -1)
f.close()
except IOError:
raise
else:
print cache[(city, lang)]['ob_pipe_menu']

Bien, ahora tenemos que crear el archivo de configuración de conky:

# set to yes if you want Conky to be forked in the background
background yes

# Use Xft?
use_xft yes
xftfont Dejavu Sans:pixelsize=11

# Update interval in seconds
update_interval 1

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window  yes
own_window_transparent yes
own_window_type normal
own_window_hints undecorate,below,sticky,skip_taskbar,skip_pager

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 160
maximum_width 200

# Draw shades?
draw_shades no

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders yes

# Stippled borders?
stippled_borders 0

# border margins
border_margin 3

# border width
border_width 0

# Default colors and also border colors
default_color 404040
#default_shade_color white
#default_outline_color black
own_window_colour 3c3c3c

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 15
gap_y 70

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase yes

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer right
TEXT
${color #000000}${execi 12 python ~/.config/openbox/scripts/gweather-conky2.py bilbao es;}

Este archivo, lo guardais con el nombre de .conkyrc, y lo ponéis en vuestra home. Si queréis, podéis usar más de un conky al mismo tiempo (este solo os dará el tiempo, a no ser que le añadáis código).

Tenéis que prestar especial atención a la última linea del conky: ${color #000000}${execi 12 python ~/.config/openbox/scripts/gweather-conky2.py bilbao es;} . Podéis cambiar el color, variando los números, la frecuencia con la que se ejecuta el script (12 segundos por defecto, aunque el script de python no se refresca con tanta frecuencia), la ruta donde dejasteis el script (editarla correctamente) y por último, el nombre de vuestra ciudad (si tiene espacios, poner un guión, por ejemplo: buenos-aires), y por el último, poned es, que es el idioma, no el país de vuestra ciudad.

Si todo ha ido bien, lograréis el siguiente efecto:

Se puede modificar el script de python, para que nos muestre otros datos, o los ordene de otra manera, si sabéis un poco de programación básica, no os será difícil. También podéis añadir datos de temperatura, voltaje y velocidad de los ventiladores: http://behindopendoors.netne.net/blog/linux/lm-sensors-monitoriza-la-temperatura-velocidad-de-los-ventiladores-y-sus-voltajes

Tepes General , , , , , , ,

Notify-osd en Archlinux

Sábado, 31 de Octubre de 2009

Leyendo un post en ArchlinuxXz, sobre unos scripts para implementar las notificaciones osd en gestores de ventanas, se me ha ocurrido escribir este post. Os dejo un link para que le echeis un ojo al post, muy interesante: http://archxz.wordpress.com/2009/10/30/algunos-scripts/.

Yo en cambio, voy a explicar como hacer funcionar el notify-osd en Gnome con la mayoría de las aplicaciones, instalando los paquetes adecuados.

Nofity-osd, es el sistema de notificaciones que usan las últimas versiones de Ubuntu, para trasmitir los mensajes del sistema, que salen en un recuadro negro semitransparente, debajo del área de notificación.
Bien, lo primero que tenemos que hacer, es localizar los paquetes que necesitamos, como esto irá en función del usuario, hacemos una busqueda con yaourt:

yaourt -Ss notify-osd

aur/banshee-notify-osd 1.4.3-3 (Out of Date) (30)
    Patched banshee version for notify-osd
aur/checkgmail-notify-osd 1.13-1 (Out of Date) (13)
    CheckGmail is Gmail notifier. This package comes with replaced notifications for new e-mails, now using notify-osd. You can still use all the other functions like marking messages as read as this was not replaced :)
aur/gajim-notify-osd 0.12.5-1 (20)
    Jabber client written in PyGTK
aur/gajim-notify-osd-mpd 0.12.3-1 (Out of Date) (1)
    Jabber client written in PyGTK. With MPD-Patch for musictracker
aur/gmpc-notify-osd-plugin 112536-1 (2)
    A package that adds the notify-osd support to gmpc.
aur/gnome-mount-notify-osd 0.8-2 [installed] (57)
    GNOME mount program
aur/gnome-power-manager-notify-osd 2.28.1-2 [installed] (41)
    Session daemon that makes it easy to manage your laptop or desktop system.
aur/gnome-settings-daemon-notify-osd 2.28.1-1 [installed] (37)
    The GNOME Settings Daemon - Patched version to use Notify-OSD
aur/libnetworkmanager-notify-osd 0.7.1-1 (39)
    The Network Manager Library
aur/networkmanager-notify-osd 0.7.1-1 (33)
    Network Management daemon
aur/nm-applet-notify-osd 0.7.1-1 (25)
    GNOME frontends to NetWorkmanager
aur/notify-osd 0.9.24-1 [installed] (197)
    daemon that displays passive pop-up notifications
aur/notify-osd-bzr 311-1 (116)
    Canonical's on-screen notification display agent, implementing the FreeDesktop.org notification specification with semi-transparent click-through bubbles.
aur/pidgin-libnotify-notify-osd 0.14-3 (111)
    Patched pidgin-libnotify version for notify-osd
aur/rss-notify 0.4-4 (7)
    an RSS reader for people who love notify-osd

Yo instalé las que están marcadas. Obviamente tendremos que instalar notify-osd obligatoriamente, y las demás, según las aplicaciones que queramos que usen este sistema. Emesene, en su última versión ya está parcheado para que use este tipo de notificaciones, así que no tendremos que instalar nada.

Antes de instalar los paquetes parcheados para notify-osd, tendremos que desinstalar los antiguos, así que haremos un:

yaourt -Rs gnome-mount gnome-power-manager gnome-settings-daemon

Una vez desinstalados los paquetes, ya podemos instalar los nuevos:

yaourt -S gnome-mount-notify-osd gnome-power-manager-notify-osd gnome-settings-daemon-notify-osd notify-osd

Eso es todo.


Tepes General , , ,

MOC: “Music On Console”

Lunes, 19 de Octubre de 2009

Os voy a hablar de un reproductor de música alternativo para Linux, que es muy útil en algunas ocasiones, y hay gente incluso que lo usa para el día a día. Como dice el título del post, MOC, significa “Musica en la consola”. No tiene interface gráfica. Es muy simple, no consume prácticamente nada de recursos, y es muy estable. Además, aunque se cierre la pantalla del reproductor, o la terminal, la música sigue sonando si no la paramos, aunque nos vallamos a otra terminal. Tiene lista de reproducción, que se guarda entre sesiones, y funciones básicas. También puede reproducir música en streaming desde webs, pulsando la tecla “o” y escribiendo la URL.

La interface, está dividida en dos, por un lado la lista de reproducción (playlist) y por otro lado un navegador de archivos, para poder añadir la música que queramos. Aunque si queremos concentrarnos en alguna de las dos, pulsando la letra “l” y la otra desaparecerá, y podremos alternar entre las dos partes con el tabulador, o volver a la pantalla partida pulsando otra vez “l”.

Puede parecer difícil de usar, o poco cómodo tener que saberse los comandos, pero es muy intuitivo, y la mayoría de las letras, es la inicial del comando en inglés. Aquí tenéis todos los comandos (podéis verlos en cualquier momento pulsando “h”:

q              Detach MOC from the server
ENTER          Start playing files (from this file) or go to directory
DOWN           Move down in the menu
UP             Move up in the menu
PAGE_DOWN      Move one page down
PAGE_UP        Move one page up
HOME           Move to the first item in the menu
END            Move to the last item in the menu
Q              Quit
s              Stop
n              Play next file
b              Play previous file
p SPACE        Pause
f              Toggle ReadTags option
S              Toggle Shuffle
R              Toggle repeat
X              Toggle AutoNext option
TAB            Switch between playlist and file list
l              Switch between layouts
a              Add a file to the playlist
C              Clear the playlist
A              Add a directory recursively to the playlist
<              Decrease volume by 1% >              Increase volume by 1%
,              Decrease volume by 5%
.              Increase volume by 5%
RIGHT          Seek forward by n-s
LEFT           Seek backward by n-s
h ?            Show the help screen
M              Hide error/informative message
^r ^l          Refresh the screen
r              Reread directory content
H              Toggle ShowHiddenFiles option
m              Go to the music directory (requires an entry in the config)
d              Delete an item from the playlist
g /            Search the menu.
V              Save the playlist
^t             Toggle ShowTime option
^f             Toggle ShowFormat option
o              Play from the URL
G              Go to a directory where the currently played file is
i              Go to a directory
U              Go to '..'
^g ^n          Find the next matching item
^x ESCAPE      Exit from an entry
]              Silent seek forward by 5s
[              Silent seek backward by 5s
M-1            Set volume to 10%
M-2            Set volume to 20%
M-3            Set volume to 30%
M-4            Set volume to 40%
M-5            Set volume to 50%
M-6            Set volume to 60%
M-7            Set volume to 70%
M-8            Set volume to 80%
M-9            Set volume to 90%
!              Go to a fast dir 1
@              Go to a fast dir 2
#              Go to a fast dir 3
$              Go to a fast dir 4
%              Go to a fast dir 5
^              Go to a fast dir 6
&              Go to a fast dir 7
*              Go to a fast dir 8
(              Go to a fast dir 9
)              Go to a fast dir 10
UP             Go to the previous entry in the history (entry)
DOWN           Go to the next entry in the history (entry)
x              Toggles the mixer channel
u              Move playlist item up
j              Move playlist item down
^u             Add a URL to the playlist using entry
T              Switch to the theme selection menu
F1             Execute ExecCommand1
F2             Execute ExecCommand2
F3             Execute ExecCommand3
F4             Execute ExecCommand4
F5             Execute ExecCommand5
F6             Execute ExecCommand6
F7             Execute ExecCommand7
F8             Execute ExecCommand8
F9             Execute ExecCommand9
F10            Execute ExecCommand10
P              Toggle displaying full paths in the playlist

También se puede cambiar el tema de colores, con la letra “T”, aunque el tema que viene en azul, a mí me gusta mucho.

Yo el reproductor que más uso es amarok (ahora de vuelta otra vez a la 1.4) y de vez en cuando uso moc, no sé tiene su encanto. Para instalarlo, lo podéis coger de los repositorios. Tanto Archlinux como Ubuntu lo tienen, me imagino que las demás distros también.

Tepes General, Linux, Música

Emesene 1.5 disponible en repositorios de Arch!

Miércoles, 26 de Agosto de 2009

Hoy mismo, al hacer un yaourt -Syu, y actualizar el sistema, emesene a pasado a la v1.5. La nueva versión, apodada “awesome” trae algunas mejoras, pero lo importante es que no ha perdido la esencia. Sigue siendo minimalista y ligero, y la interface es la misma, que me parece que eran sus puntos fuertes, o por lo menos por lo que a mí me gustaba, y se diferencia de otros mensajeros como pidgin o amsn.

Estas han sido las mejoras:

  • Compatible con el último Window Live Messenger(tm)
  • Añadidos nuevos plugins (Plus! colors, Notifications, Mail check, etc.)
  • Conexiones HTTP y soporte de proxy
  • Soporte de cuentas @msn
  • Mejorada la gestión de contactos, con pestaña de Privacidad y la posibilidad de rechazar contactos.
  • Mejorada la experiencia de mensajes Offline
  • Soporte para msn groups
  • No más bloqueos de la gui
  • Soporte experimental de webcam, con programa de configuración
  • Nuevas opciones de diseño y una funcionalidad mejorada, junto con la personalización
  • Mayor soporte de idiomas.

Lo más destacable tal vez sea el soporte de videoconferencia, y que se han solucionado numerosos bugs. Por otro lado se ha cambiado el sistema de notificación (a mí me gustaba más el antiguo, pero no está mal). También han mejorado el envio de mensajes instantáneos a contactos “no conectados” (antes yo no podía enviarlos, y muchas veces no los recibía tampoco). De momento he probado a enviarlos, y parece que funciona perfecto. Probaré a ver que tal se reciben, pero pinta bien la cosa. Para mí, esta ha sido la mejora más funcional de todas.

Si no habéis probado todavía este programa, os lo recomiendo. Está disponible para todas las plataformas (la nueva versión de momento solo para Linux).

Para más información, o descargar el programa: http://www.emesene.org/index.html

Tepes General, Linux , , , , , , , ,

Pecado Capital!

Viernes, 26 de Junio de 2009

Como siempre, muy buena la tira. Pero también el mensaje. Ya sabeis, compartid los archivos, que a todos nos gusta que luego las cosas se descarguen rápido. Además con las conexiones de hoy en día, no creo que suponga un problema prestar una parte de nuestro ancho de subida, se sigue navegando igual.

http://palomitasymaiz.wordpress.com/2009/06/25/pecado-capital/

Tepes General , , ,

Tucan. Gestor de descargas de Megaupload, Rapidshare, Gigasize…

Lunes, 18 de Mayo de 2009

Tucan es un gestor de descargas que soporta numerosas plataformas de ficheros, y está disponible tanto en Windows como en Linux. Está escrito completamente en Python, y destaca la eficacia que tiene para rellenar los “Captcha”(Prueba de Turing pública y automática para diferenciar a máquinas y humanos). Es un programa nuevo, y de momento se encuentra en su fase Alpha, pero mejora día a día, y funciona muy bien. Ahora soporta las siguientes páginas de descarga:

Megaupload, Rapidshare, Gigasize, Mediafire, 4Shared, Sendspace, ZShare, Filefactory, Easy-share y Badongo

Con Megaupload y Rapidshare, podremos usar nuestra cuenta premium, en caso de poseer una.  Lo mejor del programa es que solo tenemos que añadir los links (pueden ser de diferentes plataformas, mezclados) y el se encarga de rellenar los esos numeritos y letras que se montan unos encima de otros que a veces parecen indescifrables, con animalitos de por medio . Además descarga los archivos como si de un programa de P2P se tratara, no nos tenemos que preocupar de nada. El mismo cumple los tiempos de espera, y es capaz de bajar más de un archivo a la vez, siempre que la plataforma se lo permita.

El programa es simple y liviano, y a pesar de ser una versión Alpha, no he notado grandes fallos o problemas de funcionamiento (muchos programas más maduros funcionan bastante peor). Poco a poco van agregando más sitios de descarga, y también está en proyecto implementar un sistema para subir archivos.

En algunos distros, ya se encuentra el programa disponible en los repositorios (Archlinux por ejemplo, en AUR). Pero si no, podéis obtenerlo en una de las siguientes páginas:

Tucan Manager (Página sobre el programa)
The Tucan Project (Blog del autor, en castellano)

Aclualizado el 29.08.09.

Tepes Archlinux, General, Linux , , , , , ,