Archive for the ‘ Linux ’ Category

Configurar apcupsd para apagar el computador inmediatamente

Tenía tiempo sin usar un UPS APC y sin configurar apcupsd. La primera sorpresa que me llevo es que la función de apagar el computador no funciona como debería, es decir, no apaga el computador. Para ser exactos, cierra todos los procesos y deja el sistema detenido para apagarlo pero no lo apaga, sino que deja que el UPS lo apague al descargarse la batería. Esta función está más orientada a entornos de servidor, donde la opción de encender el computador al llegar la electricidad está activa como muestra la siguiente imagen:

DSC00262

PWRON After PWR-Fail    [On]

Pero en mi caso no deseo que ocurra eso, sino que se apague el computador sin consumir toda la energía del UPS para poder mantener mi router y mi modem de internet encendidos y poder navegar desde mi laptop.

Para deshabilitar esta función tal cual como está definida solo debemos editar el script /etc/init.d/halt.sh y buscar las líneas de la función que son:

# This is a function because its used twice below
ups_kill_power() {
local UPS_CTL UPS_POWERDOWN
if [[ -f /etc/killpower ]] ; then
UPS_CTL=/sbin/upsdrvctl
UPS_POWERDOWN=”${UPS_CTL} shutdown”
elif [[ -f /etc/apcupsd/powerfail ]] ; then
UPS_CTL=/etc/apcupsd/apccontrol
UPS_POWERDOWN=”${UPS_CTL} killpower”
else
return 0
fi
if [[ -x ${UPS_CTL} ]] ; then
ewarn “Signalling ups driver(s) to kill the load!”
${UPS_POWERDOWN}
ewarn “Halt system and wait for the UPS to kill our power”
/sbin/halt -id
while [ 1 ]; do sleep 60; done
fi
}

Y editar la línea que dice /sbin/halt -id agregándole una “p” al final, quedaría así:

/sbin/halt -idp

O la otra forma que fue la que usé, comentar todas las líneas o eliminarlas en su defecto (para comentar una línea ponemos un # en frente de cada línea a comentar), recordando comentar o eliminar la línea que está mucho más abajo para no obtener errores al apagar el sistema que dice:

ups_kill_power

Dato extra: Gapcmon

Si desean tener un programa gráfico para obtener algunos datos del UPS pueden instalar gapcmon. Por defecto no se encuentra en el tree de portage de Gentoo, así que bajan el source desde su página principal que es esta http://gapcmon.sourceforge.net/ y ejecutan los siguientes comandos:

cp gapcmon-0.8.9.tar.bz2 /usr/src

cd /usr/src

tar -xjf gapcmon-0.8.9.tar.bz2

cd gapcmon-0.8.9

./configure –prefix=/usr (en frente de prefix va doble guión)

make && make install

gapcmon

Recuerda que la versión del programa que en mi caso es la 0.8.9 puede cambiar. Con eso tendremos instalado gapcmon, solo debemos tener iniciado el demonio de apcupsd para que funcione.

No instalé ups-monitor porque me pedía la USE +gnome y no pretendo instalar gnome ;).

Reparando startx en Gentoo para iniciar el gestor de ventanas

Luego de una actualización del sistema, al parecer de xinit por alguna razón al ejecutar startx no iniciaba mi gestor de ventanas (en mi caso Xfce4) sino que simplemente iniciaba Xsession. A pesar de que en el /etc/rc.conf estaba todo bien, debía ejecutar startxfce4 para poder iniciar Xfce.

Hoy actualizando el sistema me di cuenta de un mensaje de xinit que dice:

* If you use startx to start X instead of a login manager like gdm/kdm,
* you can set the XSESSION variable to anything in /etc/X11/Sessions/ or
* any executable. When you run startx, it will run this as the login session.
* You can set this in a file in /etc/env.d/ for the entire system,
* or set it per-user in ~/.bash_profile (or similar for other shells).
* Here’s an example of setting it for the whole system:
* echo XSESSION=”Gnome” > /etc/env.d/90xsession
* env-update && source /etc/profile

Así pues, la solución al problema es bien sencilla, solo ejecutamos estos comandos como root:

echo XSESSION=\”Windows_manager\” > /etc/env.d/90xsession”
env-update && source /etc/profile

O también:

nano -w /etc/env.d/90xsession

Y al archivo le agregamos el siguiente contenido:

XSESSION=”Windows_manager”

Ejecutamos el siguiente comando después de guardar el archivo:

env-update && source /etc/profile

Donde Windows_manager es el nombre del  gestor de ventanas que usemos que pueden ser algunos como estos: Gnome, Kde-<version>, Xfce4

Con eso solucionamos el problema :)

Salu2

Error en Udev luego de actualización de Gentoo

Después de actualizar udev a la versión 146-r1 en gentoo linux unos días atrás comenzó a aparecer un mensaje al iniciar el sistema que decía lo siguiente:

udev: missing sysfs features; please update the kernel or disable the kernel’s CONFIG_SYSFS_DEPRECATED option; udev may fail to work correct

