ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Instalar Conky con previsión del tiempo en Ubuntu 10.10 Maverick Meerkat.

Conky es un monitor de sistema libre y ligero para X, que muestra información diversa en su escritorio. Ayer, después que alguien me hiciera una pregunta en un foro de Ubuntu, decidí instalarlo en mi escritorio Ubuntu 10.10 de mis ordenadores de sobremesa y portátil. No fue fácil y tuve que consultar diversos foros y enlaces, así que decidí escribir este artículo sobre lo que hice.

Mi configuración de conky involucra dos secciones diferentes y ocupa un lugar considerable de mi escritorio. En la configuración de dos monitores que tengo en mi sobremesa eso no es un problema, pero en el portátil presenta el problema que Conky, a pesar de que siempre se ubica debajo de cualquier ventana, se posiciona encima de los iconos de escritorio, de manera que cualquier icono que esté en el área donde está conky quedará oculto por él. No uso demasiados iconos de escritorio y los iconos de todas maneras se pueden acceder pasando el ratón sobre la ventana de conky, pero sea consciente de este problema si lo quiere instalar.

En mi ordenador de sobremesa uso dos monitores y configuré conky para que se muestre en el rincón superior derecho, y se muestra en el segundo monitor. En el portátil también está configurado para que se muestre en el rincón superior derecho. También instalé conkyForecast que es un script de python para acceder información meterológica para conky provista por www.weather.com, un servicio meteorológico en línea.

Así es como de bonito se ve en mi portátil, con el fondo de pantalla "cometa" que se puede encontrar en/usr/share/backgrounds/cosmos/comet.jpg:



Lo primero que se tiene que hacer es instalar conky:

sudo apt-get install conky
Esperaremos para configurar conky a tener instalado todo lo referente a
la previsión del tiempo.

Para esto lo primero que tiene que hacer, si no lo ha hecho ya, es abrir una
cuenta en www.weather.com. Cuando se subscribe, tiene que pedir un
"XML weather feed", que es un producto libre que el lugar ofrece con un código
que permite a una página web obtener un canal con información meteorológica.

Una vez que se registra y pide este producto recibirá un correo largo, pero en
algún lugar podrá encontrar:

Partner ID: 1333566431 License Key: 8b530a2a1ab8008a

También necesita obtener información sobre su localización.

Para esto navegue a www.weather.com, y en la parte superior izquierda
encontrará un campo donde entrar una localización y pedir información
sobre el tiempo allí. Entre su localización, por ejemplo yo entré Barcelona,
y mire por la dirección URL que le muestra su navegador, yo por ejemplo veo:

http://www.weather.com/weather/today/Barcelona+Spain+SPXX0015

Necesita el código después del último signo "+", o sea SPXX0015.

Antes de continuar necesita bajarse un par de tipos de letra, al menos yo lo tuve
que hacer, una para el logo de Ubuntu y el título, y la otra para los símbolos
meteorológicos (el sol, las nubes, etc.).

Los símbolos de Ubuntu se pueden bajar de:

http://www.gnome-look.org/content/show.php/OpenLogos?content=54390


Puede poner el archivo bajado a una carpeta llamada ".fonts" en su carpeta de inicio
o en /usr/share/fonts/truetype/myfonts.

El tipo de letra de meteorología lo puede bajar de:

http://www.dafont.com/search.php?psize=m&q=weather

Instale el archivo ttf (cámbiele el nombre a weather.ttf) en cualquiera de los dos
lugares mencionados.

A continuación necesita instalar el script conkyForecast de python.

Está en un depósito PPA, puede instalarlo con las dos líneas siguientes en una terminal:
sudo add-apt-repository ppa:conkyhardcore/ppa sudo apt-get update && sudo apt-get install conkyforecast

Ahora copie conkyForecast a su carpeta de inicio:

cp /usr/share/conkyforecast/conkyForecast.config ~/.conkyForecast.config

Bien, ya está todo instalado. Ahora tenemos que editar el archivo de
configuración de conky y de conkyforecast.

Primero editamos el archivo ".conkyForecast.config" que ponemos en nuestra
carpeta de inicio:
# config settings for conkyForecast.py CACHE_FOLDERPATH = /tmp/ CONNECTION_TIMEOUT = 5 EXPIRY_MINUTES = 30 TIME_FORMAT = %H:%M DATE_FORMAT = %Y-%m-%d LOCALE = us_US XOAP_PARTNER_ID = 1333566431 XOAP_LICENCE_KEY = 8b530a3a1ab8008a MAXIMUM_DAYS_FORECAST = 4 AUTO_NIGHT = False BASE_XOAP_URL = http://xoap.weather.com/weather/local/SPXX0015?cc=*&dayf=5&link=xoap∏=xoap&par=1333566431&key=8b530a3a1ab8008a&unit=m PROXY_HOST = PROXY_PORT = 8080 PROXY_USERNAME = PROXY_PASSWORD =
Substituya mi código por los que obtuvo de www.weather.com.

