Carnet Web de Bastien Jaillot

Ubuntu sur un MacBook : Configuration

Note publiée le .

Ceci est le deuxième billet concernant la bonne installation d'Ubuntu Edgy Eft sur un MacBook.
Rappelez-vous la dernière fois on s'était arrêté à l'Edgy Danse. Mais il restait encore quelques problèmes.

Attention : toutes les commandes à venir sont à copier/coller dans une console : je trouve que c'est plus rapide et plus sécurisé, évitant ainsi les fautes de frappes qui peuvent parfois occasionnés de grave dommages à votre machine.

Le wifi :

Le wifi est reconnu de base avec Edgy Eft, nous n'avons donc besoin que d'installer un bon gestionnaire de réseau wifi, à savoir network-manager.

sudo apt-get -y install network-manager-gnome

La résolution :

Nous sommes en 1024x768, c'est bien dommage pour un si bel écran. Pour passer à une résolution supérieure, il nous faut installer le pilote de la puce graphique.

sudo software-properties -e universe
sudo apt-get update
sudo apt-get install 915resolution

Relancer le serveur X en appuyant simultanément sur les touches ctrl+alt+backspace. Il se configure tout seul en 1280x800.

Le rétro-éclairage :

Sous mac os x, on peut changer la luminosité de l'écran avec les touches F1 et F2. C'est aussi possible sous Ubuntu (le dépôt n'est pas officiel mais considéré comme sûr) :

wget http://ubuntu.desrt.ca/macbook-backlight_0.0-1_i386.deb
sudo dpkg -i macbook-backlight_0.0-1_i386.deb
sudo chmod u+s /usr/bin/macbook-backlight
gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_1 "0x65"
gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_2 "0xd4"
gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_1 "/usr/bin/macbook-backlight -10"
gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_2 "/usr/bin/macbook-backlight +10"

Si vous mettez l'ordinateur en veille, à son retour à la normale, l'écran restera noir. Pour corriger ça :

sudo ln -bs /bin/true /usr/sbin/laptop-detect

Redémarrez pour que ça prenne effet.

Le trackpad :

Il va falloir passer par une recompilation du noyau. Attention, ne prenez pas ça à la légère car ce n'est pas une opération comme une autre. En effet on va complètement modifier ce qui fait tourner votre machine. J'ai fait le test plusieurs fois : vous ne devriez pas avoir de problème si vous suivez à la lettre mes instructions.

En fait, le trackpad nécessite un driver différent de celui inclut de base dans le noyau. Il nous faut un module nommé "synaptics" (rien à voir avec le logiciel de gestion des paquets) qui n'est inclu par défaut dans le noyau que depuis la version 2.6.18 du noyau. Nous allons donc utiliser cette version. J'essayerais plus tard avec la toute dernière version 2.6.19, je me contente de vous proposer quelque chose qui marche.

Pour cela, il vous faudra d'abord quelques paquets à installer au préalable.

sudo apt-get build-dep linux-source-2.6.17

Nous allons récupérer le noyau 2.6.18 sur le site officiel des kernel linux. L'extraire, le compiler et fabriquer un package debian.

cd /usr/local/src/
sudo wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
sudo tar xjf linux-2.6.18.tar.bz2
cd linux-2.6.18
sudo wget https://svn.sourceforge.net/svnroot/mactel-linux/trunk/kernel/mactel-patches-2.6.18/config-2.6.18
sudo mv config-2.6.18 .config
sudo make-kpkg --revision 1 --append-to-version -custom --initrd kernel_image

Au bout d'une vingtaine de minutes de compilation (c'est plaisant de compiler à cette vitesse), vous obtenez un fichier debian dans le répertoire situé au-dessus de celui dans lequel vous êtes. Remontons d'un dossier et installons le paquet.

cd ..
sudo dpkg -i linux-image-2.6.18-custom_1_i386.deb

