Mostrando las entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando las entradas con la etiqueta linux. Mostrar todas las entradas

domingo, noviembre 22, 2009

Breve: Limpiar cache de linux

Al parecer mi PC tiene corrupto algún módulo de memoria, el cual falla aleatoreamente causando que la máquina falle.
Las estocásticas molestias no ocurren sólo a nivel de cuelgues del sistema cuando lo dejo inactivo, sino que también suceden cuando estoy trabajando en él, acabando con mi paciencia y con mis aplicaciones.

No es coincidencia que la aplicación que más cuelgues ha recibido es Firefox, pues el navegador es lejos el programa que más uso en casa. Lamentablemente, cuando intento volver a abrirlo, éste falla sucesivamente, hasta reiniciar el sistema, debido a que el programa que está cargado en memoria, con algún bit corrupto es almacenado en un espacio que actúa como buffer, al cual simplemente le denominamos cache.

Mi problema tiene una solución: comprar módulos de memoria nuevos, y una placa madre (nunca he confiado en esta última, pues apenas comprada mató a un módulo de memoria, el cual cambié por los actuales). Pero la solución inmediata para seguir trabajando sin reiniciar es ordenar al sistema operativo que limpie los datos almacenados en el buffer.

Para realizar esto, como root ejecute lo siguiente:

sync; echo 3 > /proc/sys/vm/drop_caches



referencias:
1- Documentación del sistema de archivos /proc, un excelente lugar para conocer un poco más las entrañas de linux

sábado, octubre 18, 2008

KDE 4.1: Parte II - Teclas de acceso rápido

En todo el tiempo que llevo utilizando la nueva versión del escritorio de la gran K, algo que me ha resultado tremendamente molesto son las teclas de acceso rápido. Si bien KDE incorpora esa opción (preferencias del sistema / introducir acciones), estas sencillamente no funcionan.

El tip que deseo compartir esta vez, consiste en crear nuestros accesos rápidos, sin utilizar el asistente de la gran K. Con ellos, es posible lanzar programas de una manera rápida, y con la destreza suficiente, también es posible pasar parámetros a programas en ejecución.


Ingredientes:
xbindkeys

Preparación:
- Agregue a su sistema 1 paquete completo de xbindkeys
- En una terminal bien limpia, prepare los códigos de acceso rápido utilizando
xbindkeys -k
- Al abrirse la ventana, presione su acceso de tecla rápido favorito. xbindkeys le devolverá un código similar a esto:

Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x10 + c:38
Mod2 + a

- Copie el valor devuelto, y reemplaze el contenido de las comillas por su comando favorito. Usted puede realizar cadenas separándolas con ";" (punto y coma)
- Pegue el contenido dentro del archivo .xbinkeys
- Ejecute xbindkeys, en caso que ya se encuentre en ejecución, ya debiera estar funcionando su acceso rápido.

Para los lectores flojos, dejo mi configuración actual. bastante minimalista por cierto, pero efectiva. Con ella es posible abrir dolphin al estilo windows (logo + e), subir y bajar el volumen.

"dolphin"
m:0x50 + c:26
Mod2+Mod4 + e

"ksnapshot"
m:0x10 + c:111
Mod2 + Print

"dbus-send --type=method_call --dest=org.kde.kmix /Mixer0 org.kde.KMix.increaseVolume string:"Master:0""
m:0x0 + c:176
XF86AudioRaiseVolume

"dbus-send --type=method_call --dest=org.kde.kmix /Mixer0 org.kde.KMix.decreaseVolume string:"Master:0""
m:0x0 + c:174
XF86AudioLowerVolume

"dbus-send --type=method_call --dest=org.kde.kmix /Mixer0 org.kde.KMix.toggleMute string:"Master:0""
m:0x0 + c:160
XF86AudioMute

# opcionalmente, usted puede agregar un acceso rápido para visualizar el resto de accesos rápidos activos.
"xbindkeys_show"
control+shift + q

Con ésto, podrá utilizar sus accesos de teclado rápido sin tener que esperar a las próximas versiones de KDE 4, donde el error "debiera" estar resuelto.

miércoles, junio 04, 2008

¿Archlinux se está haciendo conocida?

Desde que me hablaron de Archlinux años atrás describiéndolo como "una bala" que me interesó dicha distribución. La he usado desde entonces, y gran parte del conocimiento que tengo de linux proviene de dicha distro. Sin embargo, siempre he considerado a mi distribución como marginal, pues además de algunos amigos que son usuarios, es común que cuando me piden ayuda o me comentan de una distribución, se trate de ubuntu, fedora, o la infaltable debian. Sin embargo, en el último tiempo he notado un leve aumento en la cantidad de usuarios, los cuales aprecian la supuesta ganancia de velocidad, y el hecho de estar siempre actualizados con las últimas versiones estables (hay excepciones, kde4 no se ha incluido por no ser considerada suficientemente estable. Estoy de acuerdo con eso)


El ejemplo máximo de la consideración que le esta dando la distribución de la punta de fecha, es lo que me noté hoy, al intentar crear una nueva maquina virtual en VirtualBox 1.6.0, buscando la clásica opción Linux 2.6 noté la existencia de una opción especifica para Archlinux, junto a las distribuciones "mayores", o mejor dicho populares, como ubuntu, debian y fedora. Me pareció extraño que consideraran a una distribución no popular (#20 en distrowatch).


Las distribuciones linux incluidas son las siguientes:
  • Archlinux
  • Debian
  • OpenSUSE
  • Fedora
  • Gentoo
  • Mandriva
  • Red Hat
  • Ubuntu
  • Xandros
Si bien es una gran variedad, me sorprende la ausencia de un importante veterano del ejercito del pingüino: Slackware.

¿Los motivos?
Una puede ser porque la estructura de archlinux se aleja de las demás, al "no estar basada en..." (si bien se dice que arch está basada en crux, en realidad la primera ha sido construida desde cero tomando como base las ideas de crux). Por ello quizás se ignoró el millar de distribuciones basadas en debian, pero por el mismo motivo, se debió incluir a slackware, quien tampoco está basada en alguna de las de la lista.

Quizás porque archlinux se comporta excelente en ambientes virtuales. Lo digo por experiencia: El año pasado en sistemas distribuídos ĺlegue a tener 5 archlinux corriendo simultáneamente, algunos de ellos con sun application server.
¿lo anterior no le sorprende? Es que olvide agregar que mi procesador es un humilde celeron m410. mononúcleo, sin extensiones de virtualización, etc. El que cuenta con 1.25G de memoria ram.
Recuerdo que sucedían cosas raras, como que las maquinas se colgaban en el grub si se iniciaban simultáneamente, lo que me obligaba a ejecutarlas en secuencia. Sin embargo, luego en ejecución se portaban excelentes, eran rápidas y simples de configurar, sin consumir excesivamente recursos de hardware.

Acerca de la popularidad para ser considerada, podemos experimentar con Google, donde realicé búsquedas a diversos nombres de distros, obteniendo los siguientes resultados:
1.140.000 de archlinux. (0,22 segundos)
11.100.000 de slackware. (0,17 segundos)
94.000.000 de ubuntu. (0,19 segundos)
101.000.000 de debian. (0,14 segundos)
39.600.000 de fedora. (0,12 segundos)
36.100.000 de "red hat". (0,28 segundos)
63.100.000 de solaris. (0,24 segundos)
4.610.000 de opensolaris. (0,17 segundos)
3.670.000 de xandros. (0,16 segundos)
190.000.000 de "windows vista". (0,22 segundos)
268.000.000 de "windows xp". (0,26 segundos)

Claramente las menciones en la web hacia archlinux son considerablemente menores a las de sus pares, lo que afirma la poca popularidad de la distribución. Además, hay resultados curiosos, por ejemplo podríamos concluir que Debian mas popular que Ubuntu, lo cual evidentemente no es cierto. Quizás esto se puede explicar debido a que la primera tiene muchos años de ventaja)