Ahora tiene que crear dos archivos en su carpeta de inicio, ".conkyrc1"
y ".conkyrc2" para configurar cada uno de los paneles conky que se pueden
ver en mi escritorio. Aquí están, entre también su localización en los lugares
apropiados en vez de los míos.

En ".conkyrc1" ajuste los parámetros para los procesores y los discos
de su entorno:

.conkyrc1
############################# ## VinDSL | 1280x1024x24 ## ############################# #### ## Use XFT? Required to Force UTF8 (see below). # use_xft yes xftfont LiberationSans:size=9 xftalpha 0.1 text_buffer_size 2048 #### ## Force UTF8? Requires XFT (see above). ## Displays degree symbol, instead of °, etc. # override_utf8_locale yes #### ## Update interval in seconds. # update_interval 1.5 #### ## 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_type override own_window_transparent yes #### ## Use double buffering? Reduces flicker. # double_buffer yes #### ## Draw shades? # draw_shades no #### ## Draw outlines? # draw_outline no #### ## Draw borders around text? # draw_borders no #### ## Draw borders around graphs? # draw_graph_borders no #### ## Print text to stdout? ## Print text in console? # out_to_ncurses no out_to_console no #### ## Text alignment. # alignment top_right #### ## Minimum size of text area. # minimum_size 235 0 #### ## Specify width and height for bars. # default_bar_size 0 4 #### ## Gap between text and screen borders. # gap_x 400 gap_y 28 #### ## Shorten MiB/GiB to M/G in stats. # short_units yes #### ## Pad % symbol spacing after numbers. # pad_percents 0 #### ## Limit the length of names in "Top Processes". # top_name_width 10 #### ## Subtract file system -/+buffers/cache from used memory? ## Set to yes, to produce meaningful physical memory stats. # no_buffers yes #### ## Set to yes, if you want all text to be in UPPERCASE. # uppercase no #### ## Number of cpu samples to average. ## Set to 1 to disable averaging. # cpu_avg_samples 4 #### ## Number of net samples to average. ## Set to 1 to disable averaging. # net_avg_samples 2 #### ## Add spaces to keep things from moving around? ## Only affects certain objects. # use_spacer right #### ## My colors. # color0 White color1 Ivory color2 Ivory2 color3 Ivory3 color4 Tan1 color5 Tan2 color6 Gray color7 AntiqueWhite4 color8 DarkSlateGray color9 Black TEXT ################## ## LOGO ## ################## ${voffset -42}${font OpenLogos:size=103}${color2}v${voffset -66}${goto 178}${font UbuntuTitleBold:size=20}${color4}10.10 ################## ## SYSTEM ## ################## ${voffset 10}${font Arial:bold:size=9.5}${color4}SYSTEM ${color8} ${hr 2} ${voffset 4}${font OpenLogos:size=10}${color2}u${voffset -4}${font}${color6} ${sysname} ${kernel} ${alignr} ${machine} ${voffset 2}${font StyleBats:size=10}${color2}A${voffset -1}${font}${color6} Intel I5 ${alignr}${freq_g cpu0} GHz ${voffset 2}${font StyleBats:size=10}${color2}q${voffset -1}${font}${color6} Uptime ${alignr}${uptime} ${voffset 2}${font StyleBats:size=10}${color2}o${voffset -1}${font}${color6} File System ${alignr}${fs_type} ################## ## PROCESSORS ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}PROCESSORS ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU1 ${cpu cpu1}%${color7}${alignc 35}${cpubar cpu1} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU2 ${cpu cpu2}%${color7}${alignc 35}${cpubar cpu2} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU3 ${cpu cpu3}%${color7}${alignc 35}${cpubar cpu3} ${voffset 2}${font StyleBats:size=10}${color2}k${voffset -2}${font}${color6} CPU4 ${cpu cpu4}%${color7}${alignc 35}${cpubar cpu4} ################## ## MEMORY ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}MEMORY ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color2}l${voffset -2}${font}${color6} RAM ${goto 95}${mem}/ ${memmax}${alignr}${memperc}% ${color7}${membar} ################## ## HDD ## ################## ${voffset 2}${font Arial:bold:size=9.5}${color4}HDD ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6} ROOT ${goto 95}${fs_used /} / ${fs_size /}${alignr}${fs_free_perc /}% ${color7}${fs_bar /} ${voffset 1}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6} HOME ${goto 95}${fs_used /home}/ ${fs_size /home}${alignr}${fs_free_perc /home}% ${color7}${fs_bar /home} ${voffset 1}${font StyleBats:size=10}${color2}x${voffset -2}${font}${color6} Data ${goto 95}${fs_used /data}/ ${fs_size /data}${alignr}${fs_free_perc /data}% ${color7}${fs_bar /data} ${voffset 1}${font StyleBats:size=10}${color2}4${voffset -2}${font}${color6} SWAP ${goto 95}${swap} / ${swapmax}${alignr}${swapperc}% ${color7}${swapbar} ################## # TOP PROCESSES ## ################## ${voffset 3}${font Arial:bold:size=9.5}${color4}TOP PROCESSES ${color8}${hr 2} ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 1}${goto 115}${top_mem mem_res 1}${alignr}${top_mem mem 1}% ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 2}${goto 115}${top_mem mem_res 2}${alignr}${top_mem mem 2}% ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 3}${goto 115}${top_mem mem_res 3}${alignr}${top_mem mem 3}% ${voffset 2}${font StyleBats:size=10}${color1}h${voffset -3}${font}${color6} ${top_mem name 4}${goto 115}${top_mem mem_res 4}${alignr}${top_mem mem 4}% ################## ## NETWORK ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}NETWORK ${color8}${hr 2} ${voffset 2}${font PizzaDude Bullets:size=10}${color2}a${font}${color6} Private IP${alignr}${addr eth0} ${font PizzaDude Bullets:size=10}${color2}a${font}${color6} Public IP${alignr}${execi 600 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit|.]//g'} ${voffset 4}${font PizzaDude Bullets:size=10}${color2}T${font}${color6} Down${alignr}${downspeed eth0} ${font PizzaDude Bullets:size=10}${color2}N${font}${color6} Up${alignr}${upspeed eth0} ${voffset 4}${font PizzaDude Bullets:size=10}${color2}T${font}${color6} Downloaded${alignr}${totaldown eth0} ${font PizzaDude Bullets:size=10}${color2}N${font}${color6} Uploaded${alignr}${totalup eth0}
.conkyrc2:
############################# ## VinDSL | 1280x1024x24 ## ############################# #### ## Use XFT? Required to Force UTF8 (see below). # use_xft yes xftfont LiberationSans:size=9 xftalpha 0.1 text_buffer_size 2048 #### ## Force UTF8? Requires XFT (see above). ## Displays degree symbol, instead of °, etc. # override_utf8_locale yes #### ## Update interval in seconds. # update_interval 1.5 #### ## 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_type override own_window_transparent yes #### ## Use double buffering? Reduces flicker. # double_buffer yes #### ## Draw shades? # draw_shades no #### ## Draw outlines? # draw_outline no #### ## Draw borders around text? # draw_borders no #### ## Draw borders around graphs? # draw_graph_borders no #### ## Print text to stdout? ## Print text in console? # out_to_ncurses no out_to_console no #### ## Text alignment. # alignment top_right #### ## Minimum size of text area. # minimum_size 235 0 #### ## Specify width and height for bars. # default_bar_size 0 4 #### ## Gap between text and screen borders. # gap_x 10 gap_y 28 #### ## Shorten MiB/GiB to M/G in stats. # short_units yes #### ## Pad % symbol spacing after numbers. # pad_percents 0 #### ## Limit the length of names in "Top Processes". # top_name_width 10 #### ## Subtract file system -/+buffers/cache from used memory? ## Set to yes, to produce meaningful physical memory stats. # no_buffers yes #### ## Set to yes, if you want all text to be in UPPERCASE. # uppercase no #### ## Number of cpu samples to average. ## Set to 1 to disable averaging. # cpu_avg_samples 4 #### ## Number of net samples to average. ## Set to 1 to disable averaging. # net_avg_samples 2 #### ## Add spaces to keep things from moving around? ## Only affects certain objects. # use_spacer right #### ## My colors. # color0 White color1 Ivory color2 Ivory2 color3 Ivory3 color4 Tan1 color5 Tan2 color6 Gray color7 AntiqueWhite4 color8 DarkSlateGray color9 Black TEXT ################## ## WEATHER ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}WEATHER ${color8}${hr 2} # ${goto 59}${font Weather:size=40}${color1}y${voffset -8}${font RadioSpace:size=32}${color3}${offset 14}${execpi 600 conkyForecast --location=SPXX0015} ${goto 59}${font Weather:size=40}${color1}y${voffset -8}${font RadioSpace:size=32}${color3}${offset 14}${execpi 600 conkyForecast --location=GMXX2809} ${voffset -17}${font Arial:size=22}${color4}${alignc}${execi 600 conkyForecast --location=SPXX0015 --datatype=OB} ${voffset 7}${goto 20}${font ConkyWindNESW:style=Bold:size=38}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=BS}${goto 96}${voffset -5}${font ConkyWeather:style=Bold:size=40}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=WF}${voffset -2}${goto 180}${font MoonPhases:size=30}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT} ${voffset -20}${goto 30}${font}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=WS}${goto 86}Feels like ${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --centeredwidth=4 }${goto 182}Lunar ${voffset 10}${goto 30}${font}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=1 --shortweekday}${goto 83}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=2 --shortweekday}${goto 136}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=3 --shortweekday}${goto 192}${execi 600 conkyForecast --location=SPXX0015 --datatype=DW --startday=4 --shortweekday} ${goto 20}${font}${color2}${font ConkyWeather:size=32}${execi 600 conkyForecast --location=SPXX0015 --datatype=WF --startday=1 --endday=4 --spaces=1} ${goto 22}${voffset -30}${font}${color2}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=1 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=1 --hideunits --centeredwidth=4 }${goto 76}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=2 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=2 --hideunits --centeredwidth=4 }${goto 130}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=3 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=3 --hideunits --centeredwidth=4 }${goto 185}${execi 600 conkyForecast --location=SPXX0015 --datatype=HT --startday=4 --hideunits --centeredwidth=4 }/${execi 600 conkyForecast --location=SPXX0015 --datatype=LT --startday=4 --hideunits --centeredwidth=4 } ################## ## TIME ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}TIME ${color8}${hr 2} ${voffset -4}${if_match ${time %l}<=9}${font RadioSpace:size=32}${color3}${alignc 2}${time %H:%Mh }${else}${if_match ${time %l}>=10}${font RadioSpace:size=32}${color3}${alignc 2}${time %H:%Mh}${endif}${endif} ${voffset -35}${font LiberationSans:size=8}${color4}${alignc 5}Sunrise${offset 1}${execi 600 conkyForecast --location=SPXX0015 --datatype=SR --startday=1}${color3}${offset 2}|${offset 2}${color4}Sunset${offset 1}${execi 600 conkyForecast --location=SPXX0015 --datatype=SS --startday=1} ################## ## CALENDAR ## ################## ${voffset 5}${font Arial:bold:size=9.5}${color4}DATE ${color8}${hr 2} ${voffset 4}${font LiberationSansBold:size=10}${color4}${alignc 7}${execpi 60 VinDSL_Cal= date +'%B${offset 6}%Y'} ${voffset 2}${font LiberationMono:size=9.5}${execpi 60 VinDSL_Cal= cal | sed '1d' | sed -e 's/'`date | awk '{print $3}'`'/${color4}'`date | awk '{print $3}'`'${color3}/' | sed 's/^/${offset 36}${color3}/'}
Puede probar la configuración para ver si todo funciona bien entrando
los siguientes comandos desde una terminal:
conky -c ~/.conkyrc1 & conky -C ~/.conkyrc2 &
Finalmente tiene que configurar que estos dos comandos como programas
de inicio de manera que obtenga conky en su escritorio cada vez que empieza
el escritorio. Para esto tiene que crear otro script para comenzar conky
automáticamente cuando empieza la sesión de escritorio.

