Mostrando entradas con la etiqueta LMDE Apuntes. Mostrar todas las entradas
Mostrando entradas con la etiqueta LMDE Apuntes. Mostrar todas las entradas

miércoles, 8 de mayo de 2013

Aumenta el tiempo de batería en tu portatil


Un problema muy común en todos los portátiles con sistemas Linux es que la batería dura un asalto.

Por ejemplo, mi batería debería durar unas 3 horas, pero no dura más de 1 hora y media.

Esto es en su mayor parte por culpa de la gráfica y los ventiladores de esta, disco duro y procesador, que trabajan a máxima potencia aunque estemos en modo batería y ya le hayamos puesto en configuración que sea más conservador con la energía de los dispositivos.

En su parte, la culpa la tiene los kernels inmediatamente inferiores a la 3.8 (ya que esta está parcheada) que tienen un problema con el consumo. En la 3.9 ya está totalmente corregido.

Pero además puede ser que no tengamos activados las opciones de energía en el núcleo.

Hoy quiero explicar a todos como he conseguido resolver el problema en LMDE (Linux Mint Debian Edition)

Para empezar diré que yo he compilado un kernel nuevo, la 3.9, para que tenga las opciones mínimas necesarias que usará el programa que vamos a necesitar.

Explicación de compilación del Kernel con sus opciones mínimas:
http://pc-citos.blogspot.com.es/2013/05/compilar-el-ultimo-kernel-disponible-en.html



Instalar lo necesario

El programa que necesitamos se llama "laptop-mode-tools" pero también instalaremos "powertop" para ver el consumo real del equipo.

scorpyomint@pc-citomint ~ $ sudo apt-get install laptop-mode-tools powertop

Con eso tenemos instalado los programas.

Laptop-mode-tools usará los eventos ACPI para identificar el estado de conexión y desconexión de batería, la retroiluminación de pantalla..... el estado de la CPU, uso de disco duro...

Uso de powertop
El uso de powertop es para ir comprobando el efecto que causa en la energía de consumo los cambios que vayamos haciendo.

Simplemente abrir una terminal y escribir:
scorpyomint@pc-citomint ~ $ sudo powertop


Configuración de laptop-mode-tools

Lo primero que tenemos que hacer es parar el demonio de laptop porque tras la instalación se inicia.
scorpyomint@pc-citomint ~ $ sudo service laptop-mode stop

En el archivo "/etc/laptop-mode/laptop-mode.conf" está la configuración inicial que usa el demonio.

A partir de ahora, para editar los archivos, ya que algunos son muy largos podemos usar "pluma" o "gedit", este último para distribuciones con Gnome, en este caso lo abro con nano.

scorpyomint@pc-citomint ~ $ sudo nano /etc/laptop-mode/laptop-mode.conf

Habría que modificar ciertos valores, pero lo más importante es asegurarse las siguientes variables está en "1" es decir, activado:

ENABLE_LAPTOP_MODE_TOOLS=1
ENABLE_LAPTOP_MODE_ON_BATTERY=1

Si seguimos avanzando en el archivo de configuración veremos todos los módulos (scripts) que controlan la energía de algún elemento "descrito en su nombre".
Como veréis todos están comentados (Con una "#" delante), lo que hará que no las tome en consideración y no use esos scripts, sin embargo, al final hay una opción que está activada y hará que use los script de manera automática.

#
# Enable all simple zero-configuration auto modules
# This option enables all simple modules (listed below) without requiring
# the user to enable each module individually
#
# List of modules which can be automatically enabled with this setting are:
#
# ac97-powersave
# cpufreq
# dpms-standby
# eee-superhe
# ethernet
# exec-commands
# hal-polling
# hdparm
# intel-hda-powersave
# intel-sata-powermgmt
# nmi-watchdog
# runtime-pm
# sched-mc-power-savings
# sched-smt-power-savings
# terminal-blanking
# usb-autosuspend
# wireless-ipw-power
# wireless-iwl-power
# wireless-power
#
# Set this to 1 to enable all simple zero-configuration auto modules listed above.
#
# NOTE: You can explicitly enable/disable any of the above modules by changing their
# values in the individual settings file
#
ENABLE_AUTO_MODULES=1

Eso significa que usará  los módulos que hay en /etc/laptop-mode/conf.d/ de manera automática según el estado y eventos que proporcione el PC.

Podemos guardar el archivo y cerrarlo.



Configuración de la retroiluminación:

Una de las cosas  que más consume es la retroiluminación de la pantalla (no confundir con el brillo de los colores)


Si vuestro PC no baja el brillo de la pantalla de forma automática podemos empezar a modificando el archivo  "/etc/laptop-mode/conf.d/lcd-brightness.conf

Pero antes habría que desactivar algunas cosas que entran en conflicto desde mi punto de vista con la aplicación.

Tenemos que ir a las opciones de energía del portátil pinchando sobre el icono de batería y dando a "Preferencias", pinchar en la pestaña "reducir brillo de "


Dejar desactivado los siguientes valores:

-Reducir la velocidad de retoación de los discos cuando sea posible.
-Reducir el brillo de fondo
-Atenuar la pantalla cuando está inactiva.

Aceptamos.

Ahora toca averiguar cual es la retroiluminación máxima que soporta vuestra pantalla.

Para verlo hacemos un:
scorpyomint@pc-citomint ~ $ cat /sys/class/backlight/acpi_video0/max_brightness


A mi me arroja el valor "7"

Así que ya sé, que mi valor máximo de retroiluminación de pantalla es 7 y el mínimo será 1.

Para comprobar si lo que vamos a hacer a continuación funcionará, debemos hacer un pequeño test a ver si la retroiluminación de la pantalla cambia con la siguiente orden:

Ponemos el brillo al máximo (en mi caso el 7 es el valor máximo):


scorpyomint@pc-citomint ~ $ sudo echo "7" > /sys/class/backlight/acpi_video0/brightness

Y luego hacemos al revez, lo bajamos:

scorpyomint@pc-citomint ~ $ sudo echo "2" > /sys/class/backlight/acpi_video0/brightness

Si eso ha funcionado, ya podemos configurar el script para que lo haga de forma automática cada vez que saquemos el cable del portátil y estemos trabajando en modo batería.

scorpyomint@pc-citomint ~ $ sudo pluma /etc/laptop-mode/conf.d/lcd-brightness.conf