En fin, la pregunta queda abierta: ¿Archlinux se hace mas conocida o popular? o quizás ¿tiene una reputación que hace que se considere cada vez mas?

jueves, mayo 22, 2008

Dispositivos Bluetooth

Hace poco más de un mes recibí un presente con motivo de mi cumpleaños número 26. Éste era un teléfono movil que llego a reemplazar a mi viejo y maltratado nokia 1100. La gracia del nuevo teléfono, es que además de tener la posibilidad de ejecutar aplicaciones java para móviles, posee servicios de conectividad mediante bluetooth. El motivo de éste artículo es relatar mi experiencia al intentar utilizar el teléfono con linux, además de dar alguna ayuda a los novatos en el tema. No pretendo ahondar profundamente en conceptos técnicos, sino que lo relataré desde el punto de vista de un usuario normal de kde.

Al adquirir el teléfono, desconocía el mundo del bluetooth, sabía de la existencia de la tecnología, sus alcances, la forma en que se transmite, sin embargo desconocía los protocolos usados, y como experiencia empirica sólo tenia una partida de mario kart ds, lo cual no fue para nada suficiente para ganar conocimiento. (Maldita transparencia al usuario!). Además, como mi computadora no poseía soporte para dicha tecnología, decidí comprar un dongle usb.

La desición no fue fácil, pues a pesar de que un amigo me mencionó que la cantidad de proveedores de chipset para estándar era limitada (lo que probablemente asegurara un completo soporte por los sistemas del pingüino), no estaba seguro sobre cual comprar. Finalmente, tras una búsqueda, dí con un producto en mercado libre que mencionaba el soporte en linux. Decidí comprar éste, a pesar de ser un poco mas caro (alrededor de 12 dólares). Poseía una característica particular: Una antena, por lo cual fue fácil encontrarla en el comercio. Desconozco como soporte para otros dispositivos. Buscando en internet me enteré de la existencia de una lista de dispositivos soportados, la cual por motivos legales fue quitada (es algo extraño el mundo del estándar bluetooth). En fin, mi dispositivo es reportado así
ID 1131:1001 Integrated System Solution Corp. KY-BT100 Bluetooth Adapter y la salida de dmesg es la siguiente:
usb 1-2: new full speed USB device using ohci_hcd and address 4

usb 1-2: configuration #1 chosen from 1 choice Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb

Ok, el kernel lo soporta, vamos a lo bueno: El software
Mi experiencia ha sido utilizando mi distribución oficial: Archlinux, y mi distribución de pruebas, y plataforma que me permite fácilmente satisfacer mi nuevo fetiche: las transiciones OpenGL en openoffice. Claramente hablo de Ubuntu.
En ubuntu venía casi todo el software instalado. Bastó conectar el dispositivo móvil, acoplarlo, y voilá, tenía transferencia de archivos.
En archlinux tuve que instalar el paquete kdebluetooth, el cual como dependencias instaló todo el software necesario (openobex obexftp bluez-utils). Por ésto, el procedimiento descrito es utilizando kde.
kdebluetooth es una colección de utilidades que, entre otras funciones, permite acoplar y desacoplar los dispositivos bluetooth, cambiar la visibilidad del computador, enviar archivos de forma sencilla al teléfono móvil y definir el nivel de confianza de los dispositivos. En realidad es un frontend que utiliza las herramientas de bluez, el stack del protocolo bluetooth para linux. Además de las de obex (protocolo para el intercambio de datos en dispositivos móviles)

Para acoplar el dispositivo, basta clickear en el ícono de la barra de notificicación, y luego intentar acceder al dispositivo. Al hacerlo el teléfono avisará de un intento de conexión, por lo que solicitará autorización, además de definir una contraseña llamada PIN. Al hacerlo, el sistema detecta dicha solicitud y solicita el emparejamiento mediante el ingreso del mismo PIN. Luego de ésto el dispositivo está emparejado. Algo muy agradable es que KBluetooth guarda ésta información, por lo que no será necesario volver a acoplar el sistema en usos posteriores.

Transferencia de archivos
La transferencia de archivos debiera ser la motivación principal de un usuario. En el caso de los teléfonos móviles, el protocolo que utilizan es OBEX. Existe un kioslave que transparenta el acceso mediante éste protocólo. Como ya se mencionó, al clickear en el ícono de KBluetooth, se abrirá konqueror. Si se desea utilizar otra aplicación (que soporte kioslaves) como dolphin, el método de acceso es mediante la dirección obex://[DIRECCION_DEL_DISPOSITIVO]/