Este es el script, que tiene que ubicar en su carpeta de inicio y llamarlo por
ejemplo .conky_autostart.sh:
#!/bin/bash sleep 20 && conky -c ~/.conkyrc1 sleep 20 && conky -c ~/.conkyrc2
Y ahora tiene que ir al menú Preferences -> Startup programs, y añadir
este script como se muestra en la captura de pantalla:


Un comentario final sobre el problema que mencioné al principio sobre
iconos ocultos. Si se coloca un icono de escritorio en el área donde tiene el
conky, quedará oculto por él ubicándose entre el escritorio y conky y no
podrá verlo. Esto no pasa con las ventanas de aplicaciones que siempre se
ubican por encima de conky. Esto no representa un problema demasiado
grande para mi ya que mantengo el escritorio bastante limpio de iconos,
pero por ejemplo si inserta un dispositivo USB por ejemplo, el icono de
acceso puede aparecer en el área de conky y quedar oculto. Esto tampoco
es un problema, si no encuentra un icono simplemente pase el ratón sobre
el área de conky y el puntero cambiará a un dedo señalando cuando está sobre
el icono. Simplemente clique con el botón izquierdo del ratón y manteniéndolo
presionado muévase a otra área del escritorio libre de conky. Esto moverá el
icono fuera del área de conky.



Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:


