<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Howtos on Héctor Bautista</title><link>https://hbautista.com/tags/howtos/</link><description>Recent content in Howtos on Héctor Bautista</description><generator>Hugo -- gohugo.io</generator><language>es-ES</language><lastBuildDate>Thu, 19 Mar 2015 14:20:57 +0000</lastBuildDate><atom:link href="https://hbautista.com/tags/howtos/index.xml" rel="self" type="application/rss+xml"/><item><title>Admin CFDI en Debian</title><link>https://hbautista.com/p/admin-cfdi-en-debian/</link><pubDate>Thu, 19 Mar 2015 14:20:57 +0000</pubDate><guid>https://hbautista.com/p/admin-cfdi-en-debian/</guid><description>&lt;img src="https://hbautista.com/images/2018/Admin_CFDI_01.png" alt="Featured image of post Admin CFDI en Debian" /&gt;&lt;h2 style="text-align: center;"&gt;&#10; ¿Qué es Admin CFDI?&#10;&lt;/h2&gt;&#10;&lt;p&gt;Es una herramienta para descargar facturas CFDI desde el SAT (tanto emitidas como recibidas), de uno o más correos electrónicos, organizar, validar y reportar facturas CFDI desde directorios.&lt;/p&gt;&#10;&lt;p&gt;Los creadores son de &lt;a title="Factura Libre" href="https://facturalibre.net/servicios/" target="_blank" rel="noopener"&gt;Factura Libre&lt;/a&gt; que vienen desarrollando esta poderosa herramienta desde hace ya un tiempo.&lt;/p&gt;&#10;&lt;p&gt;Tomado de la página del proyecto:&lt;/p&gt;&#10;&lt;p&gt;Esta herramienta te permite realizar las siguientes acciones:&lt;/p&gt;&#10;&lt;li style="text-align: justify;"&gt;&#10; Descargar facturas (CFDI) emitidas o recibidas directamente del SAT.&#10;&lt;/li&gt;&#10;&lt;li style="text-align: justify;"&gt;&#10; Descargar facturas (CFDI) recibidas de uno o más correos electrónicos.&#10;&lt;/li&gt;&#10;&lt;li style="text-align: justify;"&gt;&#10; Organizar las facturas (CFDI) en carpetas por emisor o receptor, año y mes.&#10;&lt;/li&gt;&#10;&lt;li style="text-align: justify;"&gt;&#10; Generar PDFs de facturas (CFDI) usando una plantilla ODS de Calc de LibreOffice&#10;&lt;/li&gt;&#10;&lt;li style="text-align: justify;"&gt;&#10; Generar un reporte de facturas (CFDI), así como validar los sellos y su estatus en el SAT&#10;&lt;/li&gt;&#10;&lt;p&gt;El desarrollo y últimas versiones del proyecto se están llevando en Github.&lt;/p&gt;&#10;&lt;p&gt;Requerimientos:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Python 3.4&lt;/li&gt;&#10;&lt;li&gt;Tk si usas Linux, si usas Windows ya lo integra Python&lt;/li&gt;&#10;&lt;li&gt;Firefox para la automatización de la descarga del SAT&lt;/li&gt;&#10;&lt;li&gt;Selenium para la automatización de la descarga del SAT&lt;/li&gt;&#10;&lt;li&gt;PyGubu para la interfaz gráfica.&lt;/li&gt;&#10;&lt;li&gt;ReportLab si usas una plantilla JSON (por implementar)&lt;/li&gt;&#10;&lt;li&gt;LibreOffice si usas la plantilla ODS&lt;/li&gt;&#10;&lt;li&gt;Extensiones win32 para Python si usas Windows&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Tanto en la página del proyecto como en el &lt;a title="Administrar CFDI" href="http://blog.facturalibre.net/stories/admin-cfdi2.html" target="_blank" rel="noopener"&gt;sitio&lt;/a&gt; del buen &lt;a title="Linuxman" href="http://linuxmanr4.com/2015/01/20/descargar-los-xml-del-sat-de-una-manera-mas-sencilla/" target="_blank" rel="noopener"&gt;Linuxman&lt;/a&gt;, encontrarán información para la instalación de lo necesario para que funcione.&lt;/p&gt;&#10;&lt;p&gt;En el caso particular de Debian, viene Python 2.7 por default, así que es necesario instalar los paquetes necesarios para que funcione.&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:/home/hbautista# aptitude install python3-tk python3-pip python3-uno&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Hay que tener instalado LibreOffice y Firefox además de los paquetes que se acaban de instalar. Una vez instaladas las dependencias, procedemos a instalar con pip, selenium y pygubu:&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:/home/hbautista# pip3 install selenium pygubu&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Tanto la instalación de paquetes con apt-get o aptitude, como los que se instalan con pip3, debe hacerse como root.&lt;/p&gt;&#10;&lt;p&gt;Descargar versión más reciente de producción: &lt;a class="link" href="https://facturalibre.net/download_test/6" target="_blank" rel="noopener"&#10; &gt;AdminCFDI v0.2.2&lt;/a&gt; (&lt;strong&gt;567&lt;/strong&gt;).&lt;/p&gt;&#10;&lt;p&gt;Como usuario normal, procedemos a ejecutar Admin CFDI en el directorio en dónde hayamos extraído el contenido de AdminCFDI:&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:~/AdminCFDI_v0.2.2$ python3 admincfdi.py&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;[&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2018/Admin_CFDI_01.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;]&lt;a class="link" href="https://hbautista.com/images/2018/Admin_CFDI_01.png" &gt;2&lt;/a&gt;[&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2018/Admin_CFDI_02.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;]&lt;a class="link" href="https://hbautista.com/images/2018/Admin_CFDI_02.png" &gt;3&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Y eso sería todo&lt;/p&gt;&#10;&lt;p&gt;Agradecimientos a &lt;a title="Factura Libre" href="https://facturalibre.net/" target="_blank" rel="noopener"&gt;Factura Libre&lt;/a&gt; y a &lt;a title="Linuxman" href="http://linuxmanr4.com/" target="_blank" rel="noopener"&gt;Linuxman&lt;/a&gt; por la ayuda prestada.&lt;/p&gt;&#10;</description></item><item><title>Skype 4.3 en Debian Jessie AMD64</title><link>https://hbautista.com/p/skype-4-3-en-debian-jessie-amd64/</link><pubDate>Sun, 16 Nov 2014 04:39:42 +0000</pubDate><guid>https://hbautista.com/p/skype-4-3-en-debian-jessie-amd64/</guid><description>&lt;img src="https://hbautista.com/images/2018/skype-linux-08.png" alt="Featured image of post Skype 4.3 en Debian Jessie AMD64" /&gt;&lt;p&gt;Resulta que en alguna de las actualizaciones de mi escritorio, la versión de skype que estaba usando dejó de funcionar. Como no recordaba como lo había hecho funcionar en un inicio, y recordando que al menos en Redhat, el rpm proporcionado por el sitio oficial, me dio un poco de lata, así que tienen una versión &amp;ldquo;dinámica&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;Luego entonces, fui a la web de Skype y me descargué la versión dinámica, como se muestra en las siguientes imágenes:&lt;/p&gt;&#10;&lt;p&gt;[&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 01" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-01.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;]&lt;a class="link" href="https://hbautista.com/images/2014/skype-linux-01.png" &gt;1&lt;/a&gt;{.lightbox}[&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 02" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-02.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;]&lt;a class="link" href="https://hbautista.com/images/2014/skype-linux-02.png" &gt;2&lt;/a&gt;{.lightbox}&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 03" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-03.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 04" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-04.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;Una vez terminada la descarga, procedí a descomprimir el archivo, y ejecuté el binario:&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:&lt;del&gt;/Descargas/skype$ ./skype&#10;./skype: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory&#10;hbautista@kenobi:&lt;/del&gt;/Descargas/skype$&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Y me encontré con ese error, el detalle es que el paquete que se necesita es: libqtwebkit4 y no se encuentra en los repositorios de la arquitectura de 64 bits, pero sí en la arquitectura i386. Por si no tienen habilitada la opción de multi-arquitectura en Debian, estos son los pasos a seguir:&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:&lt;del&gt;# dpkg &amp;ndash;add-architecture i386&#10;root@kenobi:&lt;/del&gt;# aptitude update&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Una vez que se hayan actualizado los paquetes, procederemos a instalar el paquete requerido de la siguiente forma, lo cuál también nos mostrará todas las dependencias:&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:~# aptitude install libqtwebkit4:i386&#10;Se instalarán los siguiente paquetes NUEVOS:&#10;gstreamer1.0-plugins-base:i386{a} libaudio2:i386{a} libavahi-client3:i386{a} libavahi-common-data:i386{a} libavahi-common3:i386{a} libcdparanoia0:i386{a}&#10;libcups2:i386{a} libfontconfig1:i386{a} libgssapi-krb5-2:i386{a} libgstreamer-plugins-base1.0-0:i386{a} libgstreamer1.0-0:i386{a} libk5crypto3:i386{a}&#10;libkeyutils1:i386{a} libkrb5-3:i386{a} libkrb5support0:i386{a} libmng1:i386{a} libqt4-opengl:i386{a} libqt4-xmlpatterns:i386{a} libqtgui4:i386{a}&#10;libqtwebkit4:i386 libsqlite3-0:i386{a} libxt6:i386{a}&#10;0 paquetes actualizados, 22 nuevos instalados, 0 para eliminar y 29 sin actualizar.&#10;Necesito descargar 22.5 MB de ficheros. Después de desempaquetar se usarán 72.9 MB.&#10;¿Quiere continuar? [Y/n/?] y&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 05" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-05.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;En mi caso, también me descargué el &lt;a title="Descargar Skype" href="http://download.skype.com/linux/skype-debian_4.3.0.37-1_i386.deb" target="_blank" rel="noopener"&gt;paquete deb&lt;/a&gt;, así que procedí a instalarlo con dpkg:&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:&lt;del&gt;# dpkg -i /home/hbautista/Descargas/skype&#10;skype/ skype-debian_4.3.0.37-1_i386.deb&#10;root@kenobi:&lt;/del&gt;# dpkg -i /home/hbautista/Descargas/skype-debian_4.3.0.37-1_i386.deb&#10;Seleccionando el paquete skype previamente no seleccionado.&#10;(Leyendo la base de datos &amp;hellip; 252325 ficheros o directorios instalados actualmente.)&#10;Preparing to unpack &amp;hellip;/skype-debian_4.3.0.37-1_i386.deb &amp;hellip;&#10;Unpacking skype (4.3.0.37-1) &amp;hellip;&#10;Configurando skype (4.3.0.37-1) &amp;hellip;&#10;Processing triggers for dbus (1.8.8-2) &amp;hellip;&#10;Processing triggers for mime-support (3.57) &amp;hellip;&#10;Processing triggers for desktop-file-utils (0.22-1) &amp;hellip;&#10;Processing triggers for hicolor-icon-theme (0.13-1) &amp;hellip;&#10;root@kenobi:~#&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;[&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 06" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-06.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;]&lt;a class="link" href="https://hbautista.com/images/2014/skype-linux-06.png" &gt;3&lt;/a&gt;{.lightbox}Ya nada más nos queda ejecutarlo como un usuario normal&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Skype Linux 09" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/skype-linux-09.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2018/skype-linux-10.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;Y con eso se resuelve dicho problema&lt;/p&gt;&#10;&lt;p&gt;Fuente: &lt;a title="Linux Questions" href="http://www.linuxquestions.org/questions/debian-26/installing-skype-4-1-0-on-amd64-architecture-4175437925/" target="_blank" rel="noopener"&gt;LinuxQuestions&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Megatools en Debian Jessie</title><link>https://hbautista.com/p/megatools-en-debian-jessie/</link><pubDate>Tue, 20 May 2014 14:00:36 +0000</pubDate><guid>https://hbautista.com/p/megatools-en-debian-jessie/</guid><description>&lt;img src="https://hbautista.com/images/2018/Logo-Mega.png" alt="Featured image of post Megatools en Debian Jessie" /&gt;&lt;p&gt;&lt;img alt="Megatools" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/Megatools.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;Después de un buen rato de no publicar nada por acá, volvemos a las andadas u.u&lt;/p&gt;&#10;&lt;p&gt;Pues creo que todos conocen o al menos alguna vez han descargado algún archivo desde &lt;a title="Mega" href="http://mega.co.nz/" target="_blank" rel="noopener"&gt;Mega&lt;/a&gt;. Si te creas una cuenta te permite almacenar hasta 50GiB de tu información.&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Mega Signup" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/Mega-Sigup.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img alt="Logo Mega" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2014/Logo-Mega.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;Tiene una aplicación para iOS, Android y un cliente para escritorio que por el momento nada más hay para Hasefroch.&lt;/p&gt;&#10;&lt;p&gt;Es una buena opción para subir o compartir archivos que no puedas enviar por correo electrónico, como el vídeo que grabaste de tu sobrino dónde está cantando, el vídeo que grabaste de tu primo al que le jugaron una broma, etc.&lt;/p&gt;&#10;&lt;p&gt;Si te pusiste a escanear esas fotos de cuando eras niño(a) y en ese tiempo, pues no existían las cámaras digitales (ROFL). En fin, pueden ser muchos motivos y muchos tipos de archivo o de información que quieras compartir con tu familia, trabajo, etc.&lt;/p&gt;&#10;&lt;p&gt;Imagina que grabaste la graduación de tu hermano(a) de la prepa o universidad, más parte del convivio familiar y a eso le agregas fotos del evento y decides crear un DVD de autoría propia de dicho evento. Una vez terminado te queda un bonito DVD de 4.7GiB como máximo de tal acontecimiento.&lt;/p&gt;&#10;&lt;p&gt;Ahora resulta que se lo quieres mandar a alguien, para que tenga una copia de dicho recuerdo, creas una imágen ISO de dicho archivo y por obvias razones no se la puedes mandar en un correo.&lt;/p&gt;&#10;&lt;p&gt;Algunos servicios de almacenamiento tampoco te permiten tener un archivo tan grande, entonces te surge la necesidad de &amp;ldquo;partirlo&amp;rdquo; en varios pedacitos que se puedan manejar con mayor comodidad.&lt;/p&gt;&#10;&lt;p&gt;Generalmente a este proceso se le denomina &amp;ldquo;comprimir en varias partes&amp;rdquo; que es lo más común que se hace en estos casos.&lt;/p&gt;&#10;&lt;p&gt;Y bueno, después de muchos días y esfuerzo invertido logras por fin tener tus &amp;ldquo;pedacitos&amp;rdquo; que quieres enviar, pero aún son archivos muy &amp;ldquo;grandes y pesados&amp;rdquo; como para enviarlos por correo electrónico. Así que no queda de otra que usar un servicio como el que ofrece Mega.&lt;/p&gt;&#10;&lt;p&gt;Pues bien, igual después de batallarle un poco logras subir dichos archivos al servicio y te genera los enlaces para la descarga que es lo que le enviarás a la persona o personas que quieras que descarguen dicho contenido.&lt;/p&gt;&#10;&lt;p&gt;Si fueran unos 4 o 5 enlaces, no hay tanto problema, el servicio Mega te permite descargar varios archivos simultáneamente sin problemas. Las cosas se complican cuando son 20, 30 o hasta 45 enlaces.&lt;/p&gt;&#10;&lt;p&gt;Para estos casos se hace necesario el usar algún tipo de gestor de descargas, hay uno para sistemas Hasefroch y encontré algunos esfuerzos para Linux, hasta que dí con Megatools.&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2018/Mega-Sync.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2018/Mega-Mobile-Apps.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://hbautista.com/images/2018/Mega.png"&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a title="Megatools" href="http://megatools.megous.com/" target="_blank" rel="noopener"&gt;Megatools&lt;/a&gt; es un proyecto hecho en Python que consiste en una colección de programas para acceder al servicio de Mega desde la línea de comandos.&lt;/p&gt;&#10;&lt;p&gt;Aunque ahorita el proyecto está detenido y hay un anuncio de que ya no van a continuar con el desarrollo, es funcional y puede ser usado sin problemas aparentes.&lt;/p&gt;&#10;&lt;p&gt;En mi caso estoy usando Debian Jessie (Testing) y aquí vemos la forma de cómo hacer para compilar dicho proyecto.&lt;/p&gt;&#10;&lt;p&gt;Lo que se necesita es descargar el código fuente del proyecto:&lt;/p&gt;&#10;&lt;p&gt;&lt;a title="http://megatools.megous.com/builds/megatools-1.9.91.tar.gz" href="http://megatools.megous.com/builds/megatools-1.9.91.tar.gz" target="_blank" rel="noopener"&gt;&lt;a class="link" href="http://megatools.megous.com/builds/megatools-1.9.91.tar.gz" target="_blank" rel="noopener"&#10; &gt;http://megatools.megous.com/builds/megatools-1.9.91.tar.gz&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Una vez que lo hayas descargado, extrae el contenido en alguna carpeta, después quedará abrir la terminal y accesar a dicha carpeta.&lt;/p&gt;&#10;&lt;p&gt;Para prevenir que a la hora de compilar el paquete descargado tengamos problemas, instalemos lo necesario (como root):&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:/home/hbautista# aptitude install libglib2.0-dev libcurl4-openssl-dev libssl-dev&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt; Ahora procederemos a la instalación, como típico paquete de Linux, se ejecuta Configure (como usuario normal):&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:~/Descargas/megatools-1.9.91$ ./configure&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Luego make&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:~/Descargas/megatools-1.9.91$ make&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Y por último con privilegios de root, make install&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:~/Descargas/megatools-1.9.91$ sudo make install&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt; Una vez hecho eso veremos que tenemos varios comandos disponiblles&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:&lt;del&gt;$ mega&#10;megadf megadl megaget megals megamkdir megamv megaput megareg megarm megasync&#10;hbautista@kenobi:&lt;/del&gt;$ mega&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt; Como en mi caso no necesito configurar una cuenta mega, sino simplemente descargar archivos usando la url &amp;ldquo;completa&amp;rdquo;, omito dicho paso y solamente hago uso de megadl que es precisamente el que voy a necesitar:&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:&lt;del&gt;/Descargas$ megadl &amp;lsquo;&lt;a class="link" href="https://mega.co.nz/#!1c1WQIZI!25fGpiBF4W1O6phNFo2A1oxVob46009m0cLuSKcfVrk%27" target="_blank" rel="noopener"&#10; &gt;https://mega.co.nz/#!1c1WQIZI!25fGpiBF4W1O6phNFo2A1oxVob46009m0cLuSKcfVrk'&lt;/a&gt;&#10;megadl: error while loading shared libraries: libmega.so.0: cannot open shared object file: No such file or directory&#10;hbautista@kenobi:&lt;/del&gt;/Descargas$&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt; Si les pasa como a mi que les sale ese error de &amp;ldquo;error while loading shared libraries:…&amp;rdquo; se debe principalmente a que las librerías recién instaladas aún no están &amp;ldquo;actualizadas&amp;rdquo;. Para hacerlo, basta ejecutar como root lo siguiente:&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:/home/hbautista# ldconfig&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Y si después de eso no funcionara:&lt;/p&gt;&#10;&lt;p&gt;root@kenobi:/home/hbautista# ldconfig.real&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Y entonces sí, volver a intentar la descarga:&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:&lt;del&gt;/Descargas$ megadl &amp;lsquo;&lt;a class="link" href="https://mega.co.nz/#!tFVFwTYT!7qkLNQHk45J5gAnn-YkOOWBVjq5xn_nAefeklwl8jCk%27" target="_blank" rel="noopener"&#10; &gt;https://mega.co.nz/#!tFVFwTYT!7qkLNQHk45J5gAnn-YkOOWBVjq5xn_nAefeklwl8jCk'&lt;/a&gt;&#10;Downloaded Vaughan System.part087.rar&#10;hbautista@kenobi:&lt;/del&gt;/Descargas$&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt; Ahora bien, no tiene para hacer descargas simultaneas, pero podemos abrir varias terminales y ejecutar varias veces el comando, tantas como ustedes (y su conexión a internet) se lo permitan. Pero también me pregunté si podemos pasarle varios enlaces en una misma orden:&lt;/p&gt;&#10;&lt;p&gt;hbautista@kenobi:&lt;del&gt;/Descargas$ megadl &amp;lsquo;&lt;a class="link" href="https://mega.co.nz/#!ZcUjzApI!MnJALBLkS9FQptNDi6Ob3OAgIs_xJBuKWaIFXkFocU0%27" target="_blank" rel="noopener"&#10; &gt;https://mega.co.nz/#!ZcUjzApI!MnJALBLkS9FQptNDi6Ob3OAgIs_xJBuKWaIFXkFocU0'&lt;/a&gt; &amp;lsquo;&lt;a class="link" href="https://mega.co.nz/#!MYVSwQhA!ExJ0d2_t2mtZwm8bDQlnBG1F8CaQRdU39OFyZLgtT_M%27" target="_blank" rel="noopener"&#10; &gt;https://mega.co.nz/#!MYVSwQhA!ExJ0d2_t2mtZwm8bDQlnBG1F8CaQRdU39OFyZLgtT_M'&lt;/a&gt; &amp;lsquo;&lt;a class="link" href="https://mega.co.nz/#!wRdWEBqR!02Zmwza6LJDMLdFOn9R_ZYyHfcYKIxGfMvTegCB9MAI%27" target="_blank" rel="noopener"&#10; &gt;https://mega.co.nz/#!wRdWEBqR!02Zmwza6LJDMLdFOn9R_ZYyHfcYKIxGfMvTegCB9MAI'&lt;/a&gt; &amp;lsquo;&lt;a class="link" href="https://mega.co.nz/#!xV9U2TrL!JDo5UQwbNk6kEw96_j_R5bZa2SpE7fHE-y9hQDxy9n8%27" target="_blank" rel="noopener"&#10; &gt;https://mega.co.nz/#!xV9U2TrL!JDo5UQwbNk6kEw96_j_R5bZa2SpE7fHE-y9hQDxy9n8'&lt;/a&gt;&#10;Downloaded Vaughan System.part064.rar&#10;Downloaded Vaughan System.part065.rar&#10;Downloaded Vaughan System.part066.rar&#10;Downloaded Vaughan System.part067.rar&#10;hbautista@kenobi:&lt;/del&gt;/Descargas$&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt; Y pues si, aunque se va descargando de uno en uno, al menos dejas &amp;ldquo;encolados&amp;rdquo; varios archivos a la vez.&lt;/p&gt;&#10;&lt;p&gt;En fin, si quieren ver que más cosas se pueden hacer con Megatools, les dejo el siguiente video:&lt;/p&gt;&#10;&lt;p&gt;Espero publicar más seguido 😀&lt;/p&gt;&#10;</description></item><item><title>Configurar ALSA en Debian y reproducción de música en segundo plano</title><link>https://hbautista.com/p/configurar-alsa-en-debian-y-reproduccion-de-musica-en-segundo-plano/</link><pubDate>Thu, 22 Nov 2012 23:00:11 +0000</pubDate><guid>https://hbautista.com/p/configurar-alsa-en-debian-y-reproduccion-de-musica-en-segundo-plano/</guid><description>&lt;img src="https://hbautista.com/images/2012/alsaequal-1.png" alt="Featured image of post Configurar ALSA en Debian y reproducción de música en segundo plano" /&gt;&lt;p&gt;He instalado un servidor casero con Debian Squeeze, y como tal, sólo se ha instalado lo necesario para que funcione como tal, servir como servidor Web para manejar control de inventario de bienes informáticos y poco más.&lt;/p&gt;&#10;&lt;p&gt;Resulta que después de dicha instalación (aproximadamente 1 mes después) me surge la necesidad de tener una fuente de audio &amp;ldquo;permanente&amp;rdquo; para el conmutador de la empresa, es decir, el clásico sonido de música en espera cambiarlo por un archivo de audio cualquiera.&lt;/p&gt;&#10;&lt;p&gt; [Alsamixer&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2012/alsaequal-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-930&amp;rdquo; title=&amp;ldquo;Alsamixer&amp;rdquo; src=&amp;quot;/images/2012/alsaequal-1.png&amp;quot; alt=&amp;ldquo;Alsamixer&amp;rdquo; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;208&amp;rdquo; srcset=&amp;quot;/images/2012/alsaequal-1.png 300w, /images/2012/alsaequal-1.png 768w, /images/2012/alsaequal-1.png 1014w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;]&lt;a class="link" href="https://hbautista.com/images/2012/alsaequal-1.png" &gt;1&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;En ese sentido, hay dos equipos que actuán de servidores en el site donde se encuentra el conmutador, pero sólo el equipo con Debian tiene tarjeta de audio, así que el otro quedó descartado.&lt;/p&gt;&#10;&lt;h2 id="manos-a-la-obra"&gt;Manos a la obra&#10;&lt;/h2&gt;&lt;p&gt;Ese pequeño servidor con Debian no tiene ambiente gráfico, se instaló (como mencioné al inicio) sólo la base y de ahí a instalar los paquetes que hicieron falta para dejarlo funcionando. Pues bien, al no instalar el ambiente gráfico no se instalaron los paquetes necesarios para que se pueda oir desde consola.&lt;/p&gt;&#10;&lt;p&gt;Checamos que estén cargados los módulos (en mi caso, sí lo estaba)&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;~# cat /proc/asound/modules&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; snd_via82xx&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y checar qué módulos se están cargando&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# lsmod |grep snd&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_via82xx &lt;span style="color:#ae81ff"&gt;15256&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gameport &lt;span style="color:#ae81ff"&gt;6061&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; snd_via82xx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_ac97_codec &lt;span style="color:#ae81ff"&gt;79136&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; snd_via82xx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ac97_bus &lt;span style="color:#ae81ff"&gt;710&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; snd_ac97_codec&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_pcm &lt;span style="color:#ae81ff"&gt;47226&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; snd_via82xx,snd_ac97_codec&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_page_alloc &lt;span style="color:#ae81ff"&gt;5045&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; snd_via82xx,snd_pcm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_mpu401_uart &lt;span style="color:#ae81ff"&gt;4067&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; snd_via82xx&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_seq_midi &lt;span style="color:#ae81ff"&gt;3576&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_seq_midi_event &lt;span style="color:#ae81ff"&gt;3684&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt; snd_seq_midi&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_rawmidi &lt;span style="color:#ae81ff"&gt;12513&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; snd_mpu401_uart,snd_seq_midi&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_seq &lt;span style="color:#ae81ff"&gt;35463&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; snd_seq_midi,snd_seq_midi_event&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_timer &lt;span style="color:#ae81ff"&gt;12270&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt; snd_pcm,snd_seq&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd_seq_device &lt;span style="color:#ae81ff"&gt;3673&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt; snd_seq_midi,snd_rawmidi,snd_seq&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;snd &lt;span style="color:#ae81ff"&gt;34423&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;11&lt;/span&gt; snd_via82xx,snd_ac97_codec,snd_pcm,snd_mpu401_uart,snd_rawmidi,snd_seq,snd_timer,snd_seq_device&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En caso de que no estén instalados los paquetes necesarios, los instalamos&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# aptitude install alsa-utils alsa-oss alsa-tools&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Bastaría realizar el paso siguiente para ya dejar funcionando la tarjeta, y no dar tantas vueltas como lo hice yo&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# alsaconf&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Sonido en Debian&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2012/debian211-1.png&amp;quot; class=&amp;ldquo;size-medium wp-image-931 aligncenter&amp;rdquo; src=&amp;quot;/images/2012/debian211-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;221&amp;rdquo; srcset=&amp;quot;/images/2012/debian211-1.png 300w, /images/2012/debian211-1.png 768w, /images/2012/debian211-1.png 800w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;El problema viene cuando vemos en la &lt;a title="Wiki Alsa Debian" href="http://wiki.debian.org/ALSA" target="_blank" rel="noopener"&gt;Wiki de ALSA en Debian &lt;/a&gt;lo siguiente:&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &#10; &lt;/blockquote&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;For release Squeeze or any later release, alsaconf is no longer available in package &lt;a title="alsa-utils" href="http://packages.debian.org/alsa-utils" target="_blank" rel="noopener"&gt;alsa-utils&lt;/a&gt;. So try to configure alsa by running the command &amp;lsquo;&lt;strong&gt;alsactl init&lt;/strong&gt;&amp;rsquo; as root. Just ignore the error message like &amp;lsquo;Unknown hardware&amp;rsquo; (this issue said to be fixed in alsa-utils .20), then reboot and try to test your sound. For more details please see this &lt;a title="Forums Debian" href="http://forums.debian.net/viewtopic.php?f=6&amp;t=39116" target="_blank" rel="noopener"&gt;thread&lt;/a&gt;.&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;Así que tendremos que ejecutar lo siguiente como root:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# alsactl init&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y con eso ya tenemos resuelto el problema de sonido, bastaría hacer una prueba colocando bocinas o auriculares y reproducir algún archivo de audio para corroborar que todo funciona bien.&lt;/p&gt;&#10;&lt;p&gt;Ahora bien, una vez que ya tengo solucionado el problema de sonido viene ver el segundo punto, dejar audio (o música) reproduciendo en dicho servidor de forma continua, es decir, que esté reproduciendo el o los archivos de audio (mp3) de forma aleatoria y sin parar.&lt;/p&gt;&#10;&lt;p&gt;Para esto usaremos dos programas, el primero es el viejo conocido mplayer(&lt;a class="link" href="http://www.mplayerhq.hu" target="_blank" rel="noopener"&#10; &gt;http://www.mplayerhq.hu&lt;/a&gt;) que me servirá para reproducir archivos de audio.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ mplayer &lt;span style="color:#e6db74"&gt;&amp;#34;01 Diablo.mp3&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Con esto hacemos una prueba simple de reproducción.&lt;/p&gt;&#10;&lt;p&gt;Si tenemos varios archivos, el comando sería el siguiente:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ mplayer *.mp3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Si queremos que la reproducción se repita como en un bucle, usamos la opción -loop indicando con un número las veces que queremos que se repita:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ mplayer &lt;span style="color:#e6db74"&gt;&amp;#34;03 Elysium.mp3&amp;#34;&lt;/span&gt; -loop &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Con eso logramos que se repita 5 veces, pero si queremos que sea indefinido, es decir, hasta que nosotros lo cancelemos, sería:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ mplayer &lt;span style="color:#e6db74"&gt;&amp;#34;03 Elysium.mp3&amp;#34;&lt;/span&gt; -loop &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ya avanzamos, ahora la idea es tener varios archivos que se reproduzcan de forma indefinida pero también de forma aleatoria, para lograr esto último, usamos la opción -shuffle:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ mplayer -shuffle -loop &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; *.mp3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;En este caso, tengo un directorio llamado &amp;ldquo;bond&amp;rdquo; con unos 15 archivos mp3 que quiero que se reproduzcan de forma aleatoria y que se repitan indefinidamente, pero además que si cierro sesión via tty1, putty o ssh, el comando se siga ejecutando en segundo plano. En este caso nohup(&lt;a class="link" href="http://rm-rf.es/nohup-mantiene-ejecucion-comando-pese-salir-terminal/" target="_blank" rel="noopener"&#10; &gt;http://rm-rf.es/nohup-mantiene-ejecucion-comando-pese-salir-terminal/&lt;/a&gt;) es nuestro amigo ñ_ñ&lt;/p&gt;&#10;&lt;p&gt;Quedando el comando final de la siguiente forma:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hbautista@war-machine:~$ nohup mplayer -shuffle -loop &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; bond/*.mp3 &amp;amp;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y con esto logramos el cometido: Reproducir de forma aleatoria y de forma indefinida los archivos .mp3 que se encuentren en el directorio bond dentro de la carpeta del usuario, lo haga en segundo plano aún si dicho usuario cierra sesión.&lt;/p&gt;&#10;</description></item><item><title>Sources.list Debian Wheezy</title><link>https://hbautista.com/p/sources-list-debian-wheezy/</link><pubDate>Wed, 30 Nov 2011 04:21:20 +0000</pubDate><guid>https://hbautista.com/p/sources-list-debian-wheezy/</guid><description>&lt;img src="https://hbautista.com/images/2011/Pant_sources_wheezy-1.png" alt="Featured image of post Sources.list Debian Wheezy" /&gt;&lt;p&gt;Actualmente me encuentro usando Debian Wheezy (rama testing/pruebas) y este es mi actual sources.list&lt;/p&gt;&#10;&lt;p&gt;Sources.list Wheezy&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_sources_wheezy-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-790&amp;rdquo; src=&amp;quot;/images/2011/Pant_sources_wheezy-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;173&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_sources_wheezy-1.png 300w, /images/2011/Pant_sources_wheezy-1.png 768w, /images/2011/Pant_sources_wheezy-1.png 1024w, /images/2011/Pant_sources_wheezy-1.png 1280w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;Ahora bien, vamos a editar nuestro sources.list&lt;/p&gt;&#10;&lt;p&gt;root@luke:/home/hbautista# nano /etc/apt/sources.list&lt;/pre&gt;&lt;/p&gt;&#10;&lt;p&gt;Y escribimos el siguiente contenido:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#deb-src http://ftp.us.debian.org/debian/ wheezy main&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://security.debian.org/ wheezy/updates main&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#deb-src http://security.debian.org/ wheezy/updates main&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://mmc.geofisica.unam.mx/debian/ wheezy main contrib non-free&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# deb-src http://mmc.geofisica.unam.mx/debian/ squeeze main&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://ftp.mx.debian.org/debian/ squeeze main&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://ftp.rediris.es/debian squeeze main contrib non-free&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# deb-src http://ftp.mx.debian.org/debian/ squeeze main&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Google software repository&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# deb http://dl.google.com/linux/deb/ stable non-free&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Debian Multimedia&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://www.debian-multimedia.org wheezy main non-free&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Google testing repository&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#deb http://dl.google.com/linux/deb/ testing non-free&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#deb http://dl.google.com/linux/deb/ stable non-free&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Opera for Debian Lenny&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://deb.opera.com/opera/ wheezy non-free&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#### JDowloader http://jdownloader.org/ (Repositorio ubuntu)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;deb http://ppa.launchpad.net/jd-team/jdownloader/ubuntu natty main&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Antes de actualizar debemos realizar lo siguiente para obtener las firmas del repositorio de Opera:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# wget -O - http://deb.opera.com/archive.key | apt-key add -&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y también esto para la firma de Google Testing Repository:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y bueno, queda instalar Debian Multimedia Keyring&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# aptitude install debian-multimedia-keyring&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y también la llave de Launchpad para el JDownloader:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6A68F637&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ahora si, actualizamos nuestro sources.list&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# aptitude update&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y ya estaremos en posibilidades de tener los paquetes actualizados y poder instalar algunos que no se encuentran en Debian.&lt;/p&gt;&#10;</description></item><item><title>Redimensionar imágenes con Imagemagick</title><link>https://hbautista.com/p/redimencionar-imagenes-con-imagemagick/</link><pubDate>Tue, 31 May 2011 20:29:17 +0000</pubDate><guid>https://hbautista.com/p/redimencionar-imagenes-con-imagemagick/</guid><description>&lt;img src="https://hbautista.com/images/2011/Imagemagick-logo.png" alt="Featured image of post Redimensionar imágenes con Imagemagick" /&gt;&lt;p&gt;Hace ya un buen tiempo en mi blog anterior había hecho algunos scripts para reducir de tamaño las imágenes que subía en Flickr o en ese blog.&lt;/p&gt;&#10;&lt;p&gt;Como ese blog pasó a la historia junto con los artículos que tenía, las dos entradas relacionadas con lo mismo desaparecieron. Hace como una semana me preguntaron el porqué no escribo tan seguido y comenté que principalmente porque a veces no encuentro sobre qué escribir.&lt;/p&gt;&#10;&lt;p&gt;Y de ahí surgió el comentario sobre este tema y le mencioné que ya había resuelto ese detalle, aunque ahora mismo ya no use dichos scripts.&lt;/p&gt;&#10;&lt;p&gt;Pues bien y después de rebuscar entre las cosas que tenía almacenadas por fin encontré no uno, sino varios scripts sobre el tema. Pondré los primeros que usaba y finalmente el que para mi gusto fue el que finalmente usé masivamente debido a que estaba más completo.&lt;/p&gt;&#10;&lt;h2 id="primeros-scripts"&gt;Primeros scripts&#10;&lt;/h2&gt;&lt;p&gt;El primero le puse el nombre de &amp;ldquo;achicar&amp;rdquo; y es:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Pequeño script que cambia la resolución de la imagenes (con extension PNG) al 27% del tamaño original.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Realizado por: Hbautista, hbautista@usoli.org&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; file in &lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt; ls *.JPG &lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;convert $file -resize 27% foto_$file&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo “Listo!&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Como verán es simple y tiene la limitante que sólo funciona con fotos que tengan la extensión jpg en mayúsculas, debido a que cuando pasaba las fotos de mi cámara a la computadora las tenía así.&lt;/p&gt;&#10;&lt;p&gt;Las fotos resultantes quedaban en el mismo directorio al igual que las originales, quedando las &amp;ldquo;nuevas&amp;rdquo; con &amp;ldquo;foto_&amp;rdquo; al inicio del nombre de cada archivo.&lt;/p&gt;&#10;&lt;p&gt;En el caso de pantallazos y otros archivos o fotos que tenían la extensión .png lo modifiqué resultando el script llamado &amp;ldquo;reducir&amp;rdquo;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Pequeño script que cambia la resolución de la imagenes (con extension PNG) al 50% del tamaño original.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Realizado por: Hbautista, hbautista@usoli.org&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; file in &lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt; ls *.png &lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;convert $file -resize 50% foto_$file&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo “Listo!&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Luego de eso y buscando un poco más usé durante un tiempo este otro que lo llamé &amp;ldquo;quitar-calidad&amp;rdquo;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#/usr/bin&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir pt&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; N in *; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;convert -compress jpeg -quality &lt;span style="color:#ae81ff"&gt;44&lt;/span&gt; -enhance -font Bookman-DemiItalic  -fill white -pointsize &lt;span style="color:#ae81ff"&gt;14&lt;/span&gt; -draw &lt;span style="color:#e6db74"&gt;&amp;#34;text 680,500 &amp;#39;hbautista&amp;#39;&amp;#34;&lt;/span&gt; $N pt/$N; &lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ls -l pt/&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Aquí ya no importaba la extensión y a diferencia de los dos primeros, en este caso lo que hacía era reducir la calidad al 44% de la imagen original, crear un subdirectorio dentro del directorio en donde se ejecutase el script y añadir la marca de agua &amp;ldquo;hbautista.usoli.org&amp;rdquo; en las fotografías y poniendo las reducidas y con la marca de agua en el subdirectorio &amp;ldquo;pt&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;[foto_coapilla&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/foto_coapilla-1.jpg&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-579&amp;rdquo; title=&amp;ldquo;foto_coapilla&amp;rdquo; src=&amp;quot;/images/2011/foto_coapilla-1.jpg&amp;quot; alt=&amp;ldquo;foto_coapilla&amp;rdquo; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;225&amp;rdquo; srcset=&amp;quot;/images/2011/foto_coapilla-1.jpg 300w, /images/2011/foto_coapilla-1.jpg 768w, /images/2011/foto_coapilla-1.jpg 1024w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;]&lt;a class="link" href="https://hbautista.com/images/2011/foto_coapilla-1.jpg" &gt;1&lt;/a&gt;&lt;/p&gt;&#10;&lt;h2 id="script-final"&gt;Script final&#10;&lt;/h2&gt;&lt;p&gt;Luego hice una mezcla de los primeros scripts con el último para que reduciera el tamaño y además le pusiera la marca de agua, pero digamos que era desperdicio de código porque nada más junte los tres scripts. Finalmente éste fue el script final que a mi gusto estaba bastante funcional, le puse el nombre de &amp;ldquo;blogfoto&amp;rdquo;:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# blogfoto&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Pequeño script que cambia la resolución de la imagenes del tamaño original a 800*600. Usa ImageMagick&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Además de reducir la calidad de la imagen resultante.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Realizado por: Hbautista, hbautista@usoli.org&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# http://blog.hbautista.com/linux/redimencionar-imagenes-con-imagemagick/&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Primero nos aseguramos que la extensión esté en minúsculas y creamos fotoblog&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rename &lt;span style="color:#e6db74"&gt;&amp;#39;s/.JPG/.jpg/&amp;#39;&lt;/span&gt; *.JPG&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir fotoblog&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Empezamos el ciclo con las fotos de extensión jpg para reducirlo a 800*600.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#Además de poner las fotos dentro de fotoblog&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; file in &lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt; ls *.jpg &lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;convert -size 2048x1536 $file -thumbnail 800x600 fotoblog/foto_$file&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo “Listo!&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Ahora procedemos a comprimir más las imágenes dentro de fotoblog&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd fotoblog&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; N in *; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;convert -compress jpeg -quality &lt;span style="color:#ae81ff"&gt;55&lt;/span&gt; -enhance -font Bookman-DemiItalic  -fill white -pointsize &lt;span style="color:#ae81ff"&gt;14&lt;/span&gt; -draw &lt;span style="color:#e6db74"&gt;&amp;#34;text 680,500 &amp;#39;hbautista&amp;#39;&amp;#34;&lt;/span&gt; $N $N;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo &lt;span style="color:#e6db74"&gt;&amp;#34;Hemos terminado!&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ahora bien, primeramente usando el comando rename pasamos de mayúsculas a minúsculas las extensiones, si es que están así. Creamos el directorio &amp;ldquo;fotoblog&amp;rdquo; y hacemos que las fotos sean reducidas a un tamaño de 800×600 y queden con el nombre de foto_loquesea.jpg dentro de ese directorio.&lt;/p&gt;&#10;&lt;p&gt;Una vez que haya terminado ese proceso que depende de cuántas fotografías estén dentro del directorio lo que hace es que accede al directorio fotoblog y ahí procede a añadirle la marca de agua.&lt;/p&gt;&#10;&lt;h2 id="cómo-usar-el-script"&gt;¿Cómo usar el script?&#10;&lt;/h2&gt;&lt;p&gt;foto_chiapatuit&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/foto_chiapatuit-1.jpg&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-580&amp;rdquo; src=&amp;quot;/images/2011/foto_chiapatuit-1.jpg&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;230&amp;rdquo; srcset=&amp;quot;/images/2011/foto_chiapatuit-1.jpg 300w, /images/2011/foto_chiapatuit-1.jpg 768w, /images/2011/foto_chiapatuit-1.jpg 1024w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;Copiar el contenido del script final (blogfoto) en tu editor de texto favorito y adecuarlo a tus necesidades, es decir cambiar el nombre del subdirectorio, el tipo de letra o cambiar el texto de la marca de agua y guardarlo con el nombre de &amp;ldquo;loquesea.sh&amp;rdquo; para este ejemplo lo dejaré con el nombre original &lt;strong&gt;blogfoto.sh&lt;/strong&gt; y lo dejaré en el directorio raíz de mi /home para luego como root copiarlo a /usr/local/bin y darle los respectivos permisos de ejecución:&lt;/p&gt;&#10;&lt;p&gt;Pant_script_foto&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_script_foto-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-582&amp;rdquo; src=&amp;quot;/images/2011/Pant_script_foto-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;147&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_script_foto-1.png 300w, /images/2011/Pant_script_foto-1.png 768w, /images/2011/Pant_script_foto-1.png 944w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# cp blogfoto.sh /usr/local/bin/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista# chmod +x /usr/local/bin/blogfoto.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@luke:/home/hbautista#&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Luego con tu usuario normal ubicarte en el directorio que tiene las fotos y ejecutar el script:&lt;/p&gt;&#10;&lt;p&gt;Pant_scriptfoto2&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_scriptfoto2-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-583&amp;rdquo; src=&amp;quot;/images/2011/Pant_scriptfoto2-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;147&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_scriptfoto2-1.png 300w, /images/2011/Pant_scriptfoto2-1.png 768w, /images/2011/Pant_scriptfoto2-1.png 944w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hbautista@luke:~$ cd Imágenes/Taller_Foto/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hbautista@luke:~/Imágenes/Taller_Foto$ blogfoto.sh&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Can&lt;span style="color:#960050;background-color:#1e0010"&gt;&amp;#39;&lt;/span&gt;t rename *.JPG *.jpg: No existe el fichero o el directorio&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;“Listo!&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Hemos terminado!&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hbautista@luke:~/Imágenes/Taller_Foto$&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;El resultado se ve como esto:&lt;/p&gt;&#10;&lt;p&gt;[Luces&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/foto_dsc07862-1.jpg&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-581&amp;rdquo; title=&amp;ldquo;Luces&amp;rdquo; src=&amp;quot;/images/2011/foto_dsc07862-1.jpg&amp;quot; alt=&amp;ldquo;Luces&amp;rdquo; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;201&amp;rdquo; srcset=&amp;quot;/images/2011/foto_dsc07862-1.jpg 300w, /images/2011/foto_dsc07862-1.jpg 768w, /images/2011/foto_dsc07862-1.jpg 800w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;]&lt;a class="link" href="https://hbautista.com/images/2011/foto_dsc07862-1.jpg" &gt;2&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Espero que les sirva&lt;/p&gt;&#10;&lt;p&gt;Enlaces:&lt;/p&gt;&#10;&lt;p&gt;Jugando con Imagemagick&lt;/p&gt;&#10;&lt;p&gt;&lt;a title="ImageMagick manipulando centenares de imagenes" href="http://bit.ly/mrOOFK" target="_blank" rel="noopener"&gt;ImageMagick manipulando centenares de imágenes&lt;/a&gt;&lt;/p&gt;&#10;</description></item><item><title>Seguimiento de enlaces</title><link>https://hbautista.com/p/seguimiento-de-enlaces/</link><pubDate>Sat, 02 Apr 2011 06:29:24 +0000</pubDate><guid>https://hbautista.com/p/seguimiento-de-enlaces/</guid><description>&lt;p&gt;Hace unos días me estaban preguntando sobre un enlace que había compartido de alguna forma (mensajería instantanea, correo electrónico o red social) y aunque recordaba de qué era el sitio y la información contenida, nada más no pude dar con dicho enlace {e_e}&lt;br&gt;&#10;Básicamente es un sitio donde estaba la información de modems, incluídos los que dan acá en México, donde vienen manuales, configuraciones, usuarios y contraseñas predefinidos o algo así. Hasta estos momentos, aún no doy con el enlace -.-&lt;/p&gt;&#10;&lt;p&gt;En fin, el caso es que puse un tuit donde indicaba que no daba con un enlace y &lt;a title="@nasheliux" href="http://twitter.com/nasheliux" target="_blank" rel="noopener"&gt;@nasheliux&lt;/a&gt; me &lt;a title="@nasheliux" href="http://bit.ly/fxO3JV" target="_blank" rel="noopener"&gt;contestó&lt;/a&gt; &lt;a title="Trunk.ly" href="http://bit.ly/gGOvGQ" target="_blank" rel="noopener"&gt;indicándome&lt;/a&gt; de un servicio llamada &lt;a title="Trunk.ly" href="http://trunk.ly/" target="_blank" rel="noopener"&gt;Trunk.ly&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;[Trunk.ly&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/trunkly-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-506&amp;rdquo; src=&amp;quot;/images/2011/trunkly-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;187&amp;rdquo; srcset=&amp;quot;/images/2011/trunkly-1.png 300w, /images/2011/trunkly-1.png 768w, /images/2011/trunkly-1.png 854w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 300px) 100vw, 300px&amp;rdquo; /&amp;gt;]&lt;a class="link" href="https://hbautista.com/images/2011/trunkly-1.png" &gt;1&lt;/a&gt;&lt;br&gt;&#10;¿Que es &lt;a title="Trunk.ly" href="http://trunk.ly/" target="_blank" rel="noopener"&gt;Trunk.ly&lt;/a&gt;? La definición en su página web&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;&amp;ldquo;Can&amp;rsquo;t find a link you&amp;rsquo;ve shared?&lt;/p&gt;&#10;&lt;p&gt;Trunk.ly automagically collects the links you share online … and makes them searchable. &amp;quot;&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;Entonces, lo que hace es que te creas una cuenta, la interfaz es muy parecida a &lt;a title="Twitter" href="http://twitter.com" target="_blank" rel="noopener"&gt;twitter&lt;/a&gt;, puedes tener seguidores y seguir a otros usuarios del servicio, puedes añadir enlaces de forma manual, pero lo interesante viene a que precisamente es un &amp;ldquo;recolector&amp;rdquo; de enlaces de los sitios que les proporciones datos y/o acceso como son: &lt;a title="Twitter" href="http://twitter.com" target="_blank" rel="noopener"&gt;Twitter&lt;/a&gt;, &lt;a title="Facebook" href="http://www.facebook.com/" target="_blank" rel="noopener"&gt;Facebook&lt;/a&gt;, &lt;a title="Delicious" href="http://www.delicious.com/" target="_blank" rel="noopener"&gt;Delicious&lt;/a&gt;, etc.&lt;/p&gt;&#10;&lt;p&gt;&lt;a title="Delicious" href="http://www.delicious.com/" target="_blank" rel="noopener"&gt;Delicious&lt;/a&gt; precisamente te permite tener marcadores o bookmarks en la nube, pero básicamente los tienes que ir añadiendo manualmente entrando al sitio o bien mediante algún plugin para &lt;a title="Firefox" href="http://www.mozilla.com/es-ES/firefox/" target="_blank" rel="noopener"&gt;firefox&lt;/a&gt;, &lt;a title="Google Chrome" href="http://www.google.com/chrome?hl=es" target="_blank" rel="noopener"&gt;chrome&lt;/a&gt; o algún otro navegador que tengas.&lt;/p&gt;&#10;&lt;p&gt;Pues bien, en &lt;a title="Trunk.ly" href="http://trunk.ly" target="_blank" rel="noopener"&gt;Trunk.ly&lt;/a&gt; te evitas ese paso, pues cuando compartes algún enlace en &lt;a title="Twitter" href="http://twitter.com" target="_blank" rel="noopener"&gt;Twitter&lt;/a&gt; o &lt;a title="Facebook" href="http://www.facebook.com/" target="_blank" rel="noopener"&gt;Facebook&lt;/a&gt;, automáticamente es &amp;ldquo;colectado&amp;rdquo; por este servicio, así que te olvidas de hacer este proceso de forma manual.&lt;/p&gt;&#10;&lt;p&gt;En una opinión muy personal, recomiendo ampliamente el servicio, puede que tú si encuentres algún enlace del que te hayas olvidado ñ_ñ&lt;/p&gt;&#10;</description></item></channel></rss>