Control remoto
Ok, es divertido transferir música y fotos al teléfono móvil, puede ser útil también, pero lo interesante es hacer otras gracias. Al querer un teléfono con soporte Blutetooth y JAVA, una aplicación lógica y necesaria es tener un control remoto. Nuevamente gracias al consejo de Felipe, instalé anyremote. Una aplicación que habilita un servidor en nuestro computador que escucha los comandos enviados por el cliente java (en la página web puede ser descargado dentro de un rpm).
Anyremote funciona con perfiles de aplicaciones, y vía de comandos. Pero además provee de 2 frontends escritos en python para KDE y Gnome.
KAnyRemote es el frontend para KDE, es idéntico al de gnome, lo noté porque no quería partir la versión de kde, me bajé la de gnome, la ejecuté, creó la configuración local, y luego mágicamente la versión de kde funcionó (viva la reutilización de código!). Cosas del python.
En un inicio es algo complicado de entender, pero rápidamente te das cuenta que para cambiar el perfil de la aplicación que escucha, se debe detener el servicio, seleccionar dicha aplicación, y luego encenderlo nuevamente. La gracia está en la versatilidad de la aplicación, pues además de ejecutar comandos (por ejemplo llamadas dcop), también envía "tecleos", lo que permite controlar aplicaciones como impress.
Un problema frecuente al usar éste programa por primera ves, es cuando se intenta buscar el servicio, sin éxito. Ésto se debe a que el equipo servidor debe estar visible para los demás dispositivos (se puede habilitar temporalmente habilitando el modo descubrible desde kbluetooth/configuracion/dispositivos, kbluetooth por defecto asigna 3 minutos en modo descubrible, los cuales pueden ser modificados). Luego de realizar la conexión exitosa, ésta queda guardada en el dispositivo móvil.

El control remoto en pantalla es sencillo, asociando a cada número una función, asi como modos especiales, como el de amarok, el cual muestra la carátula del disco que actualmente se reproduce, dando la posibilidad de controlar las funciones mediante el uso del pad.

En arch, conseguí anyremote mediante la compilación de los paquetes de aur: anyremote y kanyremote. En ubuntu, bastó utilizar alien para convertir los paquetes rpm proveídos en la página oficinal en .deb.


Esto fue mi breve artículo acerca de las impresiones que tengo utilizando el bluetooth. La verdad no tengo quejas, todo funciono a la primera, y rápido, sin ralentizar mi sistema, como es en el caso de windows, donde el driver es algo molesto, y la aplicación de administración que instalé es algo grande.

consejos útiles:

Si deseamos conocer todos los servicios disponibles podemos utilizar el comando
sdptool browse

Enláces útiles
Anyremote Software de control remoto
Bluez La pila oficial para el protocolo bluetooth en linux

lunes, mayo 05, 2008

todo cambió desde que llegó windows vista

¿porqué misteriosamente desde la llegada de windows vista el soporte de hardware nuevo para linux ha empeorado? ¿que característica nueva incluía dicho sistema operativo que hizo que los fabricantes cambiaran la forma de tratar su hardware?

Cuando compré mi computador, éste venía con una copia de windows xp home, me salvé por poco, porque justo ese mes empezaron a salir los computadores con vista. Curioseando por la red, encontré una nueva versión de la bios, en la cual su principal característica era que "daba soporte a windows vista" ¿porqué una bios tiene que dar soporte a un sistema operativo me pregunté? Debido a esa duda, y como todo me funcionaba bien, opté por no actualizar la bios. Sólo un tiempo después descubrí que había tomado una excelente decisión. La historia cuenta mas o menos así: Durante el año, Roberto se compró un computador acer, y a pesar de que venía con limpus linux, apenas instaló su computador, descubrió que, además de los típicos problemas de sonido, linux no monitoreaba la batería, y que tenía problemas con el acpi. El motivo: Su equipo traía una "bios vista". ¿como lo solucionó? hizo un "downgrade" de bios. Él tuvo la suerte que su computador había estado a la venta desde antes de la salida del infame sistema operativo, ¿pero que sucede con los demás?
Esa respuesta la conoció eduardo, quien luego de comprar con esfuerzo su flamante compaq serie v3000, descubrió que luego de instalarse no le funcionaba el teclado con su fedora 7. Probó con fedora 6, y al menos logró que reconociera su teclado. Recuerdo que instentamos con arch, y teníamos problemas con la X y el teclado. En fin puros problemas. Como es embajador fedora, eduardo conoce muy bien los sitios de soporte. En esos lugares, preguntó porqué le funcionaba el computador sólo con un kernel de fedora 6, y que podía hacer para utilizar el 7 (y el 8 que salía por esos tiempos). La respuesta fue que le diera un parámetro al kernel: nohz=off. A partir de ese momento, todo fue cool para él.

Me han tocado casos raros, como el computador de carolina, donde archlinux no funciona, pues no reconoce el teclado en una sesión de X, y sólo le funciona ubuntu. ¿Que rayos está pasando con el soporte de hardware que no reconoce ni los teclados? ¿es vista el responsable? ¿que demonios cambiaron que causa que no funcionen ni los teclados en linux? Sería una buena respuesta eso.

El motivo de ésta entrada, es contestarle al amigo que comentó en mi entrada entrada anterior, y dar un par de consejos que recibí de mi amigo eduardo.

El primero, y algo obvio, es consultar la internet por información acerca del soporte del hardware. Hay muchos sitios, por ahora recomiendo 2. Si conoces más, y mejores, por favor, indícalo en los comentarios, y con gusto los agrego.
Para empezar, dejaré 2 sitios, conocía otro, pero lamentablemente perdí la dirección:
http://www.linux-laptop.net/
http://smolts.org/

bonus track: La biblia :D
http://gentoo-wiki.com/Index:Hardware

De mi experiencia con hardware raro, sólo puedo aconsejar probar el paso de parámetros al kernel. Algunos parámetros útiles que me han ayudado en diferentes tipos de computadores son:

  • nohz=off
  • acpi=off
  • noapic
  • acpi=noirq

domingo, abril 27, 2008

instalé ubuntu 8.04!

Quienes me conocen saben acerca del rechazo que tengo hacia las distribuciones basadas en debian (incluyendo a ésta última), debido a que no me gusta apt, ni los paquetes rotos, ni su estilo de configuración. Dentro de ésta clase de distribuciones podemos encontrar a knoppix, mepis, linspire y un sinnúmero de distribuciones. De éstas distros hijas la más popular es ubuntu.

Aun recuerdo acerca de cómo conocí ubuntu, en 2004 un amigo me comentó que le había llegado a su casa un dvd de suse enviado por novell. En dicho tiempo estaba entrando por segunda vez al mundo de linux, luego de una experiencia en el año 2000 con esware. En ese tiempo tenía debian instalado desde un net installer y una conexión muy lenta. Interesado en el tema de "discos de regalo" nvestigué como conseguir un dvd de suse, lamentablemente novell no enviaría mas dvd a domicilio, ni yo tenía lector de dvd. Sin embargo, en dicha búsqueda me enteré acerca de una nueva distribución basada en debian, la cual enviaría "cederrones" a la casa. Comentaban que dicha distribución era auspiciada por un jeque al cual le gustaba el software libre. Busqué su página, y encargué 12 discos (pensando que enviarían el set completo de paquetes de debian)
Pasó el tiempo, y recibí mi copia de ubuntu 4.10, la primera versión del sistema operativo. En el paquete abundaban versiones de 32 bits, tenía un disco de 64 bits x86, y si mal no recuerdo, venían 2 discos para powerpc.