0 comentarios:

ComFusion es una distribución que une Ubuntu con Compiz Fusion incluyendo una excelente selección de programas.

ComFusion suma Ubuntu, Compiz y Fusion, y alcanza una alta puntuación, logrando una distro LiveCD que muchos estaban esperando. ComFusion corre Compiz-Fusion en Ubuntu, tanto en chip Intel como NVIDIA o ATI, por lo que no tendrás problemas de controladores.

Entre otras aplicaciones, ComFusion incluye Banshee, Brasero, Empathy, Ailurus, Chromium, Ubuntu Tweak, LibreOffice, GIMP, jDownloader o qBittorrent, entre otros.

Basado en Ubuntu 10.04, ComFusion incluye una excelente selección de programas, scripts y ajustes de sistema que a buen seguro harán que muchos usuarios, especialmente usuarios de Windows, se interesen por Linux.


Actualizaciones (via Distrowatch):


Comfusion
Comfusion is a Spanish Ubuntu-based distribution formerly known as Uberyl. The latest release, version 3, is the project's first stable build in over two years and it comes with a number of major changes. Firstly, there is a choice of desktop environments which includes GNOME, the full-featured desktop for modern computers, LXDE, a lightweight desktop similar to GNOME but with less resource-hungry components, and Openbox, a very light, but highly configurable window manager. Secondly, the release also comes with the XMBC media centre, the Cairo-Dock application launchbar, and a large variety of usability improvements and modifications of all aspects of the desktop.

