<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6887761988295725170</id><updated>2012-05-25T19:38:21.332-07:00</updated><category term='Python'/><category term='Cairo'/><category term='Escritorios'/><category term='Consola'/><category term='GNU/Linux'/><category term='Samba'/><category term='Bases de Datos'/><category term='C/C++'/><category term='Código Fuente'/><category term='PyGTK'/><category term='Tips'/><category term='Móviles'/><category term='PyGame'/><category term='Juegos'/><category term='Tutoriales'/><category term='Canaima'/><category term='Editores'/><category term='Ruby'/><category term='Turpial'/><category term='Instalaciones'/><category term='Qt'/><category term='Otros'/><category term='Ruby on Rails'/><category term='Android'/><category term='Video'/><category term='Configuraciones'/><category term='Webcomic'/><title type='text'>El rincón maldito</title><subtitle type='html'>print "Maldición!"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/-/GNU%2FLinux'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/search/label/GNU%2FLinux'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/-/GNU%2FLinux/-/GNU%2FLinux?start-index=26&amp;max-results=25'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-8353131876559079587</id><published>2012-03-22T12:08:00.000-07:00</published><updated>2012-04-03T13:12:28.400-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Tip: Obtener el espacio usado de un directorio</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;h2&gt;Situación&lt;/h2&gt;Queremos conocer el espacio en disco usado por un directorio (y sus subdirectorios inmediatos) con un comando de consola. &lt;br/&gt; &lt;h2&gt;Comando&lt;/h2&gt; &lt;code&gt;&lt;pre&gt;$ du -h -s /tu/directorio/*&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; &lt;h2&gt;Resultado&lt;/h2&gt;El comando te imprimirá algo como:  &lt;code&gt;&lt;pre&gt;$ du -h --summarize /tu/directorio/*&lt;br /&gt;2.5M /var/backups&lt;br /&gt;286M /var/cache&lt;br /&gt;139M /var/lib&lt;br /&gt;4.1k /var/local&lt;br /&gt;4.1k /var/lock&lt;br /&gt;98M /var/log&lt;br /&gt;4.4M /var/mail&lt;br /&gt;4.1k /var/opt&lt;br /&gt;103k /var/run&lt;br /&gt;66k /var/spool&lt;br /&gt;4.1k /var/tmp&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; &lt;h2&gt;Explicación&lt;/h2&gt;El comando &lt;b&gt;du&lt;/b&gt; te da un estimado del espacio utilizado por un directorio, la opción &lt;b&gt;-h&lt;/b&gt; te imprime los números en potencias de 1024, &lt;b&gt;--sumarize&lt;/b&gt; muestra solo el total para cada elemento y &lt;b&gt;/tu/directorio/*&lt;/b&gt; corresponde al directorio que deseas analizar. El * al final es la clave para indicarle al comando que queremos ver los subdirectorios.&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-8353131876559079587?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/8353131876559079587/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=8353131876559079587&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/8353131876559079587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/8353131876559079587'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2012/03/tip-obtener-el-espacio-usado-de-un.html' title='Tip: Obtener el espacio usado de un directorio'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-4464993311846558337</id><published>2012-01-28T08:32:00.000-08:00</published><updated>2012-01-28T15:05:01.565-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Canaima'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Mi propuesta para Canaima-Instalador</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;Actualmente estoy colaborando con el desarrollo de &lt;a href="https://gitorious.org/canaima-gnu-linux/canaima-instalador"&gt;canaima-instalador&lt;/a&gt;, una aplicación para &lt;a href="http://canaima.softwarelibre.gob.ve/"&gt;Canaima GNU/Linux&lt;/a&gt; que permitirá al usuario instalar/probar Canaima de una manera fácil e intuitiva, y he decidido hacer una propuesta sobre cómo debe lucir y funcionar el nuevo instalador. La propuesta a continuación.&lt;br /&gt;&lt;br /&gt; &lt;h2&gt;Paso 1: LiveCD&lt;/h2&gt;Lo primero que hace falta cambiar es el menú de inicio del liveCD. Actualmente tenemos una pantalla llena de opciones que, más allá de facilitar el uso, pueden confundir a los usuarios menos experimentados. Mi sugerencia es que el liveCD arranque automáticamente y presente un menú inferior con las posibles opciones para usuarios más experimentados.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7XF-1sN7xxo/TyQbUmdxe4I/AAAAAAAAAhI/Ox3CVVfcIXI/s1600/step1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-7XF-1sN7xxo/TyQbUmdxe4I/AAAAAAAAAhI/Ox3CVVfcIXI/s400/step1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt; &lt;h2&gt;Paso 2: Bienvenida&lt;/h2&gt;Aquí es donde comienza a ejecutarse canaima-instalador. La idea es que sea tipo OEM, es decir, que no cargue el escritorio sino  lo mínimo necesario para ejecutarse. Se le preguntará al usuario si desea probar la distribución o instalar. Para el primer caso se cierra canaima-instalador y se continúa con la carga del escritorio, para el segundo caso se sigue el flujo normal de la aplicación.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GsxdB-JZRp0/TyQci3S67-I/AAAAAAAAAhU/xw6_nIKkjO0/s1600/step2.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-GsxdB-JZRp0/TyQci3S67-I/AAAAAAAAAhU/xw6_nIKkjO0/s400/step2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt; &lt;h2&gt;Paso 3: Requisitos&lt;/h2&gt;Se le muestra al usuario cuáles son los requisitos mínimos necesarios para obtener mejores resultados al instalar Canaima. En caso de que no se cumpla con un requisito crítico (por ejemplo, el espacio en disco) la instalación no debería continuar.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-SRoiyjP2myc/TyQdDkA1vWI/AAAAAAAAAhg/aBoFo4kfmdI/s1600/step3.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://2.bp.blogspot.com/-SRoiyjP2myc/TyQdDkA1vWI/AAAAAAAAAhg/aBoFo4kfmdI/s400/step3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt; &lt;h2&gt;Paso 4: Modo de instalación&lt;/h2&gt;Acá (luego de haber analizado el hardware) se le presentan al usuario las distintas opciones que tiene para instalar. En teoría todas deberían ser automáticas excepto la de "Particionamiento Avanzado" que ejecutará una instancia de gparted y bloqueará canaima-instalador hasta que el usuario termine de definir sus particiones. Una vez que el usuario haga clic en "Siguiente" no podrá volver atrás. Acá termina la primera fase de instalación y comienza el copiado de los archivos en el disco duro en segundo plano. La idea es aprovechar el tiempo, mientras se copian los archivos solicitamos al usuario el resto de la información y una vez terminada la copia se ejecutan las tareas correspondientes. De esta forma logramos minimizar considerablemente el tiempo de instalación (tal como lo hace Ubuntu).&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-r7d5E2TIbcw/TyQdokFzm4I/AAAAAAAAAhs/w9-RyFWtmbg/s1600/step4.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-r7d5E2TIbcw/TyQdokFzm4I/AAAAAAAAAhs/w9-RyFWtmbg/s400/step4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt; &lt;h2&gt;Paso 5: Configuración de teclado&lt;/h2&gt;Como expliqué en el punto anterior, mientras se copian los archivos en segundo plano solicitamos el resto de la información al usuario. Acá se le pedirá que seleccione la distribución del teclado. Es importante observar que el botón de "Anterior" no estará disponible en este paso.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-yoeNSpeJPqA/TyQgS-2lSAI/AAAAAAAAAiE/E6ANS4brUNg/s1600/step6.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-yoeNSpeJPqA/TyQgS-2lSAI/AAAAAAAAAiE/E6ANS4brUNg/s400/step6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt; &lt;h2&gt;Paso 6: Configuración de usuarios&lt;/h2&gt;En esta fase se le pedirán los datos de las cuentas (root y usuario regular). Es importante habilitar un link (o botón) de ayuda donde se pueda explicar qué significa root y por qué es importante definir esa contraseña. Es importante recalcar que si el usuario no ha terminado de introducir la información complementaria y la copia de archivos finaliza entonces las tareas en segundo plano se detendrán hasta que se culmine esta fase.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-1PnpUvPlAuM/TyQeuotuE4I/AAAAAAAAAh4/Sax0ZzkKroY/s1600/step6.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-1PnpUvPlAuM/TyQeuotuE4I/AAAAAAAAAh4/Sax0ZzkKroY/s400/step6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;  &lt;h2&gt;Paso 7: Imágenes aleatorias sobre las bondades de Canaima&lt;/h2&gt;Al igual que Ubuntu y otros sistemas operativos, podemos mostrar una serie de imágenes aleatorias que informen al usuario sobre las bondades de Canaima GNU/Linux y del Software Libre mientras termina la instalación.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_NJMwNK0qBQ/TyQiJlmOakI/AAAAAAAAAiQ/fYci01F3azM/s1600/step7.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-_NJMwNK0qBQ/TyQiJlmOakI/AAAAAAAAAiQ/fYci01F3azM/s400/step7.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt; &lt;h2&gt;Paso 8: Fin de la instalación&lt;/h2&gt;Al finalizar todo exitosamente se le mostrará un pequeño diálogo al usuario para que reinicie el equipo y comience a disfrutar de las bondandes del SL.&lt;br /&gt;&lt;br /&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-h_dyVEoP9yg/TyQiZ9oybAI/AAAAAAAAAic/cyAOtHb0_vM/s1600/step8.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="300" width="400" src="http://4.bp.blogspot.com/-h_dyVEoP9yg/TyQiZ9oybAI/AAAAAAAAAic/cyAOtHb0_vM/s400/step8.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt; Bueno, esta es mi idea de lo que debería ser un instalador fácil e intuitivo para Canaima GNU/Linux. Se escuchan comentarios  Update para los haters: Sí, mi propuesta está basada casi enteramente en el instalador de Ubuntu porque me parece un excelente instalador ¿Cuál es el problema con eso?  &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-4464993311846558337?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/4464993311846558337/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=4464993311846558337&amp;isPopup=true' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/4464993311846558337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/4464993311846558337'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2012/01/mi-propuesta-para-canaima-instalador.html' title='Mi propuesta para Canaima-Instalador'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7XF-1sN7xxo/TyQbUmdxe4I/AAAAAAAAAhI/Ox3CVVfcIXI/s72-c/step1.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-7319768467489278167</id><published>2011-10-31T17:00:00.000-07:00</published><updated>2011-10-31T18:59:22.490-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Configurar el Touchpad Synaptics de una HP Pavilion dm4 en Debian</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;En un artículo anterior expliqué &lt;a href="http://damncorner.blogspot.com/2011/10/configurar-video-intel-i915-kms-en.html"&gt;cómo configurar el video Intel i915 con KMS en una HP Pavilion dm4&lt;/a&gt;. Esta vez explicaré cómo configurar el Touchpad Synaptics de esa misma laptop.&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Leer el manual&lt;/h2&gt; Lo primero que debes hacer si deseas configurar correctamente el Touchpad es leer el manual (&lt;a href="http://es.wikipedia.org/wiki/RTFM"&gt;RTFM&lt;/a&gt;).  &lt;code&gt;&lt;pre&gt;$ man synaptics&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Yo configuré el touchpad a mi gusto, así que puedes probarlo y si no te gusta lo adaptas al tuyo. Sin embargo es una tarea de ensayo y error que no podrás completar a menos que conozcas todas las opciones que tienes disponibles.&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Dependencias&lt;/h2&gt; Lo único que necesitamos es un Xorg bien configurado y los drivers synaptics. Para instalar los drivers ejecutamos:  &lt;code&gt;&lt;pre&gt;# aptitude install xserver-xorg-input-synaptics&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Entender cómo funciona el Touchpad&lt;/h2&gt; Básicamente no es un Touchpad, es un ClickPad y eso lo hace un poco especial. ¿Diferencias? Pues la superficie táctil también funciona como botón, que actua como uno u otro (left, right) dependiendo de la zona que se presione. No tenemos un área táctil con unos botones separados, tenemos con todo incluido, eso debe quedar &lt;b&gt;muy&lt;/b&gt; claro.&lt;br/&gt;&lt;br/&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JVY7vsd-wd0/TqsNC3o8lyI/AAAAAAAAAfg/QoE3jTEQQg4/s1600/touchpad.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://1.bp.blogspot.com/-JVY7vsd-wd0/TqsNC3o8lyI/AAAAAAAAAfg/QoE3jTEQQg4/s320/touchpad.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Configuración&lt;/h2&gt; Xorg provee una serie de plantillas predeterminadas para la configuración de dispositivos. Estas plantillas se encuentran en &lt;b&gt;/usr/share/X11/xorg.conf.d/&lt;/b&gt; y basta con copiar a &lt;b&gt;/etc/X11/xorg.conf.d/&lt;/b&gt; la que necesitemos y comenzar a modificarla. Xorg se encargará de cargar estos valores luego de los valores predeterminados. Para nuestro caso usaremos la plantilla &lt;b&gt;50-synaptics.conf&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt; &lt;code&gt;&lt;pre&gt;# mkdir /etc/X11/xorg.conf.d/&lt;br /&gt;# cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d/&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; Lo que haremos será modificar el &lt;b&gt;InputClass&lt;/b&gt; para agregar los parámetros que deseamos configurar. En el manual de synaptics tenemos bien documentados cada una de las opciones con su descripción y posibles valores. &lt;br/&gt;&lt;br/&gt; Mi configuración quedó así:&lt;br/&gt; &lt;code&gt;&lt;pre&gt;Section "InputClass"&lt;br /&gt;    Identifier  "touchpad catchall"&lt;br /&gt;    Driver      "synaptics"&lt;br /&gt;    MatchIsTouchpad "on"&lt;br /&gt;    MatchDevicePath "/dev/input/event*" &lt;br /&gt;        Option      "Protocol" "auto-dev"&lt;br /&gt;        Option      "SHMConfig" "true"&lt;br /&gt;        # Edges&lt;br /&gt;        Option      "LeftEdge" "1500"&lt;br /&gt;        Option      "RightEdge" "5200"&lt;br /&gt;        Option      "TopEdge" "1350"&lt;br /&gt;        Option      "BottomEdge" "3500"&lt;br /&gt;        # Finger press&lt;br /&gt;        Option      "FingerLow" "24"&lt;br /&gt;        Option      "FingerHigh" "29"&lt;br /&gt;        Option      "FingerPress" "255"&lt;br /&gt;        # Taps time&lt;br /&gt;        Option      "MaxTapTime" "180"&lt;br /&gt;        Option      "MaxTapMove" "220"&lt;br /&gt;        Option      "MaxDoubleTapTime" "180"&lt;br /&gt;        Option      "SingleTapTimeout" "180"&lt;br /&gt;        Option      "ClickTime" "100"&lt;br /&gt;        Option      "FastTaps" "100"&lt;br /&gt;        # Emulate&lt;br /&gt;        Option      "EmulateMidButtonTime" "75"&lt;br /&gt;        Option      "EmulateTwoFingerMinZ" "70"&lt;br /&gt;        Option      "EmulateTwoFingerMinW" "5"&lt;br /&gt;        # Scrolling&lt;br /&gt;        Option      "VertScrollDelta" "100"&lt;br /&gt;        Option      "HorizScrollDelta" "0"&lt;br /&gt;        Option      "VertEdgeScroll" "1"&lt;br /&gt;        Option      "HorizEdgeScroll" "0"&lt;br /&gt;        Option      "CornerCoasting" "0"&lt;br /&gt;        Option      "VertTwoFingerScroll" "1"&lt;br /&gt;        Option      "HorizTwoFingerScroll" "1"&lt;br /&gt;        # Pointer speed&lt;br /&gt;        Option      "MinSpeed" "0.1"&lt;br /&gt;        Option      "MaxSpeed" "1.0"&lt;br /&gt;        Option      "AccelFactor" "0.75"&lt;br /&gt;        Option      "TrackstickSpeed" "0"&lt;br /&gt;        Option      "EdgeMotionMinZ" "29"&lt;br /&gt;        Option      "EdgeMotionMaxZ" "159"&lt;br /&gt;        Option      "EdgeMotionMinSpeed" "1"&lt;br /&gt;        Option      "EdgeMotionMaxSpeed" "401"&lt;br /&gt;        Option      "EdgeMotionUseAlways" "0"&lt;br /&gt;        # Scrolling flags&lt;br /&gt;        Option      "UpDownScrolling" "1"&lt;br /&gt;        Option      "LeftRightScrolling" "1"&lt;br /&gt;        Option      "UpDownScrollRepeat" "1"&lt;br /&gt;        Option      "LeftRightScrollRepeat" "1"&lt;br /&gt;        Option      "ScrollButtonRepeat" "100"&lt;br /&gt;        # Touchpad mouse on/off&lt;br /&gt;        Option      "TouchpadOff" "0"&lt;br /&gt;        Option      "GuestMouseOff" "0"&lt;br /&gt;        # Dragging&lt;br /&gt;        Option      "LockedDrags" "0"&lt;br /&gt;        Option      "LockedDragsTimeout" "5000"&lt;br /&gt;        # Corners&lt;br /&gt;        Option      "RTCornerButton" "0"&lt;br /&gt;        Option      "RBCornerButton" "2"&lt;br /&gt;        Option      "LTCornerButton" "0"&lt;br /&gt;        Option      "LBCornerButton" "1"&lt;br /&gt;        # Tap&lt;br /&gt;        Option      "TapButton1" "1"&lt;br /&gt;        Option      "TapButton2" "3"&lt;br /&gt;        Option      "TapButton3" "2"&lt;br /&gt;        # Click&lt;br /&gt;        Option      "ClickFinger1" "1"&lt;br /&gt;        Option      "ClickFinger2" "0"&lt;br /&gt;        Option      "ClickFinger3" "0"&lt;br /&gt;        # Circular&lt;br /&gt;        Option      "CircularScrolling" "0"&lt;br /&gt;        Option      "CircScrollDelta" "0.1"&lt;br /&gt;        Option      "CircScrollTrigger" "0"&lt;br /&gt;        Option      "CircularPad" "0"&lt;br /&gt;        # Palm&lt;br /&gt;        Option      "PalmDetect" "1"&lt;br /&gt;        Option      "PalmMinWidth" "10"&lt;br /&gt;        Option      "PalmMinZ" "199"&lt;br /&gt;        Option      "CoastingSpeed" "0"&lt;br /&gt;        # Grab&lt;br /&gt;        Option      "GrabEventDevice" "1"&lt;br /&gt;        Option      "TapAndDragGesture" "1"&lt;br /&gt;        # Area&lt;br /&gt;        Option      "AreaLeftEdge" "0"&lt;br /&gt;        Option      "AreaRightEdge" "0"&lt;br /&gt;        Option      "AreaTopEdge" "0"&lt;br /&gt;        Option      "AreaBottomEdge" "3500"&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section "InputClass"&lt;br /&gt;    Identifier  "Ignore mouse devs"&lt;br /&gt;    MatchDevicePath "/dev/input/mouse*"&lt;br /&gt;    Driver      "synaptics"&lt;br /&gt;    Option      "Ignore" "on"&lt;br /&gt;EndSection&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; No explicaré en detalle cada una de las opciones (para eso está el manual de synaptics), solo explicaré las más relevantes o las "problemáticas".  Lo primero es ignorar las pulsaciones en el área de los botones. Para eso definimos el rango de acción del dispositivo (límites):  &lt;code&gt;&lt;pre&gt;&lt;br /&gt;        # Edges&lt;br /&gt;        Option      "LeftEdge" "1500"&lt;br /&gt;        Option      "RightEdge" "5200"&lt;br /&gt;        Option      "TopEdge" "1350"&lt;br /&gt;        Option      "BottomEdge" "3500"&lt;br /&gt;&lt;br /&gt;        # Area&lt;br /&gt;        Option      "AreaLeftEdge" "0"&lt;br /&gt;        Option      "AreaRightEdge" "0"&lt;br /&gt;        Option      "AreaTopEdge" "0"&lt;br /&gt;        Option      "AreaBottomEdge" "3500"&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; Colocando el límite inferior (BottomEdge y AreaBottomEdge) en 3500 evitamos que el cursor se mueva al pasar sobre el área de botones. Estableciendo el límite derecho (RightEdge) a 5200 evitamos que el cursor se mueva en la columna derecha (para habilitar la zona de scrolling vertical). La imagen a continuación ilustra estos ajustes:&lt;br/&gt;&lt;br/&gt; &lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-r9UTU3Ok8Wk/TqshHvbwbqI/AAAAAAAAAfs/BKN0gEvDY0U/s1600/touchpad-grid.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="240" width="320" src="http://4.bp.blogspot.com/-r9UTU3Ok8Wk/TqshHvbwbqI/AAAAAAAAAfs/BKN0gEvDY0U/s320/touchpad-grid.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt; El dispositivo solo tiene un botón y a simple vista no encontré la forma de configurarlo para que funcione como ambos. Estuve &lt;a href="http://vejeta.com/portal/Members/zoperman/chuletas/gnu/soporte-para-los-clickpad-en-hp-pavillion-dv7-4160es"&gt;compilando el driver synaptics&lt;/a&gt; con un &lt;a href="http://www.spinics.net/lists/linux-input/msg08198.html"&gt;patch para agregar el soporte de clickpads&lt;/a&gt; pero no he logrado generar el .ko, así que simplemente dejé su funcionamiento por defecto (left click) y configuré el click izquierdo con tap, el doble click con doble tap y el click derecho con tap de dos dedos. &lt;br/&gt;&lt;br/&gt; Eso podemos verlo en:  &lt;code&gt;&lt;pre&gt;&lt;br /&gt;        # Tap&lt;br /&gt;        Option      "TapButton1" "1"&lt;br /&gt;        Option      "TapButton2" "3"&lt;br /&gt;        Option      "TapButton3" "2"&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; El botón para activar/desactivar el clickpad tampoco pude hacerlo funcionar pero creo que es cuestión de seguir trasteando hasta lograr una solución. Además de eso, el resto de la configuración es el ajuste de valores para la sensibilidad, aceleración y velocidad del puntero, pero eso lo dejo como tarea para el lector.&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Tarea para la casa&lt;/h2&gt; Una de las herramientas más importantes para lograr una efectiva configuración es &lt;b&gt;synclient&lt;/b&gt;. Gracias a esta herramienta pude determinar las coordenadas que definen los límites de mi dispositivo (que en las imágenes de arriba están marcados con azul y rojo) y verificar los valores de configuración &lt;br/&gt;&lt;br/&gt; Usando el siguiente comando podemos verificar la actividad del touchpad en vivo:  &lt;code&gt;&lt;pre&gt;$ synclient -m 10&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; La salida debería ser algo como:  &lt;code&gt;&lt;pre&gt;   time     x    y   z f  w  l r u d m     multi  gl gm gr gdx gdy&lt;br /&gt; 874.169  5392 4317   3 0  0  0 0 0 0 0  00000000&lt;br /&gt; 874.269  5392 4317   0 0  0  0 0 0 0 0  00000000&lt;br /&gt; 874.670  5392 4317   1 0  0  0 0 0 0 0  00000000&lt;br /&gt; 874.770  5392 4317   7 0  0  0 0 0 0 0  00000000&lt;br /&gt; 874.870  4143 1708   9 1 11  0 0 0 0 0  00000000&lt;br /&gt; 874.970  4225 1811   3 0  0  0 0 0 0 0  00000000&lt;br /&gt; 875.070  4225 1811   2 0  0  0 0 0 0 0  00000000&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Donde: &lt;ul&gt;&lt;li&gt;&lt;b&gt;x, y&lt;/b&gt;: definen las coordenadas de la pulsación&lt;/li&gt;&lt;li&gt;&lt;b&gt;z&lt;/b&gt;: la presión aplicada&lt;/li&gt;&lt;li&gt;&lt;b&gt;f&lt;/b&gt;: el número de dedos tocando la superficie&lt;/li&gt;&lt;li&gt;&lt;b&gt;w&lt;/b&gt;: es una medida del ancho del dedo&lt;/li&gt;&lt;li&gt;&lt;b&gt;l,r,m&lt;/b&gt;: el estado de los botones left, right y middle&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;Para más información:  &lt;code&gt;&lt;pre&gt;$ man synclient&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Espero que con esta guía puedas configurar tu ClickPad y usarlo decentemente. Me queda pendiente por investigar la función de deshabilitar el touchpad mientras se escribe, los botones left-right y el botón para activar. Cuando lo logré postearé nuevamente :)&lt;br/&gt;&lt;br/&gt;  Fuentes: &lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://wiki.debian.org/SynapticsTouchpad"&gt;http://wiki.debian.org/SynapticsTouchpad&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://wiki.archlinux.org/index.php/Touchpad_Synaptics"&gt;https://wiki.archlinux.org/index.php/Touchpad_Synaptics&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sansmicrosoft.blogspot.com/2010/10/pavilion-dm4-1160-touchpad-erratic-bis.html"&gt;http://sansmicrosoft.blogspot.com/2010/10/pavilion-dm4-1160-touchpad-erratic-bis.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://bugs.archlinux.org/task/20830"&gt;https://bugs.archlinux.org/task/20830&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html"&gt;http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://askubuntu.com/questions/15208/touchpad-issues-on-hp-pavilion-dm4-cant-right-click"&gt;http://askubuntu.com/questions/15208/touchpad-issues-on-hp-pavilion-dm4-cant-right-click&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-7319768467489278167?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/7319768467489278167/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=7319768467489278167&amp;isPopup=true' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/7319768467489278167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/7319768467489278167'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/10/configurar-el-touchpad-synaptics-de-una.html' title='Configurar el Touchpad Synaptics de una HP Pavilion dm4 en Debian'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-JVY7vsd-wd0/TqsNC3o8lyI/AAAAAAAAAfg/QoE3jTEQQg4/s72-c/touchpad.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-6506690758820122373</id><published>2011-10-28T12:23:00.000-07:00</published><updated>2011-10-28T12:23:54.185-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorios'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Configurar video Intel i915 + KMS en Debian Wheezy</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Es esta receta explicaré como configurar y activar el &lt;a href="http://en.wikipedia.org/wiki/Mode-setting"&gt;KMS&lt;/a&gt; (Kernel Mode Setting) con el driver Intel i915 en una &lt;b&gt;HP Pavilion dm4&lt;/b&gt; . Las instrucciones están hechas para &lt;b&gt;Debian Wheezy&lt;/b&gt; (testing a la fecha) y requiere de un &lt;b&gt;kernel &gt;= 2.6.29&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Instalar dependencias&lt;/h2&gt; Suponiendo que tenemos Xorg instalado y corriendo (quizás funcionando con el driver vesa) procedemos instalar el driver intel y sus dependencias:&lt;br/&gt; &lt;code&gt;&lt;pre&gt;# aptitude install libgl1-mesa-glx libglu1-mesa xserver-xorg-video-intel mesa-utils&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; &lt;h2&gt;Activar el KMS&lt;/h2&gt; Luego vamos al archivo &lt;b&gt;/etc/modprobe.d/i915-kms.conf&lt;/b&gt; y agregamos la línea:   &lt;code&gt;&lt;pre&gt;options i915 modeset=1&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Regeneramos la imagen del kernel con:  &lt;code&gt;&lt;pre&gt;# update-initramfs -u&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Editamos el archivo &lt;b&gt;/etc/default/grub&lt;/b&gt; y modificamos esta línea:  &lt;code&gt;&lt;pre&gt;GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.modeset=1 video=LVDS-1:e"&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;El parámetro &lt;b&gt;i915.modeset=1&lt;/b&gt; habilita el KMS al momento del booteo y para que la pantalla no se quede en negro luego de cargar el módulo, debemos agregar el parámetro &lt;b&gt;video=LVDS-1:e&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt; Es importante no cargar ningún otro driver para framebuffer que no sea el de Intel y eliminar de los parámetros de booteo cualquier opción del tipo &lt;b&gt;vga=xxx&lt;/b&gt; o &lt;b&gt;video=xxx&lt;/b&gt;.&lt;br/&gt;&lt;br/&gt;  El parámetro &lt;b&gt;video=LVDS-1:e&lt;/b&gt; tiene una razón de ser muy particular. El BIOS de esta máquina tiene un bug; cuando inicia, indica erróneamente que la tapa de la laptop está cerrada. El kernel, basándose en esa información, manda a apagar la pantalla y por eso todo se queda en negro, no es que se congela ni que deja de funcionar. Pueden corroborar esto cerrando y abriendo la tapa de la laptop cuando se apaga. Verán que el video vuelve mágicamente y que el equipo no se había detenido, seguía funcionando pero a ciegas.&lt;br/&gt;&lt;br/&gt; Es bien conocido que el kernel no usa el BIOS para casi ninguna de sus tareas, sin embargo a partir del kernel 2.6.32 los desarrolladores decidieron "escuchar" al BIOS en este tipo de eventos, así que hasta que no se masifique el patch que corrige la situación debemos aplicar este correctivo.&lt;br/&gt;&lt;br/&gt; Si desean más información pueden revisar el reporte y la &lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/515246"&gt;resolución del bug en Launchpad&lt;/a&gt; o el &lt;a href="http://lists.freedesktop.org/archives/intel-gfx/2010-March/006240.html"&gt;reporte del error en fredesktop.org&lt;/a&gt;&lt;br/&gt;&lt;br/&gt; Luego de ese paréntesis técnico continuamos con nuestra configuración. Reconfiguramos el grub para que se apliquen los cambios anteriores: &lt;br/&gt;&lt;code&gt;&lt;pre&gt;# update-grub&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; &lt;h2&gt;Configuración de Xorg&lt;/h2&gt; Lo siguiente es crear y personalizar el archivo de configuración de Xorg. &lt;br/&gt;&lt;br/&gt; A partir de la versión 1.8, Xorg ya no necesita archivos de configuración. En lugar de eso intenta detectar y configurar todo el hardware (video y dispositivos de entrada) por si mismo. Sin embargo existen casos especiales que requieren algunos "ajustes". Este es uno de esos casos.&lt;br/&gt;&lt;br/&gt; Procedemos entonces a detener el servidor X. Si tenemos un entorno de escritorio basta con detener el gestor de sesión (gdm, kdm, slim, xdm, etc), sino matamos las X.&lt;br/&gt;&lt;br/&gt; Hecho esto pasamos a ejecutar:  &lt;code&gt;&lt;pre&gt;# Xorg -configure&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Eso debería generarnos un archivo &lt;b&gt;xorg.conf.new&lt;/b&gt; que servirá como base. A ese archivo le editamos la sección "&lt;b&gt;Device&lt;/b&gt;" para que nos quede algo como:  &lt;code&gt;&lt;pre&gt;Section "Device"&lt;br /&gt;        Option      "DRI"                       "True"&lt;br /&gt;        Option      "Tiling"                    "True"&lt;br /&gt;        Option      "XAANoOffscreenPixmaps"     "True"&lt;br /&gt;        Identifier  "Card0"&lt;br /&gt;        Driver      "intel"&lt;br /&gt;        BusID       "PCI:0:2:0"&lt;br /&gt;EndSection&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Y agregamos al final del archivo la siguiente sección:  &lt;code&gt;&lt;pre&gt;Section "Extensions"&lt;br /&gt;        Option          "Composite" "enable"&lt;br /&gt;EndSection&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt;Observen que indicamos el driver de video y algunas opciones para mejorar el desempeño gráfico. Si conocen otras opciones (que apliquen para tarjetas Intel) también pueden agregarlas acá.&lt;br/&gt;&lt;br/&gt; Con esto terminamos nuestra configuración del servidor X.&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Reiniciar&lt;/h2&gt; Reiniciamos y ya deberíamos disfrutar de nuestro video usando KMS. Verán que la transición entre modos de video es casi instantánea y el parpadeo se redujo considerablemente. Además de que compiz y todas esas yerbas aromáticas se ven con una suavidad asombrosa.&lt;br/&gt;&lt;br/&gt; &lt;h2&gt;Deshabilitar el KMS&lt;/h2&gt; Si desean deshabilitar el KMS basta con desactivar el modeset en la línea:  &lt;code&gt;&lt;pre&gt;GRUB_CMDLINE_LINUX_DEFAULT="quiet i915.modeset=0 video=LVDS-1:e"&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; Reconfiguramos el grub:  &lt;code&gt;&lt;pre&gt;# update-grub&lt;/pre&gt;&lt;/code&gt;&lt;br/&gt; Y KMS desactivado.&lt;br/&gt;&lt;br/&gt; Espero que esta receta les haya servido de ayuda. En un próximo post explicaré cómo configurar el Touchpad Synaptics.&lt;br/&gt;&lt;br/&gt; Fuentes:&lt;br&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://wiki.debian.org/KernelModesetting"&gt;http://wiki.debian.org/KernelModesetting&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://wiki.archlinux.org/index.php/Intel"&gt;https://wiki.archlinux.org/index.php/Intel&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.gentoo-wiki.com/wiki/Intel_GMA"&gt;http://en.gentoo-wiki.com/wiki/Intel_GMA&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-6506690758820122373?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/6506690758820122373/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=6506690758820122373&amp;isPopup=true' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/6506690758820122373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/6506690758820122373'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/10/configurar-video-intel-i915-kms-en.html' title='Configurar video Intel i915 + KMS en Debian Wheezy'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-4644986082447913905</id><published>2011-09-17T18:12:00.000-07:00</published><updated>2011-10-29T20:57:03.765-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Tips'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Obtener audio de un video de Youtube</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;¿No les ha pasado que a veces encuentran en Youtube videos que son unas verdaderas joyas musicales y les gustaría tenerlos en su colección musical? Bueno con este truco es muy fácil hacerlo.&lt;br/&gt;&lt;br/&gt; Primero instalamos el Youtube Downloader. Desde Debian sería:&lt;br/&gt; &lt;code&gt;# aptitude install youtube-dl&lt;/code&gt;&lt;br/&gt; Instalamos el ffmpeg (en caso de no tenerlo):&lt;br/&gt; &lt;code&gt;# aptitude install ffmpeg&lt;/code&gt;&lt;br/&gt; Luego descargamosel video desde Youtube y extraemos el audio:&lt;br/&gt; &lt;code&gt;$ youtube-dl &lt;url_del_video&gt; --extract-audio&lt;/code&gt;&lt;br/&gt; Eso nos generará un archivo .aac, ahora procedemos a convertirlo a mp3 (o al formato de nuestra preferencia):&lt;br/&gt; &lt;code&gt;$ ffmpeg -i &lt;nombre_del_archivo&gt;.aac -ar 22050 -ab 32 &lt;nombre_del_archivo&gt;.mp3&lt;/code&gt;&lt;br/&gt; Y ya podremos disfrutar de la pieza de audio en nuestro reproductor favorito a partir del video de Youtube&lt;br/&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-4644986082447913905?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/4644986082447913905/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=4644986082447913905&amp;isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/4644986082447913905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/4644986082447913905'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/09/obtener-audio-de-un-video-de-youtube.html' title='Obtener audio de un video de Youtube'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-3709024637007618841</id><published>2011-05-28T09:32:00.000-07:00</published><updated>2011-05-28T09:32:54.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Instalaciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Instalar RVM en Debian Wheezy</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;a href="https://rvm.beginrescueend.com/"&gt;RVM&lt;/a&gt; (Ruby Version Manager) es una fantástica herramienta que te permite gestionar muchas versiones de Ruby (y de sus gemas) en un mismo equipo. Las gemas se manejan mediante contenedores (gemsets), allí puedes instalar lo que desees sin afectar el resto de los componentes. Es un principio muy parecido al de las máquinas virtuales.&lt;br /&gt;&lt;br /&gt;La receta es para Debian pero se puede aplicar para cualquier distro, solo hay que tener en cuenta  los nombres de los paquetes a instalar.&lt;br /&gt;&lt;br /&gt;Comencemos entonces con las dependencias. Necesitamos git, las herramientas básicas para compilar, los fuentes del readline y del ssl:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# aptitude install libreadline5-dev git curl build-essential libssl-dev&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego, como usuario ejecutamos el siguiente script:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ bash &lt; &lt;(curl -s https://rvm.beginrescueend.com/install/rvm)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ese script descarga rvm de git, lo compila y lo instala. Antes de usarlo debemos agregar una línea a nuestro .bash_profile, para eso ejecutamos:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;&amp; . "$HOME/.rvm/scripts/rvm" # Load RVM function' &gt;&gt; ~/.bash_profile&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Hacemos un:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ source ~/.bash_profile&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y verificamos que todo haya salido bien:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ type rvm | head -1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;El resultado de ese comando debería ser: &lt;b&gt;rvm es una función&lt;/b&gt;. Si no obtenemos ese resultado algo ha ido mal. Les recomiendo entonces revisar la &lt;a href="https://rvm.beginrescueend.com/rvm/install/"&gt;documentación de instalación&lt;/a&gt; o la &lt;a href="https://rvm.beginrescueend.com/support/troubleshooting/"&gt;página de problemas solucionados&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ahora podemos ejecutar rvm como un comando más de consola. Instalemos un par de paquetes que nos harán falta antes de instalar una versión de Ruby:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm package install openssl&lt;br /&gt;$ rvm package install readline&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Instalamos una versión de Ruby (por ejemplo: 1.8.7):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm install 1.8.7&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y configuramos la versión que deseamos usar por defecto en el sistema:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm use 1.8.7 --default&lt;br /&gt;Using /home/tu_usuario/.rvm/gems/ruby-1.8.7-p334&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora podemos crear gemsets a placer, por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm gemset create pruebas1&lt;br /&gt;'pruebas1' gemset created (/home/tu_usuario/.rvm/gems/ruby-1.8.7-p334@pruebas1).&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Notese que el &lt;b&gt;@&lt;/b&gt; en el mensaje anterior nos indica que el gemset ha sido asociado a la versión 1.8.7 de Ruby que habíamos instalado (y seleccionado para usar) previamente. Ahora instalemos otro gemset de pruebas para entender la magia del asunto.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm gemset create pruebas2&lt;br /&gt;'pruebas2' gemset created (/home/tu_usuario/.rvm/gems/ruby-1.8.7-p334@pruebas2).&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Podemos movernos a través de los gemsets usando el comando &lt;b&gt;use&lt;/b&gt; con la siguiente forma:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm use 1.8.7@pruebas1&lt;br /&gt;Using /home/tu_usuario/.rvm/gems/ruby-1.8.7-p334 with gemset pruebas1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora probemos instalar una gema en el contenedor 'pruebas1':&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ gem install xml-simple --no-rdoc --no-ri&lt;br /&gt;Fetching: xml-simple-1.0.15.gem (100%)&lt;br /&gt;Successfully installed xml-simple-1.0.15&lt;br /&gt;1 gem installed&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Particularmente uso los argumentos &lt;b&gt;--no-rdoc --no-ri&lt;/b&gt; para evitar la instalación de la documentación y otros archivos adicionales que no utilizo y demoran considerablemente la puesta a punto de la gema.&lt;br /&gt;&lt;br /&gt;Veamos entonces qué tenemos ahora en 'pruebas1':&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ gem list --local&lt;br /&gt;&lt;br /&gt;*** LOCAL GEMS ***&lt;br /&gt;&lt;br /&gt;rake (0.8.7)&lt;br /&gt;xml-simple (1.0.15)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Una nueva gema instalada en nuestro gemset. Y en 'pruebas2' ¿qué tenemos?:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm use 1.8.7@pruebas2&lt;br /&gt;Using /home/tu_usuario/.rvm/gems/ruby-1.8.7-p334 with gemset pruebas2&lt;br /&gt;&lt;br /&gt;$ gem list --local&lt;br /&gt;&lt;br /&gt;*** LOCAL GEMS ***&lt;br /&gt;&lt;br /&gt;rake (0.8.7)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;¡Oh! No tenemos nada instalado. Eso quiere decir que nuestros contenedores están aislados uno del otro y que podemos instalar cosas que cada uno de ellos sin temor a romper algo en el otro (siempre teniendo cuidado del gemset que está en uso).&lt;br /&gt;&lt;br /&gt;Si en algún momento dañamos un gemset basta con ejecutar:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm gemset delete pruebas1&lt;br /&gt;WARN: Are you SURE you wish to remove the entire gemset directory 'pruebas1' (/home/tu_usuario/.rvm/gems/ruby-1.8.7-p334@pruebas1)?&lt;br /&gt;(anything other than 'yes' will cancel) &gt; &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Respondemos &lt;b&gt;yes&lt;/b&gt; y listo, desaparece el gemset con todo lo que tenía adentro.&lt;br /&gt;&lt;br /&gt;Muy bonito todo, pero se preguntarán ¿Cómo le digo a un determinado proyecto que use un gemset específico? ¿O es que debo especificarle manualmente que gemset utilizará cada vez que vaya a ejecutarlo?&lt;br /&gt;&lt;br /&gt;Pues la respuesta es muy simple, basta con crear un archivo &lt;b&gt;.rvmrc&lt;/b&gt; en la raíz del proyecto con algo parecido a esto:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;rvm use 1.8.7@pruebas2&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y desde ese momento, todo lo que está dentro de esa carpeta usará la versión del Ruby y el gemset especificado en el archivo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTA: Es importante aclarar que Ruby, RubyGems, las gemas o cualquier otras cosa relacionada NO debe instalarse usando la paquetería de la distribución. TODO debe manejarse a través RVM, de lo contrario corromperemos toda la instalación.&lt;br /&gt;&lt;br /&gt;Espero que esta receta les sea de utilidad, a mi me ha cambiado la vida xD&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-3709024637007618841?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/3709024637007618841/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=3709024637007618841&amp;isPopup=true' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3709024637007618841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3709024637007618841'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/05/instalar-rvm-en-debian-wheezy.html' title='Instalar RVM en Debian Wheezy'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-4015992075117637582</id><published>2011-05-24T21:34:00.000-07:00</published><updated>2011-05-28T07:39:58.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Debian Wheezy sin interfaz inalámbrica luego de un safe-upgrade</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Me ocurrió hace unos días que actualicé mi Debian y repentinamente me quedé sin conexión inalámbrica. Uso Debian Testing (Wheezy para la fecha) en una HP Pavilion dv2000 y la tarjeta de red inalámbrica es una Intel PRO/Wireless 4965 AG.&lt;br /&gt;&lt;br /&gt;Leyendo y leyendo diferentes manuales todos afirmaban que con solo instalar el paquete firmware-iwlwifi del repo non-free la cosa funcionaba a la perfección y me constaba porque así lo había hecho en un principio. Sin embargo, luego de actualizar no anduvo más y lo curioso es que el &lt;b&gt;lspci&lt;/b&gt; me devolvía señales de vida:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;07:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;El paquete en efecto estaba instalado:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ aptitude search iwl | grep ^i&lt;br /&gt;i   firmware-iwlwifi                - Binary firmware for Intel Wireless 3945, 4&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;El &lt;b&gt;lsmod&lt;/b&gt; me mostraba los módulos cargados y todo estaba bien:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;$ lsmod | grep iwl&lt;br /&gt;iwlagn                122417  0 &lt;br /&gt;iwlcore                50368  1 iwlagn&lt;br /&gt;mac80211              160285  2 iwlagn,iwlcore&lt;br /&gt;cfg80211              106889  3 iwlagn,iwlcore,mac80211&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Incluso, los binarios del firmware también parecían estar en orden:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# find / -name "*ucode*"&lt;br /&gt;/sys/module/iwlagn/parameters/ucode_alternative&lt;br /&gt;/lib/firmware/iwlwifi-6050-5.ucode&lt;br /&gt;/lib/firmware/iwlwifi-3945-2.ucode&lt;br /&gt;/lib/firmware/iwlwifi-6000g2b-5.ucode&lt;br /&gt;/lib/firmware/iwlwifi-5000-5.ucode&lt;br /&gt;/lib/firmware/iwlwifi-5000-1.ucode&lt;br /&gt;/lib/firmware/iwlwifi-4965-2.ucode&lt;br /&gt;/lib/firmware/iwlwifi-5000-2.ucode&lt;br /&gt;/lib/firmware/iwlwifi-4965-1.ucode&lt;br /&gt;/lib/firmware/iwlwifi-6000-4.ucode&lt;br /&gt;/lib/firmware/iwlwifi-6000g2a-5.ucode&lt;br /&gt;/lib/firmware/iwlwifi-1000-3.ucode&lt;br /&gt;/lib/firmware/iwlwifi-6050-4.ucode&lt;br /&gt;/lib/firmware/iwlwifi-3945-1.ucode&lt;br /&gt;/lib/firmware/iwlwifi-5150-2.ucode&lt;br /&gt;/lib/firmware/iwlwifi-100-5.ucode&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego intento ver el log del kernel y me encuentro con algo que me dio algunas pistas:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;# tail -f /var/log/syslog&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.119061] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.119064] iwlagn: Copyright(c) 2003-2010 Intel Corporation&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.119140] iwlagn 0000:07:00.0: PCI INT A -&gt; GSI 19 (level, low) -&gt; IRQ 19&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.119153] iwlagn 0000:07:00.0: setting latency timer to 64&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.119187] iwlagn 0000:07:00.0: Detected Intel(R) Wireless WiFi Link 4965AGN, REV=0x4&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.157779] iwlagn 0000:07:00.0: device EEPROM VER=0x36, CALIB=0x5&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.157782] iwlagn 0000:07:00.0: Device SKU: 0Xb&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.157979] iwlagn 0000:07:00.0: Tunable channels: 11 802.11bg, 13 802.11a channels&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.158062] iwlagn 0000:07:00.0: irq 46 for MSI/MSI-X&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; found WiFi radio killswitch rfkill4 (at /sys/devices/pci0000:00/0000:00:1c.3/0000:07:00.0/ieee80211/phy2/rfkill4) (driver &lt;unknown&gt;)&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.161805] iwlagn 0000:07:00.0: loaded firmware version 228.61.2.24&lt;br /&gt;May 24 23:03:31 mpn82 kernel: [ 6214.162128] ieee80211 phy2: Selected rate control algorithm 'iwl-agn-rs'&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]:    SCPlugin-Ifupdown: devices added (path: /sys/devices/pci0000:00/0000:00:1c.3/0000:07:00.0/net/wlan0, iface: wlan0)&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]:    SCPlugin-Ifupdown: device added (path: /sys/devices/pci0000:00/0000:00:1c.3/0000:07:00.0/net/wlan0, iface: wlan0): no ifupdown configuration found.&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): driver supports SSID scans (scan_capa 0x01).&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): new 802.11 WiFi device (driver: 'iwlagn' ifindex: 6)&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): exported as /org/freedesktop/NetworkManager/Devices/3&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): now managed&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): device state change: 1 -&gt; 2 (reason 2)&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): bringing up device.&lt;br /&gt;May 24 23:03:31 mpn82 NetworkManager[1140]: &lt;info&gt; (wlan0): deactivating device (reason: 2).&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;1.- El firmware se estaba cargando con la versión más actualizada según la &lt;a href="http://intellinuxwireless.org/?n=downloads&amp;f=ucodes_6000"&gt;página de Intel&lt;/a&gt;&lt;br /&gt;&lt;code&gt;May 24 23:03:31 mpn82 kernel: [ 6214.161805] iwlagn 0000:07:00.0: loaded firmware version 228.61.2.24&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2.- Por alguna razón la interfaz se estaba apagando luego que cargaba el NetworkManager&lt;br /&gt;&lt;br /&gt;Decidí buscar un poco en internet y me conseguí con este &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=595931"&gt;reporte de bug en Red Hat&lt;/a&gt; que involucraba al NetworkManager, la interfaz wireless y un mensaje de error muy similar al mío.&lt;br /&gt;&lt;br /&gt;Probé entonces con:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;# rfkill list&lt;br /&gt;0: hp-wifi: Wireless LAN&lt;br /&gt; Soft blocked: yes&lt;br /&gt; Hard blocked: no&lt;br /&gt;2: hp-bluetooth: Bluetooth&lt;br /&gt; Soft blocked: yes&lt;br /&gt; Hard blocked: no&lt;br /&gt;4: phy2: Wireless LAN&lt;br /&gt; Soft blocked: yes&lt;br /&gt; Hard blocked: yes&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Jum... phy2 y hp-wifi bloqueados por software, adicionalmente phy2 bloqueado por hardware. Raro, raro.&lt;br /&gt;&lt;br /&gt;Hago un:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# rfkill unblock 0 &amp;&amp; rfkill unblock 4&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y voilá, volvió a enceder el led de la interfaz inalámbrica e inmediatamente se conectó a internet :D&lt;br /&gt;&lt;br /&gt;Cosas tontas pero que te salvan la vida. Espero que les sea de utilidad&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-4015992075117637582?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/4015992075117637582/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=4015992075117637582&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/4015992075117637582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/4015992075117637582'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/05/debian-wheezy-sin-interfaz-inalambrica.html' title='Debian Wheezy sin interfaz inalámbrica luego de un safe-upgrade'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-3655889262094706106</id><published>2011-05-02T10:15:00.000-07:00</published><updated>2011-05-02T10:23:35.329-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>LoadError con el readline al intentar abrir una consola de Rails usando rvm</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Si usando rvm, intentas abrir una consola de Rails (con &lt;strong&gt;rails c&lt;/strong&gt; o con &lt;strong&gt;script/console&lt;/strong&gt;) y te escupe un error como este:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;no such file to load -- readline (LoadError)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Entonces sigue estos pasos y resolverás el problema.&lt;br /&gt;&lt;br /&gt;Primero, debemos instalar el paquete del readline en rvm (y no en el Sistema Operativo). Para eso removemos la versión actual de Ruby que podamos tener:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm remove 1.8.7&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Instalamos el paquete readline:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm install package&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;E instalamos Ruby pero indicándole la ubicación del paquete readline:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ rvm install 1.8.7 --with-readline-dir=$rvm_path/usr&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Acto seguido, entramos a la carpeta en donde rvm almacena los fuentes de las extensiones de Ruby, específicamente del readline. En mi caso:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ cd ~/.rvm/src/ruby-1.8.7-p302/ext/readline &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego (como root) instalamos las dependencias necesarias. En Debian sería:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# aptitude update&lt;br /&gt;# aptitude install libreadline5-dev&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Procedemos (como usuario) a compilar e instalar la extensión en cuestión:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ ruby extconf.rb&lt;br /&gt;$ make&lt;br /&gt;$ make install&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y con eso ya deberíamos disfrutar nuevamente de la consola interactiva de Rails sin problemas.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-3655889262094706106?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/3655889262094706106/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=3655889262094706106&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3655889262094706106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3655889262094706106'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/05/loaderror-con-el-readline-al-intentar.html' title='LoadError con el readline al intentar abrir una consola de Rails usando rvm'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-1663409157943263190</id><published>2011-04-22T07:43:00.000-07:00</published><updated>2011-04-22T07:43:54.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Habilitar la función de "tap" en un TouchPad</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;En estos días estaba usando mi netbook y me di cuenta que al hacer tap sobre el touchpad no se ejecutaba el click del ratón y no fue hasta hoy que me digné a buscar la solución. Es tan simple como agregar una línea en un archivo de texto.&lt;br /&gt;&lt;br /&gt;Buscamos el archivo &lt;strong&gt;/etc/modprobe.d/options.conf&lt;/strong&gt;, si no existe lo creamos y copiamos la siguiente línea:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;options psmouse proto=imps&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego hacemos (como root):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# modprobe -r psmouse&lt;br /&gt;# modprobe psmouse proto=imps&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y a disfrutar del tap xD&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-1663409157943263190?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/1663409157943263190/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=1663409157943263190&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1663409157943263190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1663409157943263190'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/04/habilitar-la-funcion-de-tap-en-un.html' title='Habilitar la función de &quot;tap&quot; en un TouchPad'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-1998362735487681297</id><published>2011-02-28T06:29:00.000-08:00</published><updated>2011-02-28T06:29:10.775-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Editores'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby on Rails'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Resaltado de sintaxis HAML en Gedit</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Trabajando con Ruby On Rails me ha tocado escribir código usando &lt;a href="http://haml-lang.com/"&gt;HAML&lt;/a&gt;. Particularmente no me agrada mucho (entre otras cosas porque no tiene soporte multilínea, porque no identa correctamente las cadenas de texto plano, porque agrega otra capa más de interpretación a la aplicación, etc) pero cuando toca usarlo es bueno hacerlo con un buen soporte. Y cuando hablo de soporte me refiero al resaltado de sintaxis.&lt;br /&gt;&lt;br /&gt;Para escribir código usualmente uso un editor de texto (Gedit o Geany), así que en ésta receta explicaré como agregar soporte para el resaltado de sintaxis en Gedit.&lt;br /&gt;&lt;br /&gt;Primero agregamos soporte para que las extensiones usadas comúnmente en Rails sean reconocidas por el sistema. Abrimos una terminal y escribimos:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;wget http://dl.dropbox.com/u/16349833/rails.xml &lt;br /&gt;sudo cp rails.xml /usr/share/mime/packages/rails.xml &lt;br /&gt;sudo update-mime-database /usr/share/mime&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Luego agregamos los archivos de definición de sintaxis en la carpeta del sourceview de GTK ejecutando:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;wget http://dl.dropbox.com/u/16349833/gedit_rails_syntax.zip&lt;br /&gt;sudo unzip gedit_rails_syntax.zip -d /usr/share/gtksourceview-2.0/language-specs&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora con nuestro editor de texto favorito (y como root) abrimos el archivo &lt;strong&gt;/usr/share/gtksourceview-2.0/language-specs/ruby.lang&lt;/strong&gt; para modificar el sourceview de GTK y agregar soporte para nuevas extensiones. Buscamos la línea:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;property name="globs"&gt;*.rb&lt;/property&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Y la cambiamos por:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;property name="globs"&gt;*.rb;*.rake;*.rjs&lt;/property&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Por último, abrimos el archivo &lt;strong&gt;/usr/share/gtksourceview-2.0/language-specs/html.lang&lt;/strong&gt; y buscamos la línea que dice:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;property name="globs"&gt;*..html;*.htm&lt;/property&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Y la cambiamos por:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;property name="globs"&gt;*.html;*.htm;*.erb;*.rhtml&lt;/property&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Cerramos todas las instancias de Gedit y al abrir de nuevo ya nuestro código HAML debería verse resaltado.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_vQkWFqDf5Q/TWuwoMRtFuI/AAAAAAAAAaw/CwSsl9aA-lQ/s1600/gedit-haml.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="227" width="320" src="http://3.bp.blogspot.com/-_vQkWFqDf5Q/TWuwoMRtFuI/AAAAAAAAAaw/CwSsl9aA-lQ/s320/gedit-haml.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Existen recetas que instalan una serie de plugins (con soporte para haml, rjs, etc) y te dejan al Gedit como TextMate, pero como no me gusta TextMate entonces prefiero hacerlo a patica xD&lt;br /&gt;&lt;br /&gt;Espero que la receta les haya servido de ayuda.&lt;br /&gt;&lt;br /&gt;Referencias:&lt;br /&gt;&lt;a href="http://groups.google.com/group/haml/browse_thread/thread/6c8babd81a46b6b8/b5100d80d9182c71?pli=1"&gt;http://groups.google.com/group/haml/browse_thread/thread/6c8babd81a46b6b8/b5100d80d9182c71?pli=1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.adsdevshop.com/2008/04/19/erb-syntax-highlighting-in-gedit/"&gt;http://blog.adsdevshop.com/2008/04/19/erb-syntax-highlighting-in-gedit/&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-1998362735487681297?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/1998362735487681297/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=1998362735487681297&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1998362735487681297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1998362735487681297'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2011/02/resaltado-de-sintaxis-haml-en-gedit.html' title='Resaltado de sintaxis HAML en Gedit'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-_vQkWFqDf5Q/TWuwoMRtFuI/AAAAAAAAAaw/CwSsl9aA-lQ/s72-c/gedit-haml.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-6140339565825660058</id><published>2010-07-27T13:40:00.000-07:00</published><updated>2010-07-27T13:40:13.954-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutoriales'/><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>MPD + Sonata: Una combinación perfecta para reproducir música</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Lo primero que debo aclarar antes de empezar éste post es que la forma de reproducir música con éstas herramientas es completamente diferente a la tradicional. Si no te interesa reproducir música como un verdadero geek entonces huye y busca otras aplicaciones, éstas no son para tí.&lt;br /&gt;&lt;br /&gt;Si eres valiente, continuemos entonces. MPD es un demonio (o sea un servicio) para reproducir música, corre en segundo plano y no tiene interfaz gráfica. De hecho se inicia como cualquier otro servicio de tu equipo (red, hal, udev, etc).&lt;br /&gt;&lt;br /&gt;¿Cómo demonios hago para interactuar con él? te preguntarás. Sencillo, está basado en una arquitectura cliente-servidor así que existen aplicaciones que se comunican con él (clientes) y que te permiten manejarlo. Ahí es donde entra Sonata y compañía.&lt;br /&gt;&lt;br /&gt;Lo primero que debemos hacer es instalar las dependencias:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# aptitude install mpd mpc sonata&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Yo instalaré 2 clientes, Sonata y MPC, porque quiero controlar la reproducción vía SSH desde mi celular xD (sí, sí, muy geek... pero me gusta la comodidad)&lt;br /&gt;&lt;br /&gt;Luego vamos a nuestro directorio personal, creamos la carpeta &lt;b&gt;.mpd&lt;/b&gt; y dentro de ésta creamos dos carpetas más, &lt;b&gt;playlists&lt;/b&gt; y &lt;b&gt;music&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ cd ~&lt;br /&gt;$ mkdir -p .mpd/playlists&lt;br /&gt;$ mkdir -p .mpd/music&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Dentro de la carpeta &lt;b&gt;.mpd&lt;/b&gt; creamos los archivos &lt;b&gt;mpd.db&lt;/b&gt;, &lt;b&gt;mpd.log&lt;/b&gt; y &lt;b&gt;mpd.error&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ touch .mpd/mpd.db&lt;br /&gt;$ touch .mpd/mpd.log&lt;br /&gt;$ touch .mpd/mpd.error&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora, por cada carpeta de música que tengamos en nuestro sistema creamos un enlace simbólico dentro de music:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ ln -s /ruta/de_la/carpeta1 .mpd/music&lt;br /&gt;$ ln -s /ruta/de_la/carpeta2 .mpd/music&lt;br /&gt;...&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego (como root) editamos el archivo de configuración del MPD en &lt;b&gt;/etc/mpd.conf&lt;/b&gt; y modificamos las siguientes opciones:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;music_directory     /home/tu_usuario/.mpd/music&lt;br /&gt;playlist_directory  /home/tu_usuario/.mpd/playlists&lt;br /&gt;db_file             /home/tu_usuario/.mpd/mpd.db&lt;br /&gt;log_file            /home/tu_usuario/.mpd/mpd.log&lt;br /&gt;error_file          /home/tu_usuario/.mpd/mpd.error&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Comentamos la línea de usuario para evitar problemas con los permisos:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;#user             "mpd"&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y buscamos el apartado de audio y lo configuramos para ALSA o para PulseAudio:&lt;br /&gt;&lt;br /&gt;ALSA:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;audio_output {&lt;br /&gt;        type    "alsa"&lt;br /&gt;        name    "My ALSA Device"&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;PulseAudio:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;audio_output {&lt;br /&gt;        type    "pulse"&lt;br /&gt;        name    "My PulseAudio Device"&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Establecemos un mezclador por software descomentando la siguiente línea:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;mixer_type "software"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y voilá! Luego reiniciamos el servicio y creamos la base de datos de tags:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# /etc/init.d/mpd restart --create-db&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora desde Sonata (o desde mpc) agregamos las canciones que queramos a la lista y empezamos a disfrutar. Es tan genial ésta combinación que podemos cerrar el Sonata e incluso hasta la sesión gráfica y la música seguirá sonando. &lt;br /&gt;&lt;br /&gt;Nos quedará algo tan mínimo como esto:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_oLUxtmo5LIU/TE9AHO0xDcI/AAAAAAAAAYQ/7_a-UFOMwP8/s1600/sonata_mini.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_oLUxtmo5LIU/TE9AHO0xDcI/AAAAAAAAAYQ/7_a-UFOMwP8/s450/sonata_mini.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;O en su versión extendida:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/TE9BFgUI5zI/AAAAAAAAAYY/Ep4Pr2_uWSY/s1600/sonata_ext.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/TE9BFgUI5zI/AAAAAAAAAYY/Ep4Pr2_uWSY/s470/sonata_ext.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Y con unas agradables notificaciones:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_oLUxtmo5LIU/TE9BJc4mSWI/AAAAAAAAAYg/XOM71sEPi1g/s1600/sonata_notif.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_oLUxtmo5LIU/TE9BJc4mSWI/AAAAAAAAAYg/XOM71sEPi1g/s541/sonata_notif.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Díganme... ¿No es una maravilla? Bueno de aquí en adelante los dejo para que experimenten y se enamoren.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-6140339565825660058?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/6140339565825660058/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=6140339565825660058&amp;isPopup=true' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/6140339565825660058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/6140339565825660058'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2010/07/mpd-sonata-una-combinacion-perfecta.html' title='MPD + Sonata: Una combinación perfecta para reproducir música'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_oLUxtmo5LIU/TE9AHO0xDcI/AAAAAAAAAYQ/7_a-UFOMwP8/s72-c/sonata_mini.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-2496968798639761789</id><published>2010-03-23T18:15:00.000-07:00</published><updated>2010-03-23T18:20:11.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turpial'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Turpial ahora con soporte para idiomas / Turpial now with support for languages</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;h2&gt;&lt;u&gt;Español&lt;/u&gt;&lt;/h2&gt;Turpial, el cliente Twitter con sabor Venezolano ahora tiene soporte para idiomas. Actualmente está disponible en inglés y español, pero con ésta sencilla guía puedes animarte a traducirlo a cualquier otro idioma. Es muy simple y no necesitas saber nada de programación xD&lt;br /&gt;&lt;br /&gt;Aquí vamos:&lt;br /&gt;1.- Descarga la plantilla &lt;b&gt;template.pot&lt;/b&gt; para las traducciones de &lt;a href="http://github.com/downloads/satanas/Turpial/template.pot"&gt;aquí&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.- Abre el archivo con tu editor de texto favorito y llena el encabezado del archivo con tus datos (nombre, correo e idioma de la traducción)&lt;br /&gt;&lt;br /&gt;3.- Comienza la traducción. El texto que aparece seguido de &lt;b&gt;msgid&lt;/b&gt; debes traducirlo y colocarlo en la línea inferior, justo después de &lt;b&gt;msgstr&lt;/b&gt;. Mira la imagen si tienes dudas:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/S6ljaYjLLRI/AAAAAAAAAVQ/tPw_Oui3kVQ/s1600-h/traduccion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/S6ljaYjLLRI/AAAAAAAAAVQ/tPw_Oui3kVQ/s320/traduccion.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4.- Envía la traducción a cualquier miembro del equipo: wil.alejandro, meza.eleazar, kstnshadows o milmazz, todos en gmail punto com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Recuerda lo siguiente:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;El texto traducido no puede contener errores ortográficos&lt;/li&gt;&lt;li&gt;El archivo template.pot debes abrirlo con un editor de texto plano&lt;/li&gt;&lt;li&gt;No debes traducir el texto que está en inglés, siempre la traducción va en la línea de abajo y manteniendo las comillas&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Eso es todo lo que debes hacer. Anímate y colabora con el proyecto :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;u&gt;English&lt;/u&gt;&lt;/h2&gt;Turpial, the Twitter client with Venezuelan taste now got support for languages. Actually are available english and spanish, but with this easy guide you can try to translate it to any other language. Is really easy and you don't need to know anything about programming xD&lt;br /&gt;&lt;br /&gt;Here we go...&lt;br /&gt;1.- Download the file &lt;b&gt;template.pot&lt;/b&gt; for translations &lt;a href="http://github.com/downloads/satanas/Turpial/template.pot"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.- Open the file with your favorite text editor and fill the header with your information (name, mail and language of translation)&lt;br /&gt;&lt;br /&gt;3.- Start the translation. The text that appears followed by &lt;b&gt;msgid&lt;/b&gt; must be translated and put in the line below, just after &lt;b&gt;msgstr&lt;/b&gt;. Look at the image if you're doubtful:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/S6ljriJiBnI/AAAAAAAAAVY/DES8SpyqCu8/s1600-h/translate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/S6ljriJiBnI/AAAAAAAAAVY/DES8SpyqCu8/s320/translate.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4.- Send the translation to any of the team members: wil.alejandro, meza.eleazar, kstnshadows o milmazz, all in gmail dot com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Remember this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The translated text can't contain orthographic errors&lt;/li&gt;&lt;li&gt;template.pot file must be opened with a plain text editor&lt;/li&gt;&lt;li&gt;You don't have to translate the text in English, the translation always goes in the line below and maintaining the quotation marks&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;That's all you need to do. Come on and collaborates with the project :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-2496968798639761789?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/2496968798639761789/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=2496968798639761789&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/2496968798639761789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/2496968798639761789'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2010/03/turpial-ahora-con-soporte-para-idiomas.html' title='Turpial ahora con soporte para idiomas / Turpial now with support for languages'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oLUxtmo5LIU/S6ljaYjLLRI/AAAAAAAAAVQ/tPw_Oui3kVQ/s72-c/traduccion.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-7553402927817107119</id><published>2010-03-08T16:21:00.000-08:00</published><updated>2010-03-08T16:21:47.496-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Otros'/><title type='text'>Mucho Software Libre en un solo sitio: Planeta Linux</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_oLUxtmo5LIU/S5WN4B2tXVI/AAAAAAAAAVA/mikeSic6tIo/s1600-h/pl2_200x200.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_oLUxtmo5LIU/S5WN4B2tXVI/AAAAAAAAAVA/mikeSic6tIo/s320/pl2_200x200.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://planetalinux.org/ve/index.html"&gt;Planeta Linux&lt;/a&gt; es una comunidad de usuarios, desarrolladores y activistas iberoamericanos de Software Libre en donde cada miembro cuenta el día a día del Software Libre a través de su blog. Gracias a toda la gente que hace vida en este Planeta y comparte sus experiencias con el resto de nosotros, podemos enterarnos de lo que pasa en el mundo del Software Libre, de primera mano y más fresco que el pan de cada día.&lt;br /&gt;&lt;br /&gt;Por mi parte felicito a todo el equipo responsable de ésta excelente iniciativa e invito a todos los que siguen mi blog a que hagan lo propio con Planeta Linux, no se arrepentirán. Excelentes publicaciones, noticias interesantísimas, puro Software Libre... ¡no tiene desperdicio! &lt;br /&gt;&lt;br /&gt;Desde hace unos días éste humilde blog pasa a formar parte de la gran lista de blogs que conforman Planeta Linux, así que no sigas leyendo más esto y anímate a formar parte de la comunidad xD&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-7553402927817107119?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/7553402927817107119/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=7553402927817107119&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/7553402927817107119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/7553402927817107119'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2010/03/mucho-software-libre-en-un-solo-sitio.html' title='Mucho Software Libre en un solo sitio: Planeta Linux'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oLUxtmo5LIU/S5WN4B2tXVI/AAAAAAAAAVA/mikeSic6tIo/s72-c/pl2_200x200.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-3276042063610108407</id><published>2010-03-08T15:28:00.000-08:00</published><updated>2010-03-08T15:28:55.912-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Escritorios'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Gestor de ventanas por defecto en GNOME 2.28</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Hace algún tiempo publiqué &lt;a href="http://damncorner.blogspot.com/2009/03/gestor-de-ventanas-por-defecto-en-gnome.html"&gt;cómo configurar el gestor de ventanas por defecto en GNOME&lt;/a&gt;. Esa receta fue probada con éxito en el GNOME de ese entonces (si mal no recuerdo era algo como 2.22 o 2.24) pero al intentar usarla en mi nuevo GNOME 2.28, simplemente no funcionó.&lt;br /&gt;&lt;br /&gt;La cuestión es que ahora el GNOME ignora la variable de entorno WINDOW_MANAGER y la clave de gconf &lt;b&gt;/desktop/gnome/applications/window_manager&lt;/b&gt;. La nueva forma de configurar el gestor de ventanas por defecto es mediante la clave &lt;b&gt;/desktop/gnome/session/required_components/windowmanager&lt;/b&gt;. Allí simplemente colocamos el comando de nuestro gestor de ventanas preferido (en mi caso compiz) y voilá.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-3276042063610108407?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/3276042063610108407/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=3276042063610108407&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3276042063610108407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3276042063610108407'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2010/03/gestor-de-ventanas-por-defecto-en-gnome.html' title='Gestor de ventanas por defecto en GNOME 2.28'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-3573786350902873170</id><published>2010-01-11T20:01:00.000-08:00</published><updated>2010-01-14T21:35:54.702-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turpial'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='PyGTK'/><title type='text'>Publicado Turpial 0.8: Más criollo que una arepa</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/SwOKfnMYVkI/AAAAAAAAAQk/0cv6XXOmIvo/s1600/turpial.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/SwOKfnMYVkI/AAAAAAAAAQk/0cv6XXOmIvo/s320/turpial.png" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;Hace aproximadamente un par de meses hice oficialmente la &lt;a href="http://damncorner.blogspot.com/2009/11/turpial-un-cliente-twitter-para.html"&gt;primera publicación de Turpial&lt;/a&gt; (v0.6); un cliente alternativo de Twitter para GNU/Linux escrito en Python.&lt;br /&gt;&lt;br /&gt;Para aquel entonces solo contaba con interfaz &lt;strike&gt;para geeks&lt;/strike&gt; modo texto y un buen repertorio de funciones. Ahora, gracias a la colaboración del pana Azrael, traemos la versión 0.8 con un montón de bugs corregidos y funciones nuevas, pero lo más importante... ¡con interfaz para gente normal! :D&lt;br /&gt;&lt;br /&gt;Ha sido un trabajo duro, aún quedan &lt;b&gt;MUCHAS&lt;/b&gt; cosas por terminar y otras más por corregir (si no me creen miren la &lt;a href="http://code.google.com/p/turpial/issues/list"&gt;lista de bugs y cosas pendientes&lt;/a&gt; xDDD), pero lo importante es que el trabajo está dando sus frutos y al menos alguien más, a parte de mi, usa Turpial (sí, es Azrael, y que!?)&lt;br /&gt;&lt;br /&gt;Entre las características del nuevo Turpial tenemos:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;span style="font-size: 85%;"&gt;&lt;li&gt;Interfaz GTK+ para el modo gráfico (el modo texto está en reconstrucción)&lt;/li&gt;&lt;li&gt;Puedes ver el timeline, las menciones, los mensajes directos, los favoritos y el perfil del usuario&lt;/li&gt;&lt;li&gt;Permite tuitear, borrar tuits y retuitear&lt;/li&gt;&lt;li&gt;Marcar y desmarcar tuits favoritos&lt;/li&gt;&lt;li&gt;Soporta búsquedas&lt;/li&gt;&lt;li&gt;Envía mensajes directos (solo usando el comando D)&lt;/li&gt;&lt;li&gt;Dispone de servicios para cortado de URLs&lt;/li&gt;&lt;li&gt;Descarga las imágenes de los usuarios&lt;/li&gt;&lt;li&gt;Tiene una interfaz con respuesta mejorada (usando threads)&lt;/li&gt;&lt;li&gt;Notificaciones integradas con el entorno de escritorio (y con sonido)&lt;/li&gt;&lt;li&gt;Guarda las preferencias del usuario&lt;/li&gt;&lt;li&gt;Modo "wide" a 3 columnas&lt;/li&gt;&lt;li&gt;Nueva API usando la autenticación segura de Twitter (OAuth)&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;Para los interesados, &lt;a href="http://turpial.googlecode.com/files/turpial-0.8.5.tar.gz"&gt;aquí&lt;/a&gt; pueden descargarlo y tenemos una sección de &lt;a href="http://code.google.com/p/turpial/wiki/FAQ"&gt;FAQs&lt;/a&gt; (Preguntas y Respuestas Frecuentes) donde se aclaran dudas comúnes y se explica cómo instalarlo y probarlo (no, lamentablemente no explicamos cómo desinstalarlo)&lt;br /&gt;&lt;br /&gt;Este nuevo Turpial viene con puro sabor venezolano y es casi tan criollo como comerse una buena arepa con queso y mantequilla, así que los invito a que lo prueben, lo comenten, lo compartan y si les gusta, lo apoyen. &lt;br /&gt;&lt;br /&gt;Los dejo con una pequeña galería de screenshots pa' que se animen.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr align="center"&gt; &lt;td&gt;&lt;a href="http://3.bp.blogspot.com/_oLUxtmo5LIU/S0v327yi2hI/AAAAAAAAAS0/-g2Q6Qu3PUU/s1600-h/turpial.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_oLUxtmo5LIU/S0v327yi2hI/AAAAAAAAAS0/-g2Q6Qu3PUU/s200/turpial.png" /&gt;&lt;/a&gt;&lt;/td&gt;    &lt;td&gt;&lt;a href="http://1.bp.blogspot.com/_oLUxtmo5LIU/S0v77jRtM4I/AAAAAAAAATc/KBG1xIU1A4U/s1600-h/prefs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_oLUxtmo5LIU/S0v77jRtM4I/AAAAAAAAATc/KBG1xIU1A4U/s200/prefs.png" /&gt;&lt;/a&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr align="center"&gt; &lt;td&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/S0vxMxTTu3I/AAAAAAAAASc/QEoebsJdPQ8/s1600-h/notif.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/S0vxMxTTu3I/AAAAAAAAASc/QEoebsJdPQ8/s200/notif.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td&gt;&lt;a href="http://3.bp.blogspot.com/_oLUxtmo5LIU/S0vxLKfVIvI/AAAAAAAAASU/Bh7a4_VYDPA/s1600-h/tweet.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_oLUxtmo5LIU/S0vxLKfVIvI/AAAAAAAAASU/Bh7a4_VYDPA/s200/tweet.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;tr align="center"&gt; &lt;td colspan="2"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/S0vxPEbKHmI/AAAAAAAAASk/4sqIIPu_pks/s1600-h/wide.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/S0vxPEbKHmI/AAAAAAAAASk/4sqIIPu_pks/s320/wide.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style="font-size: 85%;"&gt;&lt;br /&gt;&lt;br /&gt;Es todo por ahora, cambio y fuera.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-3573786350902873170?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/3573786350902873170/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=3573786350902873170&amp;isPopup=true' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3573786350902873170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/3573786350902873170'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2010/01/publicado-turpial-08-mas-criollo-que.html' title='Publicado Turpial 0.8: Más criollo que una arepa'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oLUxtmo5LIU/SwOKfnMYVkI/AAAAAAAAAQk/0cv6XXOmIvo/s72-c/turpial.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-5807704859023007725</id><published>2009-11-18T19:41:00.000-08:00</published><updated>2010-01-11T20:02:03.595-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turpial'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='PyGTK'/><title type='text'>Turpial: Un cliente Twitter para GNU/Linux con todos los hierros</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/SwOKfnMYVkI/AAAAAAAAAQk/0cv6XXOmIvo/s1600/turpial.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/SwOKfnMYVkI/AAAAAAAAAQk/0cv6XXOmIvo/s320/turpial.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/turpial"&gt;Turpial&lt;/a&gt; es un cliente Twitter multi-interfaz escrito en Python que he estado desarrollando con el pana Eleazar Meza, orientado a ser una alternativa a los clientes Twitter más populares para GNU/Linux (aunque por su naturaleza también puede correr bajo otras plataformas). &lt;br /&gt;&lt;br /&gt;La idea surgió hace poco más de 2 semanas y no son solo ganas de reinventar la rueda (considerando que DestroyTwitter, TweetDeck et al. están disponibles para Linux), sino que se quiere lograr un cliente que también corra en entornos de escritorio ligeros como Fluxbox, OpenBox, etc (pensando en las netbooks), ya que Adobe Air &lt;b&gt;solo&lt;/b&gt; corre en KDE/GNOME y la mayoría de los cliente basados en GTK son soluciones &lt;strike&gt;asquerosamente simples&lt;/strike&gt; que carecen de una gran cantidad de funciones.&lt;br /&gt;&lt;br /&gt;Su nombre proviene del ave nacional de Venezuela (el &lt;a href="http://es.wikipedia.org/wiki/Icterus_icterus"&gt;turpial&lt;/a&gt;) y está inspirado principalmente por la sencillez y la funcionalidad de DestroyTwitter pero con el objetivo de tener varias interfaces: una interfaz en línea de comandos, una GTK pura y una más innovadora y bleeding-edge usando diferentes recursos y tecnologías como Cairo y Webkit, entre otras.&lt;br /&gt;&lt;br /&gt;Actualmente Turpial se encuentra en estado de desarrollo intenso, por lo que pueden presentarse errores y fallos inesperados. Sin embargo, se invita a &lt;strike&gt;los valientes y verdaderos geeks&lt;/strike&gt; la comunidad en general a que prueben Turpial y si detectan algún fallo lo reporten a cualquiera de las siguientes direcciones: &lt;br /&gt;&lt;br /&gt;wil.alejandro at gmail.com &lt; Wil Alvarez &gt;&lt;br /&gt;meza.eleazar at gmail.com &lt; Eleazar Meza &gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Características&lt;/h2&gt;Turpial ya cuenta con soporte para las siguientes funciones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ver tweets del timeline, menciones y favoritos&lt;/li&gt;&lt;li&gt;Ver y enviar mensajes directos&lt;/li&gt;&lt;li&gt;Actualizar estado (tuitear)&lt;/li&gt;&lt;li&gt;Ver following y followers&lt;/li&gt;&lt;li&gt;Buscar personas&lt;/li&gt;&lt;li&gt;Hacer follow o unfollow a cualquier usuario&lt;/li&gt;&lt;li&gt;Mostrar trending topics&lt;/li&gt;&lt;li&gt;Hacer mute/unmute a cualquier usuario&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Quedan pendientes para las próximas actualizaciones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ver tweets sobre un tópico o un hashtag seleccionado&lt;/li&gt;&lt;li&gt;Cortar URLs y subir imágenes (con soporte para agregar diferentes servicios)&lt;/li&gt;&lt;li&gt;Agrupar tweets como conversaciones&lt;/li&gt;&lt;li&gt;Mostrar listas a las que el usuario pertenece y los tweets correspondientes a cada lista&lt;/li&gt;&lt;li&gt;Guardar las preferencias del usuario &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h2&gt;Requisitos&lt;/h2&gt;&lt;br /&gt;Turpial necesita los siguientes paquetes para funcionar correctamente:&lt;br /&gt;&lt;br /&gt;* python &gt;= 2.5&lt;br /&gt;* python-simplejson &gt;= 2.0.x&lt;br /&gt;&lt;br /&gt;Una instalación estándar de Python (como la que viene en la mayoría de las distribuciones GNU/Linux) es más que suficiente. El módulo de python para simplejson se puede instalar en las distribuciones basadas en Debian con el siguiente comando (como superusuario):&lt;br /&gt;&lt;br /&gt;&lt;code&gt; # aptitude install python-simplejson &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;¿Cómo diablos ejecuto Turpial?&lt;/h2&gt;&lt;br /&gt;Muy fácil. Para ejecutar Turpial en un ambiente GNU/Linux basta con descargar el siguiente &lt;a href="http://turpial.googlecode.com/files/turpial-0.6.tar.gz"&gt;archivo&lt;/a&gt;, descomprimirlo y en la carpeta &lt;b&gt;turpial&lt;/b&gt; ubicar el archivo turpial.py, otorgarle permisos de ejecución y ejecutarlo (como usuario regular):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ chmod +x turpial.py&lt;br /&gt;$ ./turpial.py&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Al momento de esta publicación la única interfaz disponible para Turpial es la &lt;strike&gt;elitista, l33t, unix-like y hardcore&lt;/strike&gt; de línea de comandos. Basta con escribir "help" en la consola para obtener una lista de comandos disponibles o "help &amp;lt;comando&amp;gt;" para una ayuda detallada para el comando seleccionado.&lt;br /&gt;&lt;br /&gt;Comentarios, sugerencias, reportes de bugs y cualquier otra información &lt;strike&gt;que pueda alimentar nuestro ego&lt;/strike&gt; será bienvenida.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-5807704859023007725?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/5807704859023007725/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=5807704859023007725&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/5807704859023007725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/5807704859023007725'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/11/turpial-un-cliente-twitter-para.html' title='Turpial: Un cliente Twitter para GNU/Linux con todos los hierros'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oLUxtmo5LIU/SwOKfnMYVkI/AAAAAAAAAQk/0cv6XXOmIvo/s72-c/turpial.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-1863687087531023978</id><published>2009-09-19T17:55:00.000-07:00</published><updated>2009-09-19T19:44:04.358-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorios'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Fluxbox con esteroides en Debian</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: 85%;"&gt;&lt;a href="http://www.fluxbox.org/"&gt;Fluxbox&lt;/a&gt; siempre me había parecido un gestor de ventanas genial, pero consideraba que aún le faltaban algunas cosas para ser un entorno de escritorio "serio", capáz de darle competencia a GNOME... Hasta hoy.&lt;br /&gt;&lt;br /&gt;Me puse a experimentar con la mini Acer y dije... "¿Por qué no? Vamos a meterle Fluxbox a ver que tal corre" y pues, dejénme decirle que los resultados que obtuve son simplemente impresionantes. &lt;br /&gt;&lt;br /&gt;Al momento de hacer esto lo que tenía en mente era lograr un entorno de escritorio 100% funcional (tanto o más que GNOME) pero manteniendo siempre el bajo consumo de recursos y pensando siempre en una frase que leí una vez (si mal no recuerdo en la descripción del paquete Fluxbox para Debian):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Si quiere que su escritorio se parezca a Windows entonces no use Fluxbox&lt;/blockquote&gt;&lt;br /&gt;Primero vamos a instalar los paquetes básicos:&lt;br /&gt;&lt;code&gt;# aptitude install fluxbox conky eterm pcmanfm gqview audacious wbar&lt;/code&gt;&lt;br /&gt;Explico para qué cada cosa:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;fluxbox&lt;/b&gt;: Creo que es obvio ¿no? El gestor de ventanas&lt;/li&gt;&lt;li&gt;&lt;b&gt;conky&lt;/b&gt;: Un monitor del sistema bien ligero y configurable&lt;/li&gt;&lt;li&gt;&lt;b&gt;eterm&lt;/b&gt;: Un emulador de terminal ligero (usado en Enlightenment) o xterm para los más rudos&lt;/li&gt;&lt;li&gt;&lt;b&gt;pcmanfm&lt;/b&gt;: Un explorador de archivos rápido y liviano. Para no explicar mucho diré que es un Nautilus a dieta xD. También podemos instalar thunar, el explorador de archivos de XFCE&lt;/li&gt;&lt;li&gt;&lt;b&gt;gqview&lt;/b&gt;: Un visor de imágenes ligero. También podemos usar eog (el visor de imágenes de GNOME)&lt;/li&gt;&lt;li&gt;&lt;b&gt;audacious&lt;/b&gt;: Un reproductor de música super liviano y parecido a Winamp (para los nostálgicos :'( )&lt;/li&gt;&lt;li&gt;&lt;b&gt;wbar&lt;/b&gt;: Un dock que imita la famosa barra de Mac OS X. Útil para usarla como lanzador de aplicaciones&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Nuevamente resalto que la selección de las aplicaciones se hizo en base a la premisa de "aplicaciones ligeras y de bajo consumo", sin embargo podemos instalar cualquier otra aplicación que nos guste: pidgin, inkscape, deluge, etc, etc, etc.&lt;br /&gt;&lt;br /&gt;¡OJO! Si no tenemos instalado GNOME necesitaremos instalar unos paquetes adicionales; pero seré sincero... NO he hecho la prueba desde una instalación sin GNOME. Me imagino que instalando los paquetes (y sus dependencias) es más que suficiente pero no puedo asegurar. Si no funciona así, griten y yo intentaré probar para actualizar el post con el procedimiento correcto (o si prueban ustedes y me dicen, mejor xD). Entonces, si no tenemos problemas de espacio en el disco recomiendo instalar:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# aptitude install gnome-desktop-environment&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;O si son más aventureros y desean experimentar, solo instalamos:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# aptitude install gnome-power-manager gnome-settings-daemon network-manager&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Bueno, vamos ahora con la parte divertida. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Configuremos Conky&lt;/h2&gt;&lt;a href="http://conky.sourceforge.net/"&gt;Conky&lt;/a&gt; como dije anteriormente es un monitor de sistema muy liviano. Allí podemos monitorear cientos de parametros de nuestro equipo y se ve bastante bien con Fluxbox :)&lt;br /&gt;&lt;br /&gt;Lo primero que debemos hacer es habilitar el soporte de la extensión Double Buffer (DBE) del servidor X para evitar el parpadeo, ya que sin ésta no logrará actualizar la pantalla con suficiente rapidez. Para ello, vamos al archivo &lt;b&gt;/etc/X11/xorg.conf&lt;/b&gt; y agregamos una línea con Load "dbe" en la sección Section "Module". Debería verse algo así:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Section "Module"&lt;br /&gt;    &lt;b&gt;Load           "dbe"&lt;/b&gt;&lt;br /&gt;    Load           "extmod"&lt;br /&gt;    Load           "type1"&lt;br /&gt;    Load           "freetype"&lt;br /&gt;    Load           "glx"&lt;br /&gt;EndSection&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Luego copiamos el archivo de configuración de ejemplo que viene con el Conky a nuestra carpeta personal:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ cp /etc/conky/conkyrc.conf ~/.conkyrc&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;y lo abrimos con nuestro editor de texto favorito. Se darán cuenta que el archivo está dividido en dos partes. La primera contiene las opciones de configuración del programa (alteran su comportamiento). La segunda define las variables, el texto, y los gráficos que se mostrarán en pantalla. &lt;br /&gt;&lt;br /&gt;La cantidad de variables y opciones que se pueden manejar son muchísimas, así que dejo la lista completa de &lt;a href="http://conky.sourceforge.net/config_settings.html"&gt;opciones para configuración&lt;/a&gt; y de &lt;a href="http://conky.sourceforge.net/variables.html"&gt;variables a monitorear&lt;/a&gt;. Si eso no es suficiente, &lt;a href="http://conky.sourceforge.net/screenshots.html"&gt;aquí&lt;/a&gt; pueden ver unos cuantos screenshots con sus respectivos archivos de configuración para que echen a volar su imaginación y además les dejo mi archivo de configuración (hoy me siento benevolénte :P)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;# Conky, a system monitor, based on torsmo&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;alignment top_right&lt;br /&gt;background no&lt;br /&gt;border_width 1&lt;br /&gt;cpu_avg_samples 2&lt;br /&gt;default_color white&lt;br /&gt;default_outline_color white&lt;br /&gt;default_shade_color white&lt;br /&gt;draw_borders no&lt;br /&gt;draw_graph_borders yes&lt;br /&gt;draw_outline no&lt;br /&gt;draw_shades no&lt;br /&gt;use_xft yes&lt;br /&gt;xftfont DejaVu Sans Mono:size=10&lt;br /&gt;gap_x 5&lt;br /&gt;gap_y 60&lt;br /&gt;minimum_size 5 5&lt;br /&gt;maximum_width 200&lt;br /&gt;net_avg_samples 2&lt;br /&gt;no_buffers yes&lt;br /&gt;out_to_console no&lt;br /&gt;out_to_stderr no&lt;br /&gt;own_window no&lt;br /&gt;own_window_class Conky&lt;br /&gt;own_window_type desktop&lt;br /&gt;stippled_borders 0&lt;br /&gt;update_interval 1.0&lt;br /&gt;uppercase no&lt;br /&gt;use_spacer none&lt;br /&gt;show_graph_scale no&lt;br /&gt;show_graph_range no&lt;br /&gt;&lt;br /&gt;TEXT&lt;br /&gt;$nodename # $sysname $kernel on $machine&lt;br /&gt;$hr&lt;br /&gt;${color slate grey}${time %a, }${color }${time %d %b %G}&lt;br /&gt;${color grey}Uptime:$color $uptime_short&lt;br /&gt;${color slate grey}Kernel: $kernel&lt;br /&gt;${color black}CPU:&lt;br /&gt;$color ${cpu cpu0}% ${cpubar cpu0 4}&lt;br /&gt;$color ${cpu cpu1}% ${cpubar cpu1 4}&lt;br /&gt;&lt;br /&gt;${color grey}RAM:$color $mem / $memmax&lt;br /&gt;$color ${memperc}% ${membar 4}&lt;br /&gt;${color grey}Swap:$color $swap / $swapmax&lt;br /&gt;$color ${swapperc}% ${swapbar 4}&lt;br /&gt;&lt;br /&gt;${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes&lt;br /&gt;$hr&lt;br /&gt;${color grey}File systems:&lt;br /&gt; / $color${fs_used /}/${fs_size /} &lt;br /&gt;${fs_bar 6 /}&lt;br /&gt;${color grey}Networking:&lt;br /&gt;Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}&lt;br /&gt;$hr&lt;br /&gt;#${color grey}Name              PID   CPU%   MEM%&lt;br /&gt;#${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}&lt;br /&gt;#${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}&lt;br /&gt;#${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}&lt;br /&gt;#${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;h2&gt;Configuremos Wbar&lt;/h2&gt;Wbar es un lanzador de aplicaciones que emula algunas características de la barra de Mac OS X. Es altamente configurable y la más decente que he visto hasta ahora... ¡Toma eso Gnome-Do!&lt;br /&gt;&lt;br /&gt;Al igual que Conky trae un archivo de configuración de ejemplo y solo debemos copiarlo a nuestra carpeta personal con el nombre &lt;b&gt;.wbar&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ cp /usr/share/wbar/dot.wbar ~/.wbar&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;El archivo define cada uno de los lanzadores de la barra tiene el siguiente formato:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;i: /ruta/del/icono&lt;br /&gt;c: comando_a_ejecutar&lt;br /&gt;t: Título del lanzador&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;La primera entrada corresponde a la imagen de fondo de la barra y no debe llevar comando.&lt;br /&gt;&lt;br /&gt;Recomiendo hacer una selección de los iconos que desea para cada lanzador y colocarlos en una carpeta. A continuación imprimo mi archivo de configuración de lanzadores (en mi caso hice la selección de los iconos y los coloque en una carpeta llamada &lt;b&gt;personal&lt;/b&gt; en &lt;b&gt;/usr/share/wbar/iconpack/&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;i: /usr/share/wbar/iconpack/wbar.osx/osxbarback.png&lt;br /&gt;c:&lt;br /&gt;t: /usr/share/wbar/iconpack/wbar.osx/font/16&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/gnome-fs-home.png&lt;br /&gt;c: pcmanfm&lt;br /&gt;t: Explorador de archivos&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/mozicon50.xpm&lt;br /&gt;c: firefox&lt;br /&gt;t: Firefox&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/gnome-terminal.png&lt;br /&gt;c: xterm&lt;br /&gt;t: Terminal&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/pidgin-menu.xpm&lt;br /&gt;c: pidgin&lt;br /&gt;t: Pidgin&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/text-editor.png&lt;br /&gt;c: gedit&lt;br /&gt;t: Gedit&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/audacious-32.xpm&lt;br /&gt;c: audacious&lt;br /&gt;t: Audacious&lt;br /&gt;&lt;br /&gt;i: /usr/share/wbar/iconpack/personal/xchat.png&lt;br /&gt;c: xchat&lt;br /&gt;t: XChat&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;La otra parte interesante del wbar son los argumentos que se le pasan al momento de ejecutarlo. A continuación la lista de opciones:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Opciones&lt;br /&gt; -config: ruta del archivo de configuración (ej: $HOME/.wbar)&lt;br /&gt; -above-desk: para ejecutarlo encima del escritorio&lt;br /&gt; -idist i: distancia entre los iconos (ej: 1)&lt;br /&gt; -isize i: tamaño de los iconos (ej: 32)&lt;br /&gt; -zoomf i: factor de zoom (ej: 1.8)&lt;br /&gt; -jumpf i: factor de salto (1.0 - 0.0)&lt;br /&gt; -pos|p: posición (top | bottom | left | right | center)&lt;br /&gt; -dblclk i: milisegundos para el double click (0: un solo clic)&lt;br /&gt; -bpress: los iconos parecen presionados al darle clic&lt;br /&gt; -vbar: barra vertical&lt;br /&gt; -balfa i: transparencia de la barra (0-100)&lt;br /&gt; -falfa i: transparencia de la barra cuando no tiene foco (0-100)&lt;br /&gt; -nofont: deshabilita el dibujado de las fuentes&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Los argumentos que le paso al wbar los pueden ver en el archivo startup de Fluxbox un poco más abajo.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Configuremos Fluxbox&lt;/h2&gt;&lt;h3&gt;~/.fluxbox/init&lt;/h3&gt;Este archivo maneja la configuración general de Fluxbox. Podemos definir la posición, el ancho y los elementos que deseamos en la barra de tareas. El archivo es extenso y con muchas opciones, así que mostraré un pedazo de mi archivo con las opciones más relevantes. Para información más detallada ...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;session.screen0.toolbar.alpha: 255                    # Transparencia de la barra de herramientas&lt;br /&gt;session.screen0.toolbar.widthPercent: 100             # Ancho de la barra&lt;br /&gt;session.screen0.toolbar.visible: true                 # Mostrar la barra de tareas&lt;br /&gt;session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, iconbar, systemtray, clock  # Herramientas que deseamos motrar (y el orden en que aparecerán)&lt;br /&gt;session.screen0.toolbar.placement: BottomCenter       # Posición de la barra&lt;br /&gt;session.screen0.toolbar.autoHide: false               # Ocultar automaticamente&lt;br /&gt;session.screen0.workspacewarping: true                # Cambiar una ventana de escritorio al moverla hacie los extremos laterales&lt;br /&gt;session.screen0.workspaces: 4                         # Cantidad de escritorios&lt;br /&gt;session.screen0.strftimeFormat: %d %b, %a %02k:%M:%S  # Formato de la hora del reloj&lt;br /&gt;session.screen0.workspaceNames: Workspace 1,Workspace 2,Workspace 3,Workspace 4,  # Nombre de cada escritorio&lt;br /&gt;&lt;br /&gt;# Ejecutar el wbar con un delay de 5 seg para esperar que carguen todos los demás programas&lt;br /&gt;session.screen0.rootCommand: sleep 5 &amp;&amp; wbar -pos left -above-desk -vbar -jumpf 0.0 -zoomf 1.5 -idist 1 -bpress -config $HOME/.wbar&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;El orden en que se definan las herramientas será el orden que tengan en la barra. Las posibles herramientas son: workspacename, prevworkspace, nextworkspace, iconbar, systemtray, prevwindow, nextwindow y clock&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;~/.fluxbox/startup&lt;/h3&gt;Aquí definimos que aplicaciones se ejecutan al inicio del sistema. Mostraré mi archivo y comentaré cada opción.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# fluxbox startup-script:&lt;br /&gt;#&lt;br /&gt;# Lines starting with a '#' are ignored.&lt;br /&gt;&lt;br /&gt;# Change your keymap:&lt;br /&gt;xmodmap "/home/satanas/.Xmodmap"&lt;br /&gt;&lt;br /&gt;# Applications you want to run with fluxbox.&lt;br /&gt;# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&amp;amp;'' AT THE END.&lt;br /&gt;&lt;br /&gt;conky -d -b &amp;amp;&lt;br /&gt;nm-applet --sm-disable &amp;amp;&lt;br /&gt;gnome-power-manager --sm-disable &amp;amp;&lt;br /&gt;gnome-settings-daemon &amp;amp;&lt;br /&gt;&lt;br /&gt;# And last but not least we start fluxbox.&lt;br /&gt;# Because it is the last app you have to run it with ''exec'' before it.&lt;br /&gt;&lt;br /&gt;exec fluxbox&lt;br /&gt;# or if you want to keep a log:&lt;br /&gt;# exec fluxbox -log "/home/satanas/.fluxbox/log"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;conky -d -b&lt;/b&gt;: El monitor del sistema ejecutado con double buffer y en segundo plano&lt;br /&gt;&lt;b&gt;nm-applet&lt;/b&gt;: El Network Manager de GNOME que nos permite manejar nuestras redes&lt;br /&gt;&lt;b&gt;gnome-power-manager&lt;/b&gt;: El applet de GNOME que entre otas funciones nos muestra el estado de la batería&lt;br /&gt;&lt;b&gt;gnome-settings-daemon&lt;/b&gt;: El demonio de configuración de GNOME. Esto es para que podamos ver los iconos y el tema de GNOME sin problemas (necesario para pcmanfm)&lt;br /&gt;&lt;b&gt;wbar&lt;/b&gt;: La famosa barrita para lanzar aplicaciones ;)&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;~/.fluxbox/keys&lt;/h3&gt;En este archivo configuramos las combinaciones de teclas (atajos de teclado) de nuestro entorno de escritorio. Fluxbox denomina a la tecla Alt como Mod1 y a la innombrable (la tecla Super o Win) como Mod4. La sintaxis del archivo es:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;[teclas]: [acción] [parámetros]&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Una lista completa de posibles acciones podemos verla en &lt;a href="http://fluxbox.sourceforge.net/docbook/en/html/x359.html"&gt;http://fluxbox.sourceforge.net/docbook/en/html/x359.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Algunos atajos útiles serían:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Cambiar de ventana con Alt + Tab&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Mod1 Tab :NextWindow&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Cambiar al escritorio 1 con Ctrl + F1 (se debe repetir para cada escritorio que tengamos)&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Control F1 :Workspace 1&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Abrir un terminal con Alt + F1&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Mod1 F1 :Exec eterm&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Abrir un diálogo de "Ejecutar" con Alt + F2&lt;br /&gt;&lt;pre&gt;&lt;code&gt;Mod1 F2 :Exec fbrun&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h2&gt;Resultado&lt;/h2&gt;&lt;br /&gt;Un agradable y eficiente escritorio como el que se ve en las fotos :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_oLUxtmo5LIU/SrV6RBGJh8I/AAAAAAAAAPc/TYV4yFklwHU/s1600-h/2009-09-19-200511_1024x600_scrot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_oLUxtmo5LIU/SrV6RBGJh8I/AAAAAAAAAPc/TYV4yFklwHU/s320/2009-09-19-200511_1024x600_scrot.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_oLUxtmo5LIU/SrV6iX_UYJI/AAAAAAAAAPk/M_1tMpeH0_s/s1600-h/2009-09-19-200438_1024x600_scrot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_oLUxtmo5LIU/SrV6iX_UYJI/AAAAAAAAAPk/M_1tMpeH0_s/s320/2009-09-19-200438_1024x600_scrot.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Un último tip es habilitar el plugin StatusIcon de Audacious (tal como se ve en la imagen de abajo) para que podamos minimizarlo a la bandeja de sistema (haciendo clic en el icono).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_oLUxtmo5LIU/SrV6lAqwYRI/AAAAAAAAAPs/pnZwTeotitg/s1600-h/2009-09-19-200808_1024x600_scrot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/SrV6lAqwYRI/AAAAAAAAAPs/pnZwTeotitg/s320/2009-09-19-200808_1024x600_scrot.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;¡Uff! con tanto configurar y escribir ya me dió sueño, así que me voy. Hasta la próxima&lt;br /&gt;&lt;br /&gt;Otras referencias:&lt;br /&gt;[1] http://www.gentoo.org/doc/es/fluxbox-config.xml&lt;br /&gt;[2] http://fluxbox.sourceforge.net/docbook/en/html/chap-toolbar.html&lt;br /&gt;[3] http://debianitas.net/doc/minicomos/Todo%20Sobre%20FLUXBOX/html/fluxbox.html&lt;br /&gt;[4] http://www.estrellateyarde.es/so/fluxbox&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-1863687087531023978?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/1863687087531023978/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=1863687087531023978&amp;isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1863687087531023978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1863687087531023978'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/09/fluxbox-con-esteroides-en-debian.html' title='Fluxbox con esteroides en Debian'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_oLUxtmo5LIU/SrV6RBGJh8I/AAAAAAAAAPc/TYV4yFklwHU/s72-c/2009-09-19-200511_1024x600_scrot.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-6941869674748284873</id><published>2009-08-15T21:03:00.000-07:00</published><updated>2009-08-16T08:11:06.644-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>BAM 3G Digitel en Debian</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Hoy por fin tuve la oportunidad de jugar con un aparitico USB de Digitel; de esos que llaman Banda Ancha Móvil (un Huawei E160 para ser exáctos) y decidí configurarlo para conectarme desde Debian.&lt;br /&gt;&lt;br /&gt;Anteriormente había tenido la oportunidad de configurar unas tarjetas Kiocera y unos CDU-680 de Movilnet, así que imaginé que no debía ser muy diferente, o sea una conexión ppp, unos parámetros de usuario, un número telefónico para marcar, bla, bla, bla y listo! internet parejo.&lt;br /&gt;&lt;br /&gt;Sin embargo la cuestión es un tanto diferente respecto a los mencionados arriba, así que me tocó investigar y googlear un buen rato. Todas las soluciones que encontré lo configuraban usando wvdial, pero como soy terco quería hacerlo con ppp así que tuve que leer un poco sobre los chatscripts y hacer unas cuantas pruebas, hasta que dí con ésta solución.&lt;br /&gt;&lt;br /&gt;Lo primero es conectar el dispositivo y ejecutar como root el comando &lt;strong&gt;dmesg&lt;/strong&gt;. Deberíamos ver algo como:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;USB Serial support registered for GSM modem (1-port)&lt;br /&gt;option 1-5:1.0: GSM modem (1-port) converter detected&lt;br /&gt;usb 1-5: GSM modem (1-port) converter now attached to ttyUSB0&lt;br /&gt;option 1-5:1.1: GSM modem (1-port) converter detected&lt;br /&gt;usb 1-5: GSM modem (1-port) converter now attached to ttyUSB1&lt;br /&gt;usbcore: registered new interface driver option&lt;br /&gt;option: v0.7.2:USB Driver for GSM modems&lt;/code&gt;&lt;br /&gt;Ese mensaje nos indica que el dispositivo fue reconocido correctamente y está bajo el puerto &lt;strong&gt;ttyUSB0&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Ahora instalamos el pppconfig:&lt;br /&gt;&lt;code&gt;# aptitude install pppconfig&lt;/code&gt;&lt;br /&gt;Posteriormente ejecutamos el pppconfig como root y creamos una conexión nueva. Para ello debemos completar el asistente con los siguientes parámetros:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Nombre del proveedor: conexion (aquí ponemos el nombre que queremos darle a la conexión)&lt;br /&gt;DNS: Dinámico&lt;br /&gt;Método de autenticación: CHAP&lt;br /&gt;Nombre de usuario: digitel&lt;br /&gt;Contraseña: 0000&lt;br /&gt;Método de marcado: Tone&lt;br /&gt;Número a marcar: *99#&lt;br /&gt;Detectar automáticamente el modem: No&lt;br /&gt;Puerto del modem: /dev/ttyUSB0&lt;/code&gt;&lt;br /&gt;Guardamos y salimos del asistente.&lt;br /&gt;&lt;br /&gt;Ahora la parte divertida (y la que me tomó tiempo en descifrar) es configurar el script de chat de la conexión que acabamos de crear para que funcione correctamente. Lo que tenemos que hacer es abrir (como root) el archivo &lt;strong&gt;/etc/chatscripts/conexion&lt;/strong&gt; con nuestro editor favorito y en la sección &lt;strong&gt;# modem init&lt;/strong&gt; colocar esto:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;'' ATZ&lt;br /&gt;'' ATZ+CPIN="0000"&lt;br /&gt;OK 'ATQ0 V1 E1 +FCLASS=0'&lt;br /&gt;OK 'AT+CGDCONT=1,"IP","gprsweb.digitel.ve"'&lt;/code&gt;&lt;br /&gt;Un chatscript es una secuencia de pares "cadena esperada" "cadena enviada", es decir, &lt;strong&gt;siempre&lt;/strong&gt; esperas &lt;em&gt;algo&lt;/em&gt; antes de enviar &lt;em&gt;algo&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Si queremos enviar algo sin esperar nada debemos usar una cadena vacía al inicio (indicada por '') y de la misma manera si queremos esperar algo sin enviar nada. Es necesario saber que si queremos esperar/enviar una cadena conformada por varias palabras, debemos encerrarla entre comillas para que sea una sola entidad para el script.&lt;br /&gt;&lt;br /&gt;Dicho esto, procedo a explicar el script de chat que he creado para la conexión digitel. Primero inicializamos el modem. Observen que no esperamos nada del modem y enviamos la cadena ATZ:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;'' ATZ&lt;/code&gt;&lt;br /&gt;Luego enviamos el PIN de la SIM Card (si lo han conectado desde Windows se habrán dado cuenta que el software que trae el dispositivo pide el código PIN al momento de iniciar la conexión):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;'' ATZ+CPIN="0000"&lt;/code&gt;&lt;br /&gt;Ahora enviamos una trama de autenticación (aún no tengo muy clara su función) esperando un OK de la fase anterior pero entre comillas porque tiene varias palabras:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;OK 'ATQ0 V1 E1 +FCLASS=0'&lt;/code&gt;&lt;br /&gt;Y por último enviamos la información del servidor DNS:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;OK 'AT+CGDCONT=1,"IP","gprsweb.digitel.ve"'&lt;/code&gt;&lt;br /&gt;y voilá! El archivo &lt;strong&gt;/etc/chatscripts/conexion&lt;/strong&gt; debería quedar algo así:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# This chatfile was generated by pppconfig 2.3.18.&lt;br /&gt;# Please do not delete any of the comments.  Pppconfig needs them.&lt;br /&gt;#&lt;br /&gt;# ispauth CHAP&lt;br /&gt;# abortstring&lt;br /&gt;ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TO$&lt;br /&gt;# modeminit&lt;br /&gt;'' ATZ&lt;br /&gt;'' ATZ+CPIN="0000"&lt;br /&gt;OK 'ATQ0 V1 E1 +FCLASS=0'&lt;br /&gt;OK 'AT+CGDCONT=1,"IP","gprsweb.digitel.ve"'&lt;br /&gt;# ispnumber&lt;br /&gt;OK-AT-OK "ATDT*99#"&lt;br /&gt;# ispconnect&lt;br /&gt;CONNECT \d\c&lt;br /&gt;# prelogin&lt;br /&gt;&lt;br /&gt;# ispname&lt;br /&gt;# isppassword&lt;/code&gt;&lt;br /&gt;Ahora vamos a probar la conexión. En un terminal ejecutaremos el siguiente comando para monitorear el progreso de la conexión:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# tail -f /var/log/messages&lt;/code&gt;&lt;br /&gt; y en otro terminal escribiremos:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# pon conexion&lt;/code&gt;&lt;br /&gt;El script se ejecutará, enviará las tramas que hemos especificado en la inicialización del modem y marcará el número que indicamos en la configuración de la conexión ppp para luego asignarnos una IP. Si vemos en el log la palabra &lt;strong&gt;Failed&lt;/strong&gt; o &lt;strong&gt;Exit&lt;/strong&gt; es porque la conexión no se realizó con éxito y debemos ejecutar nuevamente el comando &lt;strong&gt;pon conexion&lt;/strong&gt; como root. El terminal ejecutando el tail de /var/log/messages mostrará el progreso de la conexión, algo como:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;Aug 15 21:04:33 belzebu pppd[3615]: pppd 2.4.4 started by root, uid 0&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (BUSY)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (NO CARRIER)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (VOICE)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (NO DIALTONE)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (NO DIAL TONE)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (NO ANSWER)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: abort on (DELAYED)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: send (ATZ^M)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: send (ATZ+CPIN="0000"^M)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: expect (OK)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: ATZ^M^M&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: OK&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]:  -- got it&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: send (ATQ0 V1 E1 +FCLASS=0^M)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: expect (OK)&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: ^M&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: ATZ+CPIN="0000"^M^M&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: ERROR^M&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: ATQ0 V1 E1 +FCLASS=0^M^M&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: OK&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]:  -- got it&lt;br /&gt;Aug 15 21:04:34 belzebu chat[3617]: send (AT+CGDCONT=1,"IP","gprsweb.digitel.ve"^M)&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: expect (OK)&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: ^M&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: AT+CGDCONT=1,"IP","gprsweb.digitel.ve"^M^M&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: OK&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]:  -- got it&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: send (ATDT*99#^M)&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: expect (CONNECT)&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: ^M&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: ATDT*99#^M^M&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: CONNECT&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]:  -- got it&lt;br /&gt;Aug 15 21:04:35 belzebu chat[3617]: send (\d)&lt;br /&gt;Aug 15 21:04:36 belzebu pppd[3615]: Serial connection established.&lt;br /&gt;Aug 15 21:04:36 belzebu pppd[3615]: Using interface ppp0&lt;br /&gt;Aug 15 21:04:36 belzebu pppd[3615]: Connect: ppp0 &lt;--&gt; /dev/ttyUSB0&lt;br /&gt;Aug 15 21:04:37 belzebu pppd[3615]: CHAP authentication succeeded&lt;br /&gt;Aug 15 21:04:37 belzebu pppd[3615]: CHAP authentication succeeded&lt;br /&gt;Aug 15 21:04:37 belzebu kernel: [ 1953.295830] PPP BSD Compression module registered&lt;br /&gt;Aug 15 21:04:37 belzebu kernel: [ 1953.314554] PPP Deflate Compression module registered&lt;br /&gt;Aug 15 21:04:39 belzebu pppd[3615]: Could not determine remote IP address: defaulting to 10.64.64.64&lt;br /&gt;Aug 15 21:04:39 belzebu pppd[3615]: local  IP address 10.68.174.162&lt;br /&gt;Aug 15 21:04:39 belzebu pppd[3615]: remote IP address 10.64.64.64&lt;br /&gt;Aug 15 21:04:39 belzebu pppd[3615]: primary   DNS address 204.59.152.208&lt;br /&gt;Aug 15 21:04:39 belzebu pppd[3615]: secondary DNS address 57.73.127.195&lt;/code&gt;&lt;br /&gt;Para finalizar la conexión y retirar el modem basta con ejecutar como root:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# poff conexion&lt;/code&gt;&lt;br /&gt;y esperar que se apague el led del aparato.&lt;br /&gt;&lt;br /&gt;Es todo, ahí tenemos nuestra flamante conexión de banda ancha desde Debian :) Cualquier otra información útil o sugerencia es bienvenida.&lt;br /&gt;&lt;br /&gt;Cambio y fuera&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-6941869674748284873?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/6941869674748284873/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=6941869674748284873&amp;isPopup=true' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/6941869674748284873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/6941869674748284873'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/08/bam-3g-digitel-en-debian.html' title='BAM 3G Digitel en Debian'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-1371111959272758343</id><published>2009-07-17T18:46:00.003-07:00</published><updated>2009-09-10T15:10:36.565-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Canaima'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Instalador USB para GNU/Linux Canaima</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;En esta receta explicaré como crear un instalador USB (es decir un pendrive USB booteable) para Canaima pero que con unos toques técnicos puede servir para cualquier distro.&lt;br /&gt;&lt;br /&gt;Canaima pesa 1.3GB y por los momentos no dispone de un set de varios CDs de instalación (como Debian por ejemplo) sino únicamente en DVD. Algunos equipos todavía no cuentan con unidades lectoras de DVD, lo que hace imposible instalar Canaima desde un DVD. Pensando en esta limitante, los amigos del CNTI publicaron la imagen de un instalador USB que de ahora en adelante nos permitirá realizar la instalación de Canaima sin problemas.&lt;br /&gt;&lt;br /&gt;Primero necesitamos satisfacer algunos requsitos:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dependencias&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# aptitude update&lt;br /&gt;# aptitude install syslinux mtools mbr&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Instalador USB&lt;/strong&gt;&lt;br /&gt;Descargamos la imagen del &lt;a href="http://descargas.canaima.softwarelibre.gob.ve/desarrollo/live-usb/canaima_vivo_usb_i386.tar.gz"&gt;instalador USB&lt;/a&gt; de la página oficial de Canaima.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pendrive USB&lt;/strong&gt;&lt;br /&gt;Ubicamos un pendrive (de al menos 2GB) sobre el cual queramos crear el instalador. Es importante resaltar que &lt;strong&gt;este procedimiento borrará TODOS los archivos contenidos en el pendrive&lt;/strong&gt;, así que respalden y no lloren :P&lt;br /&gt;&lt;br /&gt;Cumplidos los requisitos empezamos la parte divertida.&lt;br /&gt;&lt;br /&gt;Primero conectamos el pendrive a la PC y ubicamos en que dispositivo quedó montado. Podemos conocer esa información con el comando:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# tail /var/log/messages&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;o también con el comando:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ mount&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Actualización 10/09/2009:&lt;/b&gt; Usando el comando siguiente también podemos ubicar el dispositivo donde quedó montado el pendrive (Gracias a Carlos Guerrero por el aporte).&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ fdisk -l&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;En mi caso quedó en /dev/sdb1.&lt;br /&gt;&lt;br /&gt;Particularmente me gusta reparticionar el dispositivo usando &lt;strong&gt;fdisk&lt;/strong&gt;, con una sola partición FAT16 y activando el flag de booteo, pero es un procedimiento opcional (y que lo dejó como tarea para el lector).&lt;br /&gt;&lt;br /&gt;Formateamos la partición:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# mkfs.vfat -n CanaimaUSB /dev/sdb1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Instalamos el MBR:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# install-mbr /dev/sdb&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Instalamos el gestor de arranque &lt;strong&gt;syslinux&lt;/strong&gt; (si devuelve un error al instalar, podemos ejecutarlo con los parámetros -sf):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# syslinux /dev/sdb1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Por último montamos el pendrive nuevamente (en algunos entornos de escritorio basta con desconectar y conectar de nuevo el pendrive), nos ubicamos en la carpeta donde descargamos el instalador USB de Canaima y descomprimimos su contenido en el pendrive:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$ tar -xvzf canaima_vivo_usb_i386.tar.gz -C /media/CanaimaUSB&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Al terminar esta operación tendremos un pendrive listo para instalar Canaima en cualquier equipo capaz de bootear por USB.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nota:&lt;/b&gt; Para aquellos amigos que aún no tengan instalado GNU/Linux en su PC pueden descargar un liveCD de alguna distro conocida basada en Debian (&lt;a href="http://www.elivecd.org/"&gt;Elive&lt;/a&gt;, &lt;a href="http://www.knoppix.net/"&gt;Knoppix&lt;/a&gt;, &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt;, &lt;a href="http://www.damnsmalllinux.org/index_es.html"&gt;Damn Small Linux&lt;/a&gt;, etc) y desde allí seguir los pasos anteriores con total normalidad. (Gracias a Ángel Pérez por la sugerencia)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-1371111959272758343?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/1371111959272758343/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=1371111959272758343&amp;isPopup=true' title='12 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1371111959272758343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1371111959272758343'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/07/instalador-usb-para-gnulinux-canaima.html' title='Instalador USB para GNU/Linux Canaima'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-652086242825290587</id><published>2009-04-02T04:39:00.000-07:00</published><updated>2009-04-12T07:20:18.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instalaciones'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorios'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Dust Theme en Debian</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Últimamente he estado viendo muchas capturas de pantalla en la web con un tema de ventanas que me llama mucho la atención, principalmente porque es negro y además porque tiene un estilo demasiado limpio, moderno y estilizado, con bordes redondeados y muy bien trabajado. No es de esos temas negros que te queman la retina a los pocos minutos, es más bien un tema agradable... les hablo del famoso &lt;a href="https://wiki.ubuntu.com/Artwork/Incoming/Intrepid/DustTheme"&gt;Dust Theme&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://launchpadlibrarian.net/17792742/screenshot1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 192px; height: 192px;" src="https://launchpadlibrarian.net/17792742/screenshot1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Éste tema lo han creado Rico Sta. Cruz y Kido Mariano con la idea de que sea incluido en el Ubuntu 9.04 (Jaunty Jackalope) para refrescar y mejorar un poco la apariencia del escritorio. Ojalá lo logren porque no es la primera vez que se escucha a la gente de Ubuntu decir que van a revolucionar el escritorio, que van a sacar un nuevo tema que nos dejará a todos boquiabiertos y bah... siempre salen con &lt;s&gt;la misma cochinada&lt;/s&gt; el mismo tema Human :S&lt;br /&gt;&lt;br /&gt;Bueno, lo primero que debemos saber es que el tema Dust trabaja con los motores de GTK2 &lt;a href="http://www.cimitan.com/murrine/"&gt;Murrine&lt;/a&gt; y &lt;a href="http://clearlooks.sourceforge.net/"&gt;Clearlooks&lt;/a&gt;. Sin embargo el motor Murrine que trae Debian Squeeze no funciona con Dust, así que tenemos que descargar la versión SVN y compilarlo... nada del otro mundo xD&lt;br /&gt;&lt;br /&gt;Instalaremos primero todas las dependencias:&lt;br /&gt;&lt;code&gt;# aptitude install gtk2-engines subversion build-essential automake autoconf intltool libtool libgtk2.0-dev&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego nos descargamos la versión SVN de Murrine y la compilamos:&lt;br /&gt;&lt;code&gt;$ svn co http://svn.gnome.org/svn/murrine/trunk/ murrine&lt;br /&gt;$ cd murrine&lt;br /&gt;$ ./autogen.sh --prefix=/usr --enable-animation&lt;br /&gt;$ make&lt;br /&gt;# make install&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;El parámetro &lt;strong&gt;--enable-animation&lt;/strong&gt; permite entre otras cosas habilitar las barras de progreso animadas (cosa que lograron gracias a Cairo).&lt;br /&gt;&lt;br /&gt;Por último, descargamos el tema &lt;a href="https://code.launchpad.net/dusttheme/0.3/0.3.4"&gt;Dust para GTK2&lt;/a&gt;, el &lt;a href="http://launchpad.net/dusttheme-firefox/trunk/0.1.20090217/+download/dustfox-0.1.20090217.xpi"&gt;Dust para Firefox&lt;/a&gt; y los &lt;a href="https://code.launchpad.net/dusttheme/0.3/0.3.3"&gt;extras de Dust&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;El Dust de GTK2 y los extras de Dust los instalamos de la siguiente forma: vamos al menú Sistema -&gt; Preferencias -&gt; Apariencia y arrastramos los archivos comprimidos dentro de la ventana anterior o simplemente descomprimimos los archivos en la carpeta ~/.themes. Cuando estén instalados entonces los seleccionamos en la misma ventana que sale en Sistema -&gt; Preferencias -&gt; Apariencia.&lt;br /&gt;&lt;br /&gt;Al final nos debería quedar algo así:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oLUxtmo5LIU/SeH4bMHExCI/AAAAAAAAAL0/nTVICW3IPDs/s1600-h/Pantallazo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/SeH4bMHExCI/AAAAAAAAAL0/nTVICW3IPDs/s320/Pantallazo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5323809380519691298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Aún me falta instalar las fuentes que trae por defecto el Dust, cuando lo haga actualizo el post.&lt;br /&gt;&lt;br /&gt;Cambio y fuera&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-652086242825290587?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/652086242825290587/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=652086242825290587&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/652086242825290587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/652086242825290587'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/04/dust-theme-en-debian.html' title='Dust Theme en Debian'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oLUxtmo5LIU/SeH4bMHExCI/AAAAAAAAAL0/nTVICW3IPDs/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-2247003158307621424</id><published>2009-03-21T06:51:00.000-07:00</published><updated>2009-03-21T07:25:10.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorios'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Gestor de ventanas por defecto en GNOME</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Casi siempre me la paso jugando con gestores de ventanas (léase Compiz, Metacity, Openbox, etc) y resulta bastante incómodo que para hacer que uno de ellos arranque al inicio de la sesión tengamos que agregarlo en los programas de inicio de GNOME. Al hacerlo así, GNOME inicia primero su gestor de ventanas por defecto (metacity) y después inicia el que nosotros queremos. Obviamente tenemos que esperar casi el doble del tiempo para tener un escritorio usable.&lt;br /&gt;&lt;br /&gt;Eso me motivó a leer e investigar para dar con el paradero del &lt;strike&gt;@#!=&amp;%$&lt;/strike&gt; fulano gestor de ventanas predeterminado, hasta que por fin lo encontré!&lt;br /&gt;&lt;br /&gt;Basta con crear un archivo &lt;strong&gt;.gnomerc&lt;/strong&gt; (si no existe) en nuestro directorio personal y dentro del archivo escribimos la siguiente línea indicando la ruta del gestor de ventanas que nosotros queremos como predeterminado:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;export WINDOW_MANAGER=/usr/bin/compiz&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;La ruta &lt;strong&gt;/usr/bin/compiz&lt;/strong&gt; podemos reemplazarla por cualquier otra, como por ejemplo&lt;br /&gt;&lt;strong&gt;/usr/bin/openbox-gnome-session&lt;/strong&gt; para correr GNOME usando Openbox como gestor de ventanas ;)&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-2247003158307621424?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/2247003158307621424/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=2247003158307621424&amp;isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/2247003158307621424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/2247003158307621424'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/03/gestor-de-ventanas-por-defecto-en-gnome.html' title='Gestor de ventanas por defecto en GNOME'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-5404603824145373110</id><published>2009-02-08T05:29:00.000-08:00</published><updated>2009-02-08T06:14:09.833-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instalaciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Instalar IExplorer en GNU/Linux</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Seguro les ha pasado más de una vez  que una &lt;strike&gt;estúpida&lt;/strike&gt; página no sirve si no es con iexplorer. A mi me sucedió con la página de mi banco preferido (Banco Mercantil) y es que para afiliar servicios, cuentas y otras cosas necesitaba generar una "e-Seguridad" que para mi &lt;strike&gt;desgracia&lt;/strike&gt; sorpresa solo se podía generar con iexplorer.&lt;br /&gt;&lt;br /&gt;Le di mil vueltas al asunto, consulté con algunos amigos que tenían el mismo problema y todos coincidíamos en lo mismo; no había manera de hacerlo desde Firefox/Iceweasel/Opera/Safari. Mi PC ni siquiera sabe lo que es Windows (ni lo sabrá =P), así que la solución de instalar Windows en una pequeña partición o en una máquina virtual solo para hacer una transferencia está descartada. Mi último recurso era &lt;strong&gt;Wine&lt;/strong&gt; y el famoso &lt;strong&gt;IEs4Linux&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;IEs4Linux es un script que te descarga el instalador (y todos los archivos necesarios) de Internet Explorer desde la página de Microsoft y lo instala en una especie de sandbox con Wine. A pesar de que parece muy simple, me dió varios errores durante la instalación así que voy a explicar los pasos que seguí para instalarlo sin problemas.&lt;br /&gt;&lt;br /&gt;Antes de continuar debo aclarar lo siguiente: Microsoft pide una licencia original de Windows para instalar cualquier programa (incluso para &lt;strike&gt;la basura de&lt;/strike&gt; Internet Explorer) aunque sea bajo GNU/Linux. Si no tienes la fulana licencia estas cometiendo un delito &lt;strike&gt;al igual que yo&lt;/strike&gt;.&lt;br /&gt;&lt;br /&gt;Continuemos; primero nos descargamos el cabextract y por supuesto el wine (como root):&lt;br /&gt;&lt;code&gt;# aptitude install cabextract wine&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego descargamos el ies4linux, en una terminal escribimos (como usuario normal):&lt;br /&gt;&lt;code&gt;$ wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz&lt;br /&gt;$ tar zxvf ies4linux-latest.tar.gz&lt;br /&gt;$ cd ies4linux-*&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora para que funcione correctamente, debemos copiar el cabextract dentro de una carpeta llamada tmp (dentro de la carpeta de instalación del ies4linux). Para eso ejecutamos lo siguiente en la terminal anterior:&lt;br /&gt;&lt;code&gt;$ mkdir tmp&lt;br /&gt;$ cp /usr/bin/cabextract tmp/&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Finalmente ejecutamos el script:&lt;br /&gt;&lt;code&gt;$ ./ies4linux&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Cuando aparezca el asistente seleccionamos la versión de iexplorer que deseamos instalar, el idioma en inglés (EN-US) y quitamos la instalación del flash (puesto que el flash 9 da algunos problemitas).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oLUxtmo5LIU/SY7mk7K4mOI/AAAAAAAAAK4/peYTwF_2diY/s1600-h/ies4linux1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 234px; height: 320px;" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/SY7mk7K4mOI/AAAAAAAAAK4/peYTwF_2diY/s320/ies4linux1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5300427333494675682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hacemos click en "Aceptar" y comenzará la instalación.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oLUxtmo5LIU/SY7mk7YbT8I/AAAAAAAAALA/Q0YceSMTrsQ/s1600-h/ies4linux2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 309px; height: 320px;" src="http://3.bp.blogspot.com/_oLUxtmo5LIU/SY7mk7YbT8I/AAAAAAAAALA/Q0YceSMTrsQ/s320/ies4linux2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5300427333551476674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_oLUxtmo5LIU/SY7mlEUXfgI/AAAAAAAAALI/z8xDClZwEfM/s1600-h/ies4linux3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 309px; height: 320px;" src="http://4.bp.blogspot.com/_oLUxtmo5LIU/SY7mlEUXfgI/AAAAAAAAALI/z8xDClZwEfM/s320/ies4linux3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5300427335950368258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cuando el instalador termine tendremos el iexplorer listo para usar, solo faltaría instalar el flash player (en caso de que sea necesario) y para eso basta con visitar la página de Adobe &lt;a href="http://get.adobe.com/es/flashplayer/"&gt;http://get.adobe.com/es/flashplayer/&lt;/a&gt;, descargar y ejecutar.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oLUxtmo5LIU/SY7nmLj2ASI/AAAAAAAAALQ/8Di2UwHeJY0/s1600-h/ies4linux4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 277px;" src="http://3.bp.blogspot.com/_oLUxtmo5LIU/SY7nmLj2ASI/AAAAAAAAALQ/8Di2UwHeJY0/s320/ies4linux4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5300428454585827618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ojala y pronto esas páginas dejen de estar casadas con Microsoft para que podamos ser completamente libres de elegir nuestro navegador preferido sin tener que &lt;strike&gt;infringir la ley&lt;/strike&gt; recurrir a métodos oscuros para hacer nuestras tareas cotidianas =D.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-5404603824145373110?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/5404603824145373110/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=5404603824145373110&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/5404603824145373110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/5404603824145373110'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2009/02/instalar-iexplorer-en-gnulinux.html' title='Instalar IExplorer en GNU/Linux'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_oLUxtmo5LIU/SY7mk7K4mOI/AAAAAAAAAK4/peYTwF_2diY/s72-c/ies4linux1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-8595900134074020373</id><published>2008-12-26T15:54:00.000-08:00</published><updated>2008-12-26T18:05:07.681-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instalaciones'/><category scheme='http://www.blogger.com/atom/ns#' term='Escritorios'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Instalar Compiz Fusion en Debian Lenny</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;En estos días me dispuse a instalar de nuevo Compiz en mi Debian Lenny y me encontré con la sorpresa de que los repositorios que pululan por ahí en internet ya no estaban disponibles así que decidí hacer una búsqueda y publicar mis resultados. Acá está el &lt;a href="http://download.tuxfamily.org/osrdebian/index.html" target="_blank"&gt;enlace&lt;/a&gt; del repositorio que encontré y a continuación explico como hacer la instalación.&lt;br /&gt;&lt;br /&gt;Compiz Fusion solo funcionará si tienes una tarjeta gráfica con soporte OpenGL y si tienes instalado correctamente el driver de vídeo. Si tu tarjeta gráfica es NVIDIA puedes leer este &lt;a href="http://damncorner.blogspot.com/2008/10/instalar-driver-nvidia-la-debian-way.html"&gt;post&lt;/a&gt; para instalar el driver de vídeo correctamente.&lt;br /&gt;&lt;br /&gt;Dicho esto, entonces procedamos... Primero agregamos las siguientes líneas a nuestro archivo &lt;b&gt;/etc/apt/sources.list&lt;/b&gt;:&lt;br /&gt;&lt;code&gt;deb http://download.tuxfamily.org/osrdebian unstable compiz-fusion-git&lt;br /&gt;deb-src http://download.tuxfamily.org/osrdebian unstable compiz-fusion-git&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Agregamos la llave GPG ejecutando en la consola (como super usuario):&lt;br /&gt;&lt;code&gt;# wget http://download.tuxfamily.org/osrdebian/61B8DB62.gpg -O- | apt-key add -&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y actualizamos la lista de paquetes:&lt;br /&gt;&lt;code&gt;# aptitude update&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Luego instalamos:&lt;br /&gt;&lt;code&gt;# aptitude install compiz compiz-gnome&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Para ejecutarlo basta con correr en la consola:&lt;br /&gt;&lt;code&gt;$ compiz --replace &amp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y para configurarlo vamos al menú &lt;b&gt;Sistema-&gt;Preferencias-&gt;Administrador de Opciones CompizConfig&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oLUxtmo5LIU/SVV0moQEhcI/AAAAAAAAAHk/hoyKwkf8oJw/s1600-h/compizconfig-settings-manager.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_oLUxtmo5LIU/SVV0moQEhcI/AAAAAAAAAHk/hoyKwkf8oJw/s320/compizconfig-settings-manager.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5284257944777819586" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Si queremos añadirle más funcionalidad al asunto podemos instalar el decorador de ventanas &lt;b&gt;emerald&lt;/b&gt;:&lt;br /&gt;&lt;code&gt;# aptitude install emerald emerald-themes&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Y entonces ejecutar el compiz con la siguiente instrucción:&lt;br /&gt;&lt;code&gt;$ compiz --replace -c emerald &amp;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Eso nos dará como resultado un escritorio muy cool xD&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_oLUxtmo5LIU/SVV16eMyEvI/AAAAAAAAAHs/F1VbhK_ZH_0/s1600-h/2008-12-26-194733_1440x900_scrot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_oLUxtmo5LIU/SVV16eMyEvI/AAAAAAAAAHs/F1VbhK_ZH_0/s320/2008-12-26-194733_1440x900_scrot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5284259385188684530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-8595900134074020373?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/8595900134074020373/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=8595900134074020373&amp;isPopup=true' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/8595900134074020373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/8595900134074020373'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2008/12/instalar-compiz-fusion-en-debian-lenny.html' title='Instalar Compiz Fusion en Debian Lenny'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oLUxtmo5LIU/SVV0moQEhcI/AAAAAAAAAHk/hoyKwkf8oJw/s72-c/compizconfig-settings-manager.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-1147170525712849629</id><published>2008-12-18T10:27:00.000-08:00</published><updated>2008-12-18T12:54:52.986-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Samba'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Montar carpeta compartida de Windows en Debian</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Para montar una carpeta compartida de Windows en Debian (o cualquier otra distro GNU/Linux basada en Debian) necesitamos instalar el sistema de archivos &lt;b&gt;smbfs&lt;/b&gt;. El smbfs entiende el protocolo SMB/CIFS usado por Windows para el trabajo en grupo y nos permite usar el comando &lt;b&gt;mount&lt;/b&gt; para montar dicho recurso compartido como un dispositivo común y corriente.&lt;br /&gt;&lt;br /&gt;Instalamos el &lt;b&gt;smbfs&lt;/b&gt;:&lt;br /&gt;&lt;code&gt;# aptitude install smbfs&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Creamos el directorio en el cual queremos montar la carpeta compartida, por ejemplo &lt;b&gt;/mnt/compartida&lt;/b&gt;:&lt;br /&gt;&lt;code&gt;# mkdir /mnt/compartida/&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ahora supongamos que el recurso se encuentra en la ruta &lt;b&gt;//192.168.1.15/carpeta&lt;/b&gt;, que el usuario para acceder es &lt;b&gt;usuario&lt;/b&gt; y la contraseña &lt;b&gt;123456&lt;/b&gt;. Usando el comando &lt;b&gt;mount&lt;/b&gt; nos quedaría algo como:&lt;br /&gt;&lt;code&gt;mount -t smbfs -o username=usuario,password=123456 //192.168.1.15/carpeta /mnt/compartida&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;A partir de ahora podremos trabajar la información de la carpeta compartida en la ruta /mnt/compartida de forma transparente. Podríamos incluso agregar una línea al archivo &lt;b&gt;/etc/fstab&lt;/b&gt; para que el recurso se monte automaticamente cada vez que iniciemos la PC pero lo dejaré como tarea para el lector =D&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-1147170525712849629?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/1147170525712849629/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=1147170525712849629&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1147170525712849629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/1147170525712849629'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2008/12/montar-carpeta-compartida-de-windows-en.html' title='Montar carpeta compartida de Windows en Debian'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6887761988295725170.post-7703310034298248391</id><published>2008-12-16T06:02:00.000-08:00</published><updated>2008-12-16T06:19:44.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Configuraciones'/><category scheme='http://www.blogger.com/atom/ns#' term='GNU/Linux'/><title type='text'>Cambiar zona horaria en Debian</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span style="font-size:85%;"&gt;Para ver o configurar la zona horaria establecida en nuestro sistema Debian basta con ejecutar:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;# dpkg-reconfigure tzdata&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Seleccionamos el Área Geográfica:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oLUxtmo5LIU/SUe3fFSIlnI/AAAAAAAAAHU/HK80Gfbd1zQ/s1600-h/tzdata1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="http://2.bp.blogspot.com/_oLUxtmo5LIU/SUe3fFSIlnI/AAAAAAAAAHU/HK80Gfbd1zQ/s320/tzdata1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280390832737261170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Y posteriormente el país:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_oLUxtmo5LIU/SUe3nbBXe2I/AAAAAAAAAHc/8hayOjMbZtQ/s1600-h/tzdata2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="http://2.bp.blogspot.com/_oLUxtmo5LIU/SUe3nbBXe2I/AAAAAAAAAHc/8hayOjMbZtQ/s320/tzdata2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5280390976011467618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6887761988295725170-7703310034298248391?l=damncorner.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://damncorner.blogspot.com/feeds/7703310034298248391/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6887761988295725170&amp;postID=7703310034298248391&amp;isPopup=true' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/7703310034298248391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6887761988295725170/posts/default/7703310034298248391'/><link rel='alternate' type='text/html' href='http://damncorner.blogspot.com/2008/12/cambiar-zona-horaria-en-debian.html' title='Cambiar zona horaria en Debian'/><author><name>Wil Alvarez</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-rkzwg54C7iw/AAAAAAAAAAI/AAAAAAAAAkM/rjCt9d5LX2A/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_oLUxtmo5LIU/SUe3fFSIlnI/AAAAAAAAAHU/HK80Gfbd1zQ/s72-c/tzdata1.png' height='72' width='72'/><thr:total>2</thr:total></entry></feed>
