<?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>Calcifer &#187; gnome</title>
	<atom:link href="http://blog.calcifer.com.ar/tag/gnome/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.calcifer.com.ar</link>
	<description></description>
	<lastBuildDate>Sat, 02 Oct 2010 05:32:38 +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>Debian squeeze en Samsung N210</title>
		<link>http://blog.calcifer.com.ar/2010/07/debian-squeeze-en-samsung-n210/</link>
		<comments>http://blog.calcifer.com.ar/2010/07/debian-squeeze-en-samsung-n210/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 18:07:03 +0000</pubDate>
		<dc:creator>lvidarte</dc:creator>
				<category><![CDATA[None]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[gnu/linux]]></category>

		<guid isPermaLink="false">http://blog.calcifer.com.ar/?p=731</guid>
		<description><![CDATA[La semana pasada me compré una netbook Samsung N210 con la cual estoy muy contento. Le instalé Debian squeeze (testing) y logré configurarle todas las teclas especiales, incluyendo las usadas para regular el brillo de la pantalla. Me basé en varias guías como esta y esta otra, aunque no las seguí exactamente y es por [...]]]></description>
			<content:encoded><![CDATA[<p>La semana pasada me compré una netbook <a href="http://www.samsung.com/sg/consumer/pc-peripherals-printer/notebook-pc/n-series/NP-N210-JA01SG/index.idx?pagetype=prd_detail" class="external">Samsung N210</a> con la cual estoy muy contento. Le instalé Debian squeeze (testing) y logré configurarle todas las teclas especiales, incluyendo las usadas para regular el brillo de la pantalla. Me basé en varias guías como <a href="http://artipc10.vub.ac.be/wordpress/uncategorized/samsung-n210-netbook-on-debian-gnulinux.html" title="Samsung N210 netbook on Debian GNU/Linux" class="external">esta</a> y <a href="http://josthalen.wordpress.com/2010/07/03/linux-on-samsung-n210/" title="Linux on Samsung N210" class="external">esta otra</a>, aunque no las seguí exactamente y es por eso el motivo del post.</p>
<p>Antes de comenzar la guía (y suponiendo que como yo, estás leyendo esto antes de comprar la máquina) te cuento mi experiencia con este aparatito. Algo que me hacía dudar en comprarme o no una netbook era el teclado que traían: demasiado chicos o sin espacio entre teclas. La N210 tiene casi la misma distancia entre la A y la Ñ que los teclados de escritorio y además tiene las teclas separadas como para que los dedos reconozcan mejor dónde están ubicados. Lo encuentro bastante cómodo y agradable de usar y salvo por un par de teclas que complican un poco (la &lt; se encuentra sobre la derecha y el shift derecho es chico) me siento a gusto con él. Por otro lado la batería dura aprox. 7 hs (con el brillo casi a tope) contra las 11 que declara Samsung. Dudo que llegue a eso incluso desconectando la wifi, bluetooth y poniendo el brillo al mínimo, pero aun así destaca su autonomía. Otra característica que me gusta es que es silenciosa y calienta muy poco.</p>
<p>Una última cosa antes de comenzar: El microprocesador <a href="http://ark.intel.com/Product.aspx?id=42503" class="external">Atom N450</a> tiene tecnología <a href="http://en.wikipedia.org/wiki/Hyper-threading" class="wikipedia">Hyperthreading</a> que paraleliza el procesador físico en dos procesadores virtuales. Es por eso que la salida de<code>/proc/cpuinfo</code>muestra dos cpus.</p>
<p>Ahora sí, vamos a la guía.</p>
<p><span id="more-731"></span></p>
<h3>Preparando el instalador</h3>
<p>El boot del instalador lo hice a través de la red, mediante un servidor <a href="http://en.wikipedia.org/wiki/Preboot_Execution_Environment" title="Preboot eXecution Environment" class="wikipedia">PXE</a> que armé en otra máquina. En realidad PXE no es un único servicio sino varios que en conjunto crean el entorno para que el boot remoto sea posible. Los servicios que lo componen son <a href="http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol" title="Dynamic Host Configuration Protocol" class="wikipedia">DHCP</a>, <a href="http://en.wikipedia.org/wiki/Trivial_File_Transfer_Protocol" title="Trivial File Transfer Protocol" class="wikipedia">TFTP</a> e <a href="http://en.wikipedia.org/wiki/Inetd" title="InterNET Daemon" class="wikipedia">inetd</a> (o xinetd). Hay muchas guías por ahí para hacer esto: <a href="http://www.debian.org/releases/etch/i386/ch04s06.html.en" title="Preparing Files for TFTP Net Booting" class="external">1</a>, <a href="http://www.debian-administration.org/articles/478" title="Setting up a server for PXE network booting" class="external">2</a>, <a href="http://andys.org.uk/wiki/Guide:PXE_network_booting_Debian_install" title="PXE network booting Debian install" class="external">3</a>. Aquí va la receta que yo usé:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace"># apt-get install tftpd tftp dhcp3-server</div></div>
<p>En el archivo<code>/etc/dhcp3/dhcpd.conf</code>agregar lo siguiente:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">group {<br />
&nbsp; allow bootp;<br />
&nbsp; next-server 192.168.1.2;<br />
&nbsp; &nbsp; filename &quot;pxelinux.0&quot;;<br />
&nbsp; &nbsp; host samsung-n210 {<br />
&nbsp; &nbsp; &nbsp; &nbsp; hardware ethernet 00:24:54:76:EC:08;<br />
&nbsp; &nbsp; &nbsp; &nbsp; fixed-address 192.168.1.10;<br />
&nbsp; &nbsp; }<br />
}</div></div>
<p>Donde<code>192.168.1.2</code>es la IP del servidor que tiene el servidor TFTP.<code>00:24:54:76:EC:08</code>es la MAC address de la netbook y<code>192.168.1.10</code>es la IP fija que se le asignará a la netbook.</p>
<p>El instalador de Debian agrega la siguiente línea a<code>/etc/inetd.conf</code>al momento de la instalación de tftpd así que ni hay que tocarlo:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp/</div></div>
<p>Notar que el directorio<code>/srv/tftp/</code>es el raíz del servidor TFTP y es el lugar donde se debe descomprimir el <a href="http://d-i.debian.org/daily-images/amd64/daily/netboot/" title="" class="external">instalador de Debian</a>.</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace"># tar xvf netboot.tar.gz -C /srv/tftp<br />
# chown -R nobody:nogroup /srv/tftp<br />
# chmod -R 777 /srv/tftp</div></div>
<p>El funcionamiento del servidor TFTP se puede comprobar ingresando y pidiendo un archivo:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">$ tftp localhost<br />
tftp&gt; get version.info<br />
Received 65 bytes in 0.1 seconds</div></div>
<p>Finalmente hay que reinciar inetd, dhcp y setear la bios de la netbook para que haga el boot por la placa de red. Para no perder tiempo y poder ver cualquier error que se produzca es conveniente dejar sólo la placa de red en la secuencia de booteo.</p>
<h3>Instalación</h3>
<p>Bueno, no tengo mucho que decir acá. Yo preferí (por ansiedad) instalar el sistema base (pelado, sin X), instalar grub y finalizar; Reiniciar, cambiar la secuencia de boot y comprobar que Linux levantara correctamente.</p>
<p>Lo segundo entonces fue instalar<code>gnome-desktop-environment</code>y<code>firmware-linux-nonfree</code>y<code>network-manager-gnome</code>para la wifi.</p>
<p>El entorno gráfico levantó sin problemas y sin que tuviera que tocar nada. Out-of-the-box como le dicen.</p>
<h3>Ajuste de brillo y otras teclas rebeldes</h3>
<p>Antes de comprarme la máquina sabía que las teclas de ajuste de brillo no funcionaban pero ni bien instalé Gnome descubrí con sorpresa que sí andaban. Fue luego de un tiempo y de varios apt-get install que dejaron de funcionar. Además tampoco andaban las teclas activar/desactivar wifi, bluetooth y pantalla.</p>
<p>En la segunda guía que mencioné al principio del post cuentan que existe un proyecto llamado <a href="http://www.voria.org/forum/" title="" class="external">Linux on my Samsung</a> que lidera un tano copado llamado Fortunato Ventre y que escribió<code>samsung-tools</code>(en Python) y que sirve para darle vida a esas teclas que tanto nos angustian cuano no hacen lo que dicen hacer. El programa usa un módulo, escrito por otra gente, llamado<code>samsung_backlight</code>que se distribuye bajo el paquete <a href="http://code.google.com/p/easy-slow-down-manager/" title="" class="external">easy-slow-down-manager</a> y que según palabras de sus creadores hace lo siguiente:</p>
<blockquote><p>Easy slow down manager provides Linux users with functionality similar to &#8220;Samsung Easy Speed Up Manager&#8221;. It also allows to turn WiFi on and off.
</p></blockquote>
<p>Entonces hay que instalar primero este módulo, para lo cual necesitamos descargar el <a href="http://code.google.com/p/easy-slow-down-manager/downloads/list" title="" class="external">.deb</a> y compilarlo con los headers correspondientes al kernel que estemos usando.</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace"># apt-get install linux-headers-`uname -r`<br />
# dpkg -i easy-slow-down-manager-dkms_0.13.1_all.deb</div></div>
<p>Luego de instalar el módulo, bajamos el paquete <a href="https://launchpad.net/samsung-tools" title="" class="external">samsung-tools</a> y lo compilamos también, no sin antes instalar sus dependencias.</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace"># apt-get install xbindkeys dbus-python rfkill gettext<br />
# tar xzf samsung-tools-1.1.1.tar.gz<br />
# cd &nbsp;samsung-tools-1.1.1<br />
# make<br />
# make install</div></div>
<p>Las teclas de brillo deberían funcionar tras reiniciar el sistema. Si no, puede que no esté cargado el módulo. Acá dejo la salida de algunos comandos de mi sistema funcionando:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace"># modprobe -l | grep -i samsung-backlight<br />
updates/samsung-backlight/samsung-backlight.ko<br />
# lsmod | grep samsung<br />
samsung_backlight &nbsp; &nbsp; &nbsp; 2740 &nbsp;0<br />
# dmesg | grep Samsung<br />
[ &nbsp; &nbsp;4.009833] Samsung-backlight: checking for SABI support.<br />
[ &nbsp; &nbsp;4.010082] Samsung-backlight: SABI is supported (f5191)</div></div>
<h3>El TouchPad</h3>
<p>Sólo nos resta ocuparnos de este, que de movida funciona pero tiene algunas opciones ocultas que pueden ser interesantes, como el scolling circular. El TouchPad puede setearse directamente desde la consola mediante el comando<code>synclient</code>pasándole como parámetro la propiedad a modificar y su nuevo valor. Las siguientes dos líneas habilitan el scrolling horizontal:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">$ synclient HorizEdgeScroll=1<br />
$ synclient TouchpadOff=0</div></div>
<p>Se puede obtener un listado completo de todas las propiedades con sus valores actuales ejecutando</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">$ synclient -l</div></div>
<p>Lindo, pero es un poco engorroso manejarlo así (y yo quiero habilitar y setear el scrolling circular). Por suerte existe <a href="http://live.gnome.org/GPointingDeviceSettings" title="" class="external">gpointing-device-settings</a> que permite configurar el TouchPad en forma gráfica.</p>
<p><img src="http://blog.calcifer.com.ar/uploads/2010/07/GPointingDeviceSettings.png" alt="" title="GPointingDeviceSettings" width="420" height="345" class="noborder" /></p>
<p>Lamentablemente la versión actual (1.5.1-2) tiene un <a href="https://bugs.launchpad.net/ubuntu/+source/gpointing-device-settings/+bug/489830" title="Settings of gpointing-device-settings are non-persistent" class="external">bug conocido</a> que no persiste los cambios al salir de la sesión. Seguramente lo arreglarán pronto. Mientras tanto se me ocurrió lo siguiente: setear todas las propiedades con gpointing-device-settings, recolectar el estado completo con synclient -l y generar un .sh que se ejecute al inicio de la sesión:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:435px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">$ synclient -l | awk '{if(NR==1)print &quot;#!/bin/bash&quot;;else print &quot;synclient &quot; $1 $2 $3}' &gt; touchpad-settings.sh &amp;&amp; chmod u+x touchpad-settings.sh</div></div>
<p>Sólo queda añadir<code>touchpad-settings.sh</code>al listado de aplicaciones que se ejecutan al iniciar la sesión de Gnome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.calcifer.com.ar/2010/07/debian-squeeze-en-samsung-n210/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

