<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux, Java y programación &#187; Arch Linux</title>
	<atom:link href="http://casidiablo.net/category/arch-linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Mon, 08 Mar 2010 03:41:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Códigos de shell script útiles en cualquier programa</title>
		<link>http://casidiablo.net/codigos-de-shell-script-utiles/</link>
		<comments>http://casidiablo.net/codigos-de-shell-script-utiles/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 03:23:46 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[comandos]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3588</guid>
		<description><![CDATA[

A continuación voy a poner algunos snippets de código de shell script que me han sido siempre útiles cuando escribo algún script. La mayoríá funcinoan en cualquier shell de Unix, aunque algunos requieren que sean ejecutados por Bash.
Evitar que usuarios sin privilegios ejecuten el script
Algunos scripts realizan tareas administrativas por lo cual podríamos querer que [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fcodigos-de-shell-script-utiles%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22C%C3%B3digos%20de%20shell%20script%20%C3%BAtiles%20en%20cualquier%20programa%22%20%7D);"></div>
<p style="text-align: justify;"><img src="http://casidiablo.net/wordpress/wp-content/uploads/2010/01/bash.png" alt="shell script" title="shell script" width="80" height="80" style="float:left;padding:5px;" />A continuación voy a poner algunos snippets de código de shell script que me han sido siempre útiles cuando escribo algún script. La mayoríá funcinoan en cualquier shell de Unix, aunque algunos requieren que sean ejecutados por <strong>Bash</strong>.</p>
<h3>Evitar que usuarios sin privilegios ejecuten el script</h3>
<p style="text-align: justify;">Algunos scripts realizan tareas administrativas por lo cual podríamos querer que solo el usuario root ejecute el script. En ese caso podemos usar algo como esto:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo &quot;Este script debe ser ejecutado por el usuario root&quot; 1&gt;&amp;2
    exit 1
fi</pre>
<p><!--INFOLINKS_ON--></p>
<h3>Permitir la ejecución del script solo a un usuario específico</h3>
<p style="text-align: justify;">De manera similar al código anterior, podríamos querer que solo un usuario específico ejecute el script. Lo hacemos así:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
AUTHORIZED_USER=&quot;usuario_permitido&quot;
if [ $USER != $AUTHORIZED_USER ]; then
    echo &quot;Este script debe ser ejecutado por el usuario $AUTHORIZED_USER&quot; 1&gt;&amp;2
    exit 1
fi</pre>
<p><!--INFOLINKS_ON--></p>
<h3>Verificar que un servicio/proceso se está ejecutando</h3>
<p style="text-align: justify;">Si queremos saber si existen procesos de algún servicio o programa ejecutándose podríamos usar este script (en este caso verifica que el demonio de Apache esté corriendo):</p>
<p><span id="more-3588"></span></p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/sh
SERVICE='httpd'
if ps ax | grep -v grep | grep $SERVICE &gt; /dev/null
then
    echo &quot;El servicio $SERVICE esta ejecutandose&quot;
else
    echo &quot;Chanfle! El servicio $SERVICE esta detenido&quot;
fi</pre>
<p><!--INFOLINKS_ON--></p>
<h3>Verificar que una variable esté asignada/tenga datos</h3>
<p style="text-align: justify;">Hay bastantes maneras de hacer esto en shell script&#8230; la que considero más sencilla y concisa es esta:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
FOO=
: ${FOO:?&quot;No existe la variable FOO o no tiene datos&quot;}
echo &quot;esto nunca se va a imprimir&quot;</pre>
<p><!--INFOLINKS_ON--></p>
<p style="text-align: justify;">El anterior script verifica si una variable existe y tiene datos; si esto no se cumple, el script se cierra. Podemos usar esta variación en donde solo comprobamos que la variable exista, sin importar si tiene datos o no:</code></p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
FOO=
: ${FOO?&quot;No existe la variable FOO&quot;}
echo &quot;esto si se va a imprimir&quot;</pre>
<p><!--INFOLINKS_ON--></p>
<h3>Crear un archivo de bloqueo</h3>
<p style="text-align: justify;">A veces debemos asegurarnos que el script no se ejecute dos o más veces simultáneas. Para ello podemos hacer uso de los archivos de bloqueo. Esta es una versión sencilla de un script que nos permite hacer esto:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
lockfile=/var/lock/loquesea.lock
if [ ! -e $lockfile ]; then
   touch $lockfile
   echo &quot;hago muchas cosas importantes aqui&quot;
   rm $lockfile
else
   echo &quot;ya hay otro proceso corriendo&quot;
fi</pre>
<p><!--INFOLINKS_ON--></p>
<p style="text-align: justify;">En este caso, se verifica que el archivo loquesea.lock exista. En caso de que exista, el script NO ejecuta sus tareas. Si no existe, crea el archivo, ejecuta las tareas que deba ejecutar y lo elimina.</p>
<p style="text-align: justify;">Pero, esto no es del todo fiable. ¿Qué pasaría si mientras nuestro script se está ejecutando es cerrado abruptamente (con Ctrl^c por ejemplo)? En ese caso el archivo de bloqueo no se borraría, y por lo tanto, no nos permitiría ejecutar el script de nuevo.</p>
<p style="text-align: justify;">Para cubrir esos casos, podríamos hacer uso del comando <strong><code>trap</code></strong> que nos permite ejecutar comandos en caso que nuestro script termine de manera inesperada. Esta es una versión más avanzada que además guarda dentro del archivo de bloqueo el PID del script que lo ejecuta:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
lockfile=/var/lock/loquesea.lock
if ( set -o noclobber; echo &quot;$$&quot; &gt; &quot;$lockfile&quot;) 2&gt; /dev/null;
then
    trap 'rm -f &quot;$lockfile&quot;; exit $?' INT TERM EXIT
    echo &quot;hago muchas cosas aqui tranquilamente&quot;
    rm -f &quot;$lockfile&quot;
    trap - INT TERM EXIT
else
    echo &quot;Ya hay otro proceso de este script ejecutandose&quot;
    echo &quot;corriendo con el PID: $(cat $lockfile)&quot;
fi</pre>
<p><!--INFOLINKS_ON--></p>
<p style="text-align: justify;">Entendamos un poco mejor el comando <strong><code>trap</code></strong>. La sintaxis del mismo es básicamente esta: <code>trap <strong>comando</strong> signal [signal ...]</code>; donde signal es la señal de terminación que quieres atrapar. Si quieres ver una lista de los signals disponibles puedes ejecutar el comando kill -l. Para el caso anterior se usaron los signals <code><strong>INT</strong></code> (captura la terminación producida por un Ctrl^c), <code><strong>TERM</strong></code> (terminación producida por el comando kill) y <code><strong>EXIT</strong></code> (terminación normal de un script, bien sea porque ya no hay más líneas que ejecutar o porque se encuentra con el comando exit).</p>
<h3>Menú de opciones</h3>
<p style="text-align: justify;">Para hacer un menú en donde permitimos al usuario seleccionar una serie de opciones podemos usar el siguiente esquema:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
clear
while :
do
 echo &quot; Escoja una opcion &quot;
 echo &quot;1. quien soy?&quot;
 echo &quot;2. cuanto espacio tengo&quot;
 echo &quot;3. que es esto?&quot;
 echo &quot;4. Salir&quot;
 echo -n &quot;Seleccione una opcion [1 - 4]&quot;
 read opcion
 case $opcion in
  1) echo &quot;este eres:&quot;;
     whoami;;
  2) echo &quot;tienes esto&quot;;
     df;;
  3) uname -r;;
  4) echo &quot;chao pues parcero&quot;;
     exit 1;;
  *) echo &quot;$opc es una opcion invalida. Es tan dificil?&quot;;
     echo &quot;Presiona una tecla para continuar...&quot;;
     read foo;;