Dejar la configuración de la siguiente manera:

-Para que se active este escript:
CONTROL_BRIGHTNESS=1

-Valor para la retroiluminación en modo batería, yo le puse un "2":
BATT_BRIGHTNESS_COMMAND="echo 2"

-Valor  para el retroiluminación en modo portatil con el cable, yo lo puse al máximo que me permite:
LM_AC_BRIGHTNESS_COMMAND="echo 7"

-Valor  para el retroiluminación en modo "no portatil" con el cable, yo lo puse al máximo que me permite:
NOLM_AC_BRIGHTNESS_COMMAND="echo 7"

-Archivo que debe modificar para poder corregir el valor del brillo.
BRIGHTNESS_OUTPUT="/sys/class/backlight/acpi_video0/brightness"

Bueno, con eso ya hemos arreglado el problema del brillo.

Para comprobarlo solo tenemos que guardar, arrancar el demonio laptop y comprobar enchufando y desenchufando el portatil de la toma de corriente.

scorpyomint@pc-citomint ~ $ sudo service laptop-mode start



Configurando el consumo de la tarjeta gráfica

 La siguiente información solo lo he probado con tarjetas Ati, y no sé como resultará en tarjetas de otro tipo.
 
Primero tenemos que ver el consumo actual de la tarjeta, para verlo tenemos que ser root:

scorpyomint@pc-citomint ~ $ sudo su

Una vez logueados como root miramos el consumo actual con:

pc-citomint scorpyomint #  cat /sys/kernel/debug/dri/0/radeon_pm_info
Si la carpeta debug está vacía hay que montarla:

pc-citomint scorpyomint # mount -t debugfs none /sys/kernel/debug

Y ahora que está montado probamos de nuevo...
 
Yo obtengo lo siguiente:
default engine clock: 680000 kHz
current engine clock: 678370 kHz
default memory clock: 800000 kHz
current memory clock: 796500 kHz
voltage: 1200 mV
PCIE lanes: 16

Ahora comprobaremos cual es el estado de agresividad de la tarjeta:

pc-citomint scorpyomint # cat /sys/class/drm/card0/device/power_profile
default

Como veis yo lo tengo "por defecto" pero podemos cambiar los valores entre los siguientes:

"default" > Por defecto.
"hight" > Maxima potencia
"mid" > Potencia equilibrada bajo demanda (no siempre funciona)
"low" > La menor potencia admitida.
Para modificar el valor, por ejemplo al mínimo, podemos hacerlo así:
pc-citomint scorpyomint # echo "low"> /sys/class/drm/card0/device/power_profile


Ahora si volvemos a comprobar los valores de la tarjeta veremos como ha respondido:
pc-citomint scorpyomint # cat /sys/kernel/debug/dri/0/radeon_pm_info
default engine clock: 680000 kHz
current engine clock: 219370 kHz
default memory clock: 800000 kHz
current memory clock: 299250 kHz
voltage: 950 mV
PCIE lanes: 16
Fijaros como los valors han cambiado, ahora muestra los "current" mucho más bajos que los estandares "default".
Además, el voltaje es inferior, con lo que se ahorra energía, y como se calienta menos, el ventilador no salta, y por tanto consume aún menos.

Ahora toca la parte de hacer que se ejecute el comando colocando el perfil de "low" cada vez que el portátil esté en modo batería y que lo restablezca a "default" cuando está conectado a la corriente.

Primero paramos el demonio para evitar problemas:
pc-citomint scorpyomint # service laptop-mode stop

Y ahora a modificar el archivo que compete:

pc-citomint scorpyomint # pluma /etc/laptop-mode/conf.d/exec-commands.conf

Modificamos las primeras líneas de comando de esto:

BATT_EXEC_COMMAND_0="" # Enable power saving feature 0 here
LM_AC_EXEC_COMMAND_0="" # Enable power saving feature 0 here
NOLM_AC_EXEC_COMMAND_0="" # Disable power saving feature 0 here

A esto otro:

BATT_EXEC_COMMAND_0="echo low > /sys/class/drm/card0/device/power_profile"
LM_AC_EXEC_COMMAND_0="" # Enable power saving feature 0 here
NOLM_AC_EXEC_COMMAND_0="echo default > /sys/class/drm/card0/device/power_profile"

De esta manera cuando esté en modo batería pondrá la tarjeta en "low" y cuando esté con la corriente la pondrá en "default"

Reiniciamos el demonio:
pc-citomint scorpyomint # service laptop-mode start

Y cerramos la seción de root:
pc-citomint scorpyomint # exit



Velocidad de reloj CPU   

Otro de los scripts que podemos modificar es el de la velocidad de reloj de la CPU.

Antes de nada, podemos comprobar en que estado están las CPU en modo batería y en modo AC (conectado a la corriente) con el siguiente comando filtramos la salida de "cpufreq-info" para ver el estado de cada cpu.

scorpyomint@pc-citomint ~ $ sudo cpufreq-info | grep "The governor" | nl
     1                      The governor "ondemand" may decide which speed to use
     2                      The governor "ondemand" may decide which speed to use
     3                      The governor "ondemand" may decide which speed to use
     4                      The governor "ondemand" may decide which speed to use

Como veis, mis procesadores están bajo demanda "ondemand" cuando está conectado a la corriente.
Pero resulta, que estando en modo batería están exactamente igual, es decir, en el archivo de configuración de laptop está configurado así para los dos estados.... cosa que no quiero y voy a cambiar.
Paso a explicar:

Abrimos una terminal y abrimos el script así: 
scorpyomint@pc-citomint ~ $ sudo pluma /etc/laptop-mode/conf.d/cpufreq.conf

Ahora buscamos el apartado en el que pone esto:
BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=ondemand

Las dos primeras líneas son para la velocidad máxima y mínima de trabajo, así está configurada como la más rápida y la mas lenta permitidas.

Pero el valor de "GOVERNOR" es la forma de controlar las CPU y en este caso, si os fijáis está bajo demanda "ondemand"

Así que lo pongo en "powersave", trabajando de esta forma a la velocidad mínima permitida, sin posibilidad de escalar la velocidad.

BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=powersave

Algunos de los valores permitidos son:

-performance
El regulador de rendimiento esta empotrado en el núcleo y hace que las UCP funcionen a la máxima velocidad de reloj