Please head for the detailed release notes (in Spanish, PDF format) if you'd like to learn more about Comfusion 3.

The release is available for download from SourceForge (and also via BitTorrent) as a split ISO image that needs to be extracted with 7z to create a bootable DVD: ComFusion3.7z.001 (700MB), ComFusion3.7z.002 (671MB).



Ultimas versiones publicadas:

• 2011-02-16: Distribution Release: Comfusion 3
• 2008-11-07: Distribution Release: ComFusion 2.0


Capturas de pantallas.












Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:


0 comentarios:

Shutter excelente programa open source para capturar todo tipo de pantallas.

Shutter es un programa open source para capturar todo tipo de pantallas

La gran mayoría de las imágenes que encontrarás en este sitio que se incluyen en los tutoriales y artículos demostrativos de utilización de programas y aplicaciones están realizadas con este intuitivo, sencillo y eficaz programa. No te resultará nada difícil instalarlo, porque se encuentra en los repositorios oficiales de Ubuntu, ni tampoco utilizarlo dada su facilidad de manejo.

Se trata de una poderosa utilidad de captura de pantalla que posee una apariencia e interfaz mínimas pero que esconde bajo ella un amplio conjunto de herramientas. Te permitirá capturar cualquier cosa que suceda en pantalla incluyendo ventanas, menús, objetos, la pantalla completa, selecciones rectangulares personalizadas e incluso páginas web completas.


Entre sus características más destacadas:

  • Escaso uso de memoria incluso aunque la aplicación esté minimizada en la barra de tareas.

  • La imagen tomada puede ser de todo el escritorio, sólo de una parte de éste, de una ventana completa e incluso de toda una página web (no sólo de la parte que se ve en pantalla).

  • Puedes configurar la aplicación para guardar la imagen capturada en variados formatos BMP, JPEG y PNG.

  • Te permite seleccionar la carpeta de destino donde guardarás la imagen cuando la captura se ha realizado o guardar automáticamente la imagen en un directorio de tu elección, o guardar - copiar la captura en el portapapeles del sistema para que puedas utilizarla con cualquier otra aplicación. También te permite guardar las imágenes remotamente, en servidores de Internet, enviarlas por FTP o al servicio online Ubuntu One o enviarlas a un dispositivo bluetooth si lo tienes configurado en el sistema e incluso enviarlas empaquetadas en formato comprimido zip o tar.

  • Puedes hacer uso de su editor interno y de las diversas herramientas en él incluidas para resaltar el contenido de la imagen capturada: añadir texto, incluir flechas, anotaciones a lápiz a mano alzada, sombreados o marcadores resaltados, recuadros, círculos y óvalos, eliminar zonas de la captura de pantalla para evitar la aparición de datos privados,

  • Puedes hacer uso de las diferentes herramientas de edición de imágenes que incluye la aplicación para mejorar la captura: anotación de textos, añadir marca de agua, utilizar diversos efectos como sombrear o añadir un borde a la imagen, modificar el tamaño de la imagen, rotarla, cortarla, modificar el brillo, la saturación o el contraste de la imagen, realzar la imagen, ajustar el zoom, ajustar los colores de la imagen, permite deshacer - rehacer…

  • Además el editor interno te facilita diversas herramientas para resaltar el contenido de la imagen capturada: flechas, lápiz a mano alzada, recuadros y círculos o marcadores resaltados.

  • Puedes enviar las imágenes capturadas directamente por e-mail utilizando tu gestor de correo predeterminado en el sistema.

  • Incluye una enorme variedad de plugins que te permitirá realizar sencillos efectos en la imagen como cambiar las dimensiones de la captura de pantalla, efecto sepia, añadir bordes, efectos de rotación, añadir sombras, añadir una marca de agua personalizada, etc.