GRUB sera automatiquement mis-à-jour. Mais avant de redémarrer et de booter dessus, nous avons encore beaucoup de chose à faire. Premier problème, dans cette version du noyau nous venons de perdre le support de la carte wifi. En effet MadWifi n'est pas intégré de base dans les kernels officiels. Pas de soucis, juste quelques lignes à copier coller en plus.

cd
wget http://heanet.dl.sourceforge.net/sourceforge/madwifi/madwifi-0.9.2.tar.gz
tar xvzf mad*.tar.gz
cd madwifi-0.9.2/
make && sudo make install 
sudo modprobe ath_pci

Ca c'était pour la correction du changement de noyau.

Si nous avons fait tout cela, ce n'est (certainement) pas pour le plaisir de compiler mais bien pour pouvoir avoir le driver synaptics. Répercutons cela dans le serveur x :

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_save
gksudo gedit /etc/X11/xorg.conf

Après le EndSection du configured Mouse, c'est à dire vers les ligne 62/63, coller ce paragraphe :

Section "InputDevice"
	Identifier 	"Synaptics Touchpad"
	Driver 		"synaptics"
	Option 		"CorePointer"
	Option 		"Device" "/dev/input/mouse1"
	Option 		"Protocol" "auto-dev"
 	Option 		"LeftEdge" "100"
 	Option 		"RightEdge" "1100"
	Option 		"TopEdge" "50"
	Option 		"BottomEdge" "300"
	Option 		"FingerLow" "20"
	Option 		"FingerHigh" "30"
	Option 		"MaxTapTime" "150"
	Option 		"MaxTapMove" "90"
	Option 		"MaxDoubleTapTime" "180"
	Option 		"VertScrollDelta" "25"
	Option 		"HorizScrollDelta" "30"
	Option 		"VertTwoFingerScroll" "true"
 #	Option 		"HorizTwoFingerScroll" "true"
 #	Option 		"FastTaps" "true"
	Option 		"TapButton2" "2"
 #	Option 		"TapButton3" "2"
	Option 		"MinSpeed" "0.5"
	Option 		"MaxSpeed" "1.5"
	Option 		"AccelFactor" "0.35"
EndSection

Il faut aussi s'arranger pour que le driver synaptics soit chargé avant le Configured Mouse. Vers la ligne 168, vous devez voir :

InputDevice	"Configured Mouse"

AVANT cette ligne, coller :

InputDevice 	"Synaptics Touchpad"

Ce sera tout pour ce fichier. Vous pourrez par la suite modifier vous-même quelques paramètres de la section que nous avons coller pour pouvoir modifier la vitesse de défilement, le clic par deux ou trois doigts etc. Je rédigerais un billet sur ce sujet plus tard.

Nous venons de voir qu'il y a une opération à faire dans le xorg.conf pour que le driver "synaptics" soit chargé avant le "Configured Mouse". De même, il faut qu'on définisse à la main l'ordre de chargement de certains modules : AppleTouch doit chargé avant usbhid. Pour cela, nous allons créer un fichier nommé /etc/modprobe.d/appletouch et y coller :

blacklist appletouch
blacklist usbhid
blacklist tsdev

Puis ajouter à la fin du fichier /etc/modules :

# appletouch should load before usbhid so it claims the trackpad
appletouch
usbhid

Le clavier :

Récupérer le fichier /usr/share/xmodmap/xmodmap.mb.fr fourni en pièce jointe de ce billet et placez le dans le dossier qui va bien /usr/share/xmodmap/. Pour faire marcher cette nouvelle configuration, faites donc :

 xmodmap /usr/share/xmodmap/xmodmap.mb.fr

Et plus généralement, pour le lancer à chaque ouverture de session, ajoutez cette ligne dans les programmes au démarrage de la session (Système > Préférences > Sessions)

Accéder à la partition Mac os x

Attention, ce ne sera que du lecteur seule et accessible par /mnt/mac

sudo mkdir /mnt/mac 
sudo mount -t hfsplus /dev/sda2 /mnt/mac
cd /mnt/mac

Sources