-ondemand (por defecto)
Incrementa o decrementa lavelocidad de las CPU dependiendo de la carga de trabajo.
-conservative
Es como ondemand, con la diferencia de que es más conservador (los cambios de velocidad son más suaves)

-powersave
Hace que la CPU vaya a la velodidad mímina especificada en la linea con el valor del mínimo. (BATT_CPU_MINFREQ=slowest), en este caso el valor mínimo soportado.

Ponéis el que os parezca tanto para modo batería como para modo AC y luego guardáis.

Y probáis de nuevo a conecta y desconectar el cable comprobando el antes y el después con el comando anterior:



Con cable:

scorpyomint@pc-citomint ~ $ sudo cpufreq-info | grep "The governor" | nl
     1                      The governor "ondemand" may decide which speed to use
     2                      The governor "ondemand" may decide which speed to use
     3                      The governor "ondemand" may decide which speed to use
     4                      The governor "ondemand" may decide which speed to use
 
 
 
 Sin cable:
scorpyomint@pc-citomint ~ $ sudo cpufreq-info | grep "The governor" | nl
     1                      The governor "powersave" may decide which speed to use
     2                      The governor "powersave" may decide which speed to use
     3                      The governor "powersave" may decide which speed to use
     4                      The governor "powersave" may decide which speed to use
-----------

Creo, que esto es lo más importante, pero podéis revisar el resto de los scripts para comprobar sus opciones para ver en que más se puede mejorar.

Siempre podemos añadir más cosas, como que quite los efectos de escritorio y los retorne al conectar el cable, apague el bluetooth, la tarjeta de red... etc etc.

Así ha quedado más o menos mi sistema:



Un saludo y ya me contáis.

LMDE No regresa de hibernación

Si habéis probado a entrar en modo hibernación, muchos os habrá ocurrido que el equipo no regresa de hibernación, si no que directamente arranca de nuevo como si nada.

Al parecer, la hibernación la hace correctamente (La hace hacia la Swap, si no tenéis Swap no se si será posible), pero luego cuando el pc inicia no busca en la partición de la Swap para ver si el equipo estaba hibernado, en lugar de eso arranca el pc de modo habitual.

Para corregir esto hay que añadir un parámetro a la linea de arracque de grub de manera que busque si el pc está en estado de Hibernación y que, si es así, proceda a restaurar el PC con los datos de la Swap

Para empezar tenemos que averiguar la UUID de nuestra partición Swap

Podéis sacarla facilmente con este comando:
sudo blkid | grep swap

Con eso obtendréis una línea parecida a esta:
/dev/sda6: UUID="20fa525c-0de7-4ffe-a014-9974b68036bc" TYPE="swap"

Esto indica que en la partición /dev/sda6 está la swap y que el número UUID es el "20fa525c-0de7-4ffe-a014-9974b68036bc"

Copiad ese número que lo vamos a usar ahora.

Ahora toca hacer que grub añada una orden a sus entradas actuales y futuras.

sudo nano /etc/default/grub

Buscas la linea  10 apximadamente y verás algo como:
GRUB_CMDLINE_LINUX=""


Entre las comillas tenéis que añadir la orden "resume=UUID=" seguida del UUID que antes hemos copiado, quedando de esta forma en mi caso:

GRUB_CMDLINE_LINUX="resume=UUID=20fa525c-0de7-4ffe-a014-9974b68036bc"

 Nota: Para pegar en la terminal se usa Ctrl+shif+v  o también botón derecho y pegar.

Para guardar presionas Ctrl+o y presionas enter para guardar con el mismo nombre.
Para salir presionas Ctrl+x

Ahora toca actualizar:
sudo update-grub

Y ahora ya puedes probar a ver si funciona.

Un saludo.

Fuente de información: http://www.taringa.net/posts/linux/12940433/Habilitar-hibernacion-en-Linux-Mint-y-Debian.html

domingo, 5 de mayo de 2013

Compilar el último Kernel disponible en LMDE

Muchos de nosotros nos hemos encontrado con problemas a la hora de usar ciertas funcionalidades en nuestros sistemas Linux porque en el núcleo del sistema (Kernel) que estemos usando, estas funcionalidades están deshabilitadas por defecto para nuestra distribución...

Estas cosas suelen hacerlas los desarrolladores de las distribuciones para llegar al máximo público posible, ya que estos no usan los mismos dispositivos ni las mismas características de hardware... así que tienen que encontrar un equilibrio donde a veces no solo tienen que activar soporte para cientos de tipos de hardware... sino que en otras ocasiones tienen que desactivar funciones que entran en conflicto con otros dispositivos o equipos sacrificando estas mejoras para mantener el equilibrio anteriormente mencionado.

La solución pasa por parchear el Kernel o compilar uno nuevo para ajustarlo a nuestras necesidades.


En esta ocasión intentaré explicar como he compilado mi Kernel para obtener compatibilidad con laptop-mode-tools que se encarga de administrar la energía a partir de la obtención de eventos ACPI generados por el Portátil, cosa que en mi núcleo por lo que sea viene desactivado... y no tiene soporte para ACPI.

Preparativos

Ya que nos ponemos manos a la obra lo mejor es que nos descargamos el último Kernel disponible, ¿no?

Claro que si, pero el último estable, para no meter la pata.

Todos los núcleos de Linux hasta la fecha están en https://www.kernel.org/

Una vez descargado, (que será un archivo comprimido) lo normal para estos menesteres es descomprimir el código en /usr/src/

Obteniendo una carpeta con el nombre de kernel descargado.

Para hacerlo abrid una terminal.
Situaros en la ruta especificada:

cd /usr/src

Una vez allí copiáis el archivo descargado en mi caso es "linux-3.9.tar.xz":
sudo cp /home/tu-usuario/lugar-de-descarga/linux-3.9.tar.xz ./

Ya tenemos una copia en la ruta en la que nos encontramos, ahora toca descomprimirlo.
Este tipo de arvhivo, relativamente nuevo en Kernel.org se descomprime con:
sudo tar -Jxvf linux-3.9.tar.xz

Para poder hacerlo tendréis que tener instalado el paquete xz-utils, si no lo tenéis podéis instalarlo con:
sudo apt-get install xz-utils

Una vez descomprimido, encontraremos en la ruta en la cual nos encontramos una carpeta con el nombre que tiene el archivo comprimido pero sin la extensión ".tar.xz" donde deberemos entrar para continuar.