Algunas de las mejoras introducidas en la nueva versiòn son:

  • Redimensionamiento automático. De esta manera, cuando capturas una ventana, lo que hace es cambiar las dimensiones de la ventana (si puede), hace la captura de la ventana y luego restaura la ventana a su tamaño inicial. Inicialmente, creía que lo que hacía era redimensionar las imágenes una vez, pero no, redimensiona la ventana para hacer la captura.



Instalación.

Para instalar esta nueva versión tendrás que echar mano del repositorio:

sudo add-apt-repository ppa:shutter/ppa

Una vez añadido el repositorio, toca actualizar:

sudo apt-get update

Y por último instalar

sudo apt-get install shutter

Mejoras:

De entre las nuevas mejoras incluidas en esta versión, podemos destacar:

  • Ahora Shutter permite el autoarranque al inicio.
  • Solo se permite una instancia de Shutter, no pueden haber duplicados
  • Puedes optar por no guardar las imágenes en el disco duro, sino que la copias directamente al portapapeles
  • Soporta orientación EXIF




Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

0 comentarios:

Ninja IDE: Un IDE Pensado para Python

Por fin alguien se dignó a escribir un IDE como la gente para Python que cualquier ciudadano de a pie pueda usar sin problemas en Linux.

Sí, existen varios IDEs para programar en distintos lenguajes, incluso Python, pero este tiene algunos pequeños trucos bajo la manga...

¿Cómo comenzó NINJA-IDE?

NINJA-IDE nació por unos mails enviados a PyAr, cuya temática suele escucharse con bastante frecuencia: "Qué buen IDE para Python puedo usar?", "Por qué no hay un IDE para Python que tenga tal o cual característica?", y las respuestas a estos mails siempre terminan siendo mas o menos las mismas, ya que los IDEs actuales que encontramos disponibles, en su gran mayoría, no estaban diseñados para Python, sino que brindaban la opción de incorporarlo mediante algún Plugin y de esta forma se solía estar utilizando IDEs muy pesados diseñados para otros fines, donde el soporte para Python en realidad era mínimo, y aquellos que si eran para Python terminaban siendo muy orientados a un Framework especifico o no eran Libres. Entonces, motivados por el desafío que representaba, y por ideas interesantes que se plantearon en la lista de correo, decidimos encarar este proyecto enfocándonos en "qué características debería tener un buen IDE para un programador Python".

Con esto en mente comenzamos el desarrollo de NINJA-IDE, cuyo nombre es un derivado del acrónimo recursivo: "Ninja Is Not Just Another IDE". El IDE tiene apenas poco más de dos meses de desarrollo, pero gracias a las ganas y las horas de programación que le estamos dedicando, ya podemos contar con un IDE con muchas funcionalidades implementadas, hasta el punto de poder continuar con el desarrollo de NINJA-IDE utilizando NINJA-IDE, lo cual a su vez nos ayuda para encontrar bugs y mejorar la usabilidad y practicidad de la aplicación, a través de la experiencia y uso continuo de la misma.

Algunas de las características actuales del IDE son:



* Funcionalidades típicas de cualquier IDE para el manejo de archivos, de Tabs, indentación automática, Zoom en Editor, etc.
* Al estar escrito en Python y utilizar PyQt, es multiplataforma y fue probado en sistemas Linux, MAC OS X y Windows.
* Resaltado de Sintaxis para un gran variedad de lenguajes (si bien esta centrado en Python, brinda el resaltado de sintaxis para otros lenguajes más para comodidad del programador).
* Posibilidad de usar una Consola Python desde el mismo IDE.
* Permite el manejo de Proyectos en el IDE, reconociendo los mismos como Proyectos Python y a través del IDE crear nuevos archivos y carpetas, borrar archivos existentes, creación automática de archivos "__init__" con la información dentro de ese módulo, etc.
* Permite ocultar y reubicar todos los paneles de la interfaz de una forma muy simple, permitiendo que sea adaptado a los gustos del usuario.
* Permite ver más de un Editor al mismo tiempo de forma vertical u horizontal.
* Extensible a través de la incorporación de Plugins (los cuales pueden crearse utilizando un Plugin de NINJA-IDE para mayor simplicidad).
* Maneja sesiones del IDE, para recordar que archivos y proyectos se encontraban abiertos cuando se cerró y los recupera al abrir nuevamente una instancia del mismo.
* Soporte para Auto-completado (siendo un auto-completado especifico del objeto al que se esta accediendo).
* Actualizaciones automáticas.
* Y muchas características más!