La experiencia de esa vez fue horrible, al actualizar el kernel por uno para el procesador que tenía en esos tiempos (pentium mmx 200mhz), la disquetera permanecía encendida durante todo el tiempo que utilizara el sistema. Y con mi nula experiencia rápidamente rompí el listado de paquetes, con lo cual recuperar el sistema operativo fue un caos. Luego de eso, opté por borrar dicho sistema operativo, y pasarme a slackware. Con el tiempo nunca hice eso, y finalmente terminé instalando archlinux.

De la experiencia de su primera versión, criticaba a ubuntu, veía como evolucionaba, y se convertía cada vez en la principal referencia de gnu/linux. TIempo después pedí nuevamente discos, y al comprobar que no funcionaban en un computador que tenía un maldito chipset via/s3, nunca más utilicé dicha distribución, sólo le daba soporte ocacional, fracasando en un primer intento cuando terminé gritando "¿y que hicieron con el init estos weones?" Actualmente ésto me causa gracia, pues en aquel tiempo no sabía que habían inventado upstart.

El motivo de la entrada de hoy, es porque el otro día al leer de la publicación de ubuntu 8.04 decidí descargar ésta distribución, y luego de probar en virtualbox que funcionaba, opté por instalarla en mi sistema, sin correr muchos peligros, pues dejé 8G libres para experimentar con distribuciones. Desde la compra de mi disco duro, en dicho espacio han residido fedora, opensuse, y actualmente ubuntu.

Luego de un "bonito" booteo sin información que me diga que diablos hace (presionaba f1, f2, escape y nada de información), cargó el escritorio de gnome.

Instalación
La instalación no fue dificil, sólo tuve que cargar el live cd, dar doble click en el ícono y seguir las instrucciones. Como usuario avanzado, no tuve problemas en definir que partición usar, pero creo que si no explicas claramente que es un punto de montaje, será más complicado para un usuario novato. Aunque ahora lo que lo pienso, los usuarios novatos no instalan ni windows.

Controladores privativos
Luego de la instalación, el escritorio se comportaba extraño, no se veía bien. Fue así como en sistema/administracion/controladores de hardware habilité el soporte para el controlador privativo de ati luego de una linda advertencia indicando que el soporte de dicho controlador estaba a cargo del fabricante. Ahí comprobé que había instalado madwifi automáticamente, como no soy un talibán de la libertad, por mí está bien que incluya controladores privativos, todo sea por obtener el mejor soporte de hardware, y brindar la mayor cantidad de prestaciones y facilidades al usuario.


Una de las cosas que me parecieron curiosas fue que el sistema me solicitara reiniciar, al más puro estilo windows. Si lo decía era por algo, así que lo hice, al volver a partir dije ¡sorpresa! tengo efectos gráficos!!! Ubuntu habilitó automáticamente compiz fusion.




Soporte de hardware

Luego de un rato, quería habilitar el sonido. Sé perfectamente como hacerlo, pero buscaba una forma visual de poner el parámetro al kernel, no la encontré, sin embargo hice un reporte con launchpad acerca de ésto, indicando que éste laptop necesitaba dicho parámetro, quien sabe si en el futuro atienen ese reporte, y por fin una distribución agregue el model=6stack-digout cuando encuentre éste chip de sonido. Por si éste punto le causa conflicto a otro feliz poseedor de un satellite l30/l35, les vuelvo a contar que para obtener sonido, escribí al final del archivo /etc/modprobe.d/alsa-base la línea
options snd-hda-intel model=6stack-digout
y luego reinicié.

Después active el bluetooth en mi celular, instalé un paquete llamado gnome-bluetooth-utils o algo asi, y luego ya estaba recuperando archivos de mi telefono movil. Me sorprendió, porque hasta ahora sólo podía enviar cosas en kde con archlinux. Punto para ubuntu (o gnome)


Soporte multimedia
Luego de reiniciar, lo primero que hice fue abrir un reproductor de música, estar utilizando un computador por 1 hora sin música había sido una experiencia traumante, ok no era para tanto, pero soy fanático de acompañar mis tareas con una buena dosis de rock. Al agregar mp3, inmediatamente se me indicó que no poseía un decodificador adecuado, y me ofreció instalar algunos para poder lograr éste cometido, luego de seleccionar 2 paquetes, e instalarlos, ya estaba escuchando a the raconteurs :D

Resumen

Hasta el momento no tengo quejas, la distribución parece clara, explica muchas cosas, y si bien no tiene tantas opciones de configuración como yast (opensuse), éste mismo hecho pienso que es a favor de la distribución, pues yast puede agobiar al usuario. Sobre todo cuando se intenta entrar al listado de paquetes. Seguiré probándola, pero dudo que deje archlinux por ésta distribución. Tengo unos planes para ésta distro, quiero probar los efectos opengl de openoffice, la instalé porque doy por hecho que saldrá un paquete de fácil instalación para ésta distribución. Por ahora sólo puedo decir que ubuntu se ha portado bien, que no me parece confusa, y que me parece adecuada para usuarios novatos. Pero tan adecuada como una fedora, o una opensuse.

sábado, noviembre 03, 2007

BSD


Estoy aburrido en internet. Lo que me motivaba a conectarme cada vez es menos frecuente. Podríamos decir que el vicio se esta empezando a agotar, es realmente lamentable, pero supongo que así es la vida.

La disminución del vicio, debiera influir directamente en el aumento del tiempo útil, pero, a pesar de que tengo muchas cosas que hacer, necesito siempre tener una distracción para los tiempos libres, pues si me pongo a pensar mucho, me deprimo, o simplemente me aburro y empiezo a escribir como condenado en el blog de temas personales, y no quiero ser monótono.

¿Como ocupar el tiempo libre?
Con ñoñería, por supuesto. Sino, el pasatiempo no sería para mí. Hoy me nació una idea, la cual es la que me dio la inspiración suficiente para escribir en este blog. Desde hace varios días que Rodrigo está jugando con opensolaris, siguiendo a Raul, quien se ha interiorizado en ese mundo.
La verdad casi no juego con el linux, porque lo tengo absolutamente personalizado, y tuneado para mi uso diario. Así como no quiero ser un copión, me puse a investigar sobre BSD: Sistema operativo que pienso instalar en la próxima compra de un disco duro mas grande para mi computador.

