tag:blogger.com,1999:blog-46541140152308626032024-03-14T07:29:37.552-05:00Bitacora personalAnonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.comBlogger31125tag:blogger.com,1999:blog-4654114015230862603.post-63554641454230201272014-09-08T18:58:00.000-05:002014-09-08T18:58:43.201-05:00Vim: ejecutar comandos el crear cierto tipo de archivosLa idea es esta: cada vez que vaya a crear un archivo .{cpp|h} quiero ejectuar algun comando/script desde vim. En este caso el comando es copiar un template de <a href="https://github.com/Valloric/YouCompleteMe">ycm</a> (ycm_extra_conf.py) para programar en C++, y este archivo se deberá copiar en cada directorio que vaya a crear un nuevo codigo C++.<br />
<br />
El procedimiento es sencillo una vez encontramos la manera, y simplemente debemos agregar esta linea a nuestro $HOME/.vimrc :<br />
<blockquote> autocmd FileType cpp silent! !cp $HOME/devel/program/c/ycm/.ycm_extra_conf.py $(pwd) && notify-send "a copy of ycm was moved for C++ code to $(pwd)/"<br />
</blockquote><br />
Lo cual funciona como esperado, pero... cada vez que editemos/creemos un nuevo cpp en el mismo directorio, esa funcion *siempre* se ejecutará, lo cual copiará el mismo archivo y mostrará el mismo mensaje de forma repetitiva, cosa que se torna un bastante incomodo despues de cierto tiempo. Entonces lo mas conveniente es hacer una funcion que verifique si el archivo ycm ya existe en el directorio actual y si existe pues salimos, si no existe, lo copiamos. <br />
<br />
La funcion en cuestión quedará de esta manera:<br />
<blockquote>function! Ycm_check()<br />
let file_path= getcwd()."/"<br />
if filereadable(file_path.".ycm_extra_conf.py")<br />
return<br />
else<br />
!cp $HOME/devel/program/c/ycm/.ycm_extra_conf.py $(pwd) && notify-send "a copy of ycm was moved for C++ code to $(pwd)/"<br />
endif<br />
endfunction<br />
<br />
autocmd FileType cpp silent! call Ycm_check()<br />
</blockquote><br />
Un screenshot:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr65uHEv5iRDnkCUGR-lyi_q-D327CiMFlGcdEqnYSyT_mz7YPZJBfouxc0UJTpM3GaqbDu-eTMCfnlNi2vMutIYenNYUbniqnn-XjRaNFePXDkriSiXT_OIoZMglqVrd4iRSNG95VE8c/s1600/2014-09-08-174953_1366x768_scrot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr65uHEv5iRDnkCUGR-lyi_q-D327CiMFlGcdEqnYSyT_mz7YPZJBfouxc0UJTpM3GaqbDu-eTMCfnlNi2vMutIYenNYUbniqnn-XjRaNFePXDkriSiXT_OIoZMglqVrd4iRSNG95VE8c/s320/2014-09-08-174953_1366x768_scrot.png" /></a></div>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-15378927763463546402014-07-02T22:25:00.001-05:002014-07-02T22:25:49.751-05:00Error: activated service 'org.freedesktop.systemd1' failedNos enfrentamos a un error que causa que el sistema no roconozca ciertos ACPI events, lo cual nos deja sin suspension, botones fin funcionar (boton de encendido, ej) y una serie de errores en nuestro syslog.<br />
<br />
Resulta que este problem es producto de una actualizacion de systemd que rompe la captura y transmision de eventos entre ACPI y D-Bus porquee systemd no inicia con los permisos necesarios para poder "comunicar" estos eventos. Como podemos ver en bugs <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731649">#731649</a> y <a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731649">#729576</a> (el segundo dando una explicacion mucho mas detallada entre desarrolladores como Ian Jackson, fundador de Debian) se entiende quee la solucion es instalar un paquete sacado de ese mismo hilo como "workaround": <b>systemd-shim</b>.<br />
<br />
Despues de eso los servicios son reiniciados automaticamente y magicamente todo vuelve a la normalidad. Vemos en el source de ese paquete que entre otras cosas hace registrar systemd en D-Bus de forma adecuadad para que dicho error no sea generado y tanto systemd, d-bus y acpi vivan felices.<br />
<br />
Definitivamente tener <b>Debian Testing</b> algunas veces nos saca de la rutina ^_^Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-6037274630362726332014-02-11T15:03:00.000-06:002014-02-11T15:06:12.805-06:00Busybox >= 1.21.0-2exp | <= 1.21.0-5exp rompe todos los kernels >= 3.11 en Debian Jessie (testing)Y principalmente lo que rompe es el arranque, resultando en un <b>kernel panic</b>. Este problema lo tuve por mas de un mes y no tenia tiempo de buscarle solucion hasta hace unos dias.<br />
<br />
Lo que sucede es que despues de actualizar busybox a las versiones mencionadas empieza a ocurrir el problema y manualmente debes seleccionar un kernel inferior para arrancar el sistema. La solucion es facil: revertir la actualizacion de busybox:<br />
<blockquote>$ sudo apt-get install busybox=1:1.21.0-1<br />
</blockquote><br />
Despues de eso <b>es necesario reinstalar</b> la ultima version del kernel para que actualice el initramfs y todos sean felices.<br />
<br />
Ese bug esta arreglado en la version experimental de busybox. Aqu el changelog:<br />
<blockquote>busybox (1:1.21.0-6exp) experimental; urgency=low<br />
...<br />
...<br />
* fix busybox initramfs hook to actually _run_ (make it executable)<br />
and actually strip leading /usr from applet paths. Stupid.<br />
(Closes: #732256)<br />
</blockquote>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-16565285249805245622014-02-05T16:08:00.001-06:002014-02-11T14:30:27.318-06:00TODO.TXT: Gestionar tareas en bashSi sos de los nuestros, esos que se proponen hacer mil cosas y terminan haciendo nada... esto te puede ayudar.<br />
<br />
Existen N aplicaciones para llevar una lista de tus tareas y prioridades mediante interfaces graficas muy guapas, pero te toma mas tiempo revisarlas, marcarlas y priorizarlas que llevarlas a cabo. Algunos super-users suelen crear archivos de textos que se muestran en la consola al iniciarlas, llevar manualmente el control de tareas en un archivo de texto y otras muchas opciones ya que este procedimiento suele ser mas eficiente que cualquier aplicaciones grafica. Y ese archivo de texto plano... muchas veces es llamado <a href="http://todotxt.com/">todo.txt</a><br />
<br />
Esta joya se define a sí misma como<br />
<blockquote>If you’ve got a file called todo.txt on your computer right now, you’re in the right place. Countless software applications and web sites can manage your to-do list with all sorts of bells and whistles. But if you don’t want to depend on someone else’s data format or someone else’s server, a plain text file is the way to go.</blockquote><br />
TODO.TXT es un poderoso y simple script en bash que permite gestionar tareas, priorizar y marcar como terminadas mediante la consola (CLI). Todo esto es manejado mediante archivos de textos planos que tambien nos permitiran manipularlos a nuestro antojo. Manos a la obra:<br />
<br />
<a href="https://github.com/ginatrapani/todo.txt-cli/releases">Decargamos</a> el paquete comprimido que contiene tres archivos que conforman la aplicacion. Una vez descargado ubicamos los archivos en sus respectivos directorios:<br />
<blockquote>$ tar -xzf todo.txt_cli* && cd todo.txt_cli*<br />
$ mkdir ~/.todo<br />
$ mv -v todo.sh ~/.todo && chmod +x ~/.todo/todo.sh<br />
$ mv -v todo.cfg ~/.todo/config # lo renombramos porque es necesario<br />
$ sudo mv -v todo_completion /etc/bash_completion.d/<br />
</blockquote><br />
Y listo, ahora solo resta agregar dos lineas al .bashrc para que podamos encontrar todo.sh al momento de ejecutarlo en la consola:<br />
<blockquote>$ echo -e "alias t=\"~/.todo/todo.sh\"\ncomplete -F _todo t" >> .bashrc<br />
$ source .bashrc<br />
</blockquote><br />
Ahora simplemente con hacer $ t add "Mi primer tarea" vamos a poder empezar a crear y gestionar nuestras tareas ^_^. Si quieren saber como usar la aplicacion pues los invito a que vean el screencast de la pagina oficial, tambien pueden hacer $ t help y van a tener una muy clara explicacion de como sacarle el jugo a esta app.<br />
<br />
Personalmente no quiero que esta herramiente sea otro de los muchos metodos que he intentado para poder llevar un control de mis tareas pendientes y que al final termino en lo mismo, asi que ademas de mi fuerza de voluntad agregue una pequeña linea a mi script de inicio para que me muestre la cantidad de tareas y cuantas tengo que son urgentes de seguir. La linea en sí es esta: <br />
<blockquote>notify-send -i "cab_view" "TODO" "Rocordá que tenes $(cat ~/.todo/todo.txt | wc -l) tareas pendientes\<br />
\nde las cuales $(cat ~/.todo/todo.txt | grep "^(A)" | wc -l) son urgentes"<br />
</blockquote><br />
Con este resultado:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrXQEviWY80Ea5PICLmur6jVgW1bC4K8JRlv2R21tiaNJwVnht5dlnMetPD0rtFSuJ7ySahRSOmEKSx8Iwl5GuafWulLJ8j0qXDVFGeFgJTo1IfO7KlQAroOWwqKnrH8szMDJmsnDwh2A/s1600/2014-02-05-160312_1366x768_scrot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrXQEviWY80Ea5PICLmur6jVgW1bC4K8JRlv2R21tiaNJwVnht5dlnMetPD0rtFSuJ7ySahRSOmEKSx8Iwl5GuafWulLJ8j0qXDVFGeFgJTo1IfO7KlQAroOWwqKnrH8szMDJmsnDwh2A/s320/2014-02-05-160312_1366x768_scrot.png" /></a></div><br />
Tambien me gustaria agregarlo a mi barra de estado, pero debo integrarlo en conky para poder extraer esa informacion.. por ahorita no estoy muy interesado en ello.<br />
<br />
En fin, eso es todo. Espero les sea de utilidad ;)Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com4tag:blogger.com,1999:blog-4654114015230862603.post-64487915658158890352013-08-27T17:35:00.001-05:002013-08-27T17:35:19.990-05:00Habilitar SNA y TearFree para drivers Intel en DebianEsto es será como un milagro para muchos, incluso para mi. Sucede que el driver intel para Linux no es considerado de lo mejor, pero tiene su buen soporte. Desde que utilizaba Ubuntu siempre tuve ese molesto problema al momento de reproducir videos *sin importar que sean HD* que aparecia un tipo de rayas o "tears" en el reproductor cuando habia mucho movimiento en el video, y nunca pude solucionarlo. Ahora que estaba actualizando mi Debian observé una actualizacion disponible para mi driver: <b>xserver-xorg-video-intel</b>.<br />
<br />
Cuando mire esa actualiacion recorde el molesto problema que siempre habia tenido, y recorde que actualmente intel esta trabajando en reemplazar el mecanismo de aceleracion en su driver de <b>UXA</b> a <b>SNA</b>. Entonces me decidí a darle una probada a este ultimo mecanismo de aceleracion.<br />
<br />
Lo primero que hice fue aplicar la actualizacion y ahora esta asi:<br />
<blockquote>rcart*debian:~$ apt-cache policy xserver-xorg-video-intel<br />
xserver-xorg-video-intel:<br />
Installed: 2:2.21.14-4<br />
Candidate: 2:2.21.14-4<br />
Version table:<br />
*** 2:2.21.14-4 0<br />
990 http://ftp.us.debian.org/debian/ testing/main amd64 Packages<br />
-10 http://ftp.us.debian.org/debian/ sid/main amd64 Packages<br />
100 /var/lib/dpkg/status<br />
rcart*debian:~$ <br />
</blockquote><br />
Una vez tengamos el driver updated, vamos a crear un archivo de configuracion para el servidor X con el siguiente contenido:<br />
<blockquote>rcart*debian:~$ cat /etc/X11/xorg.conf.d/20-intel.conf <br />
Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
EndSection<br />
</blockquote><br />
Con eso habilitamos la nueva aceleracion (SNA). Pero eso no es todo, debido a que esa aceleracion nos provee una interfaz grafica mas fluida, el problema de las "tears" todavia persiste. Asi que debemos establecer una nueva opcion en ese mismo archivo para poder librarnos de este castigo:<br />
rcart*debian:~$ cat /etc/X11/xorg.conf.d/20-intel.conf <br />
<blockquote>Section "Device"<br />
Identifier "Intel Graphics"<br />
Driver "intel"<br />
Option "AccelMethod" "sna"<br />
<b> Option "TearFree" "true"</b><br />
EndSection<br />
</blockquote><br />
Ahora intenten reproducir algun <a href="http://www.youtube.com/watch?v=yQ5U8suTUw0">video en 1080p</a> para comprobar los sorprendentes resultados.<br />
<br />
Sources:<br />
https://wiki.archlinux.org/index.php/Intel_Graphics<br />
http://forums.gentoo.org/viewtopic-t-933410-start-0.html<br />
$ man intel<br />
Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-22842248304732443322013-08-07T14:00:00.000-05:002013-08-07T14:00:16.759-05:00Debian: hibrido entre testing y unstableComo lo mencione en mi actualizacion, he logrado montar (facilmente) un sistema hibrido entre estas dos ramas de Debian. El procedimiento es bastante sencillo pero muy eficaz.<br />
<br />
Esto es posible estableciendo una configuracion en <b>apt</b> para que pueda distinguir entre las ramas que tenemos disponibles en nuestro <b> /etc/apt/sources.list</b> y sea posible identificar que rama tenemos como preferida, de esta forma los paquetes que tenemos instalados no se actualizan directamente de unstable sino que de la rama preferida, obviamente <b>testing</b> y asi evitamos romper el sistema con cada actualizacion. Comencemos.<br />
<br />
Inicialmente vamos a establecer las ramas que querramos tener disponibles en nuestro <b>sources.list</b>, algo parecido a esto: <br />
<blockquote><br />
deb http://ftp.us.debian.org/debian/ testing main contrib non-free<br />
deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free<br />
<br />
deb http://security.debian.org/ testing/updates main<br />
deb-src http://security.debian.org/ testing/updates main<br />
<br />
<br />
####### DEBIAN MOZILLA TEAM #########<br />
deb http://cdn.debian.net/debian experimental main<br />
<br />
<br />
####### PACKAGES FROM UNSTABLE #########<br />
deb http://ftp.us.debian.org/debian/ sid main contrib non-free<br />
deb-src http://ftp.us.debian.org/debian/ sid main contrib non-free<br />
</blockquote>Como vemos, hay dos tipos de ramas: la testing (Jessie) y la unstable (Sid). Ahora vamos a configurar apt para que sepa las prioridades entre las diferentes ramas.<br />
<br />
Creamos el archivo <b>/etc/apt/preferences</b> con el siguiente contenido:<br />
<blockquote>Package: *<br />
Pin: release a=testing<br />
Pin-Priority: 900<br />
<br />
Package: *<br />
Pin: release o=Debian<br />
Pin-Priority: -10<br />
</blockquote>Y eso se lee asi: <i> Para todos los paquetes (*) en la rama (release) testing se estable una prioridad (pin) de 900 ($ man apt_preferences para conocer las prioridades) y todos los demas paquetes de cualquier otra rama tienen una prioridad negativa; no se van a instalar a menos que se indique directamente que queremos instalar un paquete de otra rama </i><br />
<br />
Despues de hacer un #apt-get update nos damos cuenta que tenemos disponibles las ramas indicadas en nuestro archivo sources.list. Ahora bien, si queremos instalar <b>cualquier paquete</b> no va a ser posible porque todos los paquetes en este momento se consideran "<b>virtuales</b> debido a que <b>apt-get</b> no sabe de qué rama elegir para instalar un determinado paquete. Ahora debemos indicarle a apt-get lo que queremos y para eso creamos el archivos <b>/etc/apt/apt.conf</b> con el siguiente contenido:<br />
<blockquote>APT::Default-Release "testing";<br />
</blockquote>Y listo, con eso establecemos la rama que queremos indicarle a apt-get que será nuestra rama principal: <b>testing</b>. Ahora sencillamente instalan cualquier paquete sin ningun problema. Y que pasa si queremos instalar un paquete de la rama unstable? Lo hacemos de esta manera:<br />
<blockquote># apt-get install -t sid $paquete<br />
</blockquote>Como vemos, si no indicamos el parametro <b>-t</b> (target), apt-get va a instalar el paquete de la rama testing, porque es asi como lo tenemos configurado de manera predeterminada. <br />
<br />
En fin... como podran ver es un procedimiento bastante sencillo pero que nos da la posibilidad de poder instalar software en sus ultimas versiones para Debian y que se encuentran en la rama unstable. Sinceramente tengo firefox (iceweasel) de la rama experimental (# apt-get install -t experimental iceweasel) y desde que lo tengo no he tenido el mas minimo problema. Aunque como saben esto no es garantia para todos los paquetes.<br />
Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-16148297923950778592013-07-23T13:16:00.000-05:002013-07-23T13:17:37.474-05:00ACTUALIZACIONES MISC, OTRA VEZHe estado ausente en este mundo debido a muchos estupidos factores, pero creo que hasta este momento ya tengo lo necesario para continuar con ciertos detalles.<br />
<br />
En fin, aqui unos recientes cambios:<br />
<br />
<h3>
Abando Ubuntu despues de 5 años, me paso a la raíz</h3>
Asi es, dejo mi adorada distribucion y me paso a Debian por un principal factor: Los secretos que Canonical guarda para su producto principal.<br />
<br />
Despues del boom que hizo Mir al salir a la luz a muchos usuarios/desarrolladores les parecio algo hasta cierto punto insultante debido a que Ubuntu es una distro "comunitaria", lo cual refleja lo contrario.<br />
<br />
Por mucho tiempo quise llegar a ser MOTU, pero lo anteriormente mencionado ha dejado en mi un tipo de intranquilidad que no he podido soportar y es por eso que dificilmente decidi cambiar de rumbo. Todo lo que afortunadamente aprendi respecto al desarrollo de Ubuntu lo aplicare tambien en Debian, ya que tengo el objetivo de involucrarme en el desarrollo de Debian.<br />
<br />
Quizas en algun punto quiera volver a regresar a Ubuntu y seguramente lo hare sin problemas, pero mientras tanto, me quedo con Debian.<br />
<br />
<h3>
Debian: una distribucion orgásmica</h3>
Definitivamente es el <i>Sistema Universal</i> con muchisima razon. Algunas personas piensan que las versiones estables de Debian son demasiadas desactualizas y quizas tengan razon, pero las posibilidades son muchas.<br />
<br />
Realize una instalacion minimalista casi identica a la que tenia en Ubuntu, pero ademas de eso tengo varias mejoras:<br />
<ul>
<li>Mi sistema de particiones esta montado sobre un LVM encriptado con particiones logicas obviamente encriptadas</li>
<li>Tengo un sistema hibrido: un sistema mixto entre Testing (Jessie) y Experimental. Esto significa que tengo un sistema base lo suficientemente estable y con la posibildad de poder instalar las aplicaciones mas recientes desde Experimental. Bello.</li>
<li>El sistema es ligeramente mas fluido</li>
<li>Google Reader murió, larga vida a Feedly</li>
<li>Ya no utilizo pidging, simplemente irssi para IRC </li>
</ul>
En fin, creo que hasta este momento estoy mas que satisfecho con los resultados que he obtenido. Por ahorita lo unico que me hace falta es montarme un entorno de desarrollo y comenzar desde cero. Será un viaje divertido.<br />
<br />Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-7215144206095813702013-03-11T19:29:00.001-05:002013-03-11T19:30:51.024-05:00Drivers Intel de Ubuntu 12.10 en Ubuntu 12.04 PreciseADVERTENCIA: ESTO TE PUEDE DEJAR SIN SERVIDOR GRAFICO! CONTINUÁ POR TU CUENTA.<br />
<br />
Ademas de tener el ultimo driver de quantal para tarjetas Intel, tambien tendremos la ultima version del X Windows Server, asi que contaremos con un muy actualizado apartado grafico. Creo que esta es una de las ventajas de contar con una version LTS de Ubuntu.<br />
<br />
Bien, cuento con un sistema minimalista y no pienso llenar mi equipo de paquetes que no necesito, asi que debo saber <b>especificamente</b> qué paquetes debo instalar.<br />
<br />
Antes que nada veamos la diferencia entre versiones:<br />
<blockquote>rcart*ubuntu:~$ rmadison xserver-xorg-video-intel<br />
xserver-xorg-video-intel | 2:2.2.1-1ubuntu12 | hardy | source, amd64, hppa, i386, ia64, lpia, powerpc<br />
xserver-xorg-video-intel | 2:2.2.1-1ubuntu13.8 | hardy-updates | source, amd64, hppa, i386, ia64, lpia, powerpc<br />
xserver-xorg-video-intel | 2:2.9.1-3ubuntu5 | lucid | source, amd64, i386<br />
xserver-xorg-video-intel | 2:2.15.901-1ubuntu2 | oneiric | source, amd64, i386<br />
xserver-xorg-video-intel | 2:2.15.901-1ubuntu2.2 | oneiric-updates | source, amd64, i386<br />
xserver-xorg-video-intel | 2:2.17.0-1ubuntu4 | precise | source, amd64, i386<br />
xserver-xorg-video-intel | 2:2.17.0-1ubuntu4.3 | precise-updates | source, amd64, i386<br />
xserver-xorg-video-intel | 2:2.20.9-0ubuntu2 | quantal | source, amd64, i386<br />
xserver-xorg-video-intel | 2:2.21.4-0ubuntu1 | raring | source, amd64, i386<br />
</blockquote><br />
Como vemos, la version de precise es la 2.17, quantal 2.20.9 y raring 2.21.4.<br />
<br />
Lo ideal seria tener la de raring, ya que incorpora *notables* cambios en comparacion a las versiones anteriores. Pero por ahorita no tengo prisa en utilizarla, asi que me conformo con la de quantal asi que esperaré hasta que este lista. (Esto de esperar no me lo crean...)<br />
<br />
Instalamos los paquetes <b>específicos</b> de quantal proporcionados por el equipo LTS (y asi siempre tendremos disponibles las versiones actualizadas):<br />
<blockquote>rcart*ubuntu:~$ sudo apt-get install xserver-xorg-core-lts-quantal xserver-xorg-input-all-lts-quantal xserver-xorg-video-intel-lts-quantal<br />
</blockquote>Con eso se "rompe" el inicio de las X, por que? Porque solo instalamos el sistema base del servidor X y no en su totalidad, asi que debemos hacer algunas pequeñas modificaciones a los archivos de arranque ya que ese paquete base proporciona <b>Xorg</b> en vez del tipico <b>X</b>.<br />
<br />
Entonces, editamos <b>/etc/X11/xinit/xserverrc</b> y lo dejamos de esta manera:<br />
<blockquote>exec /usr/bin/X<b>org</b> -nolisten tcp "$@"<br />
</blockquote><br />
Utilizo Slim como DM, entonces debo hacer alguna modificacion alli tambien y dejamos la linea 4 asi:<br />
<blockquote>default_xserver /usr/bin/X11/<b>Xorg</b><br />
</blockquote><br />
Ahora solo queda crear el archivo xorg.conf para que todo este listo:<br />
<blockquote>rcart*ubuntu:~$ sudo X -reconfigure && mv -v xorg.conf.new /etc/X11/<br />
</blockquote><br />
Listo. Ahora podemos reiniciar. Si todo arranca con normalidad, contaremos con un apartado grafico actualizado. Para comprobar esto revisen el log en /var/log/Xorg.0.log.<br />
<br />
Algunos pensaran que es mucho mas facil instalarlo desde un PPA, pero... no sé, no me siento tranquilo con ese metodo :\<br />
<br />
En fin, espero sigan con el apartado grafico con vida x'D<br />
<br />
En la proxima actualizaré mi Window Manager (<b>spectrwm</b>) a su ultima versión. Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-34736183271683982972013-02-19T15:30:00.003-06:002013-02-19T15:30:41.076-06:00Actualizaciones miscBueno, despues de andar perdido por alli recordé que tenía blog. Aunque creo que no tengo nada relevante que documentar sobre las cosas que estado haciendo porque, en realidad, no he estado haciendo nada.<br />
<br />
Dejé muchas cosas planificadas pero debido a diversos factores, y ningun justificable, las he dejado en espera indefinida. Pero bueno, creo que vengo con un poco de animos para enderezar mis pasos.<br />
<br />
Algunas cosas relevantes que deberia mencionar.<br />
<br />
<b>Tengo nuevo telefono =)_</b><br />
Es un Nexus One que he podido traer a la vida instalandole Jellybean 4.2, aún sabiendo que oficialmente no lo soporta pero debo decir que no tengo ninguna queja al respecto. Anda bastante bien para ser un telefono que no fue diseñado para soportar esa version de Android. GRACIAS XDA-DEVELOPERS!<br />
<br />
<b>Mi actividad relacionada al desarrollo de Ubuntu</b><br />
Deje pendiente muchas cosas en este apartado. Por ejemplo un bug sobre xpdf que me asigne en LP y no continué buscando la solucion a un problema que tenia para aplicar el parche en Quantal.<br />
<br />
<b>Personal</b><br />
Estos primeros meses del 2013 he sido un desastre en todos los sentidos. Its enough.<br />
<br />
En fin, continuemos con esto.<br />
<br />
Saludos.Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-37278023133499143592012-12-07T14:21:00.003-06:002012-12-07T14:44:28.521-06:00Irssi y libnotifySi extrañas esas pequeñitas alertas que los clientes graficos IRC envian cuando alguien menciona tu nick, te envia y mensaje privado o te quiere transferir un archivo, irssi puede con ello.<br />
<br />
La manera mas facil de obtener notificaciones de irssi en tu escritorio minimalista o entorno grafico, es utilizando el plugin <a href="http://code.google.com/p/irssi-libnotify/">irssi-libnotify</a> el cual consiste de un "listener" en python que crea una instancia <a href="http://en.wikipedia.org/wiki/D-Bus">D-Bus</a> para estar a la escucha de los eventos de irssi, y luego estos eventos son transmitidos al demonio de notifacion del sistema que finalmente nos muestra esa preciada ventanita emergente =)<br />
<br />
La instalacion es bastante facil, primero que nada debemos clonar el repositorio para obtener la version mas reciente del proyecto (si no lo hacen de esta manera las ventanas de notificacion serán horribles porque utilizan gtk a secas y no son emergentes):<br />
<blockquote>git clone https://code.google.com/p/irssi-libnotify/<br />
</blockquote><br />
<b>irssi-linotify</b>, como dije, consta de un "listener" en python y un plugin en perl (obvio) para irssi que envia los eventos del IRC al listener y este finalmente al sistema de notificaciones del SO.<br />
<br />
Una vez tengamos la rama clonada tendremos que ubicar estos archivos en sus directorios respectivos. El listener <b>notify-listener.py</b> deberia estar en el directorio <b>~/bin</b> de nuestro $HOME por razones de comodidad, asi que lo ubicamos en ese directorio o donde quieran (pero que recuerden). El archivo <b>notify.pl</b> lo ubicamos en el directorio de plugins de irssi <b>~/.irssi/plugins</b> y lo linkeamos a <b>~/.irssi/scripts/autorun</b> para que sea iniciado cada vez que ejecutemos irssi.<br />
<br />
Para hacerlo desde la consola y ubicados dentro del directorio donde esta la rama, hacemos:<br />
<blockquote>cp -v notify-listener.py ~/bin<br />
cp -v notify.pl ~/.irssi/plugins/<br />
ln -s ~/.irssi/plugins/notify.pl ~/.irssi/plugins/autorun/</blockquote><br />
Ahora debemos ejecutar los ultimos detalles para poder comenzar a utilizar este plugin:<br />
<ol><li>instalar la libreria con la que interactua Perl con D-Bus (sino, el plugin no funciona)</li>
<li>ejecutar el listener</li>
<li>cargar el plugin desde irssi</li>
<li>ejecutar agregar el listener a los archivos de inicio del sistema</li>
</ol><br />
<blockquote>sudo apt-get install --no-install-recommends libnet-dbus-perl<br />
python notify-listener.py &<br />
#esto es desde irssi<br />
/scrips load notify.pl<br />
</blockquote>Con el ultimo paso, depende de nuestro WM/DE. Utilizo <b>spectrwm</b> asi que los archivos de inicio los cargo desde <b>.xinit</b>.<br />
<br />
Una captura para ejemplificar ;)<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6gz3Ub1wb6ZzmH3a6AKOjghlGavtedljfKyh1VM4Xq6-54nJUUrtNh1TUoaIaa2dvVILat28akhr9n7WkvSLfqePNDcUJviHcJWL2JVju71yz94BKU7QERpywlfDZPeQDIV_E3sLciEM/s1600/2012-12-07-134624_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6gz3Ub1wb6ZzmH3a6AKOjghlGavtedljfKyh1VM4Xq6-54nJUUrtNh1TUoaIaa2dvVILat28akhr9n7WkvSLfqePNDcUJviHcJWL2JVju71yz94BKU7QERpywlfDZPeQDIV_E3sLciEM/s320/2012-12-07-134624_1366x768_scrot.png" /></a></div><br />
<br />
<br />
Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-71039064576495552832012-12-07T14:16:00.001-06:002012-12-07T14:16:47.821-06:00notification-daemon no te funciona? Utiliza notify-osdDesde la version 12.04 de Ubuntu <b>notification-daemon</b> <a href="https://bugs.launchpad.net/notification-daemon/+bug/927031">esta roto</a> para la mayoria de aplicaciones GTK2.<br />
<br />
Hace unos dias me descargué Linux Mint Nadia (14) para una amiga, y casualmente la estuve testeando (increible distribucion, muy buena) antes de meterla en la USB y me dió la curiosidad de saber los paquetes que utilizaba para el sistema de notificacion, tomando en cuenta que esta basada en Ubuntu 12.10.<br />
<br />
Haciendo un dpkg -l |grep notify obtuve lo que buscaba, y me dí cuenta que utiliza <b>notify-osd</b> junto con otros paquetes para hacer uso de las notificaciones.<br />
<br />
En <a href="http://rcartbitacora.blogspot.com/2012/07/instalar-ubuntu-minimal-1204-primera.html">mi instalacion minimalista</a> utilizo pidgin para IM, y debido a que <b>notification-daemon</b> esta roto para mi version de Ubuntu y no he encontrado solucion hasta este momento, no cuento con notificaciones emergentes. Instale los paquetes necesarios de Mint para hacer funcionar de alguna manera notify-osd, y lo he conseguido. Vamos a ello:<br />
<br />
Instalamos todo el sitema de notificaciones (yo lo tenia parcialmente instalado):<br />
<blockquote>sudo apt-get install --no-install-recommends notify-osd notify-osd-icons libnotify4 libnotify-bin pidgin-libnotify gir1.2-notify-0.7 python-notify vlc-plugin-notify <br />
</blockquote>Y con eso he podido encontrar la felicidad =)<br />
<br />
Ahora ya cuento con un sistema de notifiacion funcional y no pierdo ninguna de ellas ;)Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com1tag:blogger.com,1999:blog-4654114015230862603.post-72230079636432209992012-11-30T01:24:00.003-06:002012-11-30T01:24:35.353-06:00xclip: Enviar texto desde la consola al portapapelesEsta pequeña herramienta es una joya. En vez de abrir un archivo con vim y luego pasarlo al registro del portapapeles en el servidor X, lo podemos hacer directamente sin abrir el archivo, genial.<br />
<br />
Si hacemos:<br />
<blockquote>$ cat texto.algo | xclip<br />
</blockquote><br />
Eso envia el contenido del archivo "texto.algo" al registro primario del clipboard del servidor X. Y con eso facilmente lo podemos pegar en cualquier aplicacion grafica con Shift+Insert. Podemos redireccionar cualquier texto mediante pipes a xclip. Otro sencillo ejemplo:<br />
<blockquote>$ echo "texto" | xclip<br />
</blockquote><br />
Instalamos el paquete de unos insignificantes 20kb:<br />
<blockquote>$ sudo apt-get install xclip<br />
</blockquote><br />
Y listo. Para mas opciones vean su manpage ;)<br />
<br />
Saludos.Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-64822931390886038752012-10-13T01:21:00.002-05:002012-10-13T01:21:51.991-05:00Suspension Hibrida en UbuntuPues bueno, esto lo tenia pendiente de implementar y compartir desde hace varios meses. La suspension hibrida (en el paquete pm-utils) consiste en que el equipo suspende normalmente, pero despues de X tiempo puede hibernar automaticamente y asi evitar consumo de energia (durante la suspension el equipo sigue despierto).<br />
<br />
Primero que nada se debe confirmar que nuestro equipo soporta este tipo de suspension. Comencemos:<br />
<blockquote>$ sudo pm-is-supported --suspend-hybrid && echo $?</blockquote><br />
Y si el valor de retorno es 0 (cero), entonces nuestro equipo soporta esta funcionalidad. De no ser asi, esto no esta disponible para tu equipo.<br />
<br />
Una vez confirmado, vamos a crear la regla que permita reemplezar la suspension normal por la suspension hibrida:<br />
<blockquote>$ sudo vim /etc/pm/config.d/00-hybrid-suspend</blockquote><br />
Con el siguiente contenido:<br />
<blockquote># Always use suspend_hybrid instead of suspend<br />
if [ "$METHOD" = "suspend" ]; then<br />
METHOD=suspend_hybrid<br />
fi<br />
</blockquote><br />
El script es auto-explicable: si el equipo se suspende, en vez de utilizar la suspension normal se debe utilizar la suspension hibrida.<br />
<br />
Y con eso despues de un determinado tiempo despues de estar suspendido el equipo, este hibernará automaticamente. Para tener un mejor control del tiempo de suspension antes de que pase a hibernar, podemos indicarlo explicitamente con la variable <b>PM_HIBERNATE_DELAY</b> en segundos. Yo lo dejé para que hiberne despues de una hora (3600s) de estar "dormido", considero que es tiempo suficiente:<br />
<blockquote># Always use suspend_hybrid instead of suspend<br />
if [ "$METHOD" = "suspend" ]; then<br />
METHOD=suspend_hybrid<br />
fi<br />
PM_HIBERNATE_DELAY=3600</blockquote><br />
Para que lo vean en accion pueden poner un tiempo de 5s, y luego de comprobar su funcionalidad lo establacen al valor deseado. No es necesario reiniciar porque estos son <b>eventos</b> que se capturan por acpid.<br />
<br />
Saludos.<br />
<br />
<a href="http://daniel.hahler.de/use-hybrid-suspend-method-by-default">Fuente</a>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-20423564945902976102012-10-11T14:51:00.001-05:002012-10-11T16:25:24.423-05:00Pasandome a irssiSiempre he sido un amante de pidgin. Me encanta este cliente IM que tambien he usado siempre para comunicarme por IRC.<br />
<br />
Soy tambien usuario de CLI (command-line interface) pero de igual forma me gustan las buenas aplicaciones graficas, cuando es necesario.<br />
<br />
Mis aplicaciones de consola favorita son mutt, vim, pms, mpd y claro; bash ;D<br />
<br />
Irssi es un cliente IRC legionario y, aparentemente inmortal. Es increiblemente personalizable, rapido y super agregable en el manejo.<br />
<br />
Nunca lo habia utilizado, pero debido a mi <a href="http://rcartbitacora.blogspot.com/2012/07/instalar-ubuntu-minimal-1204-primera.html">actual instalacion</a> he conocido muchas aplicaciones de consola (como zathura y sxiv) que me han sorprendido gratamente. Irssi lo conocia desde hace mucho pero nunca le habia dado la oportunidad, hasta hace unos dias.<br />
<br />
Despues de una instalacion ($ sudo apt-get install irssi) el programa esta listo para ser ejecutado. No voy a hablar de su uso y configuracion, ya que para poder utilizarlo se deben tener conocimiento basico de los comandos utilizados para la interaccion con servidores y canales IRC. Asi que despues de una configuracion (y modificacion al <a href="http://www.irssi.org/themes">tema elegido</a>, porque tenia problemas al mostrar unos caracteres ademas de agregarle un poco mas de colores) medianamente decente, puedo decir que me quedo con este cliente IRC sin pensarlo dos veces.<br />
<br />
Dejo unas capturas por si se quedan con la duda. Si quieren el tema (con los cambios que le hice) solo dejen el comentario. (Debo empezar a manejar mis configuraciones en Github para compartirlas mas facilmente):<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqiZYk2LQNmPksCuk9eXPHDO6-0NxAxFJjE4ve5Irfp9CYOihoivVx4izTAukpHIOxXiFJjGUHCOWqhHvqDvcmKV0c3kX9WYSRgD31cK0jUtVkS32jvQdlIIFUd5rt7m6Xl2gmwPROBEw/s1600/2012-10-11-134745_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqiZYk2LQNmPksCuk9eXPHDO6-0NxAxFJjE4ve5Irfp9CYOihoivVx4izTAukpHIOxXiFJjGUHCOWqhHvqDvcmKV0c3kX9WYSRgD31cK0jUtVkS32jvQdlIIFUd5rt7m6Xl2gmwPROBEw/s320/2012-10-11-134745_1366x768_scrot.png" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0i93mmDeTlc6NuVCTx7JfOvHmo39Fql6ihc7n5ODiB_wN-7-txFCfRK3A82woDfC8jH5RjkE3G96ERZF8AD8o9OsGEZIXlL8LxwT5YJ40RwOJKKgI96vHaqrH7sQHPVhRmN2nl5Tz8aQ/s1600/2012-10-11-134731_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0i93mmDeTlc6NuVCTx7JfOvHmo39Fql6ihc7n5ODiB_wN-7-txFCfRK3A82woDfC8jH5RjkE3G96ERZF8AD8o9OsGEZIXlL8LxwT5YJ40RwOJKKgI96vHaqrH7sQHPVhRmN2nl5Tz8aQ/s320/2012-10-11-134731_1366x768_scrot.png" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWv0tCtoLhzDqtZ2mbejB84OpXby-Iy7tFTwIGT09GLnAq32HFTbXHCGMb1OU6qPL5EM4i6aJ2NvvBPRVSRkRcod2O57G581rhs6sWcrvRKAaRfsylZLABP2JDD3bcPSxnEph9bjrhsLQ/s1600/2012-10-11-151907_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWv0tCtoLhzDqtZ2mbejB84OpXby-Iy7tFTwIGT09GLnAq32HFTbXHCGMb1OU6qPL5EM4i6aJ2NvvBPRVSRkRcod2O57G581rhs6sWcrvRKAaRfsylZLABP2JDD3bcPSxnEph9bjrhsLQ/s320/2012-10-11-151907_1366x768_scrot.png" /></a></div><br />
<br />
Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-12310003336270138022012-10-10T13:05:00.000-05:002012-10-11T14:51:58.880-05:00Microfono interno Dell Inspiron N4050: Soporte incorporado en ALSA \o/Hace mucho <a href="http://rcartbitacora.blogspot.com/2012/01/microfono-interno-dell-inspiron-n4050.html">expliqué</a> como hacer funcionar el microfono interno de este equipo, pero durante mi actualizacion a Ubuntu 12.04 y durante la instalacion de <a href="http://www.alsa-project.org/main/index.php/Main_Page">ALSA</a>, me puse a leer su changelog del sitio oficial y me encontré con la grata noticia que dice asi:<br />
<blockquote>[...]<br />
- ALSA: HDA: Add internal mic for IDT 92HD88B <br />
BugLink: http://bugs.launchpad.net/bugs/696493 <br />
According to datasheet (and real-world testing), IDT 92HD88B can <br />
have internal mics at NID 0x11 and 0x20, so enable them accordingly. <br />
[...]<br />
</blockquote><br />
Lo que significa que ese microfono ahora es soportado por ALSA (que tiene su codigo base en el Kernel) en su version >=v1.0.23 | v1.0.24.<br />
<br />
Si querés confirmar el model del micro de tu tarjeta podes hacerlo asi:<br />
<blockquote>rcart*ubuntu:~$ cat /proc/asound/card0/codec#* | grep Codec<br />
Codec: IDT 92HD87B1/3<br />
Codec: Intel CougarPoint HDMI<br />
rcart*ubuntu:~$ <br />
</blockquote><br />
Y para la conocer la version de ALSA que estas corriendo, hace:<br />
<blockquote>rcart*ubuntu:~$ cat /proc/asound/version <br />
Advanced Linux Sound Architecture Driver Version 1.0.24.<br />
rcart*ubuntu:~$ <br />
</blockquote><br />
Saludos.Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-44340637658059713502012-10-10T12:26:00.001-05:002012-10-10T12:28:18.836-05:00Instalar Ubuntu Minimal: Segunda ParteDespues de la primer entrada y una falsa promesa de continuar la segunda parte al dia siguiente, recordé que tenia pendiente terminar este tema XD<br />
<br />
En fin, no mas excusas. Continuemos.<br />
<a name='more'></a><br />
<br />
En la primer parte vimos como instalar un sistema base *funcional* y con la mayoria de aplicaciones basicas (de consola) que podriamos necesitar para cualquier necesidad. En esta ocasion solo hace falta montar el apartado grafico.<br />
<br />
Como bien dice el titulo de esta entrada, se trata de un sistema minimalista, y por ende, no incluye el "eye candy" que nos proporcionan los grandes entornos graficos.<br />
<br />
Fui usuario por varios años de Enlightenment y simpre me sentí orgulloso de ser usuario de dicho WM, pero con el tiempo cada vez me parecia mas pesado...<br />
<br />
Queria un window manager rapido, bastante rapido y que me permitiera una personalizacion suficiente como para tener un escritorio agradable a mi vista (siempre he sido un poco exigente en esto).<br />
<br />
Opté por usar un Tiling Window Manager porque era algo nuevo, pensé que no podria llegar a adaptarme a esto pero en definitiva es una muy buena opcion. El desplazamiento en el escritorio se hace completamente desde el teclado, no hay necesidad de utilizar el mouse y de hecho, yo solo lo utilizo en unas pocas aplicaciones como firefox y libreoffice. La manipulacion de las ventanas (mover, redimensionar, cerrar, etc) la hago desde el teclado. Pero todo esto depende el WM que estemos utilizando.<br />
<br />
Un amigo utiliza i3-wm, el cual es muy bueno aparentemente. Despues de hacer un recorrido por los window managers mas populares, opté por uno no tan popular pero que hasta este momento, me ha parecido la mejor opcion para mi: <a href=https://opensource.conformal.com/wiki/spectrwm>spectrwm</a>.<br />
<br />
Este window manager esta programado en C, y en su ultima version, tiene como base la libreria XCB lo cual resulta en pura velocidad y rendimiento. Versiones anteriores estaban basadas en Xlib.<br />
<br />
Spectrwm inicialmente provee una configuracion basica que consta de un arhivo de texto. La configuracion inicial nos proporciona una barra superior de informacion sobre el estado del wm en donde podemos ver cosas como: numero de escritorio, numero de DYSPLAY, modo, cantidad de filas en el Stack y cantidad de filas en el Master Area y un reloj. A esto podemos agregarle informacion de monitoreo mediante un script en bash llamado baractions.sh, pero tambien podemos pasarle la salida de conky (solo en modo TEXT). (Para mas informacion ver $ man spectrwm)<br />
<br />
Es posible utilizar barras como dzen2, pero se sustituye la barra por defecto y con dzen2 no podemos ver el estado del wm (lo cual para mi es imperdonable, pero es mi preferencia).<br />
<br />
Vamos a la instalacion.<br />
<br />
Spectrwm apenas acaba de llegar a Ubuntu 12.10 (Quantal Quetzal), la cual es la version en desarrollo actual, lo que significa que versiones previas no cuentan (oficialmente) con este paquete, y esto indica que debemos compilar las fuentes e instalar el paquete. Mmmmm... no tan buena idea si queremos mantener el control de las aplicaciones instaladas.<br />
<br />
Lo que hice fue descargar el <a href= "http://packages.qa.debian.org/s/spectrwm.html">paquete fuente</a> de Debian y crearlo para Ubuntu 12.04, asi que no deben preocuparse por volver a realizar este proceso (aunque podrian hacerlo si quieren) porque tengo pensando mantener <b>spectrwm</b> en su ultima version en mi PPA ^_^<br />
<br />
Hasta el momento tengo lista la version 2.0.2 (la mas reciente). Asi que pueden instalarla facilmente agregando mi ppa:<br />
<blockquote>$ sudo add-apt-repository ppa:rcart/testing<br />
$ sudo apt-get update && sudo apt-get install spectrwm<br />
</blockquote><br />
Tengo pensando subir la version 1.1.1 (basada en Xlib) por si alguien la prefiere.<br />
<br />
Una vez tengan instalado spectrwm quizas quieran instalar un Display Manager como GDM, KDM o LightDM... los primeros dos tienen demasiadas dependencias, y el tercero, un poco menos.<br />
<br />
Asi que vamos a utilizar <a href="http://slim.berlios.de/">Slim</a> como DM:<br />
<blockquote>$ sudo apt-get install slim </blockquote><br />
Despues de eso reiniciamos hacemos:<br />
<blockquote>$ sudo service slim restart </blockquote><br />
Y con eso estariamos practicamente listos para comenzar a utilizar y configurar nuestro Spectrwm n_n!<br />
<br />
Algunas cosas que tambien deberian hacer es instalar un manejador de temas GTK como ser lxappearance, asignar un tema GTK, un theme de iconos y demas cosas necesarias para integrar las aplicaciones GTk.<br />
<br />
Les repito, una excelente documentacion sobre el manejo y configuracion de spectrwm es su manpage ($ man spectrwm). Les dejo unas capturas y un enlace a los foros de crunchbang sobre spectrwm.<br />
<br />
Suerte.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQmxJoLYEj38jPtYuClh4XwZwdPUu9G0NEqDgOUlpus3kMyoVureZlsrOPXCtwMDulqnPa6vxLVotyYQSZsRaCOZezrbumSMkx3WdtXUJzXzOObPQHzTsemJojMVlN7m6k_Jh5cFVmX2w/s1600/2012-10-10-111138_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQmxJoLYEj38jPtYuClh4XwZwdPUu9G0NEqDgOUlpus3kMyoVureZlsrOPXCtwMDulqnPa6vxLVotyYQSZsRaCOZezrbumSMkx3WdtXUJzXzOObPQHzTsemJojMVlN7m6k_Jh5cFVmX2w/s320/2012-10-10-111138_1366x768_scrot.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn6GFwGO1bvmXOrXhR046c4d3N2mRC4dePU9Jnmof_F3gS_tv6GsMjdJj1qG5hVru2PR1bMP-6xZJRE4xesUZiT4MSGQglGbecsorM_1463BeY9i1jdjHW_UUAhjURDPiKHj5G3KO0mfE/s1600/2012-10-10-111507_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn6GFwGO1bvmXOrXhR046c4d3N2mRC4dePU9Jnmof_F3gS_tv6GsMjdJj1qG5hVru2PR1bMP-6xZJRE4xesUZiT4MSGQglGbecsorM_1463BeY9i1jdjHW_UUAhjURDPiKHj5G3KO0mfE/s320/2012-10-10-111507_1366x768_scrot.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2SunszjUl_rgUnzVb0absEO_PJ8J23wfp-DtW4iNRjIOM6nRquhN_NUk6R6_d2pCjO-H7-WJXUa1OkkBBlvyrai5bRaqYquWxpt5qL0e3HCdwbWfPCDX3U6nwTCAoNWm-1KoMZfSVAa4/s1600/2012-10-10-111714_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2SunszjUl_rgUnzVb0absEO_PJ8J23wfp-DtW4iNRjIOM6nRquhN_NUk6R6_d2pCjO-H7-WJXUa1OkkBBlvyrai5bRaqYquWxpt5qL0e3HCdwbWfPCDX3U6nwTCAoNWm-1KoMZfSVAa4/s320/2012-10-10-111714_1366x768_scrot.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2YoN0hDYZXPa08pWhRCaLwttd04hpDrxvj70B1drGD4O_oAMms0wg_sjHb58pLGDlHUdb9Imix_-L2j0IOV-X_Mje2IWnAQO6ydFnbtiH3JlIRXG71kwaetsbnmNLTbtuZRhj5hSWf4/s1600/2012-10-10-111753_1366x768_scrot.png" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="180" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2YoN0hDYZXPa08pWhRCaLwttd04hpDrxvj70B1drGD4O_oAMms0wg_sjHb58pLGDlHUdb9Imix_-L2j0IOV-X_Mje2IWnAQO6ydFnbtiH3JlIRXG71kwaetsbnmNLTbtuZRhj5hSWf4/s320/2012-10-10-111753_1366x768_scrot.png" /></a></div><br />
<br />
<a href="http://crunchbanglinux.org/forums/topic/11199/getting-started-with-scrotwm/">Crunchbang Spectrwm Thread</a><br />
<br />
PS: En otra ocasion publico como actualizar el paquete.Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-30563330878792256932012-07-24T06:47:00.000-05:002012-07-25T05:28:13.973-05:00Instalar Ubuntu Minimal: Primera parteComo dice el título, en un seria de post (espero solo sean dos) les mostraré los pasos que segui para poder tener una instalacion <b>minimalista</b> de Ubuntu 12.04 (Precise Pangolin). Advierto que esta instalacion no es recomendable para usuarios principiantes.<br />
<a name='more'></a><br />
<br />
Primero que nada quisiera explicarles mis motivos principales para optar por este tipo de instalacion. Tengo 2 años de ser usuario de <a href="http://www.enlightenment.org/">Enlightenment 17</a>, ya que desde que lo conocí deje de utilizar Gnome (version 2 por aquel entonces) y sus asombrosos efectos con compiz. Nunca tuve la oportunidad de probar KDE debido a que tenia un equipo de escasos recursos, pero en las ocasiones que pude utilizarlo me parecio un entorno de escritorio bastante agradable y muy, muy completo.<br />
<br />
La instalacion de Enlightenment la hacia desde las fuentes, ya me parecia algo agridulce cuando tenia problemas de dependecias, configuraciones y demas problemas que se suelen encontrar el compilar este WM (Window Manager) desde su codigo fuente. Para bien de mi salud emocional siempre fui capaz de instalarlo y disfrutar de su velocidad, personalizacion y como no, su increible "Eye Candy".<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz-bJhyphenhyphenBC_R6e0DgA1DBuMrOOydr7nD3DLWcxhyphenhyphenvzCsNAaEz5NqMlNV2SiuECrxUHQ_LWNT8qYuTBTGDx0WR6rmQbvvI35xkxBsW_HFGBeaezBm7ui-gFXxHedfMHWMOcvnbHVlC7F7AM/s1600/shot3-others-.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhz-bJhyphenhyphenBC_R6e0DgA1DBuMrOOydr7nD3DLWcxhyphenhyphenvzCsNAaEz5NqMlNV2SiuECrxUHQ_LWNT8qYuTBTGDx0WR6rmQbvvI35xkxBsW_HFGBeaezBm7ui-gFXxHedfMHWMOcvnbHVlC7F7AM/s320/shot3-others-.jpg" width="320" /></a></div><center><i>Mi escritorio con Enlightenment</i></center><br />
<br />
Cada vez que salia una nueva version de ubuntu hacia una instalacion desde cero, osea, formateaba mi instalacion actual e instalaba la nueva version. Una vez instalada, descargaba las fuentes de Enlightenment, compilaba, instalaba y disfrutaba de mi nueva version de Ubuntu con lo ultimo de E17. Con la aparicion de Unity, nada cambio con mi preferencia por Enlightenment.<br />
<br />
Ubuntu nos provee con un set de paquetes que posiblemente cumplan con las necesidades de la mayoria de los usuarios, y todo "out of the box". Pero muchas veces resulta algo molesto contar con una gran cantidad de aplicaciones que nunca utilizaremos y quizas ni sabemos que estan alli, y si queres desinstalar una, por resulucion de dependencias terminamos rompiendo cosas. (Si somos precavidos y seguros de lo que hacemos, posiblemente no sea un problema)<br />
<br />
Probablemente despues de tanto tiempo personalizando escritorios que eran muy agradables visualmente, me harté de tanto "Eye Candy". Ahora queria algo a mi medida, simple, rapido, estable, configurable y productivo. Pero claro, algo agradable a la vista.<br />
<br />
Actualmente cuento con un equipo (portatil) bastante bueno (Intel i3, 6GB RAM, 500HD) capaz de levantar cualquier entorno grafico, pero creo ser yo el problema.<br />
<br />
En fin, despues de una innecesaria introduccion, comencemos.<br />
<br />
El proceso de instalacion lo haremos de esta manera:<br />
<ol><li>Arranque del sistema de instalacion desde Grub2(Kernel + instalador)</li>
<li>Post-instalacion del sistema base</li>
<li>Administracion de energia y herramientas del sistema</li>
<li>Multimedia y otras hierbas<br />
</li>
<li>Instalacion del WM y aplicaciones graficas</li>
<li>Conlusiones</li>
</ol><hr /><ul><li><h3>Arranque del sistema base</h3></li>
</ul>Partiendo de la instalacion actual descargaremos dichos archivos, agregaremos una nueva entrada al grub, y comenzaremos la instalacion. (Omitiré *muchos* pasos, vease el primer parrafo de este post) <br />
<blockquote>sudo wget http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz -O /initrd.gz sudo wget http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux -O /linux </blockquote>Modificamos grub: <br />
<blockquote>sudo vim /etc/grub.d/40_custom</blockquote>Agregamos la nueva entrada del grub: <br />
<blockquote>menuentry "Ubuntu Minimal Install" {<br />
set root='(hd0,0)' <br />
linux /linux <br />
initrd /initrd.gz <br />
} <br />
</blockquote><br />
Actualizamos: <br />
<blockquote>sudo update-grub</blockquote><br />
Y con esto tenemos listo el medio de instalacion para la version minimal. Despues de reiniciar obtentedremos una nueva entrada en el GRUB para comenzar la instalacion. Para poder realizar esa instalacion deben contar con un cable ethernet, ya que es probable que la tarjeta wifi no sea reconocida por el kernel en primera instancia. (A decir verdad, el problema es mas comun con las Broadcom, como la mia: 4313)<br />
<br />
Realicen la instalacion de manera precavida, formateen las particiones necesarias (normalmente solo formateo la particion root) y <b>no seleccion mas paquetes para instalar!</b>. <br />
<br />
Una vez tengan el sistema base instalado, reinicien y entren en su nueva instalacion. <br />
<br />
<ul><li><h3>Post-instalacion del sistema base</h3></li>
</ul>Si llegaron hasta aqui y no se han arrepentido, significa que vamos por buen camino. No voy a dar detalles de para que sirve cada paquete que vaya instalando, si queren saber al respecto pueden buscarlo por su cuenta. <br />
<br />
Primero que nada si tienen un portatil van a querer deshacerse del cable ethernet. Cada tarjeta wifi tiene su procedimiento para hacerlo funcionar. La mia es una Broadcom 4313. <br />
<br />
Ubuntu 12.04 tiene exactamente la misma version que Broadcom, la cual incluye soporte para modo monitor (pero no inyeccion de trafico) y otras mejoras. Asi que utilizare el paquete de Ubuntu y evitaré descargar y realizar todo el proceso de instalacion de un driver de red desde las fuentes. <br />
<br />
Primero instalamos paquetes de compilacion: <br />
<blockquote>sudo apt-get install --no-install-recommends build-enssential git-core bzr</blockquote><br />
Driver de wifi Broadcom y utilidades de conexion inalambrica: <br />
<blockquote>sudo apt-get install --no-install-recommmends wireless-tools wpasupplicant bcmwl-kernel-source wicd-curses </blockquote><br />
Despues cargamos los modulos de wifi (o reinician), ejecutamos wicd-curses y nos conectamos a nuestra red inalambrica. <br />
<br />
<ul><li>Administracion de energia y herramientas del sistema</li>
</ul>Ahora viene un apartado algo complicado (segun mi experiencia), y este es la administracion de energia. <br />
<br />
Un equipo portatil requiere de demonios que esten monitoreando eventos que se generan (un desktop tambien, pero hay eventos unicos en un portatil como cuando cerramos la tapa), la frecuencia del CPU, la escritura del disco duro, etc. Todo esto con el fin de alargar la duracion de la bateria. Asi que para tener un buen control de energia, instalaremos un conjunto de paquetes que nos proporcionan un excelente ahorro de energia y control de eventos: <br />
<blockquote>sudo apt-get install --no-install-recommends acpid acpi laptop-mode-tools cpufreqd cpufrequtils pm-utils upower </blockquote><br />
Despues de eso cierren la tapa del portatil y el equipo deberia deberia suspenderse. De no ser asi, reinicien e intentan de nuevo. Si todo falla. Hay problemas. <br />
<br />
En mi caso el portatil no suspendia al cerrar la tapa, lo cual es algo imperdonable e inimaginable. Esta fue la manera de solucionarlo. <br />
<br />
Dentro del directorio /etc/acpi/events encontraremos un conjunto de scripts que se ejecutan al generarse ciertos eventos. En mi caso, el evento a depurar es <b>lidbtn</b> <br />
<br />
Como vemos, el contenido es el siguiente: <br />
<blockquote># /etc/acpi/events/lidbtn<br />
#Called when the user closes or opens the lid<br />
event=button[ /]lid <br />
action=/etc/acpi/lid.sh</blockquote><br />
Ahora bien, el problema en mi caso es que acpi obtiene erroneamente el identificador de la pantalla de mi portatil, y el evento "<b>event=button[ /]lid</b>" nunca se ejecturá lo que conlleva a que el equipo no suspenda. <br />
<br />
Para obtener el identificador correcto de la pantalla, debemos poner a la escucha los eventos de acpi. Entonces, en una consola hacemos: <br />
<blockquote>acpi_listen</blockquote><br />
Y con eso estamos a la espera de que se generen eventos referentes a la energia del equipo. Entonces, cerramos la tapa del portatil (el equipo no suspende), la volvemos a abrir, y en la consola anterior obtendremos el identificador correcto. En mi caso obtuve esto: <br />
<blockquote><b>button/lid LID0</b> 00000080 00000003</blockquote><br />
En negrita esta el identificador correcto, asi que procedemos a modificar el archivo del evento, y como resultado esto: <br />
<blockquote># /etc/acpi/events/lidbtn <br />
#Called when the user closes or opens the lid <br />
event=button/lid (LID) <br />
action=/usr/sbin/pm-suspend </blockquote><br />
Guardamos, cerramos la tapa y el equipo deberia suspender sin ningun problema. <br />
<br />
Herramientas del sistema (hacerlo linea por linea): <br />
<blockquote>sudo apt-get install rar unrar zip unzip notify-ods libnotify-bin <br />
sudo apt-get install --no-install-recommends apt-file rxvt-unicode-255colors gdebi-core htop tree traceroute nmap vim</blockquote><br />
Instalamos el servidor Xorg (tengo una tarjeta de video Intel integrada):<br />
<blockquote>sudo apt-get install xserver-xorg xserver-xorg-video-intel mesa-utils xfonts-terminus</blockquote><br />
Y bien. Despues de todo este proceso deberiamos tener una instalacion completamente funcional, con un sistema basico y bien equipado. Solo falta instalar el apartado multimedia y grafico. Despues estariamos listos.<br />
<br />
Por los momentos es todo. Aqui son las 05:45 am y no he dormido nada. Mañana (hoy? Creo estar confundido, estoy medio dormido) continuo con lo restante para dar por finalizada la instalacion.<br />
<br />
Cualquier cosa no duden en dejar un comentario al respecto.<br />
<br />
Saludos.Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com1tag:blogger.com,1999:blog-4654114015230862603.post-21805946074879903712012-07-21T17:21:00.000-05:002012-07-21T17:48:59.416-05:00He vuelto \o/Pues bueno, despues de tener en el olvido el blog por diversos motivos, he vuelto. Tengo varias cosas pendientes sobre las cuales escribir, asi que espero hacerlo lo mas pronto posible.<br />
<br />
10-8Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-67130558237129131762012-03-24T14:21:00.000-05:002012-03-24T14:21:43.118-05:00Packaging Apport Hooks<i>If you wanna write an apport hook, take a look at:</i> <a href="http://viajemotu.wordpress.com/2012/03/24/packaging-apport-hooks/">Packaging apport hooks</a><br />
<br />
Mmm... se me dificulta mucho estar traduciendo a Español las entradas que escribo en viajemotu y postearlas aqui. Creo que lo mejor será simplemente poner el titulo, y enlazarlo al blog que acabo de mencionar. Seguramente el motivo es que soy demasiado "lazy" para hacerlo o me parece muy tedioso.<br />
<br />
En fin... quizas las entradas que sean bastante rapidas, las pondre aqui tambien. Si por algun motivo existe alguien alli afuera que quisiera ver las entradas en español, entonces podria considerar traducirlas.<br />
<br />
Este redireccionamiento lo pondré en ingles la proxima vez. Cya!Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-17963371466423684152012-03-16T17:12:00.001-05:002012-05-27T15:56:31.924-05:00Copyright XD<div class="separator" style="clear: both; text-align: center;"><a href="http://s3.alt1040.com/files/2012/03/ME_306_DreadfulBusinessModel.jpg" imageanchor="1" style=""><img border="0" height="150" width="400" src="http://s3.alt1040.com/files/2012/03/ME_306_DreadfulBusinessModel.jpg" /></a></div><br />Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-53506294780363575352012-03-09T18:28:00.001-06:002012-03-11T00:49:20.248-06:00pbuilder: Construir paquetes i386 en equipos x64Lo maravilloso al momento de construir paquetes utilizando pbuilder, seria tener la facilidad de construir para arquitecturas i386 desde equipos x64. Pues es facil utilizando las ultimas versiones de pbuilder (no se desde cuando esto es posible).<br />
<br />
Primero lo que debemos hacer es tener un sistema base para ambas arquitecturas, para contruirlas hacemos esto:<br />
<blockquote>pbuider-dist precise i386 create</blockquote><br />
Y despues de que haya finalizado el proceso de instalacion, creamos un sistema base para x64 (como tengo un equipo x64, no es necesario especificar la arquitectura debido a que pbuilder descarga el sistema base con X aquitectura dependiendo de nuestro sistema):<br />
<blockquote>pbuilder-dist precise create</blockquote><br />
Entonces, al momento de crear un paquete para i386, basta con hacer esto:<br />
<blockquote>pbuider-dist precise i386 *.dsc</blockquote><br />
Para construir paquetes x64 no es necesario indicarla la arquitectura, ya que toma la que estamos utilizando:<br />
<blockquote>pbuilder-dist precise *.dsc</blockquote><br />
Un tip bastante bueno.<br />
<br />
<a href="http://daniel.holba.ch/blog/2012/03/welcoming-monday/">Fuente</a>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com1tag:blogger.com,1999:blog-4654114015230862603.post-10494757311333385182012-03-09T18:16:00.000-06:002012-03-09T18:16:18.238-06:00Recuperar (recover) passphrase gpgEsta entrada solo es valida si tenemos una clara idea de lo que podria ser nuestra frase secreta de nuestra llave privada gpg. En mi caso, la olvide porque la ultima vez que la utilice fue para montar (de nuevo) el entorno de desarrollo para empaquetamiento en Ubuntu.<br />
<br />
Desde ese dia no volvi a utilizar mi llave, pero hoy que queria firmar unos sources de paquetes para construirlos con pbuilder, resulta que la frase secreta no era correcta O_O!<br />
<br />
Tengo una memoria bastante mala para la mayoria de las cosas que me parecen irrelevantes. Obviamente mi firma digital es super relevante, pero no la suelo utilizar (creo que este habito cambiara, empezare a firmir mis mails). Normalmente manejo por mucho, unas 4 contraseñas para mis diferentes actividades. Asi que tenia una idea de cual podria ser, pero estaba confundido.<br />
<br />
Existe los brute forcers, que son aplicaciones de fuerza bruta que permiten crackear una contraseña, pero esto depende del tipo de contraseña y protocolo. Como es un tipo de crackeo offline, tenemos toda la vida para dejar al brute forcer a que pruebe hasta la ultima combinacion posible en nuestra llave, con el fin de llegar a la correcta. No quiero esperar una vida para recuperar mi llave xD<br />
<br />
Algunos diran que el camino mas facil seria revocar la llave, y crear una nueva. Mi problema es que tengo cerca de 4 llaves publicas perdidas, no quiero una mas. Asi que sin tanta vuelta veamos de que manera podriamos recuperar nuestra frase secreta de nuestra llave gpg.<br />
<br />
Como lo dije en un principio, para esta tecnica necesitamos tener nociones de nuestra clave, ya que esta herramienta no es un brute forcer como tal. <br />
<br />
Les presento a <b>rephrase</b>. Una aplicacion que nos permite hacer fuerza bruta a nuestra llave gpg <b>en base a un patron proporcionado por el usuario.</b>. Este patron no es visible por motivos de seguridad, lo que recomendaria es escribirlo en un archivo, copiarlo y despues pegarlo en el prompt para que ingresemos el patron correctamente.<br />
<br />
Su sintaxis es simple:<br />
<blockquote>rephrase <llavePrivada><br />
</blockquote><br />
Para obtener nuestra llave privada basta con hacer:<br />
<blockquote>gpg --list-secrets-keys<br />
</blockquote><br />
Una vez hayamos ejecutado el comando anterior, entraremos al prompt que nos pedira ingresar un patron para comenzar el proceso. Ese patron esta muy bien explicado en el manual de la herramienta (man rephrase). Pero por ejemplo, si mi contraseña es "doctormalito" y no recuerdo si cambie algunas (pero no se cuales) bocales por mayusculas, y las consonantes por minusculas, entonces mi patron quedaria asi:<br />
<blockquote>d(o|O)ct(o|O)rm(a|A)l(i|I)t(o|O)<br />
</blockquote><br />
Como veran las combinaciones estan encerradas en parentesis "()" y separadas por barras verticales "|". Si estamos en lo correcto, obtendremos "Passphrase found!" y una secuencia de numeros que indican cual de las posibles combinaciones forman nuestra frase secreta (esto lo hace con motivos de seguridad). Entonces, si nuestra contraseña era "doctOrmalIto", entonces el resultado sera este:<br />
<blockquote>1 1 1 1 2 1 1 1 1 2 1 1<br />
d o c t O r m a l I t o<br />
</blockquote><br />
Y de esta manera pude recuperar (en realidad recordar) mi frase secreta, y ya pude firmar los paquetes en los que estaba trabajando \\^_^//<br />
<br />
<i>English note: If you need this post to be writed in english, just leave a comment and I'll post it in english as well. Otherwise, you can use Google Translate.</i>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-44115047536644435992012-03-03T23:59:00.001-06:002012-03-04T00:01:06.658-06:00Consultando paquetes y bugs en Debian con rmadison y reportbugEsta es la primer entrada sobre Ubuntu Development orientada a aquellos que tengan un entorno de desarrollo funcionando y/o los interesados en la tematica.<br />
<br />
Algunas notas rapidas sobre algunas herramientas que nos sirven al momento de consultar paquetes en debian. Uno de los casos mas comunes es el momento de querer arreglar un paquete en Ubuntu, ya que quizas este haya sido solucionado en debian. Por suerte <a href = "http://viajemotu.wordpress.com/2011/02/01/patching-bittornado/">tengo un ejemplo en el que trabaje hace un tiempo </a>. El escenario es el siguiente.<br />
<br />
El reporte del bug lo encontré en Ubuntu (Launchpad) y comence a solucionarlo, pero siguiendo las reglas busque algun tipo de reporte similar en Debian, y encontre un reporte del mismo problema.<br />
<br />
Todos los paquetes en Ubuntu (o casi todos) son importados directamente de la version en desarrollo de Debian, lo que significa que los paquetes arreglados en Debian llegan felizmente a Ubuntu. Dependiendo del estado del ciclo de la version actual en desarrollo de Ubuntu, los paquetes seran importados (sincronizados) o no. Se hace una unica sincronizacion de manera automatizada (solo imaginen lo descumunal que ha de ser) y si se desea realizar sincronizaciones de paquetes posteriormente, se debe hacer de manera manual.<br />
<br />
Algunos desarrolladores en Ubuntu, envian los parches a Debian, y una vez aceptados y aplicados en Debian, se hace manualmente una sincronizacion del paquete en Ubuntu. De esta manera, no solo Ubuntu se verá benefiada por el paquete corregido sino todas las distribuciones que importan sus paquetes desde Debian.<br />
<br />
Por suerte, en mi caso el encargado de revistar mi trabajo (reviewer/sponsor) me dio la oportunidad de aplicar el cambio en Ubuntu utilizando el parche aplicado en Debian.<br />
<br />
Espero se hagan una pequeña idea de como funciona la relacion Ubuntu-Debian. Dejemos la teoria.<br />
<br />
Primero comencemos con <b>rmadison</b>. Esta utilidad, parte del paquete <b>devscripts</b>, nos permite consultar la existencia de paquetes en Debian y Ubuntu. Es una herramienta muy util y facil de utilizar. Veamos.<br />
<br />
Si queremos consultar el paquete foo en Debian, hacemos:<br />
<blockquote>rcart*ubuntu:~$ rmadison -u debian foo<br />
rcart*ubuntu:~$ <br />
</blockquote><br />
Como vemos, el paquete no existe. Ahora veamos uno que realmente existe: (acorte la salida para no distorcionar)<br />
<blockquote>rcart*ubuntu:~$ rmadison -u debian pidgin<br />
pidgin | 2.4.3-4lenny8 | lenny-security | source, amd64, arm, i386, powerpc, sparc<br />
pidgin | 2.4.3-4lenny8 | lenny | source, alpha, amd64, arm, i386, ia64, powerpc<br />
pidgin | 2.6.6-1~bpo50+1 | backports/lenny | source, hppa<br />
pidgin | 2.7.3-1~bpo50+2 | backports/lenny | source, alpha, amd64, i386, powerpc<br />
pidgin | 2.7.3-1+squeeze2 | squeeze | source, amd64, i386, kfreebsd-amd64<br />
pidgin | 2.10.1-1 | wheezy | source, amd64, i386, kfreebsd-i386, powerpc<br />
pidgin | 2.10.1-1 | sid | source, amd64, i386, kfreebsd-i386, powerpc<br />
rcart*ubuntu:~$ <br />
</blockquote><br />
El resultado es bastante claro. Nos muestra el paquete, la version en su rama respectiva y las arquitecturas (lo cual reduje) para las que esta disponible dicho paquete.<br />
<br />
Ahora veamos como consultar bugs existentes en Debian.<br />
<br />
Primero que nada, debo aclarar que el sistema que Debian utiliza para gestionar los reportes de bugs (Debian Bug Tracking System, BTS) esta diseñado para interactuar mediante correo electronico. Lo que significa que para reportar un bug debemos enviar un correo electronico al BTS, pero no hay por que asustarse, hay herramientas que nos permiten preparar el reporte facilmente ;D<br />
<br />
<b>reportbug</b> es la utilidad que nos permite interactuar con el BTS de Debian. En Ubuntu, debemos utilizar la opcion <b>-B debian</b> para indicar que vamos a consultar en Debian, no en Ubuntu. <br />
<br />
Normalmente utilizamos esta herramienta para enviar un nuevo reporte sobre un paquete en especifico. reportbug captura el estado del paquete y extrae cierta informacion del mismo para incluirla en el reporte. Pero que pasa si solo queremos consultar los reportes que contiene actualmente un paquete que no tenemos instalado? Utilizamos el argumento <b>-I</b>, el cual indica que no verifique si el paquete esta instalado.<br />
<br />
Al momento de consultar los bugs de un paquete, nos pedira que escribamos un <i>Asunto</i> para ser incluido en el reporte, pero como solo estamos consultado, lo dejamos en blanco y presionamos Enter.<br />
<br />
Veamos un ejemplo. Vamos a consultar los reportes contra el paquete... mmm... piding:<br />
<blockquote>*** Welcome to reportbug. Use ? for help at prompts. ***<br />
Note: bug reports are publicly archived (including the email address of the submitter).<br />
Detected character set: UTF-8<br />
Please change your locale if this is incorrect.<br />
<br />
Using 'X' as your from address.<br />
Please enter the version of the package this report applies to (blank OK)<br />
> <br />
Will send report to Debian (per request).<br />
Querying Debian BTS for reports on pidgin (source)...<br />
130 bug reports found:<br />
<br />
Outstanding bugs -- Important bugs; Unclassified (5 bugs)<br />
1) #535790 pidgin: CVE-2009-1889 denial-of-service<br />
2) #563828 finch: GNT shortcuts do not work in Xterm<br />
3) #578476 Crashes when a broken GStreamer plugin is installed<br />
4) #584576 Pidgin randomly crashes<br />
5) #594378 after suspend/resume cycle pidgin fill logs with gstreamer assertion<br />
<br />
Outstanding bugs -- Normal bugs; Patch Available (1 bug)<br />
6) #589631 pidgin-data: /etc/purple/prefs.xml is invalid xml<br />
(1-6/130) Is the bug you found listed above [y|N|b|m|r|q|s|f|e|?]? <br />
</blockquote><br />
Si queremos ver en detalle un reporte, escribimos el numero del bug en cuestion, por ejemplo, para ver el primer reporte podemos escribir el numero 1, o 535790, el resultado es el mismo:<br />
<blockquote>What do you want to do now? [N|x|o|r|b|e|q|?]? 1<br />
<br />
Original report - #535790: pidgin: CVE-2009-1889 denial-of-service<br />
<br />
From: "Michael S. Gilbert" <michael.s.gilbert@gmail.com><br />
Date: Sat, 4 Jul 2009 23:42:26 -0400<br />
<br />
Package: pidgin<br />
Version: 2.4.3-4lenny2<br />
Severity: important<br />
Tags: security<br />
<br />
Hi,<br />
the following CVE (Common Vulnerabilities & Exposures) id was<br />
published for pidgin.<br />
<br />
CVE-2009-1889[0]:<br />
| The OSCAR protocol implementation in Pidgin before 2.5.8 misinterprets<br />
| the ICQWebMessage message type as the ICQSMS message type, which<br />
| allows remote attackers to cause a denial of service (application<br />
| crash) via a crafted ICQ web message that triggers allocation of a<br />
| large amount of memory.<br />
<br />
More info can be found in redhat bug [1]. Please coordinate with the<br />
security team to prepare updates for the stable releases.<br />
<br />
If you fix the vulnerability please also make sure to include the<br />
CVE id in your changelog entry.<br />
<br />
For further information see:<br />
<br />
[0] http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-1889<br />
http://security-tracker.debian.net/tracker/CVE-2009-1889<br />
[1] <br />
(END)<br />
</blockquote><br />
Para salir presionamos q, y para terminar la consulta escribimos q y presionamos Enter.<br />
<br />
En fin, dos herramientas indispensables al momento de trabajar con paquetes y reportes en Ubuntu. Espero les haya servido ;DAnonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-57961136780756410852012-03-02T12:11:00.001-06:002012-03-02T12:12:46.172-06:00Drenaje de bateria en equipos Intel i3Esto es algo fastidioso. La bateria en <a href="http://www.ubuntu.com/certification/hardware/201104-7891">mi portatil</a> tiene la capacidad de aguantar 4:30~ hrs de independecia. Con Ubuntu 11.10 dura casi 2:30 con un uso bastante pasivo. Es un asco.<br />
<br />
El problema esta especificamente en el controlador de video en mi tarjeta integrada. Veamos la descripcion:<br />
<blockquote>Processor: Intel® Core™ i3-2330M CPU @ 2.20GHz × 4 (<- Nicee!!! ;D)
Graphics: Intel® Sandybridge Mobile
</blockquote><br />
<br />
<br />
<br />
<br />
En las recientes versiones del kernel > 2.6.38, el controlador de video consume una gran cantidad del porcentaje de la bateria. La solucion es pasarle un parametro al kernel (que luego lo captura el driver de video) que hace que el contrador reduzca el consumo de energia, habilitando la caracteristica <b> power-save </b> de estas tarjetas de video. Es muy simple.<br />
<br />
Editamos el archivo <b>/etc/default/grub </b> y agregamos el parametro <b><i>i915.i915_enable_rc6=1</i></b> para habilitar esta caracteristica, quedando el archivo asi:<br />
<blockquote>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force <b>i915.i915_enable_rc6=1</b>"<br />
</blockquote><br />
Actualizamos el grub<br />
<blockquote>sudo update-grub<br />
</blockquote><br />
Y con esto ganaremos casi 2 hrs mas de bateria. Nada mal }:P<br />
<br />
Mas info: <a href="http://www.phoronix.com/scan.php?page=news_item&px=MTAwNjU">http://www.phoronix.com/scan.php?page=news_item&px=MTAwNjU</a>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0tag:blogger.com,1999:blog-4654114015230862603.post-44314911520436311412012-02-09T12:54:00.001-06:002012-02-09T13:07:25.377-06:00Teclado TouchPal: La mejor forma de escribir en Android<div><p>Este teclado es del tipo<b> QWERTY</b>, lo que significa que debemos trazar las combinaciones de letras para formar palabras. </p>
<p>El teclado es completamente gratuito, y tiene una capacidad de predicción muy buena, entre otra gran cantidad de características que lo hacen ser un teclado sorprendente. </p>
<p>En el Android Market podrán obtener más información y también apreciar un video mostrando las bondades de este teclado. El mejor en su especie. </p>
<p>No puedo Agregar agregar links sobre esto debido a que estoy desde el teléfono y el servicio de iNet de Tigo es una mierda.</p>
</div>Anonymoushttp://www.blogger.com/profile/13702006747872177393noreply@blogger.com0