¿Quiénes desarrollan NINJA-IDE?


NINJA-IDE comenzó siendo desarrollado por Santiago Moreno y Diego Sarmentero, y a las 2 semanas de haber comenzado el proyecto ya estaba siendo utilizado para desarrollar el mismo. Gracias a la gente de la Lista de PyAr, Blogs, etc. en muy poco tiempo la difusión del proyecto hizo que pudiéramos estar contando con Reporte de Bugs por parte de Usuarios, Sugerencias en la lista de correo de NINJA y hasta con aportes de código por parte de usuarios y colaboradores, de los cuales algunos pasaron a formar parte de NINJA-IDE con el rol de commiters, como es el caso de: Martín Alderete, Juan Cabral y Matías Herranz.

Esta fuerte colaboración y participación que estamos recibiendo de la comunidad permite que NINJA-IDE pueda crecer cada día más, mejorando e implementando caracterísitcas que los usuarios necesitan. A su vez los comentarios que recibimos de personas usando actualmente NINJA-IDE, nos motivan a seguir trabajando duro en esta herramienta, con la cual deseamos simplificar aún más el desarrollo de aplicaciones Python.

¿Cómo decididieron qué características agregar?

Al comenzar el proyecto se pensó en una estructura que le permitiera al mismo crecer e incorporar funcionalidades a lo largo del tiempo, teniendo como guía dos factores principales: el Editor de Código y el Manejo de Proyectos. La aplicación comenzó a construirse cuidando estos dos pilares fundamentales y permitiendo que una buena base de los mismos facilitara luego la incorporación de nuevas características. El proyecto fue pasando por distintas etapas, comenzando por un buen editor con resaltado de sintaxis, siguiendo con el manejo de archivos de proyecto, hasta agregar características de plugins, auto-completado, manejo de sesión, etc. Muchas veces se ve a Python como un lenguaje que presenta mayores dificultades para brindar información sobre el código que se esta escribiendo al no poder hacer inferencia de los objetos en el momento de la programación a causa del tipado dinámico, etc.

En algunos casos, es cierto que al contar con un tipado explicito se pueden realizar análisis más simples y detallados, pero también es cierto que actualmente existen muchas herramientas y librerías para Python que ayudan a eliminar este tabú de que no es posible contar con un IDE que brinde real asistencia sobre el código que se esta generando. Es por eso que NINJA-IDE busca permitir que aquellos programadores que utilizan Python para desarrollar sus programas, cuenten con las mismas facilidades y ayudas que se obtienen al desarrollar en Java o .NET con alguno de los IDEs más conocidos actualmente para esos lenguajes. Tomando los resultados y experiencias obtenidas de IDEs para otros lenguajes, se pretende lograr un IDE pensado para Python que genere la misma satisfacción al usarlo.

Para la sugerencia, decisión e incorporación de nuevas características en NINJA-IDE se suele utilizar la lista de correo para lograr una decisión colectiva por parte de los miembros que componen el proyecto, más que nada para saber cual será el objetivo de esta característica, en que etapa debería incorporarse y demás detalles. Muchas veces estas características son motivadas por alguna funcionalidad interesante vista en otro IDE, una idea de alguno de los miembros o sugerencias del grupo de usuarios. De este modo, cualquier persona, tanto usuario como desarrollador, puede plantear que cosas le gustaría ver implementadas en NINJA-IDE y en base a la arquitectura del proyecto se podrá definir si es necesario incorporarla como parte del IDE mismo o como un plugin, permitiendo a la vez conocer que ideas se están trabajando y quienes asumen el control de las mismas para mantener al grupo de trabajo sincronizado.

¿Que podemos esperar de NINJA-IDE?


NINJA-IDE nace para cubrir una necesidad que nos parecía importante, y además veíamos que los enfoques actuales de los IDEs no brindaban la cobertura necesaria.

Nuestra intención al iniciar este proyecto fue crear un entorno centrado en el desarrollo de aplicaciones Python, pero siempre teniendo en cuenta la necesidad de contar con una comunidad de usuarios que nos permitiera mejorar la experiencia de uso de esta herramienta, y actualmente nos pone muy contentos poder estar contando con la comunidad de NINJA-IDE, ya que gracias a la experiencia y conocimiento colectivo de los usuarios es posible, que con sus sugerencias, el desarrollo del proyecto pueda avanzar más rápido y se tengan en cuenta muchos más detalles que de otra forma podrían ser pasados por alto.

Planes para el Futuro.


