Hoy en día instalar Ubuntu en un portátil que ya tiene dos años de rodaje no debería dar ningún problema, pero Apple no podía dejar de ser especial y seguir tocando un poco las narices, así que de nuevo me apunto los trucos necesarios para dejarlo a mi gusto.

De hecho, no parece que esté documentado aún: a tabla de soporte de Mactel no muestra documentación para instalar Ubuntu 9.04 en una MacBook Core 2 Duo (MacBook2-1, finales de 2006) que es justo el modelo que yo tengo, así que tendré que guiarme con la guía para Ubuntu 8.10 en MacBook2-1, Ubuntu 9.04 en MacBook3-1, trozos de aquí y allá… y a ver qué sale.

Tras dos años de evolución en el software, buena parte de los retoques necesarios para instalar Ubuntu 7.04 en MacBook Core 2 Duo ya no son necesarios, otros ni siquiera funcionan. Lo que desde luego no necesito ni voy a probar son los pasos para la instalación básica de Ubuntu en ordenadores Mactel. Por con suerte sólo hay que hacerlo una vez.

Lo primero, aparte de descargar el CD, es asegurarse de saber qué versión de hardware tienes. Sólo voy a hablar del MacBook Core 2 Du0 (2ª generación, finales de 2006) pero hay 5 generaciones. Para más detalles, consulta la tabla de soporte de Mactel.

La instalación del CD va como la seda, media hora y ya está instalado y listo para trabajar. Normalmente tengo que editar la tabla de particiones a mano para indicar dónde quiero instalar (tengo dos particiones para / que voy alternando) y dónde está /home pero de resto no tiene truco.

Instalar Linux es muy fácil, lo divertido es ajustarlo a tu gusto ;-)

Como siempre, lo primero que tengo que corregir en un MacBook para que no me saque de quicio: el teclado y el ratón.

El mayor trauma resultó ser que mis preferencias de usuario (todo esos ficheros y directorios ocultos que vengo arrastrando desde hace mucho, mucho tiempo) confundieron tanto al KDE 4.2 y al entrar por primera vez me quedo con un bonito fondo de pantalla y nada más. Los viejos trucos de Ctrl+Alt+Backspace y Ctrl+Alt+F1 no han funcionado esta vez (¿qué habrán cambiado?) así que botonazo al canto, que toca hacer borrón y cuenta nueva: Ctrl+Alt+F1 para entrar en modo texto y al ¢@®@0 con ellos:

mkdir dots && mv -f .* dots/

Cuidado con usar la tecla de Enter pequeña si acostumbras a usar la tecla de Ctrl derecha. No hay mal que por bien no venga, tenía 2.9 GB de basura, de la cual sólo quedan 139 MB :-)

Una vez superado este trauma, KDE 4.2 es una delicia. Pero vamos con los ajustes relacionados con el hardware del MacBook Core 2 Duo.

Teclado

Soy un maniático con el teclado y quiero que funcione lo más parecido posible a un PC de sobremesa con un teclado internacional de 105 teclas, que es casi lo que tiene un MacBook europeo –al modelo norteamericano le falta una tecla y lo odio. Los ajustes que el hardware permite son:

1. Convertir la tecla de Enter pequeña en Control derecha –vital para los atajos de teclado como Ctrl+C:

sudo sed -i~ 's/RCTL/KPEN/' /usr/share/X11/xkb/symbols/pc

2. Convertir la tecla de comando (manzanita) derecha en el selector de tercer nivel –para que actúe como AltGr:

sudo sed -i~ '/xkb_symbols "ralt_switch" {/a  include "level3(rwin_switch)"' /usr/share/X11/xkb/symbols/level3

3. Ajustar la tecla Fn para poder usar las teclas de función (F1F10) para las aplicaciones sin tener que pulsar Fn, de modo que repetir búsqueda (F3 en Firefox) no silencie la tarjeta de sonido, etc:

echo -n 0x02 | sudo tee /sys/module/hid_apple/parameters/fnmode

