<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bash on Héctor Bautista</title><link>https://hbautista.com/tags/bash/</link><description>Recent content in Bash on Héctor Bautista</description><generator>Hugo -- gohugo.io</generator><language>es-ES</language><lastBuildDate>Tue, 20 May 2014 14:00:36 +0000</lastBuildDate><atom:link href="https://hbautista.com/tags/bash/index.xml" rel="self" type="application/rss+xml"/><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>Enchulando nuestra terminal</title><link>https://hbautista.com/p/enchulando-nuestra-terminal/</link><pubDate>Wed, 07 Sep 2011 04:26:20 +0000</pubDate><guid>https://hbautista.com/p/enchulando-nuestra-terminal/</guid><description>&lt;img src="https://hbautista.com/images/2011/Pant_bashrc-1.png" alt="Featured image of post Enchulando nuestra terminal" /&gt;&lt;p&gt;Bash_demo&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Bash_demo-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-721&amp;rdquo; src=&amp;quot;/images/2011/Bash_demo-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;279&amp;rdquo; height=&amp;ldquo;300&amp;rdquo; srcset=&amp;quot;/images/2011/Bash_demo-1.png 279w, /images/2011/Bash_demo-1.png 564w&amp;quot; sizes=&amp;ldquo;auto, (max-width: 279px) 100vw, 279px&amp;rdquo; /&amp;gt;&lt;/p&gt;&#10;&lt;p&gt;Pues hace un tiempo, &lt;a title="Picando Código" href="http://picandocodigo.net/2009/personalizando-el-prompt-de-bash-en-debian/" target="_blank" rel="noopener"&gt;había encontrado&lt;/a&gt; una bonita forma de poner el logo de &lt;span style="color: #ff0000;"&gt;&lt;strong&gt;Debian&lt;/strong&gt;&lt;/span&gt; en mi perfil de &lt;strong&gt;bash&lt;/strong&gt; (~/.bashrc) y me había gustado.&lt;/p&gt;&#10;&lt;p&gt;Pero con eso de que reinstalé (y probablemente dentro de muy poco lo vuelva a hacer :-/ ) perdí por completo esa utilidad.&lt;/p&gt;&#10;&lt;p&gt;Bueno, instalen el paquete fortune y todos aquellos adicionales que requieran que son varios:&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:~$ aptitude search fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;v fortune -&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;v fortune-cookie-db -&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i A fortune-mod - proporciona galletas de la fortuna bajo demanda&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortune-zh - Chinese Data files &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i fortunes - Archivos de datos que contienen mensajes de galletas de la suerte&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-bg - archivos de datos en búlgaro para fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i fortunes-bofh-excuses - BOFH excuses &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-br - Data files with fortune cookies in Portuguese&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-cs - Czech and Slovak data files &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-de - German data files &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i fortunes-debian-hints - Debian Hints &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-eo - Collection of esperanto fortunes.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-eo-ascii - Collection of esperanto fortunes &lt;span style="color:#f92672"&gt;(&lt;/span&gt;ascii encoding&lt;span style="color:#f92672"&gt;)&lt;/span&gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-eo-iso3 - Collection of esperanto fortunes &lt;span style="color:#f92672"&gt;(&lt;/span&gt;ISO3 encoding&lt;span style="color:#f92672"&gt;)&lt;/span&gt;.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i fortunes-es - Spanish fortune database&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i fortunes-es-off - Frases de fortune en español &lt;span style="color:#f92672"&gt;(&lt;/span&gt;sección ofensiva&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-fr - Frases de fortunes en francés&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-ga - Archivos de datos de fortune en irlandés &lt;span style="color:#f92672"&gt;(&lt;/span&gt;gaélico&lt;span style="color:#f92672"&gt;)&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-it - Archivos de datos que contienen citas de fortune en italiano&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-it-off - Archivos de datos en italiano que contienen frases de fortune, sección&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-mario - Archivos de fortune de Mario&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;i A fortunes-min - Archivos de datos que contienen frases de fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-off - Archivos de datos que contienen frases de fortune ofensivas&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-pl - Archivos de datos de fortune en polaco&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p fortunes-ru - Russian data files &lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; fortune&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;p libfortune-perl - Perl module to read fortune &lt;span style="color:#f92672"&gt;(&lt;/span&gt;strfile&lt;span style="color:#f92672"&gt;)&lt;/span&gt; databases&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hbautista@luke:~$&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Después de eso, procedemos a editar nuestro &lt;strong&gt;~/.bashrc&lt;/strong&gt; con el editor de su preferencia, en mi caso uso nano:&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:~$ nano .bashrc&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Y copiar el siguiente código:&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;rojo&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;\e[1;31m&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NC&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#39;\e[0m&amp;#39;&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;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; _,met\$\$\$\$\$gg.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; ,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; ,g\$\$P\&amp;#34;\&amp;#34; \&amp;#34;\&amp;#34;\&amp;#34;Y\$\$.\&amp;#34;.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; ,\$\$P&amp;#39; \`\$\$\$.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; &amp;#39;,\$\$P ,ggs. \`\$\$b:&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; \`d\$\$&amp;#39; ,\$P\&amp;#34;&amp;#39; . \$\$\$&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; \$\$P d\$&amp;#39; , \$\$P&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; \$\$: \$\$. - ,d\$\$&amp;#39; &amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; \$\$; Y\$b._ _,d\$P&amp;#39; &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; _, _, ,&amp;#39;\`.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; Y\$\$. \`.\`\&amp;#34;Y\$\$\$\$P\&amp;#34;&amp;#39;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`\$\$&amp;#39; \`\$\$&amp;#39; \`. ,&amp;#39;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`\$\$b \&amp;#34;-.__ &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \$\$ \$\$ \`&amp;#39;&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`Y\$\$b &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \$\$ \$\$ _, _&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`Y\$\$. &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; ,d\$\$\$g\$\$ ,d\$\$\$b. \$\$,d\$\$\$b.\`\$\$&amp;#39; g\$\$\$\$\$b.\`\$\$,d\$\$b.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`\$\$b. &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; ,\$P&amp;#39; \`\$\$ ,\$P&amp;#39; \`Y\$. \$\$\$&amp;#39; \`\$\$ \$\$ \&amp;#34;&amp;#39; \`\$\$ \$\$\$&amp;#39; \`\$\$&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`Y\$\$b. &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \$\$&amp;#39; \$\$ \$\$&amp;#39; \`\$\$ \$\$&amp;#39; \$\$ \$\$ ,ggggg\$\$ \$\$&amp;#39; \$\$&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`\&amp;#34;Y\$b._ &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \$\$ \$\$ \$\$ggggg\$\$ \$\$ \$\$ \$\$ ,\$P\&amp;#34; \$\$ \$\$ \$\$&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`\&amp;#34;\&amp;#34;\&amp;#34;\&amp;#34; &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \$\$ ,\$\$ \$\$. \$\$ ,\$P \$\$ \$\$&amp;#39; ,\$\$ \$\$ \$\$&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt; \`\$g. ,\$\$\$ \`\$\$._ _., \$\$ _,g\$P&amp;#39; \$\$ \`\$b. ,\$\$\$ \$\$ \$\$&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34; \`Y\$\$P&amp;#39;\$\$. \`Y\$\$\$\$P&amp;#39;,\$\$\$\$P\&amp;#34;&amp;#39; ,\$\$. \`Y\$\$P&amp;#39;\$\$.\$\$. ,\$\$.&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;rojo&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;Debian GNU/Linux &lt;/span&gt;&lt;span style="color:#e6db74"&gt;${&lt;/span&gt;NC&lt;span style="color:#e6db74"&gt;}&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;cat /etc/debian_version&amp;#39;&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;# Imprimimos algunas cosas interesantes en la pantalla&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo&#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;La cita del día:&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;fortune -a&#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; --- &amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pant_ebashrc&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_ebashrc-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-723&amp;rdquo; src=&amp;quot;/images/2011/Pant_ebashrc-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;176&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_ebashrc-1.png 300w, /images/2011/Pant_ebashrc-1.png 768w, /images/2011/Pant_ebashrc-1.png 1024w, /images/2011/Pant_ebashrc-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;Lo guardamos y la próxima vez que entremos a la terminal veremos algo como lo siguiente:&lt;/p&gt;&#10;&lt;p&gt;Pant_bashrc&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_bashrc-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-722&amp;rdquo; src=&amp;quot;/images/2011/Pant_bashrc-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;176&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_bashrc-1.png 300w, /images/2011/Pant_bashrc-1.png 768w, /images/2011/Pant_bashrc-1.png 1024w, /images/2011/Pant_bashrc-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;También añadí como mencionan en el artículo anterior el siguiente código justo antes de imprimir la cita del día en el .bashrc de 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;root@luke:/home/hbautista# nano /root/.bashrc&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&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;# Esto es para la cuenta de root&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#39;\e[1;31m&amp;#39;&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; ______ _____ _____ _______&amp;#34;&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; |_____/ | | | | |&amp;#34;&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; | \_ |_____| |_____| |&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;echo -e &lt;span style="color:#e6db74"&gt;&amp;#39;\e[m&amp;#39;&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;With great power comes great responsibility&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pant_ebashroot&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_ebashroot-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-724&amp;rdquo; src=&amp;quot;/images/2011/Pant_ebashroot-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;176&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_ebashroot-1.png 300w, /images/2011/Pant_ebashroot-1.png 768w, /images/2011/Pant_ebashroot-1.png 1024w, /images/2011/Pant_ebashroot-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;Y cuando se logueen como root, verán la siguiente pantalla:&lt;/p&gt;&#10;&lt;p&gt;Pant_bashrc2&lt;/p&gt;&#10;&lt;p&gt;&amp;quot; data-image-caption=&amp;quot;&amp;quot; data-large-file=&amp;quot;/images/2011/Pant_bashrc2-1.png&amp;quot; class=&amp;ldquo;aligncenter size-medium wp-image-725&amp;rdquo; src=&amp;quot;/images/2011/Pant_bashrc2-1.png&amp;quot; alt=&amp;quot;&amp;quot; width=&amp;ldquo;300&amp;rdquo; height=&amp;ldquo;176&amp;rdquo; srcset=&amp;quot;/images/2011/Pant_bashrc2-1.png 300w, /images/2011/Pant_bashrc2-1.png 768w, /images/2011/Pant_bashrc2-1.png 1024w, /images/2011/Pant_bashrc2-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;Créditos a los que ya lo habían escrito 😉&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></channel></rss>