Como uso un kernel descargado desde kernel.org y un poco personalizado se produjo ese error gracias a una opción que no se debe usar en el kernel con la nueva versión de udev. Solo basta con deshabilitar la opción CONFIG_SYSFS_DEPRECATED_V2 que se encuentra en General Setup – remove sysfs features which may confuse old userspace tools.

Al desactivar esa opción que ya no es necesaria se soluciona el problema ;)

Salu2

Como más de uno debe saber hace no mucho en Gentoo Linux eliminaron del tree todo lo relacionado con KDE 3 lo cual es una joda para mi. Ahora estará como stable KDE 4 y todos sus paquetes dependientes.

Lo malo de esto es que antes podías tener programas dependientes de KDE sin necesidad de usar la use +kde y sin necesidad de instalar demasiadas librerías de kde 3, con solo compilar kdelibs (que ya es bastante grande) y alguna otra dependencia pequeña del programa valía, ahora no! con KDE 4 debes colocar la use +kde en tu package.use o en el make.conf para instalar algo tan simple como k3b en mi caso y ello implica instalar kde-base que no lo quiero en mi sistema. Menos mal a muchos como yo no les gustó la idea y se pusieron manos a la obra, puedes seguir estos pasos para mantener kde3 en tu sistema:

I. Agregando kde-sunset:

1. Instalamos layman con la use +git con el comando:

USE=”git” emerge -av layman

O modificando el /etc/portage/package.use para instalar layman con la use +git como fue mi caso.

2. Ejecutamos los siguientes comandos para agregar a kde-sunset:

layman -f
layman -a kde-sunset

3. Si es la primera vez que usamos layman debemos colocar la siguiente línea al final del make.conf

source /usr/local/portage/layman/make.conf

4. Ejecutamos el siguiente comando para mantener actualizado kde-sunset:

layman -s kde-sunset

II. Desenmascarar KDE 3.5

KDE 3 ahora está como masked, debemos desenmascararlo y tenemos 3 posibles formas de hacerlo:

1.1- Si tu package.unmask es un directorio, haz un enlace simbólico desde kde-sunset a /etc/portage/package.unmask con el siguiente comando:

ln -s /usr/local/portage/layman/kde-sunset/Documentation/package.unmask/kde-3.5 /etc/portage/package.unmask/kde-3.5

Nota: si no tienes un package.unmask puedes crearlo con mkdir /etc/portage/package.unmask

1.2- Si tu package.unmask es un archivo ejecuta el siguiente comando:

cat /usr/local/portage/layman/kde-sunset/Documentation/package.unmask/kde-3.5 >> /etc/portage/package.unmask

1.3- Si no te agradan las 2 opciones de arriba puedes usar autounmask:

emerge autounmask

Luego ejecutas el comando:

autounmask kde-sunset

III. Utilizando KDE 3.5

Ahora debemos indicarle a emerge que usaremos KDE 3.5 en vez de KDE 4, sino cuando usemos emerge -avDuN world nos instalará de nuevo la versión 4, así que debemos seguir estos pasos:

1.1 Si tenemos instalados los programas de KDE 3.5 en nuestro sistema debemos editar el archivo /var/lib/portage/world y buscar todos los programas y dependencias de kde que tengamos y agregarles un :3.5 al final, por ejemplo en mi caso que uso k3b queda así:

app-cdr/k3b:3.5

1.2 Si no tenemos aún programas de kde 3 instalados y queremos instalarlos solo basta con colocar emerge k3b:3.5 y listo. Recuerden luego seguir el paso 1 después de instalarlo porque sino les pedirá instalar la versión 4 ;).

Me basé en esta guía: how-to: keep your kde 3.5 after it’s removed from gentoo’s tree, using the kde-sunset overlay

Disfruten su KDE 3.5 como yo :D

Salu2

Welcome Back Gentoo Linux

Debo decir que en realidad, jamás debí eliminar Gentoo Linux de mi laptop y mucho menos por instalar Debian pensando que iba a ser la mejor opción; vaya que yo estaba equivocado.

Para resumir mi mala experiencia con Debian, debo decir que los desarrolladores cada día parecen ser los de Ubuntu. La versión Squeeze o de prueba era muy inestable, de hecho llegué a creer en algún momento que Sid era más estable que Squeeze. Muchos programas tenían bugs molestos reportados que me llegaron a parecer tontos debido a que los paquetes pasan por una serie de pruebas rigurosas hasta llegar a la versión Testing, donde deberían ser bastante estables pero no era así, más de una vez tuve que usar paquetes de Sid porque los de Squeeze simplemente no funcionaban.

No es que Gentoo no tenga Bugs, solo que no es tan común y Gentoo usa programas más nuevos y además es bastante más rápido ;)

Me falta configurar una que otra cosa, pero básicamente ya está todo listo:

captura-de-pantalla

En estas semanas estaré haciendo una mini guía de como instalar Gentoo y dejarlo funcionando al pelo en laptops similares a la mía ;).

Salu2