En mi caso:

cd linux-3.9

Lo lógico es que las fuentes de configuración estén limpias puesto que deben estar preparadas para su uso, pero si es la segunda vez que intentas compilar, lo mejor es que elimines los rastros de configuraciones antiguas.

make mrproper

Nota:  Regla mnemotécnica.....  notese que el comando dice "mr proper" el mítico producto de limpiezas de baños.... así que sería "hacer limpieza con mr proper" (hora se llama Don Limpio... jajajjaa que cutre... pero bueno)

Ahora toca configurar el núcleo de Linux, pero claro.... sería una ardua y compleja tarea dejar todo con la configuración de tu Kernel actual y añadir (o eliminar) después las configuraciones extra que necesites....

La solución es cargar la configuración actual y usarla como base. (Los nuevos kernels lo hacen de manera automática al abrir el configurador)

Como ya he dicho arriba, esto que a continuación se detalla en los nuevos kernels ya se hace de forma automática al abrir por primera vez el configurador del núcleo, por eso este apartado no es necesario que lo hagáis si estáis compilando un núcleo nuevo, pero por si queréis saber como hacerlo a mano.... o poner una config de un núcleo antiguo que funcionaba mejor... etc, etc allá va la explicación:

Cuando se instala un kernel, el archivo de configuración que se usó para compilarlo se copia en la carpeta /boot/ con un nombre que comienza con "config-" y seguido del numero de versión y arquitectura del kernel al que hace referencia.

Así que solo queda localizarlo, pegarlo en la caperta actual y usarla como base...

ls -al /boot/
config-3.2.0-4-amd64  initrd.img-3.2.0-4-amd64  System.map-3.2.0-4-amd64
extlinux              memtest86+.bin            vmlinuz-3.2.0-4-amd64
grub                  memtest86+_multiboot.bin  vmlinuz-3.9.0



En mi caso el archivo que busco es el config-3.2.0-4-amd64

Lo copiamos a la carpeta en la que nos encontramos con el nombre que debe tener para poder cargarlo correctamente... y posteriormente compilarlo.

sudo cp /boot/config-3.2.0-4-amd64 ./.config





Añadiendo o quitando funcionalidades

Con eso ya está todo listo.

Podríamos empezar a compilar el núcleo ya, sin mayores problemas, pero la cuestión es que tenemos un núcleo nuevo, si,  pero con las opciones como el viejo.. hay que entrar a la configuración del kernel que estamos construyendo y añadir o eliminar lo que no queramos.
En mi caso, lo compilé añadiendo estas opciones mínimas que recomiendan en la página de gentoo para hacer funcionar correctamente el "laptop-mode-tools":

General setup --->
  [*] Configure standard kernel features (expert users) --->

Power management and ACPI options --->
  [*] Run-time PM core functionality
  [*] ACPI (Advanced Configuration and Power Interface) Support --->
    <*> AC Adapter
    <*> Battery
    -*- Button
    -*- Video
    <*> Fan
    <*> Processor
    <*> Thermal Zone
    [*] Power Management Timer Support

  [*] CPU Frequency scaling --->
    [*] CPU Frequency scaling
    <*>   'performance' governor
    <*>   'powersave' governor
    <*>   'userspace' governor
    <*>   'ondemand' governor
    <*>   'conservative' governor
    <*> ACPI Processor P-States driver
 
Fuente de información: http://www.gentoo.org/doc/es/power-management-guide.xml
Recomendada su lectura si queréis instalar laptop-mode-tools



Para entrar en la configuración hay que escribir:
sudo make menuconfig

Hay mas modos de edición, pero esta es la más cómoda y la menos problemática desde mi punto de vista, ya que las otras opciones requieren o bien más conocimiento y experiencia o bien dependen  de otros paquetes para mostrar ventanas...
Mencionadas por orden serían estas dos:

sudo make config        >>> Se necesita experiencia ya que nos harán muchas preguntas de hardware.

sudo make xconfig      >>> Se necesitan dependencias por regla general para poder mostrar ventanas.

Con esto ya estamos dentro del configurador, y veremos opciones marcadas así:
 [*]  >>> Opción activada dentro del Kernel
 [M]  >>> Opción disponible mediante Módulo fuera del Kernel
 [ ]  >>> Opción no soportada (Para impedir su uso tanto internamente como usando un módulo)

De esta manera tendremos que ir marcando o desmarcando opciones con la barra espaciadora para poder configurar nuestro Kernel a medida.

Nota: Yo personalmente, desmarco esta opción para eliminar peso del kernel generado:

Kernel hacking  --->
[ ] Compile the kernel with debug info

Una vez terminado de configurar, guardamos los cambios y salimos. (O salimos y nos preguntará si queremos guardar antes de salir, respondemos que sí)


Compilando el nuevo Kernel

Ahora ya estamos listos para compilar nuestro nuevo Kernel.
Antiguamente había que dar unos pocos pasos más para terminar, pero hoy tenemos mas flexibilidad para compilar el Kernel usando la herramienta kernel-package
Para instalarla solo tenemos que teclear:

sudo apt-get install kernel-package

Ahora ya podemos compilar el kernel:
make-kpkg clean
make-kpkg --initrd kernel_image kernel_headers


Nota: si tenemos varios procesadores podemos pasarle el parámetro "-j X" donde la X es el número de procesadores que queremos que use para compilar, acortando así el tiempo de compilado, ejemplo:
make-kpkg -j 4 --initrd kernel_image kernel_headers

Mi micro es un Intel core I3 y este tiene un procesador de doble núcleo que pueden operar como si fuesen otros dos... , así que en teoría tengo 4 procesadores. (de hecho, Linux lo ve así aunque 2 de los procesadores no son reales)

Con eso creamos dos paquetes .deb en el directorio superior, es decir en /usr/src/ que serán para instalar el kernel y sus headers que sirven para compilar otros módulos como los privativos de AMD, madwifin, VMware etc...

Ahora toca esperar.... esperar y esperar a que termine de compilarse el núcleo nuevo.

Una vez haya terminado de compilar, podemos subir al directorio superior y comprobar que paquetes nuevos hay:

cd ..
ls

Con eso vemos la lista de paquetes y podremos ver los nuevos paquetes .deb