esac
done</pre>
<p><!--INFOLINKS_ON--></p>
<h3>Pedir confirmación antes de ejecutar un script</h3>
<p>A veces es útil hacer que el usuario confirme la ejecución de un lote de sentencias, es decir, el típico mensaje que pide al usuario escribir <code><strong>yes</strong></code> o <code><strong>no</strong></code>. Esto lo podemos hacer así:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">#!/bin/bash
while true; do
    echo
    read -p &quot;esta seguro de hacer lo que sea que vaya a hacer &quot; yn
    case $yn in
        yes ) break;;
        no ) exit;;
        * ) echo &quot;por favor responda yes o no&quot;;;
    esac
done
echo &quot;si se ejecuta esto es que aceptaste&quot;
</pre>
<p><!--INFOLINKS_ON--></p>
<h3>Fuentes de información</h3>
<ul>
<li><a href="http://stackoverflow.com/">StackOverflow - La más valiosa sin duda alguna</a></li>
<li><a href="http://www.davidpashley.com/articles/writing-robust-shell-scripts.html">Writing Robust Bash Shell Scripts</a></li>
<li><a href="http://www.cyberciti.biz/tips/shell-root-user-check-script.html">nixCraft</a></li>
</ul>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/comandos/" rel="tag nofollow">comandos</a>, <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/script/" rel="tag nofollow">script</a>, <a href="http://casidiablo.net/tag/shell/" rel="tag nofollow">shell</a>, <a href="http://casidiablo.net/tag/unix/" rel="tag nofollow">unix</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/codigos-de-shell-script-utiles/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Redimensionar partición NTFS [consola]</title>
		<link>http://casidiablo.net/cambiar-tamano-particion-ntfs-linux/</link>
		<comments>http://casidiablo.net/cambiar-tamano-particion-ntfs-linux/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 00:22:03 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[linux. unix]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[partición]]></category>
		<category><![CDATA[redimensionar]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3530</guid>
		<description><![CDATA[

Entre tanto trabajo, estudio y procrastinación me queda poco tiempo para publicar cosas&#8230; así que al menos iré poniendo pequeños tips que considero útiles. En esta ocasión un tip simple, redimensionar una partición con NTFS desde la consola. Para ello usaremos el comando ntfsresize que viene dentro del paquete ntfsprogs (Gentoo/Debian/Arch/FreeBSD/) o ntfstools (Ubuntu): http://www.linux-ntfs.org/
Instalación
Gentoo:
emerge [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fcambiar-tamano-particion-ntfs-linux%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Redimensionar%20partici%C3%B3n%20NTFS%20%5Bconsola%5D%22%20%7D);"></div>
<p style="text-align: justify;">Entre tanto trabajo, estudio y procrastinación me queda poco tiempo para publicar cosas&#8230; así que al menos iré poniendo pequeños tips que considero útiles. En esta ocasión un tip simple, redimensionar una partición con NTFS desde la consola. Para ello usaremos el comando ntfsresize que viene dentro del paquete ntfsprogs (Gentoo/Debian/Arch/FreeBSD/) o ntfstools (Ubuntu): <a href="http://www.linux-ntfs.org/">http://www.linux-ntfs.org/</a></p>
<h3>Instalación</h3>
<p><strong>Gentoo:</strong></p>
<div class="consola">emerge -av ntfsprogs</div>
<p><strong>FreeBSD:</strong></p>
<div class="consola">cd /usr/ports/sysutils/ntfsprogs<br />
make &amp;&amp; make install clean</div>
<p><strong>Ubuntu:</strong></p>
<div class="consola">aptitude install ntfstools</div>
<p><strong>Debian:</strong></p>
<div class="consola">apt-get install ntfsprogs</div>
<p><strong>Arch:</strong></p>
<div class="consola">pacman -S ntfsprogs</div>
<p style="text-align: justify;">
<h3>Uso&#8230;</h3>
</p>
<p style="text-align: justify;">El uso es bastante simple&#8230; para inspeccionar una partición, conocer cuanto espacio disponible tiene y cuanto es el mínimo/máximo que podemos asignarle ejecutamos lo siguiente:</p>
<div class="consola">ntfsresize -if /dev/sda2</div>
<p style="text-align: justify;">Donde /dev/sda2 corresponde a la partición que queremos tratar. Supongamos que, por ejemplo, queremos redimensionar la partición a 34GB, ejecutamos lo siguiente para hacer un test de solo lectura:</p>
<div class="consola">ntfsresize -n -s 34G /dev/sda2</div>
<p style="text-align: justify;">El flag -n indica que NO se harán cambios reales sobre el disco, mientras que -s especifica el nuevo tamaño (k kilobytes, M para megabytes, G gigabytes). Si todo va bien con el test procedemos con el cambio real:</p>
<div class="consola">ntfsresize -f -s 34G /dev/sda2</div>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/bsd/" rel="tag nofollow">bsd</a>, <a href="http://casidiablo.net/tag/linux-unix/" rel="tag nofollow">linux. unix</a>, <a href="http://casidiablo.net/tag/ntfs/" rel="tag nofollow">ntfs</a>, <a href="http://casidiablo.net/tag/particion/" rel="tag nofollow">partición</a>, <a href="http://casidiablo.net/tag/redimensionar/" rel="tag nofollow">redimensionar</a>, <a href="http://casidiablo.net/tag/resize/" rel="tag nofollow">resize</a>, <a href="http://casidiablo.net/tag/windows/" rel="tag nofollow">Windows</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/cambiar-tamano-particion-ntfs-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hacer útil el prompt de bash</title>
		<link>http://casidiablo.net/prompts-utiles-bash-linux/</link>
		<comments>http://casidiablo.net/prompts-utiles-bash-linux/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 18:59:45 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[prompt]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[truco]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3232</guid>
		<description><![CDATA[

Antes que nada, una definición de prompt:
Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable (extraído de la Wikipedia).
Normalmente no lo vemos como algo muy importante, pero [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fprompts-utiles-bash-linux%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Hacer%20%C3%BAtil%20el%20prompt%20de%20bash%22%20%7D);"></div>
<p style="text-align: justify;">Antes que nada, una definición de <a href="http://es.wikipedia.org/wiki/Prompt">prompt</a>:</p>
<p style="padding-left: 30px; text-align: justify;">Se llama prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de órdenes. Éste puede variar dependiendo del intérprete de comandos y suele ser configurable (extraído de la Wikipedia).</p>
<p style="text-align: justify;">Normalmente no lo vemos como algo muy importante, pero leyendo <a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04">este artículo en </a><a href="http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04">Make Tech Easier</a> he reflexionado un poco acerca de este aspecto, y he hecho un listado de los prompts que me parecieron más útiles:</p>
<h3>1. Cambiar el color del prompt dependiendo del resultado del comando ejecutado</h3>
<p style="text-align: justify;">Este es de los que más me ha gustado: si ejecutas bien un comando, el prompt queda en su color original (en este caso verde); pero si te equivocas al tipearlo entonces queda en rojo. Además tiene una característica bastante interesante: te muestra el número dentro del historial que será asignado al comando que ejecutes. El resultado es el siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-3236 aligncenter" title="prompt1" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt1.png" alt="prompt1" width="385" height="154" /></p>
<p>Para usarlo, ejecutas esto o lo pones en tu archivo <code>~/.bashrc</code> para hacerlo permanente:<br />
<!--INFOLINKS_OFF-->
<pre class="brush: bash;">PROMPT_COMMAND='PS1=&quot;\[\033[0;33m\][\!]\`if [[ \$? = &quot;0&quot; ]]; then echo &quot;\\[\\033[1\\\;32m\\]&quot;; else echo &quot;\\[\\033[1\\\;31m\\]&quot;; fi\`[\u:\`if [[ `pwd|wc -c|tr -d &quot; &quot;` &gt; 18 ]]; then echo &quot;\\W&quot;; else echo &quot;\\w&quot;; fi\`]\$\[\033[0m\] &quot;; echo -ne &quot;\033]0;`hostname -s`:`pwd`\007&quot;'</pre>
<p><!--INFOLINKS_ON--></p>
<p><span id="more-3232"></span></p>
<h3>2. Mostrar una carita feliz si se ejecuta un comando correctamente</h3>
<p style="text-align: justify;">Este puede sonar algo infantil pero me parece bastante interesante. Funciona igual que el de arriba y el resultado es el siguiente:</p>
<p style="text-align: center;"><img class="size-full wp-image-3241 aligncenter" title="prompt2" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt2.png" alt="prompt2" width="386" height="154" /></p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">PS1=&quot;\`if [ \$? = 0 ]; then echo \[\e[33m\]^_^\[\e[0m\]; else echo \[\e[31m\]O_O\[\e[0m\]; fi\` \[\033[01;32m\]\u:\[\033[01;34m\]\w \$\[\033[00m\] &quot;</pre>
<p><!--INFOLINKS_ON--></p>
<h3>3. Mostrar bastante información en el prompt</h3>
<p style="text-align: justify;">El siguiente prompt es bastante grande y se encuentra distribuido en 3 líneas. Muestra la fecha y hora actual, el usuario, el nombre del equipo, la terminal con la que se está trabajando, el directorio en donde estamos, la cantidad de archivos en el directorio y el espacio que ocupan. Se ve así:</p>
<p style="text-align: center;"><img class="size-full wp-image-3243 aligncenter" title="prompt3" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt3.png" alt="prompt3" width="542" height="183" /></p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">PS1=&quot;\n\[\033[35m\]\$(/bin/date)\n\[\033[32m\]\w\n\[\033[1;31m\]\u@\h: \[\033[1;34m\]\$(/usr/bin/tty | /bin/sed -e 's:/dev/::'): \[\033[1;36m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files \[\033[1;33m\]\$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\033[0m\] $ \[\033[0m\]&quot;</pre>
<p><!--INFOLINKS_ON--></p>
<h3>4. Mostrar la cantidad de procesos corriendo en background</h3>
<p style="text-align: justify;">Este es otro bastante interesante ya que te muestra aparte de lo normal: el número en el historial del comando a ejecutar, y la cantidad de procesos que se encuentren corriendo en background (aquellos ejecutados de la forma comando &amp;). Se ve así:</p>
<p style="text-align: center;"><img class="size-full wp-image-3244 aligncenter" title="prompt4" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt4.png" alt="prompt4" width="383" height="152" /></p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">PS1='\[\e[1;32m\]\u@\H:\[\e[m\] \[\e[1;37m\]\w\[\e[m\]\n\[\e[1;33m\]hist:\! \[\e[0;33m\] \[\e[1;31m\]jobs:\j \$\[\e[m\] '</pre>
<p><!--INFOLINKS_ON--></p>
<h3>5. Mostrar información de los archivos y procesos en background</h3>
<p style="text-align: justify;">Esta combina cosas de la 3 y la 4: muestra cantidad de archivos y espacio que ocupan, además de la cantidad de procesos corriendo en background. El resultado es este:</p>
<p style="text-align: center;"><img class="size-full wp-image-3245 aligncenter" title="prompt5" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/prompt5.png" alt="prompt5" width="560" height="176" /></p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: bash;">PS1=&quot;\n\[\e[30;1m\]\[\016\]\[\017\](\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])-&gt;\[\e[30;1m\]\n\[\016\]\[\017\](\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--&gt; \[\e[0m\]&quot;</pre>
<p><!--INFOLINKS_ON--></p>
<p>¿se te ocurre algún otro?</p>
<p><strong>Actualización:</strong> he creado un ZIP con los prompts dentro ya que hay usuarios que, por culpa del navegador, no pueden verlos completos (cosas del resaltador de sintaxis):</p>
<p><a href="http://casidiablo.net/descargar/Prompts+para+Bash" class="tooltip descargacodigo" title="Descargar los prompts en texto plano comprimidos">Descargar</a></p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/bash/" rel="tag nofollow">bash</a>, <a href="http://casidiablo.net/tag/how-to/" rel="tag nofollow">how-to</a>, <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/prompt/" rel="tag nofollow">prompt</a>, <a href="http://casidiablo.net/tag/tip/" rel="tag nofollow">tip</a>, <a href="http://casidiablo.net/tag/truco/" rel="tag nofollow">truco</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/prompts-utiles-bash-linux/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Video Tutorial VirtualBox: ejecutar sistemas operativos REALES</title>
		<link>http://casidiablo.net/correr-diferentes-so-instalados-con-vbox/</link>
		<comments>http://casidiablo.net/correr-diferentes-so-instalados-con-vbox/#comments</comments>
		<pubDate>Mon, 11 May 2009 19:51:27 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[video tutoriales]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[sistemas operativos]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3043</guid>
		<description><![CDATA[

Hola amigos&#8230; he grabado un pequeño vídeo en donde enseño cómo ejecutar varios sistemas operativos REALES, es decir, que no son virtuales, al mismo tiempo usando VirtualBox. Por ejemplo, si tienes instalado Windows XP, Ubuntu y Fedora, y en cada uno tienes aplicaciones que usas a diario, podrías ejecutar Windows XP desde Ubuntu sin necesidad [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fcorrer-diferentes-so-instalados-con-vbox%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Video%20Tutorial%20VirtualBox%3A%20ejecutar%20sistemas%20operativos%20REALES%22%20%7D);"></div>
<p style="text-align: justify;">Hola amigos&#8230; he grabado un pequeño vídeo en donde enseño cómo ejecutar varios sistemas operativos REALES, es decir, que no son virtuales, al mismo tiempo usando VirtualBox. Por ejemplo, si tienes instalado Windows XP, Ubuntu y Fedora, y en cada uno tienes aplicaciones que usas a diario, podrías ejecutar Windows XP desde Ubuntu sin necesidad de tener que reiniciar el equipo.</p>
<p style="text-align: justify;">Esto tiene una gran ventaja frente al típico entorno en el cual tienes máquinas virtuales instaladas ya que, cuando realmente quieras usar el otro sistema operativo, lo ejecutas directamente en tu máquina sin las limitaciones de RAM o aceleración gráfica. Es más o menos lo que explicaba en <a href="http://casidiablo.net/correr-windows-preinstalado-sobre-ubuntu/">esta entrada, en donde lo hacia con Windows XP</a>. Pero puesto que algunos han tenido problemas con eso, y otros más me han pedido algo de información más detallada, mejor dejar todo registrado en este vídeo.</p>
<p style="text-align: justify;"><embed src="http://blip.tv/play/gs1QgYDVY5OibA" type="application/x-shockwave-flash" width="640" height="430" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p style="text-align: justify;">Como siempre lo he subido en <a href="http://blip.tv/file/2097553">Blip.tv</a>, <a href="http://www.youtube.com/watch?v=DcmLNy08iag">Youtube</a> y <a href="http://www.vimeo.com/4591443">Vimeo</a>. El vídeo es completamente libre, puedes darle el uso que desees; si deseas el vídeo original para cualquier propósito me contactan por correo.</p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/how-to/" rel="tag nofollow">how-to</a>, <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/sistemas-operativos/" rel="tag nofollow">sistemas operativos</a>, <a href="http://casidiablo.net/tag/tip/" rel="tag nofollow">tip</a>, <a href="http://casidiablo.net/tag/video/" rel="tag nofollow">video</a>, <a href="http://casidiablo.net/tag/video-tutoriales/" rel="tag nofollow">video tutoriales</a>, <a href="http://casidiablo.net/tag/virtualbox/" rel="tag nofollow">virtualbox</a>, <a href="http://casidiablo.net/tag/windows/" rel="tag nofollow">Windows</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/correr-diferentes-so-instalados-con-vbox/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
		<item>
		<title>Tip: resaltar sintaxis de código en nano</title>
		<link>http://casidiablo.net/howto-resaltar-codigo-nano-linux/</link>
		<comments>http://casidiablo.net/howto-resaltar-codigo-nano-linux/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 14:22:56 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[nano]]></category>
		<category><![CDATA[resaltar]]></category>
		<category><![CDATA[sintaxis]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3031</guid>
		<description><![CDATA[

Nano es sin duda mi editor de texto favorito: es simple, es rápido y anticuado (?). Me encanta usarlo aun cuando estoy en un entorno gráfico y tengo la posibilidad de usar Gedit o Kate. Este tip es bastante sencillo y hace que nano resalte el código fuente de los programos que estemos editando.
Basta con [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fhowto-resaltar-codigo-nano-linux%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Tip%3A%20resaltar%20sintaxis%20de%20c%C3%B3digo%20en%20nano%22%20%7D);"></div>
<p style="text-align: justify;">Nano es sin duda mi editor de texto favorito: es simple, es rápido y anticuado (?). Me encanta usarlo aun cuando estoy en un entorno gráfico y tengo la posibilidad de usar Gedit o Kate. Este tip es bastante sencillo y hace que nano resalte el código fuente de los programos que estemos editando.</p>
<p style="text-align: justify;">Basta con crear un archivo llamado <em>.nanorc</em> en el directorio home (<code>nano ~/.nanorc</code>) de nuestro usuario, y poner algo como esto (para PHP):</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: python;">syntax &quot;php&quot; &quot;\.php[2345s~]?$&quot;
color brightblue &quot;(.*)\(&quot;
color blue &quot;\$[a-zA-Z_0-9$]*|[=!&lt;&gt;]&quot;
color green &quot;(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|@|while)\s&quot;
color green &quot;[.,{}();]&quot;
color red &quot;('[^']*')|(\&quot;[^&quot;]*\&quot;)&quot;
color brightyellow &quot;(#.*|//.*)$&quot;
color brightyellow start=&quot;/\*&quot; end=&quot;\*/&quot;
color brightblue &quot;(&lt;\?(php)?|\?&gt;)&quot;
color white start=&quot;\?&gt;&quot; end=&quot;&lt;\?(php)?&quot;</pre>
<p><!--INFOLINKS_ON--></p>
<p style="text-align: justify;"><a href="http://wiki.linuxhelp.net/index.php/Nano_Syntax_Highlighting">Este es un listado completo</a> de la configuración para el resaltado de sintaxis en otros lenguajes de programación. Personalmente tengo sólo los que uso (Java, C/C++, SQL, Python, HTML y PHP), pero hay muchos más. Además, como puedes ver son fáciles de crear o modificar. El resultado es algo como esto:</p>
<p style="text-align: center;"><img title="ejemplo-nano" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/04/ejemplo-nano.png" alt="resaltar sintaxis nano" width="474" height="404" /></p>
<p>¡Nada mejor que nano!</p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/nano/" rel="tag nofollow">nano</a>, <a href="http://casidiablo.net/tag/resaltar/" rel="tag nofollow">resaltar</a>, <a href="http://casidiablo.net/tag/sintaxis/" rel="tag nofollow">sintaxis</a>, <a href="http://casidiablo.net/tag/tip/" rel="tag nofollow">tip</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/howto-resaltar-codigo-nano-linux/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Instalación y configuración de Slim, administrador de inicio de sesión</title>
		<link>http://casidiablo.net/instalar-configurar-slim/</link>
		<comments>http://casidiablo.net/instalar-configurar-slim/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 23:52:33 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[arch]]></category>
		<category><![CDATA[slim]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2914</guid>
		<description><![CDATA[

Slim es un gestor de inicio de sesión para X11 bastante liviano y sencillo; es el reemplazo perfecto para el GDM o el KDM si usas máquinas no tan nuevas, o si simplemente quieres agilizar el proceso de inicio de tu PC. Yo lo uso sobre todo en máquinas con XFCE, lo cual hace todo [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Finstalar-configurar-slim%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Instalaci%C3%B3n%20y%20configuraci%C3%B3n%20de%20Slim%2C%20administrador%20de%20inicio%20de%20sesi%C3%B3n%22%20%7D);"></div>
<p style="text-align: justify;"><a href="http://slim.berlios.de/">Slim</a> es un gestor de inicio de sesión para X11 bastante liviano y sencillo; es el reemplazo perfecto para el GDM o el KDM si usas máquinas no tan nuevas, o si simplemente quieres agilizar el proceso de inicio de tu PC. Yo lo uso sobre todo en máquinas con XFCE, lo cual hace todo bastante ligero y rápido.</p>
<h3>Instalación</h3>
<p style="text-align: justify;">Para instalarlo debes ejecutar el siguiente comando:</p>
<p>En <a href="http://casidiablo.net/category/linux/ubuntu/">Ubuntu</a>/<a href="http://casidiablo.net/category/debian/">Debian</a>:</p>
<div class="consola">$ sudo aptitude install slim</div>
<p>En <a href="http://casidiablo.net/category/gentoo/">Gentoo</a>:</p>
<div class="consola"># emerge slim</div>
<p>En <a href="http://casidiablo.net/category/arch-linux/">Arch</a>:</p>
<div class="consola"># pacman -S slim</div>
<p>En <a href="../../category/fedora">Fedora</a>:</p>
<div class="consola">$ sudo yum install slim</div>
<p style="text-align: justify;">Una vez instalado, procedemos a la configuración.<span id="more-2914"></span></p>
<h3>Configuración en Gentoo</h3>
<p style="text-align: justify;">Lo pongo solo en Gentoo porque fue la primer distribución en la que hice esto, y además otras distros lo configuran automáticamente una vez instalado. Lo primer es hacer que el XDM inicie en el runlevel por defecto:</p>
<div class="consola"># rc-update add xdm default</div>
<p style="text-align: justify;">Luego, debemos configurarlo para que ejecute slim. Para ello debes modificar la variable <code>DISPLAYMANAGER</code> en el archivo <code>/etc/conf.d/xdm</code>:</p>
<p><code>...<br />
DISPLAYMANAGER="slim"<br />
...</code></p>
<p style="text-align: justify;">Ahora, debemos configurar las sesiones con las que se puede iniciar sesión con <em>Slim</em>. Esto se hace editando el archivo <code>/etc/slim.conf</code> y configurando la variable <em>session</em> de acuerdo a nuestras necesidades (Gnome, XFCE, KDE, etc.). En mi caso está así:</p>
<p><code># Available sessions (first one is the default).<br />
# The current chosen session name is replaced in the login_cmd<br />
# above, so your login command can handle different sessions.<br />
# see the xinitrc.sample file shipped with slim sources<br />
sessions            xfce4,Gnome</code></p>
<p style="text-align: justify;">Cuando estés enfrente de la pantalla de inicio de sesión, basta con presionar F1 para rotar entre las sesiones que tengas configuradas. Si no lo haces, Slim iniciará la sesión por defecto (en el caso de la configuración de arriba, iniciará XFCE).</p>
<p style="text-align: justify;">Algo recomendable es cambiar la manera en que Slim inicia sesión, y crear un script personalizado para cada usuario (si hay más de uno). Los pasos en mi caso fueron: crear un archivo llamado .xinitrc en mi directorio personal con el siguiente contenido:</p>
<p><!--INFOLINKS_OFF-->
<pre class="brush: python;">#!/bin/bash
DEFAULTSESSION=startxfce4
case &quot;$1&quot; in
	&quot;Gnome&quot;)
		exec gnome-session
		;;
	&quot;xfce4&quot;)
		exec startxfce4
		;;
	*)
		exec $DEFAULTSESSION
		;;
esac</pre>
<p><!--INFOLINKS_ON--></p>
<p style="text-align: justify;">Luego modifiqué la variable login_cmd poniéndola de esta manera:</p>
<p><code>login_cmd           exec /bin/sh - ~/.xinitrc %session</code></p>
<h3>Instalación de Themes</h3>
<p style="text-align: justify;">Si quieres cambiar la apariencia, puedes descargar alguno de los <a href="http://slim.berlios.de/themes01.php">Themes disponibles para Slim</a> y descomprimirlo en la carpeta <code>/usr/share/slim/themes</code>:</p>
<div class="consola"># tar zvxf theme.tar.gz<br />
# cp -rv theme /usr/share/slim/themes</div>
<p style="text-align: justify;">Y luego modificas la variable <code>current_theme</code> del archivo <code>/etc/slim.conf</code>, por ejemplo:</p>
<p><code>current_theme       xfce-g-box</code></p>
<p style="text-align: justify;">Puedes también poner varios temas separados por coma lo cual hará que los cargue de manera aleatoria. Podrías también leer la documentación acerca de <a href="http://slim.berlios.de/themes_howto.php">cómo crear un nuevo theme</a>, es bastante fácil.</p>
<h3>Troubleshooting</h3>
<p style="text-align: justify;">Si al presionar F1 en el momento en el que te estás logueando no aparecen los nombres de las sesiones, y en vez de ello aparece una línea extraña como de bash, elimina o comenta estas líneas en el archivo <code>/etc/slim.conf</code>:</p>
<p><code># Needed so your login will show up in wtmp and utmp, etc<br />
#sessionstart_cmd        /usr/bin/sessreg -a -l :0.0 %user<br />
#sessionstop_cmd         /usr/bin/sessreg -d -l :0.0 %user</code></p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/arch/" rel="tag nofollow">arch</a>, <a href="http://casidiablo.net/tag/gentoo/" rel="tag nofollow">gentoo</a>, <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/slim/" rel="tag nofollow">slim</a>, <a href="http://casidiablo.net/tag/tip/" rel="tag nofollow">tip</a>, <a href="http://casidiablo.net/tag/tutorial/" rel="tag nofollow">tutorial</a>, <a href="http://casidiablo.net/tag/ubuntu/" rel="tag nofollow">ubuntu</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/instalar-configurar-slim/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Problemas de hibernación y suspensión en Linux</title>
		<link>http://casidiablo.net/problemas-de-hibernacion-y-suspencion-en-linux/</link>
		<comments>http://casidiablo.net/problemas-de-hibernacion-y-suspencion-en-linux/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 12:39:20 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[hibernar]]></category>
		<category><![CDATA[suspender]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2873</guid>
		<description><![CDATA[

Siempre he tenido problemas al momento de poner cualquier computador corriendo Linux en modo de hibernación o simplemente suspenderlo. Esta pequeña guía intenta mostrar algunos sencillos pasos para solucionar este problema. Al momento de escribir estas líneas, aún no he podido solucionar del todo lo de la hibernación&#8230; vamos a ver si al terminar el [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fproblemas-de-hibernacion-y-suspencion-en-linux%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Problemas%20de%20hibernaci%C3%B3n%20y%20suspensi%C3%B3n%20en%20Linux%22%20%7D);"></div>
<p style="text-align: justify;">Siempre he tenido problemas al momento de poner cualquier computador corriendo Linux en modo de hibernación o simplemente suspenderlo. Esta pequeña guía intenta mostrar algunos sencillos pasos para solucionar este problema. Al momento de escribir estas líneas, aún no he podido solucionar del todo lo de la hibernación&#8230; vamos a ver si al terminar el artículo he sido capaz.</p>
<h3>Suspensión</h3>
<p style="text-align: justify;">La suspensión hace que nuestro computador entre en un estado de ahorro de energía agresivo, y lo hace guardando todo cuanto sea necesario en RAM. Mientras nuestro equipo esté suspendido NO es posible retirar el suplemento de energía (desconectarlo o quitarle la batería), porque aunque consuma poco, consume.</p>
<p style="text-align: justify;">Existe una aplicación bastante útil para suspender un PC corriendo Linux. A mi me ha funcionado sin problemas al primer intento sobre mi hermoso Gentoo; claro, no debería suponer ningún problema en otras distros. La instalación, como es habitual, se reduce a la ejecución de un simple comando:</p>
<p>En <a href="../../category/linux/ubuntu/">Ubuntu</a>/<a href="../../category/debian/">Debian</a>:</p>
<div class="consola">$ sudo aptitude install pm-utils</div>
<p>En <a href="../../category/gentoo">Gentoo</a>:</p>
<div class="consola"># emerge pm-utils</div>
<p>En <a href="../../category/arch-linux">Arch</a>:</p>
<div class="consola"># pacman -S pm-utils</div>
<p>En <a href="../../category/fedora">Fedora</a>:</p>
<div class="consola">$ sudo yum install pm-utils</div>
<p style="text-align: justify;">Una vez instalado, ya podemos ejecutar el comando <code>pm-suspend</code> para suspender nuestro equipo.</p>
<p><strong>Hibernación</strong></p>
<p style="text-align: justify;">Aquí si he tenido algunos problemas. En teoría, el mismo programa que instalamos en el anterior paso, nos proporciona el comando <code>pm-hibernate</code> que debería funcionar. Pero parece ser que por conflictos con mi tarjeta de video, no he tenido éxito.</p>
<p style="text-align: justify;">Para ser sincero, no he podido hacer que funcione en mi laptop. En mi PC de sobremesa lo he logrado parchando y recompilando el kernel, <a href="http://www.gentoo-wiki.info/TuxOnIce">como se explica aquí</a>. Pero definitivamente no me gusta esa opción puesto que, lo ideal, es que tengas un <a href="http://casidiablo.net/%C2%BFubuntu-o-fedora/">kernel vanilla</a> (fácil en Gentoo, pero complicado en distribuciones <em>normales</em>).</p>
<p style="text-align: justify;">En mi caso no he podido con la hibernación (HP Pavilion dv6000), ni creo tener tiempo para hacerlo en corto plazo. Pero espero que esta pequeña guía sirva a alguien. Si tienen algún aporte, ¡bienvenido sea!</p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/gentoo/" rel="tag nofollow">gentoo</a>, <a href="http://casidiablo.net/tag/hibernar/" rel="tag nofollow">hibernar</a>, <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/suspender/" rel="tag nofollow">suspender</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/problemas-de-hibernacion-y-suspencion-en-linux/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Tip rápido: sincronizar carpetas desde la consola</title>
		<link>http://casidiablo.net/how-to-sincronizar-linux/</link>
		<comments>http://casidiablo.net/how-to-sincronizar-linux/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 15:06:19 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2879</guid>
		<description><![CDATA[

Me erncanta la música, pero no tengo suficiente tiempo ni recursos para descargar los álbumes que la gente comparte. Mi hermanito con su Windows es el que se encarga de hacer ese tipo de cosas y, teniendo los mismos gustos musicales, me gusta tener actualizada mi carpeta de música con la que él descarga.
Para ello, [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fhow-to-sincronizar-linux%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Tip%20r%C3%A1pido%3A%20sincronizar%20carpetas%20desde%20la%20consola%22%20%7D);"></div>
<p style="text-align: justify;">Me erncanta la música, pero no tengo suficiente tiempo ni recursos para descargar los álbumes que la gente <em>comparte</em>. Mi hermanito con su Windows es el que se encarga de hacer ese tipo de cosas y, teniendo los mismos gustos musicales, me gusta tener actualizada mi carpeta de música con la que él descarga.</p>
<p style="text-align: justify;">Para ello, me basta con <a href="http://casidiablo.net/usar-cifs-en-vez-de-smbfs/">montar una carpeta con un recurso compartido de su equipo Windows</a>, y usar el comando <a href="http://www.manpagez.com/man/1/rsync/">rsync</a>:</p>
<div class="consola">rsync -uav /media/MúsicaCompartida/ /home/cristian/Música/</div>
<p style="text-align: justify;">Esto copia <strong>sólo los archivos nuevos</strong> desde la carpeta <em>/media/MúsicaCompartida/</em> hacia <em>/home/cristian/Música/</em>, mostrando todo el proceso (modo verbose) y de manera recursiva.</p>
<h3>Tip bonus: borrar archivos específicos recursivamente</h3>
<p style="text-align: justify;">Como las cosas que copio vienen de Windows hay dos problemas: a veces vienen con archivos .exe (de un virus de esos comunes en Windows) y además hay archivos <a href="http://www.blogoff.es/2006/04/18/el-archivo-thumbsdb/">Thumbs.db</a>. Puesto que no me sirven de nada en Linux, ejecuto el siguiente comando para, por ejemplo, borrar los ejecutables infectados:</p>
<div class="consola">find /home/cristian/Música/ -name *.exe -exec rm -v {} \;</div>
<p>¡Eso es todo! Espero les sea de ayuda, y disculpen el abandono en el que tengo el blog, pero sencillamente no hay tiempo.</p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/tip/" rel="tag nofollow">tip</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/how-to-sincronizar-linux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tip: evitar que sudo recuerde las contraseñas</title>
		<link>http://casidiablo.net/tip-evitar-que-sudo-recuerde-las-contrasenas/</link>
		<comments>http://casidiablo.net/tip-evitar-que-sudo-recuerde-las-contrasenas/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 15:51:20 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2864</guid>
		<description><![CDATA[

Cuando ejecutamos un comando con sudo, este guarda la contraseña temporalmente de tal manera que es posible usarlo repetidas veces sin necesidad de volver a digitarla. Esto por supuesto no es muy bueno de cara a la seguridad. Este pequeño tip hace que sudo olvide la contraseña inmediatamente después de haber sido digitada.
¿Cómo hacerlo?
sudo visudo
Luego [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Ftip-evitar-que-sudo-recuerde-las-contrasenas%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Tip%3A%20evitar%20que%20sudo%20recuerde%20las%20contrase%C3%B1as%22%20%7D);"></div>
<p style="text-align: justify;">Cuando ejecutamos un comando con sudo, este guarda la contraseña temporalmente de tal manera que es posible usarlo repetidas veces sin necesidad de volver a digitarla. Esto por supuesto no es muy bueno de cara a la seguridad. Este pequeño tip hace que sudo olvide la contraseña inmediatamente después de haber sido digitada.</p>
<p style="text-align: justify;">¿Cómo hacerlo?</p>
<div class="consola">sudo visudo</div>
<p style="text-align: justify;">Luego añades la siguiente línea:</p>
<div class="consola">Defaults	timestamp_timeout = 0</div>
<p style="text-align: justify;">Podrías además cambiar el 0 por cualquier otro número, representando los minutos que deseas tener la contraseña guardada.</p>
<p style="text-align: justify;"><a href="http://www.go2linux.org/disable-cache-password-sudo">Fuente</a></p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/password/" rel="tag nofollow">password</a>, <a href="http://casidiablo.net/tag/sudo/" rel="tag nofollow">sudo</a>, <a href="http://casidiablo.net/tag/tip/" rel="tag nofollow">tip</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/tip-evitar-que-sudo-recuerde-las-contrasenas/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mejorar apariencia de las aplicaciones GTK en KDE</title>
		<link>http://casidiablo.net/enriquecer-apariencia-programas-gtk-sobre-kde4/</link>
		<comments>http://casidiablo.net/enriquecer-apariencia-programas-gtk-sobre-kde4/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 09:55:35 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[apariencia]]></category>
		<category><![CDATA[arch]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gtk]]></category>
		<category><![CDATA[kde]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2817</guid>
		<description><![CDATA[

Hace un par de días instalé KDE 4.2 en mi Arch puesto que tenía bastante curiosidad. Soy un usuario de Gnome pero me interesa bastante conocer cuanto pueda. Uno de los problemas que encontré fue lo horrible que lucen las aplicaciones que usan Gtk, como Firefox o Gimp:

Afortunadamente existe un paquete llamado gtk-kde4 que te [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%3A%2F%2Fcasidiablo.net%2Fenriquecer-apariencia-programas-gtk-sobre-kde4%2F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Mejorar%20apariencia%20de%20las%20aplicaciones%20GTK%20en%20KDE%22%20%7D);"></div>
<p style="text-align: justify;">Hace un par de días instalé KDE 4.2 en mi <a href="http://casidiablo.net/arch-linux">Arch</a> puesto que tenía bastante curiosidad. Soy un usuario de Gnome pero me interesa bastante conocer cuanto pueda. Uno de los problemas que encontré fue lo horrible que lucen las aplicaciones que usan Gtk, como Firefox o Gimp:</p>
<p style="text-align: center;"><img class="size-full wp-image-2820 aligncenter" title="gtk-feo" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/02/gtk-feo.png" alt="gtk-feo" width="305" height="404" /></p>
<p style="text-align: justify;">Afortunadamente existe un paquete llamado <a href="http://www.kde-apps.org/content/show.php/gtk-kde4?content=74689">gtk-kde4</a> que te permite usar el <em>Look and Feel</em> de KDE para las aplicaciones de Gnome; se encuentra en los <a href="http://wiki.archlinux.org/index.php/Gu%C3%ADa_de_usuario_AUR_(Espa%C3%B1ol)">repositorios AUR</a>, y lo que hace es añadir una sección para Gtk cuando accedemos a <em>System Settings -&gt; Appearance</em> (<em>Configuración del sistema -&gt; Apariencia</em>):<span id="more-2817"></span></p>
<p style="text-align: center;"><img class="size-full wp-image-2819 aligncenter" title="gtk-kde4" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/02/gtk-kde4.png" alt="gtk-kde4" width="543" height="378" /></p>
<h3>Instalación en Arch</h3>
<p style="text-align: justify; padding-left: 30px;"><em>Comento la instalación en arch puesto que fue la que hice. En otras distros no te funcionará el siguiente procedimiento, lo que no quiere decir que no se pueda instalar.</em></p>
<p style="text-align: justify;">La manera que considero más fácil es instalar el administrador de paquetes <a href="http://archlinux.fr/yaourt-en">Yaourt</a> (te lo recomiendo aun cuando no estés siguiendo estos pasos). Yaourt es un programa que envuelve las funcionalidades de <a href="http://es.wikipedia.org/wiki/Pacman_(Arch_Linux)">Pacman</a> y las extiende ofreciendo más características. Lo hacemos ejecutando el comando:</p>
<div class="consola">pacman -Sy yaourt</div>
<p style="text-align: justify;">Posteriormente ejecutamos el siguiente comando para instalar gtk-kde4:</p>
<div class="consola">yaourt -S gtk-kde4</div>
<p style="text-align: justify;">Una vez lo hemos instalado y configurado, cerramos e iniciamos sesión y nuestras aplicaciones Gtk lucirán mucho mejor:</p>
<p style="text-align: center;"><img class="size-full wp-image-2821 aligncenter" title="gtk-bonito" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/02/gtk-bonito.png" alt="gtk-bonito" width="368" height="469" /></p>


	<div class="etiquetas">Etiquetas: <a href="http://casidiablo.net/tag/apariencia/" rel="tag nofollow">apariencia</a>, <a href="http://casidiablo.net/tag/arch/" rel="tag nofollow">arch</a>, <a href="http://casidiablo.net/tag/gnome/" rel="tag nofollow">gnome</a>, <a href="http://casidiablo.net/tag/gtk/" rel="tag nofollow">gtk</a>, <a href="http://casidiablo.net/tag/kde/" rel="tag nofollow">kde</a>, <a href="http://casidiablo.net/tag/linux/" rel="tag nofollow">linux</a>, <a href="http://casidiablo.net/tag/wordpress/" rel="tag nofollow">wordpress</a><br /></div>
]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/enriquecer-apariencia-programas-gtk-sobre-kde4/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