Actualmente con el desarrollo continuo que estamos logrando, nos encontramos próximos a la liberación de la versión 1.0 de NINJA-IDE, la cual recibirá la denominación de 'Kunai'. En esta primera versión estarán presentes varias de las características mencionadas previamente, las que permitirán al desarrollador contar con un IDE robusto y práctico, obviamente como en todo proyecto irán surgiendo mejoras y nuevas features para implementar. Algunas de las cosas que están pensadas para ser incorporadas en NINJA-IDE en futuras versiones son:


* Debuguer Gráfico
* Poder ver la navegabilidad y relación de los módulos y clases de un proyecto de forma gráfica (basado en BlueJ)
* Soportar herramientas de versionado de código.
* Permitir la edición colaborativa de un documento.
* Diseñador de interfaces Qt y Gtk integrado en el IDE.
* Soporte para Frameworks como:
o Django
o Google App Engine
* Y esto apenas está comenzando!

¿Qué herramientas utiliza NINJA-IDE?


El IDE es desarrollado utilizando el framework de PyQt para todo el manejo de la Interfaz Gráfica y algunas otras funcionalidades, aunque se intento abstraer lo más posible ciertas funciones para permitir, de ser necesario el día de mañana, portar NINJA-IDE a otros frameworks como Gtk. Qt permitió contar con una interfaz solida y altamente configurable, lo que hizo posible poder extender de cada elemento necesario para modificar su comportamiento y adecuarlo a las necesidades del IDE.

En cuanto al resaltado de sintaxis, NINJA-IDE hace uso de su propio sistema de resaltado de sintaxis utilizando funcionalidades de Qt, y permitiendo que este sistema de resaltado sea fácilmente extensible en NINJA-IDE con la creación de un simple archivo JSON que describa al lenguaje que se desea incorporar. Este método brinda mejoras en la performance, pero para cubrir aquellos lenguajes que no sean reconocidos a través de este sistema se incorporó el uso de Pygments para el resaltado de sintaxis de una mayor variedad de lenguajes. Aunque actualmente se está plantenado la posibilidad de que Pygments sea reemplazado por GNU Highlight por cuestiones de performance.

Para las funcionalidades de auto-completado, refactoring, y aquellas que se refieren a la inferencia del código, se utiliza Rope, la cual es una excelente librería, muy completa para este tipo de situaciones. Rope es una herramienta que permite llevar a un IDE para Python características de IDEs de lenguajes tipados. Actualmente también estamos trabajando en la incorporación de Chequeo de código utilizando la librería de Pep8, justamente para brindar información acerca del estado del código en relación a las normas de la Pep8.

Extensibilidad de NINJA-IDE.



NINJA-IDE cuenta con un sistema de plugins bastante completo que permite la integración de dichos complementos como un elemento nativo del IDE. La escritura de Plugins es bastante sencilla y hasta se puede utilizar un Plugin de NINJA-IDE para la escritura de Plugins para NINJA-IDE (recursivo?). Este Plugin "para escribir Plugins" permite decidir con que partes del IDE el nuevo complemento se va a relacionar y crea de forma automática la estructura del proyecto necesario, junto al descriptor del Plugin para que NINJA-IDE lo pueda interpretar y la clase base de ese Plugin con los métodos que serán necesario reimplementar, a su vez, al terminar con la escritura del Plugin nos permite empaquetarlo para luego poder distribuirlo.

Actualmente existen 3 Plugins para NINJA-IDE disponibles:


* Pastebin: el cual permite enviar código a pastebin.com y devuelve el link resultante para poder compartir ese código.
* PluginProject: el encargado de crear proyectos Plugins para NINJA-IDE como mencionábamos.
* ClassCompleter: completa de forma automática algunas estructuras mientras se esta escribiendo código Python, como por ejemplo: crear el constructor de forma automática realizando la llamada a las Clases Padre que sean necesarias, etc.


Para consultar mayor información acerca de como desarrollar un Plugin para NINJA-IDE, se puede visitar la siguiente Wiki: http://code.google.com/p/ninja-ide/wiki/CrearPlugins

Para la creación de Plugins se puede utilizar el Plugin: "PluginProject", el cual nos brinda un Wizard que nos pregunta que tipo de plugin queremos crear y al finalizar el proceso nos arma la estructura del proyecto con la respectiva Clase Plugin necesaria y los métodos a implementar.

También nos permite empaquetar automáticamente el Plugin en un .zip al finalizar para poder distribuirlo


Ninja IDE ya se encuentra disponible en paquetes DEB y RPM. Claro está, siempre se puede descargar el código fuente y compilarlo.

Descarga: Ninja-IDE Google Code



Si te ha gustado el artículo inscribete al feed clicando en la imagen más abajo para tenerte siempre actualizado sobre los nuevos contenidos del blog:

0 comentarios: