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
- L'article sur le MacBook de la documentation anglaise
- Jason Parekh : Linux on MacBook
- Simon van der Linden : Build a new kernel for Ubuntu
- Simon van der Linden : MacBook: howto emulate a Synaptics touchpad with Ubuntu GNU/Linux
- Le thread sur Ubuntu on MacBook Pro sur le forum anglais.
- Wiki de Gentoo Linux : Hardware Apple Macbook