Para instalarlos:
sudo dpkg -i archivo1.deb archivo2.deb

En mi caso:
sudo dpkg -i linux-image-3.9.0_3.9.0-10.00.Custom_amd64.deb linux-headers-3.9.0_3.9.0-10.00.Custom_amd64.deb

Aunque los nombres sean largos (cosa que podemos arreglar renombrandolos) no lo serán en la entrada del grub, así que tranquilos.

Listo, ya podemos reiniciar y usar nuestro nuevo kernel, si no funcionase aún podremos usar el antiguo y ver que pasó.

Un saludo.

Este documento se ha confeccionado obteniendo información de diversas fuentes, entre ellas: http://mogaal.com/articulos/kernel-a-la-debian.html 

domingo, 8 de julio de 2012

Cambiar la salida de audio a HDMI en LMDE

En LMDE mucha gente se encuentra con la dificultad de cambiar la salida de audio de los altavoces hacia la salida HDMI.

Una solución chapucera es arrancar el gnome-sound-applet y cambiarlo desde ahí, y luego cerrarlo.

Pero para no tener que recurrir a ese caso, podemos instalar pavucontrol (pulseaudio volumen control)

sudo apt-get install pavucontrol

Se instalará en Menú > Sonido y Vídeo > Control de volumen pavucontrol
Para mayor comodidad lo podéis arrastrarlo hasta la barra de tareas, junto al icono de volumen, de esta manera estará mas accesible, y como veis en la imagen, es mucho mejor que estar trasteando con el gnome-sound-applet


Ahí podremos hacer todo lo que hacemos en gnome-sound-applet, incluso una cosa que echaba mucho de menos, que es el poder exceder el volumen de audio normal, como se ve en la imagen lo tengo al 124%.

Eso es todo, un saludo.

martes, 3 de julio de 2012

Mostrar notificaciones de contactos en pidgin con LMDE



Llevo un tiempo peleando con el complemento pidgin-libnotify en LMDE ya que este no funciona.

Simplemente aparece desactivado en complementos y no te permite activarlo.

En detalles del complemento muestra este error:

Error: undefined symbol: attach_request_ui_ops\n
Compruebe el sitio web del complemento para obtener una actualización.

He intentado de todo para solucionarlo pero sin éxito.

Así que me puse a mirar en los repositorios y encontré una alternativa muy interesante llamada guifications.

Es muy configurable y potente.

En principio el complemento está en español, pero los mensajes los muestra en inglés y no me mostraba en la burbuja los mensajes que me escribían mis contactos.


Esto se arregla añadiendo un tema personalizado o descargando uno.

Personalmente, los que he visto no me agradaban mucho y decidí hacer el mío que comparto con ustedes.

 
Así que vamos con la solución:

Quitar pidgin-libnotify (para que lo queremos?)
sudo apt-get purge pidgin-libnotify

E instalamos pidgin-guifications:
sudo apt-get install pidgin-guifications

Con esto ya tenemos el complemento instalado.

Para activarlo abrimos pidgin y vamos a Herramientas > Complementos.
Buscamos guifications y lo activamos.




Le damos a configurar complemento y lo ponemos al gusto de cada uno.

Sí queréis tener el tema que esto creando lo podéis descargar de aquí:

http://ubuntuone.com/0nL9IbNQpQdg0KxsUphbns

Lo descomprimís y obtendréis una carpeta llamada Guispyo

Abrid vuestra carpeta personal y movéis la carpeta a: .purple/guifications/themes/

Nota: para ver las carpetas que empiezan por un punto "." tendréis que presionar Ctrl+H

Una vez movido allí, ya lo tendréis añadido como un tema nuevo, y lo podréis elegir en la pestaña "Tema" de la configuración de guifications.



Espero que os guste y que por fin tengáis notificaciones de quién entra, sale, nos habla, etc, etc

PD: Os pido por favor, que si detectáis alguna anomalía en el texto mostrado o algún icono que no encaje o se vea descuadrado, etc... lo notifiquéis aquí con un comentario para poder corregirlo.

Muchas gracias.

martes, 26 de junio de 2012

Instalar lmms en LMDE

Para los que no lo saben, lmms son las siglas de Linux Multimedia Studio.

Es un programa para diseñar y crear canciones muy completo y bastante profesional.

LMMS ya se encuentra en la mayoría de las distribuciones Linux.

En el caso de LMDE aún no están añadidas, si bien están en la rama unstable de debian, no aconsejo instalarlo desde esos repositorios para evitar males peores.

Lo mejor es bajar el código fuente de su página y compilarlo.

Compilarlo suele ser sencillo, pero en este caso me ha costado bastante porque no se cumplían ciertas dependencias que no mencionaban ni en la wiki de lmms ni en el README ni INSTALL que hay dentro del paquete.

Para eso escribo esto, para que vayáis a tiro fijo.





Para empezar bajamos el código fuente de aquí:
http://lmms.sourceforge.net/download.php

Es la página oficial, solo tenéis que descargar el "source" (código fuente)

Lo guaráis en el escritorio, el paquete actual se llama lmms-0.4.13.tar.bz2
Tened en cuenta que el vuestro puede ser más moderno que el que yo tengo así que no hagáis caso el nombre, es solo la referencia.


Instalando dependencias


sudo apt-get update&&sudo apt-get install libqt4-dev qt4-dev-tools build-essential libfftw3-dev libsndfile1-dev

Con  eso deben de estar satisfechas todas las dependencias.

También instalaremos checkinstall para crear nuestro paquete .deb
sudo apt-get install checkinstall

Tipos de instalación:

Podemos hacer dos tipos de "instalación", una compilando todo y dejando todo lo necesario dentro de una carpeta que sea portable... o instalarlo completamente en el sistema.

De ambas maneras tienen que funcionar, yo lo he hecho de ambas maneras, pero cuando lo instalé en el sistema me di cuenta de que no tiene desinstalador....cosa, que ya he corregido y si seguís los pasos que os daré tendréis un .deb con todo preparado y podréis desinstalarlo sin problemas más tarde.

Explicaré las dos formas.



Instalación en una carpeta

Abrid una terminal y empecemos.

Nos colocamos en el escritorio:
cd Escritorio

Descomprimimos el paquete:
tar xvf lmms-0.4.13.tar.bz2

Entramos en la carpeta creada:
cd lmms-0.4.13