Dentro de las ramas unix, tenemos diversos sistemas operativos, que además de todos los sabores del popular linux, incluso incluyen al macosx. Una rama particular es la nacida de sistemas BSD, desarrollada por la Universidad de Berkeley en California, debido a la pérdida de los permisos para "jugar" con el unix original creado por los laboratorios bell. Luego del BSD original, y gracias a su licencia extremadamente libre, surgieron diversos forks los cuales evolucionaron en diversos sistemas operativos. De mi pequeña investigación di con 3 sistemas operativos que son los que describo a continuación.

FreeBSD fue el primer sistema operativo del que busqué. Ya lo conocía por su nombre, y su mascota beastie, supuesto enemigo de tux.

Dentro de los BSD, es la mas popular, y abundante en paquetes, lo que me hace pensar en "la debian de los bsd".

Posee diversas características interesantes, como soporte para diversas arquitecturas, un manejador de paquetes, compatibilidad binaria con algunos programas de linux, y una buena estabilidad.

También posee algunas características miscelaneas, como el record de uptime, así como una que me agradó bastante, el tipo de configuración de sistema es similar a la utilizada en archlinux, sweet.

NetBSD es un sistema operativo tipo Unix, libre, seguro y altamente portable. Prueba de ello es que ha sido portado a mas de 56 plataformas, o sea podríamos decir que corre hasta en un horno microondas. Según su sitio web, su buen diseño y sus características avanzadas lo hacen excelente para entornos de producción e investigación, además de tener el soporte de los usuarios con el código fuente completo.

Su descripción me recuerda mucho a lo que son las distribuciones linux, hecho que me hace dejarlo un poco de lado en la investigación. Sin embargo, su estabilidad me parece excelente.


OpenBSD es un sistema operativo derivado de NetBSD, con un incapie en la seguridad y la criptografía. Por ello, si se quiere un sistema operativo seguro al máximo, esta sería la opción a considerar. Pues los mismos creadores hablan de que su sistema operativo es seguro por defecto. Además de jactarse de tener sólo 1 agujero de seguridad en la instalacion por defecto en 8 años. awesome.


De los tres, la que mas me interesó fue freeBSD, principalmente por su abundancia de software, lo que me dará muchas horas de entretención. Cuando logre instalarlas reportaré acerca de la experiencia.

Sé que los sistemas operativos son una herramienta para dar soporte al software de productividad, entretención, etc. Pero habemos personas que disfrutamos al sistema operativo en sí. Supongo es la necesidad de aprender, la necesidad de sentirse superior a los demás, aunque sea en algo tan poco valorado en el plano personal, como es el conocimiento.

sábado, octubre 20, 2007

Difusión de linux: ¿nueva estrategia?

Hay muchos motivos para convencer a las personas de que utilicen en sus computadores nuestro sistema operativo favorito. La palabra mas repetida es la estabilidad, que a muchas personas parece no importarles.

Otro motivo ignorado por muchos es la libertad. al menos en la situación de mi país, eso poco importa cuando puedes comprar un software en la calle con mil pesos. A la gente no le importa usar programas mal llamado piratas. No saben de licencias, ni les importa la propiedad intelectual.

Otra razón frecuente es la mal llamada "inexistencia de virus". Es cierto, la estructura de Linux y su sistema de permisos te hace poco vulnerable a virus. Eso es cierto, sin embargo, no debe faltar quien trabaje con su cuenta de root. O casi igual de mal, que tenga sudo sin contraseña.
Sin embargo no me gusta dar esta razón debido a que me siento algo mentiroso al darla. Me explico, un virus en espacio de usuario, puede perfectamente acabar con documentos personales, y cosas realmente valiosas para un usuario. Y para toda persona normal, lo valioso son los documentos, no la estabilidad del sistema, los datos importan, el sistema puede reinstalarse fácilmente. Sin embargo, durante años utilizando GNU/Linux nunca me he topado con uno de estos, gracias a la centralización de linux, que hace que prácticamente cada cosa que necesites esté en el repositorio de tu distribución, el que (se supone) es confiable.

Finalmente, el motivo de este artículo: de todas las razones que podemos aludir para convencer al mundo para el cambio, esta mañana en menéame encontré las mas original de todas. Luego de leer el artículo y sus comentarios pensé: Oh rayos! como no lo pensamos antes!, la transitividad es la respuesta a todo:

"if internet is for p0rn... and linux is for the internet.. then linux is for p0rn!"


Ahora, cuando me pregunten sobre linux, tendré que decirle que los virus de las páginas porno no afectan a este sistema operativo (por ahora). Así que podrán ver sus programas de ejercicio a toda hora sin preocuparse mucho por quedar infectados de algún troyano raro o spyware. El año de linux se viene ahora si que si, si, oh yes, o my god...

lunes, octubre 01, 2007

Creación de un webservice seguro mediante ssl

En mi curso de sistemas distribuidos tuve que explicar a mis compañeros como implementar un

webservice seguro. A pesar de unos imprevistos, gracias a Dios todo salio bien. Ahora que ya realicé la exposición, dejo a disposición del mundo cómo logre realizar un webservice
común y corriente, pero seguro gracias a la transmisión mediante la capa de socket seguro SSL.


Las herramientas utilizadas fueron las siguientes:


El primer paso, que no mencioné en la presentación fue la instalación del software. Para ello basta realizar

pacman -Sy jdk tomcat netbeans

así como descargar axis2. Yo opté por descargar el war. El que luego lo dejé en el directorio webapps de tomcat. Además, bajé la versión normal, sólo para tener acceso a los programas, pues es necesario uno en particular, tal como se verá mas adelante. La instalación de estos softwares es básica, por lo que no lo abordaré.


Luego de la instalación de las herramientas es la configuración de éstas. Tomcat se distribuye por defecto con la opción de ssl deshabilitada, por lo primero se explicará como habilitar ésta.


Creación de un certificado

La capa de socket seguro utiliza certificados para encriptar la información. Por lo que es necesario la creación de uno. Para lograrlo se utiliza la herramienta keytool, proveída junto con el sdk de java.


Su uso es simple, pues se debe indicar el archivo donde se almacenará el certificado. Ésto se realiza con el parámetro keystore. Además de esto, se deben indicar 4 parámetros adicionales que se enumeran a continuación:


El primer parámetro, llamado alias, indica el nombre que recibirá el certificado. Es importante que corresponda al nombre del host que proporcionará el web service.


Keypass y storepass indican la clave que se le asigna al certificado, en ambos parámetros las
contraseñas deben coincidir. Keytool exije que la contraseña tenga una longitud superior a 6 caracteres.