4. Habilitar las teclas F1 y F2 para ajustar el brillo, así como la tecla Eject:

sudo apt-get -y install pommed

5. Recuperar F11 (para pantalla completa) y F12 (para yakuake) ya que el ratón funciona perfectamente in necesidad de emular los clicks:

sudo apt-get -y remove --purge mouseemu

Para que 1 y 2 tengan efecto hay que reiniciar el entorno gráfico, los demás tienen efecto inmediatamente, pero para que 3 sea permanente hay que añadirlo en la secuencia de arranque, asegúrate de añadir la siguiente línea en /etc/rc.local (antes del exit 0 del final) para que se ejecute siempre:

echo -n 0x02 > /sys/module/hid_apple/parameters/fnmode

Gestión de energía

Aunque no forma parte del teclado, el botón de encendido merece un poco de atención. Pulsar este botón produce un apagado inmediato (pero no brusco) del sistema. Lo cual puede no ser siempre lo que uno quiere, aunque hay quien lo prefiere. Esto se puede cambiar en las preferencias de la Gestión de energía, accesibles desde el icono de batería en el panel:

  • power-manager-on-click.png

Edita los perfiles que uses (al menos Performance y Powersave) para que la acción para «Cuando se pulse el botón de encendido» sea «Mostar el diálogo de finalización de sessión». Esto no es suficiente debido al bug 326667. Se puede apañar así, pero no siempre funciona:

sudo sed -i~ "s/'\[k\]desktop' && pidof dcopserver/kded4/" /etc/acpi/powerbtn.sh
sudo sed -i~ 's/(pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop kded kded loadedModules | grep -q klaptopdaemon)/pidof kded4 > /dev/null/' /etc/acpi/powerbtn.sh
sudo /etc/init.d/acpid restart

Para evitar calentones, mi portátil está siempre en modo de ahorro de energía (Powersave), incluso cuando el adaptador de corriente alterna está conectado:

powersave-on-ac.png

Ya puesto a hacer pijaditas, aprovecha que Jaunty arranca rápido y baja el timeout the Grub a sólo 2 segundos:

sudo sed -i~ 's/^timeout[[:blank:]]\+[[:digit:]]\+/timeout\t 2/' /boot/grub/menu.lst

Ratón

A partir de Ubuntu 8.10 ya no puedes cambiar la configuración del ratón en /etc/X11/X.org sino que tienes que crear un fichero .fdi de HAL, tal como incidan aquí. No sé por qué, pero no me funciona, a menos que pongas el código XML dentro de /etc/hal/fdi/policy/preferences.fdi (en lugar de en /etc/hal/fdi/policy/touchpad.fdi) y así lo he puesto.

Para que esto tenga efecto, hay que reiniciar HAL:

sudo /etc/init.d/hal restart

Para evitar que el ratón se vaya de sitio al rozarlo con la palma mientras tecleas, escribe esto en .kde/Autostart/mouse y luego chmod +x .kde/Autostart/mouse para que se ejecute cada vez que entras a KDE:

#!/bin/sh
syndaemon -d -t

Al tocar el ratón con tres dedos (click central) en Firefox, si no clicas en un enlace, Firefox usa como URL lo que tengas en el portapapeles. Odio eso, si tú también lo odias: about:config y cambia el valor de middlemouse.contentLoadURL a false.

Sonido

Por defecto, pommed sólo cambia el volumen en el canal PCM y en pasos del 10%, que me parecen demasiado grandes. Para cambiar esto, edita /etc/pommed.conf y ajusta la sección audio para que quede así:

# Audio support
audio {
# Use amixer or alsamixer/alsamixergui to determine the sound card
# and the mixer elements to use here.
# sound card to use
card = "default"
# initial volume [80] (0 - 100%, -1 to disable)
init = -1
# step value (1 - 50%)
step = 5
# beep on volume change
beep = no
# mixer element for volume adjustment
volume = "Master"
# mixer element for muting the speakers
speakers = "Master"
# mixer element for muting the headphones
headphones = "Master"
}