Creamos la carpeta para construir y otra que contendrá los archivos del programa:
mkdir build target

Entramos en build:
cd build

Cambiamos el origen de instalación para que sea en "target"
cmake .. -DCMAKE_INSTALL_PREFIX=../target 

Si tienes un procesador 64 bits ponemos:
cd ..
sed -i 's/lib64/lib/' cmake/modules/DetectMachine.cmake
cd build

Si tienes una cpu compilaremos con:
make

Si tienes más de una cpu (ejemplo: i3) compilaremos con:
make -j4

(Donde el número indica el número de núcleos que tiene la cpu. los i3 tienen 2x2)

Este paso, al hacerlo con más de un núcleo generará errores, pero no os preocupéis, los errores se producen porque los procesadores hacen tareas por separado y no secuencialmente así que se adelantan unos a otros, con lo que se compilan y preparan cosas que dependen de otras que no están listas, pero que ya hay un procesador encargándose de eso...
De todas formas, si os fijáis bien, mas tarde el porcentaje cambia porque regresa a comprobar los pasos que fallaron.
Puede que parezca lento, pero es mucho más rápido que con el método de un solo cpu. (comprobado)

Luego para instalar solo pon:
make install

Cuando termines tendrás una carpeta llamada target con todo el contenido necesario para hacer funcionar a lmms.

Copiamos la carpeta a /usr/share  con el nombre lmms para que otros usuarios del mismo equipo puedan disfrutarlo:

sudo cp ../target /usr/share/lmms

Ahora solo queda crear un lanzador al binario.

Botón derecho en el escritorio, seleccionamos "Crear un Lanzador"

Tipo: Aplicación
Nombre: Linux MultiMedia Studio
Comando: /usr/share/lmms/lmms
Comentario: Crea música como un profesional

El icono lo cogerá de forma automática.

Si queréis podéis poner otro en el menú.

Listo.




Instalación completa en el sistema

Abrid una terminal y empecemos.

Nos colocamos en el escritorio:
cd Escritorio

Descomprimimos el paquete:

tar xvf lmms-0.4.13.tar.bz2

Entramos en la carpeta creada:

cd lmms-0.4.13

Creamos la carpeta para construir:

mkdir build

Entramos en build:
cd build

Conmprobamos las dependencias:
cmake ../ 


Si tienes un procesador 64 bits:
cd ..
sed -i 's/lib64/lib/' cmake/modules/DetectMachine.cmake
cd build


Si tienes una sola cpu compilaremos con:
make

Si tienes más de una cpu (ejemplo: i3) compilaremos con:
make -j4

(Donde el número indica el número de núcleos que tiene la cpu. los i3 tienen 2x2)

Este paso, al hacerlo con más de un núcleo generará errores, pero no os preocupéis, los errores se producen porque los procesadores hacen tareas por separado y no secuencialmente, con lo que se compilan y preparan cosas que dependen de otras que no están listas, pero que ya hay un procesador encargándose de eso...
De todas formas, si os fijáis bien, mas tarde el porcentaje cambia porque regresa a comprobar los pasos que fallaron.
Puede que parezca lento, pero es mucho más rápido que con el método de un solo cpu. (comprobado)


Luego para instalar solo pon:
checkinstall

Preguntará si queremos crear unos paquetes .docs por defecto.
Presionamos enter para confirmar que sí. ("yes" por defecto)

Y os saldrá la siguientes opciones:

Presionamos 1 para meter una descripción.
"lmms son las siglas de Linux Multimedia Studio." enter
"Es un programa para crear música de forma profecional." enter
Enter

Presionamos 2 y cambiamos el nombre:
"lmms" enter

Cuando termines tendrás lmmsNúmeroVERSION.deb en la carpeta build.

Podéis instalarlo desde consola o pinchando dos veces sobre él.
Para instalarlo desde consola:
sudo dpkg -i lmms*.deb

Bueno, pues eso es todo.

Un saludo y espero que os sirva.




Video de la 0.4 en acción:


jueves, 14 de junio de 2012

Temas de salvapantallas para LMDE

Un tema al que le estaba dando muchas vueltas era a la forma de instalar más salvapantallas a mate-screensaver... el gestor de salvapantallas de MATE.

Al final conseguí encontrar los paquetes que usa gnome que pertenecen a xscreensaver, que son los que usa Gnome, así que me dije, ¡Ya está, instalo estos paquetes y tengo todos los salvapatallas!:

sudo apt-get install xscreensaver-gl-extra xscreensaver-data-extra

Con eso quedan todos los paquetes instalados.

Ahora llega un chazco.. jejeje
Los salvapantallas no aparecen en el menú de selección de mate-screensaver

Indagando descubrí la ruta donde están los salvapantallas nuevos:
/usr/share/applications/screensavers/

En esa ruta encontraríamos todos los archivos .desktop que son los diferentes temas de salvapantallas.

Después, me dí cuenta de que ahí mismo están los propios de MATE.
Así que me puse a destriparlos un poco y me dí cuenta de que entre los originales de MATE y los de xscreensaver solo hay una diferencia dentro.

En los de mate pone al final:
OnlyShowIn=MATE;
(Solo mostrar en MATE)


Y en los de xscreensaver pone:
OnlyShowIn=GNOME;
(Solo mostrar en GNOME)

Así que cogí uno y lo edité, para ponerle:
OnlyShowIn=GNOME;MATE;

Abrí el gestor de salvapantallas y.... tachán! ahí estaba el granuja, bien, ahora el problema está en que si queremos uno en concreto no hay problema.
sudo nano /usr/share/applications/screensavers/nombre.desktop

Editamos esa entrada y listo.... pero .... ¿¿¿y si queremos hacerlo con todos???
Pues encontré un comando en un blog para remplazar texto recursivamente:

perl -pi -w -e 's/BUSQUEDA/REEMPLAZO/g;' *.txt
En la página: http://comulinux.blogspot.com.es/2011/06/buscar-y-reemplazar-en-varios.html

Así que solo lo adapté un poco y...