Keyalg indica el algoritmo de creación de la clave, se recomienda el uso de RSA, algoritmo que funciona mediante el sistema de clave pública y privada.


Un ejemplo de utilización es el siguiente.


keytool -genkey -alias localhost -keypass password -keystore /opt/tomcat/webapps/localhost.bin -storepass password -keyalg RSA


Habilitación de SSL

Para habilitar en el servidor Tomcat la conexión segura, basta descomentar la sección que
empieza con la etiqueta connector port=”8443”. Esta sección indica las directivas de como utilizar la seguridad SSL.


Es necesario indicarle cual es la llave que debe utilizar, así como la contraseña del certificado, y finalmente el alias de éste.


<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true" acceptCount="100"

scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"

keystoreFile="/home/tomcat/localhost.bin"

keystorePass="password" keyAlias="localhost" />


Al terminar de configurar esto, basta reiniciar el servicio tomcat para visualizar los datos. Se puede comprobar intentando conectarse al servidor mediante el protocolo https, y el puerto 8443.



Configuración de la aplicación

Cuando se habilita la seguridad en el servidor, esta permite acceder a las aplicaciones tanto de modo seguro como inseguro. Pero se busca que el servicio web funcione solamente mediante el primero. Para lograr que la aplicación encargada éste trabaje sólamente como SSL, en el caso
de tomcat hay que indicarselo en el archivo de configuración web.xml, el cual se encuentra en el directorio WEB-INF de la aplicación.


Para asegurar la aplicación, basta agregar el siguiente código dentro de la sección “web-app”


<security-constraint>

<web-resource-collection>

<web-resource-name>securedapp</web-resource-name>