Para que el cambio sea efectivo hay que reiniciar pommed:

sudo /etc/init.d/pommed restart

También conviene cambiar el canal maestro en el mezclador de KDE: click derecho en el icono de KMix en la bandeja del sistema y «Seleccione el canal maestro…» para elegir Master en lugar de PCM. Luego click izquierdo y elige «Mezclador», «Preferencias > Configurar los canales…» y elige los que tengo aquí:

  • Mezclado de sonido con Capture habilitado

Gran problema: no hay canal para el micrófono. Debería haber un canal Mic que por defecto está silenciado, pero ni siquiera aparece. Da igual, lo importante es esto:

echo options snd-hda-intel model=mbp2 | sudo tee -a /etc/modprobe.d/alsa-base.conf

Este cambio necesita reiniciar para ser efectivo, pero puedes esperar al reinicio que necesita la webcam –que no llegó a funcionar.

Otros valores del parámetro model (3statck y 5stack) me permiten usar el micrófono pero me quedo sin altavoces, pero éste funciona bien, como puedes oír :-)

Webcam

Los pasos para habilitar la webcam Apple iSight quedan reducidos a:

sudo mount /dev/sda2 /MacOSX/ -o ro
sudo apt-get install isight-firmware-tools

El paquete isight-firmware-tools se encarga de todo lo demás, pero asegúrate de apagar (y volver a encender) el portátil, reiniciar no es suficiente.

El problema parece ser, por lo que he leído en varios foros y listas de correo, que el controlador de la webcam (uvcvideo) no inicializa bien la cámara si no se ha cargado previamente el controlador de sonido de la misma (snd-usb-audio) pero esto tampoco ayudó:

sudo sed -i~ 's/snd-usb-audio index=-2/snd-usb-audio vid=05ac pid=8501 enable=1 index=1/' /etc/modprobe.d/alsa-base.conf
echo blacklist uvcvideo | sudo tee -a /etc/modprobe.d/blacklist.conf
echo uvcvideo | sudo tee -a /etc/modules

Desgraciadamente, sigue sin funcionar :-(

[   11.008791] usbcore: registered new interface driver snd-usb-audio
[   11.037598] Linux video capture interface: v2.00
[   11.068714] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8501)
[   11.071126] uvcvideo: Failed to query (135) UVC control 1 (unit 0) : -32 (exp. 26).
[   11.071661] input: Built-in iSight as /devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/input/input13
[   11.075389] usbcore: registered new interface driver uvcvideo
[   11.075392] USB Video Class driver (v0.1.0)

Es una lástima, funcionaba estupendamente hace dos años, pero tampoco es que lo vaya a echar de menos, nunca la uso.

Otras cosas

Gracias al driver applesmc, los sensores de aceleración se tratan como un joystick analógico de dos ejes (/dev/input/js0) que debes calibrar con jscalibrator para que sepa el rango de meneo que le vas a dar.

Ubuntu 9.04 (más bien KUbuntu 9.04) incluye algunas novedades (que llevan meses disponibles) muy deseables: KDE 4.2 de serie (mucho más usable y estable que 4.1 ó 4.0) y digiKam 0.10.0 de serie, ahora con correción de distorsión de lentes, entre algunas más que aún tengo por descubrir :-)

Como siempre, la instalación inicial no incluye algunos paquetes que no tardo en echar de menos:

apt-get -y install firefox gimp mplayer mencoder libxine1-ffmpeg avidemux* audacity flashplugin-nonfree ttf-mscorefonts-installer libdvdread4

Para poder reproducir DVDs, necesitas instalar la librería libcss, que no se puede distribuir por razones legales, pero que puedes instalar ejecutando el script que viene con libdvdread4:

sudo /usr/share/doc/libdvdread4/install-css.sh

Y lo dejo aquí, al menos de momento, que con esto ya debería ser suficiente. Espero no tener que repetir la operación, pero si se diera el caso estos apuntes me permitirían hacerlo en mucho menos de las 10 horas o más que he tardado en recopilar todo esto.