sudo perl -pi -w -e 's/OnlyShowIn=GNOME;/OnlyShowIn=MATE;GNOME;/g;' /usr/share/applications/screensavers/*.desktop

Con esa orden modificamos todos los archivos .desktop de la carpeta donde están los salvapantallas para cambiar la linea que hemos mencionado para que funcionen en los dos tipos de escritorio.

Mi trabajo me costó, pero ya tengo los salvapantallas que quería, además de muchos otros que no conocía...

Un saludo.

viernes, 1 de junio de 2012

Problemas con bluetooth en LMDE en MATE



Pues sí señores, estoy aquí para compartir con vosotros una pequeña receta para poder usar la compartición de archivos por bluetooth, ya que en mate, usando el gestor de bluetooth que trae, el mate-bluetooth-applet no funciona del todo bien.

Falta el paquete gnome-user-share, y aunque lo instales no se ejecuta al inicio pues es para gnome, aunque funcione en mate... así que hay que añadirlo al inicio.

Pero además tras instalar el paquete nterior no se puede acceder a las propiedades de compartición de archivos porque hay ningún enlace a gnome-file-share-properties cuando instalas el paquete anterior, vamos, que no furula como debería.


El mayor problema es que no podemos recibir nada desde el movil hacia el ordenador, y que no podemos elegir opciones como aceptar o rechazar los paquetes que nos envian.

Una opción es añadir /usr/lib/gnome-user-share/gnome-user-share al inicio de sesión.
Luego ejecutar gnome-file-share-properties y modificar las opciones de compartición de archivos.

Pero la verdad, aunque funciona, sigue siendo algo muy soso y sigue sin preguntarte si quieres o no recibir el archivo.

La mejor opción es instalar blueman.

Pasos:

Borramos mate-bluetooth

sudo apt-get purge mate-bluetooth

Instalamos blueman y otros paquetes necesarios:

sudo apt-get install blueman bluetooth mate-notification-daemon obexftp

Para seguir con la configuración puedes reiniciar, o seguir leyendo un poco...
Nota: Si reinicias sáltate los dos comandos siguientes.

Si no reinicias el demonio de mate-bluetooth sigue activo, así que lo mejor es matarlo.

sudo killall mate-bluetooth

Desaparecerá el icono de bluetooth, ya no tenemos mate-blueooth activo.

Ahora activamos el servicio bluetooth

sudo service buetooth start

y ya deberías tener icono de bluetooth de nuevo.

 
Para permitir navegar por las carpetas de nuestro dispositivo tenemos que cambiar un parámetro si estamos usando el escritorio mate...

Botón derecho sobre el icono del bluetooth y elegimos "Servicios locales"



 En la ventana que se abre tenemos que selecionar "Transferir" en el menú de la izquierda.
Activamos compartición de archivos ftp si queremos activar la opción de compartir la carpeta mas arriba indicada en nuestro pc, si no la dejamos sin selecionar.
Lo importante es presionar en "Avanzadas", y en el campo de texto sustituir "nautilus" por nuestro navegador de archivos, en este caso es "caja".
Aplicamos y cerramos.






Pruebalo y verás que ya te deja enviar archivos pc>tlf y tlf>pc además de poder examinar los archivos de nuestro movil por bluetooth desde nuestro pc.

ACTUALIZACIÓN 01/07/2012:

Para los que tenemos android, nos podríamos encontrar en la situación de que el movil puede mandar datos al PC pero el PC al movil no, además tampoco podremos explorar el teléfono desde el PC.
Esto se debe a la forma de traspasar datos de android... ya que para enviar  datos usa obexftp pero al parecer para recibirlos usa opp... que no me pidáis que lo explique porque ni yo se de que va la historia...

¿Solución? Si, hay solución.
Dirigiros al market de android (PlayStore) y descargamos la aplicación gratuita "Bluetooth file transfer"
Con este programa podemos navegar por el pc, pero lo que nos interesa es que podemos "Conectarlo" al pc, de manera que podamos enviar datos y navegar por el movil...

Abrir "Bluetooth File Transfer", pincháis en el icono de bluetooth, seleccionáis el dispositivo bluetooth conectado al PC (Previamente emparejado) y se conectará... si dice que el pc no es accesible para poder navegar por él, no os preocupéis, es porque no permitísteis más arriba la opción de compartir carpetas por bluetooth FTP.

Con eso ya podréis navegar por el movil desde el pc y mandar archivos...
Cuando terminéis, cerradlo.

Reflexión: Todavía no me entra en la cabeza que no haya un botoncito en la opción de bluetooth de android, que permita conectar con el PC. :S

Un saludo a todos.

martes, 1 de mayo de 2012

LMDE a punto!

Como dije anteriormente, hoy voy a dar una serie de pautas y tips para dejar LMDE en perfecto funcionamiento.

Se tratarán los siguientes temas:

-Idiomas de firefox, libreoffice y thunderbird.
-Problemas con compiz y consumo CPU
-Abrir carpeta contenedora de Firefox no funciona.
-Añadir buscador google a la barra de herramientas.
-Al presionar botón de apagado sale el menú de apagar, pero se apaga sin darte a elegir.
-No se oscurece la pantalla al estar en modo batería.

Idiomas

Firefox y libreoffice aparecen en inglés así que añadimos las locales en es-ES

En una terminal poned:

sudo apt-get install firefox-l10n-es libreoffice-l10n-es thunderbird-l10n-es

Para añadir el corrector para libreoffice:
sudo apt-get install aspell aspell-es

Corrector para otros programas como emesene o pidgin:
sudo apt-get install python-gtkspell


Si por cualquier motivo en libre-office no se corrigiesen las palabras en español, podéis añadir el módulo desde aquí:
http://extensions.libreoffice.org/extension-center/diccionario-espanol
Lo descargáis, pincháis dos veces y os saldrá el administrador de módulos de libre-office, lo añadís y listo.
Si siguiese sin funcionar, revisad la configuración de idioma en Herramientas > Opciones > Configuración de Idioma y finalmente en "Asistencia en la escritura"


Compiz
Si activamos compiz veremos que algunas veces no funciona bien, o no carga los bordes de pantalla.... además, consume mucha cpu al entrar en conflicto con marco (el decorador de ventanas de mate)

Para esto hay dos posibles soluciones.

1ª solución:

Problemas con compiz:
marco y compiz entran en conflicto y consumen más CPU de lo habitual.
Lo mejor es parar marco y dejar compiz, ya que este último hace su labor sin necesidad de marco.

Para que veáis lo que os digo, y comprovéis que es así, quiero que abráis el "monitor del sistema" (menú de la barra de mate)

Posisionaros en la pestaña recursos y veréis (si no estáis haciendo uso del ordenador) que la CPU está algo alta... no cerréis el monitor de sistema:

Si ya tenéis compiz activado y funcionando quiero que abráis una terminal y pongáis:
sudo killall marco
Y justo cuando el comando haga efecto fijaros el consumo de CPU
¿Bajó? pues tenéis que impedir que marco se ejecute al inicio.
No se os ocurra desintalarlo... porque se lleva el escritorio al traste.

Procedemos así:
Abrimos el menú y buscando "aplicaciones al inicio"
Y añadimos dos nuevas aplicaciones:

-1ª
Nombre: Parar marco
Comando: killall marco
Comentario: Para evitar conflictos con compiz

-2º
Nombre: Compiz
Comando: compiz --replace
Comentario: Activación de Compiz y sus Efectos

Segunda solución publicada en:

http://ubuntu-cosillas.blogspot.com.es/2012/05/solucionar-mate-y-compiz-ii.html

Cito textualmente:
Hacer que Compiz remplace a marco

Abrimos el editor de configuración de MATE desde un terminal o desde su lanzador que se debería encontrar en el menú Aplicaciones/ Herramientas del sistema/Editor de Configuración.
Para ejecutarlo desde el terminal lo haremos así:
  • mateconf-editor
Si no lo tienes, instálalo así:
  • sudo apt-get install mate-conf-editor
Una vez abierto nos movemos hasta la siguiente rama y cambiamos su valor de este:
/desktop/mate /session/required_components /windowmanager marco
a este otro:
/desktop/mate /session/required_components /windowmanager compiz



Luego por último creamos un Aplicación al Inicio con el siguiente comando:
compiz ccp

Cerramos sesión y volvemos a entrar, y debería funcionar perfectamente.
Desde luego con esta pequeña modificación se nota considerablemente mucha más estabilidad de MATE con Compiz.


Problemas con Firefox

El idioma ya lo hemos arreglado arriba..... ahora toca otras cosillas.

Motor de búsqueda de firefox... si os fijáis no está google, esto es porque es una marca comercial.
Lo añadimos fácilmente yendo a la siguiente dirección:

http://www.linuxmint.com/searchengines.php

Y una vez allí bajáis hasta localizar "Commercial engines" y pincháis en el logo de google.
Cargará otra página php que os dará la opción de instalar el motor de google.

En vuestro navegador firefox, mirad en el símbolo de la flechita del diálogo de búsqueda (Aparece yahoo por defecto) para desplegar los buscadores disponibles y..... ¡Anda! ¡Si aparece añadir google!
Pues listo, le dais a añadir google y ya lo tenéis puesto por defecto.

Otro problema en firefox es que no puedes abrir la carpeta contenedora desde la ventana "descargas" porque te pide aplicación.
La aplicación con la que navegas por los directorios en mate se llama "caja"
Así que cuando os pida la aplicación, solo tenéis que ir a /usr/bin/ y seleccionar el archivo "caja" le dais a aceptar, marcáis la casilla de recordar y volvéis a aceptar, se deberá de abrir la carpeta de descargas.



Por cierto abrid firefox, iros por ejemplo.... a google, y botón derecho sobre una caja de texto cualquiera del buscador y activáis "revisar ortografía", luego volvéis ha hacerlo y mirais en "idiomas" a ver si está en español, si está en otro idioma solo tenéis que añadir el español con el botón de añadir.


Botón de apagado

Pues eso, cuando presionas el botón de apagado, mucha gente lo que pretende es que le salga el menú de apagar, suspender o reiniciar.

Pues bien, el mensaje te sale si, pero te ignora y en menos de 2 segundos el pc se apaga.

Esto es porque el botón está programado para mostrar el menú de "apagar,reiniciar y suspender" pero tambien está programado por ACPI para apagar el pc de manera automática.

Se soluciona muy fácilmente.

Abrís una terminal y escribid:
sudo nano /etc/acpi/events/powerbtn-acpi-support

Se os abrirá el archivo "powerbtn-acpi-support" con el ditor de texto nano.
Dentro hay dos lineas que tenemos que comentar (Poner almohadillas delante):

#event=button[ /]power
#action=/etc/acpi/powerbtn-acpi-support.sh

Eso evitará que se apague mediante evento ACPI, que es lo que estaba ocurriendo.

Para guardar el archivo presiona Ctrl+o y confirma con Intro, luego presiona CTRL+x.

Para esta sesión no funcionará, pero para la próxima vez no tendrás problema en elegir una opción tras presionar el botón power físico del pc.


Antenuar pantalla en modo batería

Para esto hay dos posibles soluciones porque el problema puede ser por varias razones.

Razón 1ª:

El antenuador de pantalla en el menú de administración de energía funciona, pero internamente la atenuación tiene un valor 0, así que vamos a revisar eso.

Instala el mateconf-editor

sudo apt-get install mate-conf-editor

Cuando lo tengas ve a:
Menú > Herramientas de sistema > Editor de configuración

Busca el apartado:
/apps/mate-power-manager/backlight/

Y fíjate el valor de brightness_dim_battery

Digamos que la atenuación de la pantalla tiene un valor de 50% de reducción de brillo.

Si el valor lo pones a 0 no se atenúa la pantalla nada de ese 50% , y si lo pones hasta el maximo, que es 100 la pantalla se oscurecerá al 50%

Ha sido una solución a la que he podido llegar.

Pero otro motivo, (y aquí viene la otra posible razón)  es que hayamos instalado drivers privativos, y estos tienden a tomar el control del brillo de pantalla, así que para arreglar esto antes de nada hay que agradecer a Senekis que haya publicado la solución en su blog http://elmundodesenekis.wordpress.com/author/johannasenekis/

La solución parte por editar el archivo /etc/X11/xorg.conf

sudo nano /etc/X11/xorg.conf

Y buscar la sección Device, para añadir justo antes del final de esa sección la instrucción:

Option "RegistryDwords" "EnableBrightnessControl=1"

De manera que quede algo parecido a esto:

Section "Device"
        Identifier  "aticonfig-Device[0]-0"
        Driver      "fglrx"
        BusID       "PCI:1:0:0"
        Option "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Echo eso, presionamos Ctrl+o y presionamos enter para guardar, y para salir Ctrl+x

Un saludo y espero que todo os vaya bien.