<url-pattern>/*</url-pattern>

</web-resource-collection>

<user-data-constraint>

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

</user-data-constraint>

</security-constraint>


Para que la aplicación utilice los cambios es necesario reiniciarla desde la interfaz de
administración de tomcat, o bien reiniciando este último. Así, el acceso a la aplicación que provea los webservice será exclusivamente mediante el protocolo de seguridad.


Creación del webservice

Para programar el servicio web se utilizó el framework axis2, el cual implementa el protocolo SOAP de acuerdo a lo especificado por la W3C. La gran ventaja de este framework es la facilidad para lograr esto, pues basta con programar clases jav comunes y corrientes tal como se verá a continuación.


El proceso empieza con la definición de una interfaz, la que se denominará contrato. En ella se
indicará cuales serán los servicios web disponibles.


Como ejemplo se utilizará la interfaz Matematica, la que define un método llamado
sumar, el cual posee dos parámetros de tipo entero.

package ejemplo;

public interface Matematica {

public int sumar(int a, int b);

}


Una vez definido el contrato, el siguiente paso es compilar la clase, y luego crear un archivo de
descripción del lenguaje, en adelante wsdl, el cual se crea mediante la utilidad proveída por axis2 mediante el siguiente comando:


java2wsdl.sh -cn ejemplo.Matematica


Éste comando crea un archivo llamado Matematica.wsdl, el cual se utilizará mas
adelante.


Así como axis nos puede funcionar sin tomcat, una interfaz es inutil sin una implementación.
Motivo por el cual es necesario realizar esta. Para ello se creó el archivo servicioMatematica.java, clase que se expone a continuación.


package ejemplo;


public class servicioMatematica implements Matematica{

public int sumar(int a, int b){

return a + b;}


}


Una vez compilada la implementación, sólo falta definir los servicios. Para realizar dicha
definición se crea un archivo llamado services.xml. En éste es necesario indicar el nombre de los servicios proporcionados por la clase, así como la clase que implementa de esta.


<?xml version="1.0"
encoding="UTF-8"?>

<service>

<description>

Servicio de ejemplo

</description>

<parameter
name="ServiceClass" >ejemplo.servicioMatematica</parameter>

<operation name="sumar">

<messageReceiver
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>

</operation>

</service>

Con esos cuatro archivos creados se está en condiciones de crear el webservice. Para que axis2 reconozca estos, es necesario crear un paquete jar, con la extensión cambiada por aar.


Para crear dicho paquete es necesario definir una estructura de archivos bastante simple. En ella debe existir un directorio META-INF que contenga los archivos xml. Y en la base se debe agregar las clases que componen el servicio web, respetando la jerarquía de paquetes.


El comando para crear dicho archivo se explica a continuación:


jar -cvf ejemplo.aar -C ejemplo.aar/ .


Donde los parámetros cvf indican que debe crear el paquete jar, y C define el directorio a agregar.


Para cargar el servicio web, en la interfaz de administración de axis2 existe una opción llamada “upload service”, la que permite instalar el web service de una manera sencilla. Cable señalar que para un correcto funcionamiento de esta, dentro del directorio de aplicaciones de tomcat debe existir uno llamado axis2/WEB-INF/services, lugar que debe tener permisos de escritura


Para verificar que todo ha funcionado, la dirección donde se debiera encontrar el lenguaje de
definición del servicio es la siguiente:


https://localhost:8443/axis2/services/ejemplo?wsdl

Donde localhost debe ser la dirección del servidor, y axis2 es el nombre del directorio que contiene el framework.


Consumo del web service utilizando netbeans

El entorno integrado de desarrollo proveído por sun, netbeans provee herramientas que simplican el consumo de los webservice.

Para utilizarlas, basta con agregar al proyecto un cliente webservice, e indicar como dirección del
wsdl la ruta del servicio seguro indicada anteriormente. Así netbeans interpreta la definición del webservice, y genera las referencias, que para usarlas deben ser arrastradas hacia el código.


Como se está utilizando un socket seguro, es necesario utilizar las definiciones terminadas en https.


Certificados para el cliente

Al utilizar certificados se tiene un gran inconveniente. Este problema nace debido al requerimiento de aceptar un certificado, único método para asegurar la validez de éste.


Java utiliza SSL, pero los certificados deben ser validados por una entidad certificadora. Para efectos del proyecto los certificados usados no están validados, motivo por el cual al intentar ejecutar el cliente arrojará una excepción. Para poder utilizar los certificados de prueba generados con keytool, es necesario agregarlos manualmente, para ello se utiliza la herramienta proveía por Andreas Sterbenz en su página personal


El uso es simple, basta ejecutar el programa con el comando

java InstallCert localhost:8443


Una vez creado el certificado, basta copiar jssecacerts al directorio /opt/java/jre/lib/security/. Luego, las aplicaciones reconocerán el certificado de prueba y
por lo tanto podrán usar el servicio web por ssl.


viernes, junio 22, 2007

Usuarios de linux y automoviles

La próxima semana debo instalar archlinux en un laptop de una compañera de la universidad. Si bien no es la primera vez que lo hago, me han nacido dudas si realmente les hago un bien o les creo complicaciones al instalarles mi distribución favorita. Esa idea me hizo pensar en algo obvio: No todos los usuarios de GNU/Linux somos iguales. Intente buscarme algo que me definiera en simples palabras, y llegué a la conclusión que soy un mecánico tunero de linux. Las siguientes líneas intentan explicar mi pensamiento, y además agregan una breve descripción para usuarios de otras distribuciones.

Si usuarios de archlinux fuéramos aficionados a los automóviles, definitivamente seríamos tuneros, arch está hecha para que sea así, tu dejas tu sistema como tu quieres, tienes el control total, y lo armas a tu medida, partiendo de un "vehículo" base, lo complementas con las partes que tu quieres. Además, mientras lo tuneas, aprendes de mecánica mas que general, y retocar el motor es tan simple y elegante como cambiar las bujías. Una característica es el nivel de personalización de la apariencia. La idea es que resalte un poco, ya sea agregando luces de neón como en la imagen de la terminal que tengo actualmente, no es X, es la consola.


Por otro lado, los usuarios de lfs, serían ensambladores caseros, capaces de crear sus propios vehículos partiendo desde la recolección de tuercas, y creación de las maquinas para forjar piezas metálicas. Los de gentoo serían parecidos, pero con un brazo robótico que los asiste en el armado de piezas, y sin forjar las piezas, sino que ensamblarlas, lo que tarda tiempo, pero igual es "divertido". Lo interesante es que están llenos de manuales sobre como mejorar esos armados, y con los detalles de prácticamente cada pieza del sistema.

Otros usuarios, como los de suse, serían de os que compran un auto costoso, con muchos accesorios, pero sólo saben conducirlo, con cambios automáticos, y no tienen idea de mecánica.

Los usuarios de fedora/red hat serían como los poseedores de un auto importado, compran un sistema armado, bonito, bien decorado, pero les es un infierno comprar repuestos/accesorios (dependencias de paquetes rpm)

Los usuarios de debian son de los que compran el vehículo mas popular, para estar llenos de repuestos, y aunque no le saquen el máximo rendimiento, son felices por su estabilidad. Aunque gaste mas kilómetros por litro, o se pongan viejos, ellos le toman cariño a su auto, y arman clubes de adoradores (sectas).

Finalmente, los usuarios de ubuntu, ellos compran por internet y les llega el vehículo a su casa. Lo empiezan a manejar, y en internet está llenos de manuales de como retocar el auto, sin embargo, a pesar de cambiar ellos mismos las piezas, y retocar el motor, no aprenden nada de mecánica.

Lo bueno, seas de la clase de usuario que seas, es que internet está plagada de mecánicos dispuestos a ayudarte, y que tu puedes cooperar en el desarrollo de nuevas piezas o modelos. En cambio, hay cierta marca de autos que te impone el precio, el estilo, y te dice que si cambias el color de la pintura, estás cometiendo un delito muy grave. Para colmo te venden un auto que pesa tanto como un camión, pero que tiene menos soporte de carga que una citroneta (citroen 2cv).

domingo, junio 03, 2007

How to: Mostrar en kopete la canción que escuchas en amarok

Dentro de los problemas típicos de kopete, está el correcto funcionamiento de la inútil, pero valorada función "now listening". Si bien es cierto que desde hace ya varias versiones está este pluggin, no siempre funciona como debe. Eso fue lo que me sucedió al pasarme a kde 3.5.7.
Me puse a investigar con dcop, y encontré como hacer el "now listening", era bastante simple, bastaba hacer algo como dcop kopete default setAway "mensaje", pero lamentablemente
no me quedaba igual, y no funcionaba con todos los parámetros que le pasaba. Por eso recurrí a la internet, y encontré éste script. Que quede claro, yo no lo escribí, y en los comentarios está el autor original.

1- crea el directorio
mkdir ~/.kde/share/apps/amarok/scripts/kopeteNL

2- Crea el script. usaré nano.
nano ~/.kde/share/apps/amarok/scripts/kopeteNL/kopeteNL

3- pega este script en el editor, y después guarda el archivo (ctrl + o, luego enter en nano; ctrl +x para salir) Si no ves bien todos los caracteres, entonces baja el script de la url que indiqué arriba.

#!/bin/bash
# Seb Ruiz
#
#
# Simple bash script to automatically change msn personal message.
########################################################################

dcop amarok playlist shortStatusMessage "Enabling kopete notifications."
dcop kopete default setAway "Now Listening: ♫ `dcop amarok player nowPlaying` ♫" false

function close()
{
dcop kopete default setAway "`fortune pfortune`" false
exit
}


while [ 1 ]

do
trap close SIGTERM

read input

if [ "$input" == "configure" ]; then
kdialog --msgbox "Por favor edite este script para cambiar los mensajes"
template=$1
fi

if [ "$input" == "engineStateChange: empty" ]; then
dcop kopete default setAway "`fortune pfortune`" false
fi

if [ "$input" == "trackChange" ]; then
dcop kopete default setAway "Now Listening: ♫ `dcop amarok player nowPlaying` ♫" false
fi

done


4- Dale permisos de ejecución
chmod +x ~/.kde/share/apps/amarok/scripts/kopeteNL/kopeteNL


5- en amarok, en el gestor de script, habilita el nuevo script creado kopeteNL

6- Listo, ahora si quieres puedes desactivar el plugin now listening, mas que mal no sirve para nada :P

Técnicamente, con la llamada dcop podría cualquier reproductor informar de lo que escuchas a kopete, es interesante que existan alternativas a cuando no funcionan las cosas.

jueves, mayo 03, 2007

Toshiba satellite l30/l35 y linux (actualizado)

EDIT: Este es lejos el artículo mas visitado de mi blog, por lo que he decidido actualizar algunas cosas, pues en 1 año el soporte ha mejorado mucho.

Hace mucho tiempo que debí publicar esta información en español, pero no había tenido tiempo. Ahora tampoco lo tengo, pero en un rato libre me puse a leer el código del driver snd-intel-hda, y me di cuenta que no es trivial dar el soporte al sonido. En fin esta pretende ser una pequeña guía para usuarios de estos humildes , pero aperradores portátiles.
edit:
Desde ya, aviso que me ha funcionado de maravillas utilizando Archlinux, y los archivos mencionados están en base a esta distribución. En otras distribuciones pueden variar los nombres o las rutas. Si no pueden compilar, probablemente faltan librerías, etc. Un buen consejo es que busquen tutoriales sobre como compilar alsahg para su distribución, dejando de lado momentáneamente la búsqueda por el modelo de la tarjeta de sonido.

Audio
Obviamente decidí comenzar por este punto, porque es el conflictivo. El soporte para esta tarjeta
Realtek ALC861-VD, el cual lspci identifica como 00:14.2 Audio device: ATI Technologies Inc SB450 HDA Audio (rev 01) es algo complicado. Edit: En la actualidad el driver ya está incluído en el kernel de linux En realidad no lo es tanto. Por ahora, la única forma de que funcione correctamente, es con el driver hda: El módulo snd-hda-intel. A partir de la versión 1.0.14rc4. Por que si no se tiene esta versión de alsa-driver. Esta debe ser compilada así:
-baja los ultimos archos desde alsa, o usa la versión de desarrollo.Que puede obtenerse desde alsahg, un archivo como alsa-driver-hgxxxxyyzz.tar.bz2 ftp://ftp.suse.com/pub/projects/alsa/snapshot/driver/

-descomprimir con el comando tar jxvf archivo

./configure --with-cards=hda-intel

make

make install
Para que funcione "correctamente" con soporte para la salida interna y mediante audífonos, pero con un funcionamiento irregular del microfono, luego del respectivo alsaconf usted debe agregar al archivo/etc/modprobe.conf la linea
options snd-hda-intel model=6stack-digout

Esta opción dará soporte tanto a la salida de audífonos (identificada como surround), como parlantes internos (front), así como el pcspeaker y el micrófono (mic), siendo este último el que no funciona muy bien con ciertos programas como skype. Además, rellena con otros canales que no utiliza el notebook, es cierto, molestan, pero al menos funciona, a diferencia del modo por defecto que no lo hace.
Por el contrario, si prefieren tener soporte perfecto con la captura del microfono, perdiendo el audifono interno y el pcspeaker, el parámetro del módulo a agregar es el siguiente:
options snd-hda-intel model=3stack-digout

He mirado los fuentes, concretamente el archivo patch_realtek.c, para intentar combinar ambos modelos creando uno nuevo, pero no he tenido tiempo, y me faltan conocimientos. Si logro resultados algún día, lo escribiré en este medio. (nunca lo hice)


Video
Estos modelos vienen con una tarjeta incorporada amd-ati radeon x200m. El correcto funcionamiento de la 3d es con los drivers propietarios de AMD: catalyst. Basta instalarlos desde le repositorio de tu distribución favorita.
Para que se configure solo, basta utilizar la utilidad aticonfig, con el comando
aticonfig –initial –input=/etc/X11/xorg.conf
Quizás, no poseas el soporte adecuado para ver videos con Xvideo. Para habilitarlo, basta con habilitar la opción XVideo, y VideoOverlay. Un ejemplo, junto a las secciones donde se deben habilitar estas es el siguiente (Ojo, las secciones son únicas, en caso de ya existir estas, las nuevas opciones deben ser agregadas al interior de las secciones ya existentes):

Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "VideoOverlay" "on"
EndSection

Section "Extensions"
Option "XVideo" "Enable"
EndSection

Además, el driver provee funciones adicionales, como es el usar doble pantalla ancha, entre otros. Sugiero visitar la biblia de cualquier usuario de linux para mas información.
Un archivo xorg.conf funcional, con soporte para aiglx, synaptic, entre otras cosas, puede ser encontrado aquí.

Desde noviembre de 2007, los drivers catalyst tienen soporte para aiglx, por lo que compiz-fusion funciona en este portatil.


Wireless

La wireless no es mayor problema en este modelo, pues utiliza un chip atheros. Para que funcione basta instalar madwifi. La interfaz de red se llama ath0, y cuando se conecta a una red wifi, crea una interfaz llamada wifi0.
Para configurarla yo no me doy mayores complicaciones, y utilizo networkmanager. Debo ser el único afortunado al que le funciona perfecto ese programa.

Brillo de la pantalla
No he podido lograr controlar esto por software, faltan controladores, sin embargo, la combinación de teclas interna del portatil logra este cometido sin mayores dificultades.

Teclas de función
Al igual que mi teclado con funciones multimedia, para lograr controlar el sonido/mute. Lo logré mediante xmodmap
fue tan sencillo como crear un archivo ~/.Xmodmap y ejecutar el comando xmodmap ~/.Xmodmap para dar soporte a estas teclas. Dejo además funciones adicionales para los teclados standard multimedia, por si alguien desconocía como usarlas.
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 176 = XF86AudioRaiseVolume
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 129 = XF86AudioMedia
keycode 161 = XF86Calculator
keycode 130 = XF86HomePage
keycode 236 = XF86Mail
keycode 230 = XF86Favorites
keycode 198 = XF86MyComputer
keycode 122 = XF86Search
keycode 222 = XF86PowerDown
keycode 223 = XF86Sleep
keycode 227 = XF86WakeUp
keycode 231 = XF86Refresh
keycode 232 = XF86Stop
keycode 233 = XF86Forward
keycode 234 = XF86Back


Cpufreq
Mi modelo posee un intel celeron m 410, el cambio dinámico de frecuencia funcuiona, y es controlado mediante kpowersave utilizando el módulo p4_clockmod.

Batería
El módulo acpi monitorea correctamente la batería. En una consola, puede verificarse con el comando cat /proc/acpi/battery/BAT1/state, pero utilidades como kpowersave, o la misma que trae kde muestran su estado. En kernels superiores al 2.6.24 la referencia a la batería se encuentra en otra ubicación /sys/bus/acpi/drivers/battery o /sys/module/battery, no recuerdo bien porque, para compatibilidad con mi actual software de monitoreo, tengo habilitado el soporte antiguo.

Mas que esto, no recuerdo haber configurado en mi archlinux, la suspensión debiera funcionar, no lo he hecho, porque tengo destinados megabytes insuficientes a la memoria de intercambio como para probar la suspensión a disco.

Soporte a otras distribuciones
Sólo lo he probado con opensuse, donde la configuración fue casi total, sólo tuve que agregar las líneas para el audio en el administrador de módulos de yast. Según los comentarios que he recibido de lectores, el soporte en ubuntu es algo complicado, sin embargo es factible:

según lo indicado aquí, para configurar los parámetros de alsa, el archivo es alsa-base, y puede ser editado de la siguiente forma:

sudo gedit /etc/modprobe.d/alsa-base en ubuntu

sudo kwrite /etc/modprobe.d/alsa-base en kubuntu

y agregamos al final del archivo

options snd-hda-intel model=6stack-digout