Christophe Jacquet — Carnet — Mot-clé : Mac

Faire passer le goût du MacRoman à TextWrangler

TextWrangler est un très bon éditeur de texte sur MacOS X. En général, on manipule uniquement de l'UTF-8 ou du Latin-1 (si on assimile l'ASCII à l'un des deux précédents, le reste représente moins de 5% du web). Le problème, c'est que les Macs ont longtemps utilisé un codage exotique, le MacRoman. Par défaut, ce codage est activé dans TextWrangler, qui propose de l'utiliser lorsqu'on ouvre des documents en Latin-1. Voici comment ne garder qu'UTF-8 et Latin-1 :

  1. Aller dans Preferences > Text Encodings
  2. Décocher MacRoman et tous les autres, sauf Unicode et Latin-1
  3. Dans la liste If file's encoding can't be guessed use:, sélectionner Western (ISO Latin 1)

Si on met UTF-8 dans ce dernier choix, TextWrangler ajoute MacRoman à sa liste de codage, et demande systématiquement de choisir entre MacRoman et Latin 1 à chaque ouverture de fichier codé en Latin 1 (avec l'option MacRoman par défaut !). Il semble que ce soit un bug.

Un peu de Windows dans votre Mac ?

J'utilise des Macs depuis 3 ans et demi. Bien entendu, je suis très satisfait d'avoir un système Unix au GUI sympa, et qui ne rechigne jamais à se connecter à un vidéoprojecteur. Cependant, il y a quelques points excessivement pénibles.

Notamment, l'utilisation du MacBook, fermé, sur un moniteur externe, est archi-buguée. En théorie, l'utilisation est simple : le Mac est fermé, en veille. On le connecte à un moniteur externe, à un clavier et une souris USB. Et là, il se réveille et envoie sa sortie vidéo sur le moniteur. Une fois la session de travail terminée, on débranche toutes les prises et le Mac se remet en veille. Hélas, je constate les dysfonctionnements suivants :

  1. Régulièrement, suite à une connexion ou à une déconnexion, le Mac se retrouve dans un état incohérent, qui fait qu'il refuse d'émettre sa sortie vidéo, et affiche un écran noir lorsqu'on l'ouvre. Je n'ai pas trouvé d'issue, à part me connecter un ssh et faire un halt, ou bien forcer un arrêt brutal. Cependant, dans ce dernier cas, le Mac a tendance à perdre certains paramètres, notamment la date et l'heure. Ce bug est horrible car il fait perdre, à chaque occurrence, un temps considérable.
  2. Lorsqu'on branche les prises USB pour réveiller le Mac sur un écran externe, l'affichage s'allume, puis s'éteint, puis se rallume. Et j'ai remarqué qu'il faut bouger la souris à ce moment-là, sous peine de voir l'affichage s'éteindre et, peut-être, retomber sur le bug précédent. Ce n'est pas le plus gênant, mais ça ne fait pas très sérieux.
  3. Lorsqu'on débranche les prises USB, Mac fermé, ce dernier se met en veille. Mais la mise en veille est très longue (plus d'une minute), et aucun feedback n'indique 1) si l'ordre a bien été compris, et 2) où en est le processus. C'est un gros problème d'ergonomie, car les feedbacks sont fondamentaux !

Apple s'inspirerait-il de la démarche qualité de la concurrence ?

En bonus, une astuce pour éviter au maximum le bug 1 : toujours brancher la prise USB en dernier, et la débrancher en dernier. En suivant cette procédure, j'ai considérablement limité les occurrences du bug.

Misères d'IPv6

Vous êtes connecté à un réseau, tout semble fonctionner normalement, sauf que vous n'arrivez plus à joindre le site web de Google depuis votre Mac. Que peut-il bien se passer ?

Il s'avère que des problèmes de connexion à certains sites, dont notamment Google, peuvent être liés à IPv6, même dans un environnement IPv4. Voyons comment.

Acte I : Google dispose désormais d'une connectivité IPv6 sur le nom www.google.com. Pour peu que vous soyez sur un domaine réputé être compatible IPv6, les DNS de Google renvoient aussi bien des adresses IPv4 (enregistrements A) que IPv6 (enregistrements AAAA). Voir le programme Google over IPv6.

Acte II : Les Macs ont IPv6 activé par défaut sur leurs interfaces réseau. De plus, lorsqu'une route vers un serveur existe en IPv6, elle est prioritaire par rapport à une route IPv4. Cependant, pour qu'une route IPv6 existe entre votre Mac et Google, il faudrait un routeur IPv6 ainsi qu'une connectivité IPv6. Clairement, il n'y a normalement pas ça en environnement IPv4.

Acte III : Un PC Windows dispose d'un système d'auto-configuration de réseau qui peut le faire se déclarer routeur IPv6 dans certaines conditions. Il envoie alors des paquets ICMPv6 broadcast de type routeur announcement pour faire fièrement savoir à tout le réseau local qu'il est le routeur IPv6 du réseau... alors qu'il n'est pas capable de router quoi que ce soit !

En résumé, il suffit qu'un PC Windows (ou autre) s'annonce faussement comme routeur IPv6 pour que les Macs décident de contacter Google (et consorts) en IPv6, et pour ce faire de tout envoyer à ce routeur qui ne route rien. Bilan : des sites injoignables...

Comme le souligne Stéphane Bortzmeyer, il me semble qu'il s'agit d'une faille de sécurité importante d'IPv6 : en l'état, n'importe-quel hôte d'un réseau peut très facilement mettre à mal tout le trafic IPv6 (et aussi IPv4) en se déclarant comme routeur IPv6. Bon, c'est vrai aussi en IPv4 si un hôte décide de faire serveur DHCP...

Raccourcis clavier pour les écrans de Mac

Voici quelques raccourcis clavier intéressant portant sur la gestion de l'écran sous MacOS X.

Faire des raccourcis clavier

Plutôt qu'utiliser l'application Capture (peu satisfaisante[1]), il vaut mieux connaître les raccourcis clavier de capture d'écran. La page indiquée contient tous les détails souhaitables, les principaux à mon sens étant :

  • Command-Shift-4, puis sélectionner une zone : crée une image de la zone sélectionnée ;
  • Command-Shift-4, puis Espace, puis cliquer sur une fenêtre : crée une image de la fenêtre (y compris de son ombrage, dans la transparence est respectée !).

Les images sont enregistrées en PNG sur le bureau.

Luminosité de l'écran

Sur un MacBook, la luminosité de l'écran se règle à l'aide de deux touches, sur une échelle comportant un nombre fini de graduations. Avec les commandes Option-Shift-Bouton habituel, on peut régler finement la luminosité même à l'intérieur des graduations.

Enfin, pour mettre un écran en vidéo inverse : Control-Option-Command-8.

Notes

[1] Notamment, elle n'enregistre qu'en TIFF...

Amélioration du clavier sous Parallels + Windows

Je propose depuis un certain temps une disposition de clavier pour Windows adaptée aux claviers Mac, destinée aux utilisateurs de Parallels.

A priori, le défaut de cette solution est que pour composer des caractères spéciaux, normalement produits avec Option/Alt -gauche, il faut obligatoirement utiliser Option/Alt -droite (mappée par Parallels sur la Alt-droite, aka AltGr, d'un PC). Ceci est assez perturbant quand on passe sans arrêt de Windows à MacOS.

J'ai trouvé une solution partielle à ce problème : il est possible sous Windows de remapper des touches, en ajoutant juste une entrée dans la base de registres. Je propose donc d'inverser Alt-gauche et Alt-droite. Cela permettra de composer tous les caractères exactement comme sous MacOS. Par contre, le basculement entre applications Windows devra obligatoirement se faire avec Alt-droite + Tab.

Pour mettre cette idée en œuvre :

  • j'ai utilisé le petit utilitaire Windows KeyTweak qui permet d'éditer des remappings de touches et de les enregistrer dans la base de registres,
  • ou bien vous pouvez directement importer mon remapping « inverseur » (fichier qui ajoute une clé à la base de registres).

Je suis intéressé par tous les retours.

Flags et attributs étendus MacOS X

Outre les attributs classiques Unix, MacOS X possède des flags et attributs étendus qui peuvent faire perdre leur latin aux Unixiens... Exemple : il vous est impossible de supprimer un fichier. Pourtant, un ls -la vous confirme que le fichier et le répertoire vous appartiennent, et que vous avez dessus les droits en écriture. Vous ne comprenez pas. Vous essayez de passer root pour forcer les choses et... root ne peut pas non plus supprimer le fichier ! Que se passe-t-il ?

Flags

Des drapeaux peuvent être positionnés sur les fichiers. Notamment, il existe un drapeau uchg qui explique le problème ci-dessus. Le drapeau uchg verrouille complètement un fichier. Dans le GUI, il correspond à la case « Verrouiller » de la boîte d'infos du fichier. Pour pouvoir supprimer le fichier dans l'exemple ci-dessus, il faut d'abord retirer le flag uchg.

Pour afficher les flags des fichiers, les options de ls sont :

ls -lO

La modification de ces flags se fait avec la commande chflags, suivie du nom d'un drapeau pour l'ajout, ou du nom préfixé de no pour la suppression. Exemple (-R pour récursif) :

chflags -R nouchg répertoire

Attributs étendus HFS+

Les fichiers peuvent également posséder des attributs étendus. Par exemple, l'attribut com.apple.quarantine signale les fichiers récemment téléchargés. On peut afficher les attributs étendus par la commande :

ls -l@

La commande xattr permet de lister, ajouter et modifier les attributs. Par exemple, pour afficher les attributs et leurs valeurs, on peut utiliser :

xattr -l fichier

Article d'Ars Technica sur les attributs étendus.

ACL

Les ACL permettent de régler finement les permissions, au niveau de chaque utilisateur ou groupe. On peut afficher les permissions étendues avec :

ls -le

La modification se fait avec chmod +a.

Article d'Ars Technica sur les ACL.

Mise à jour du clavier français pour Windows sur Mac

J'ai mis à jour le pilote de clavier français pour Windows sous Mac, qui fait mon bonheur sous Parallels, mais doit pouvoir être utilisé dans d'autres contextes. Il dispose maintenant de sa page, et on peut télécharger le fichier source pour Windows Keyboard Layout Creator.

Deux changements :

  • correction de la touche morte accent aigu (Alt-Shift-1). J'avais par erreur mis Alt-1 dans la version précédente ;
  • ajout de la flèche droite « → » (qui me manquait terriblement), désormais accessible par « accent circonflexe » puis « trait d'union »[1].

Notes

[1] Je trouve cette association assez naturelle, et j'ai bien envie de l'ajouter au mapping français/international...

Retrouver ses marques avec MacOS X Leopard

Je me suis plaint de certaines nouveautés de Leopard à sa sortie. Plusieurs mois après, je ne m'y suis toujours pas fait... J'ai cependant fini par trouver des options qui permettent de retrouver un fonctionnement plus classique :

  • barre de menus transparente : préférences « bureau et économiseur d'écran », décocher « barre de menus translucide » ;
  • piles dans le Dock, qui empêchent a priori de pouvoir y mettre un dossier et le voir s'afficher comme un menu. Dans le menu contextuel, choisir « afficher comme... dossier » (et non « pile »), et « afficher le contenu comme... liste » (et non « grille »). Cela permet, par exemple, d'avoir un menu des applications en glissant le dossier Applications dans le dock.

Je ne sais pas si ces options se trouvaient dans la 10.5.0 d'origine. En tout cas elles figurent dans la 10.5.4.

J'applaudis par contre Time Machine des deux mains : voilà un logiciel de sauvegarde simple et performant ! Et qui plus est, propre et dans l'esprit Unix : si deux fichiers sont identiques d'une sauvegarde à l'autre, il y a simplement création d'un hard link.

Character encoding in TeXShop

It can be a real pain to open files with various character encodings inside TeXShop. Indeed, you basically have to change TeXShop's settings each time.

Hopefully, I recently came across a little-documented feature that allows you to specify the encoding on a per-file basis: you simply add a metadata (a special TeX comment) at the top of the file to set the encoding, and TeXShop will load and save it accordingly. Use:

%!TEX encoding = IsoLatin

for ISO-8859-1 (Latin 1), or:

%!TEX encoding = UTF-8 Unicode

for UTF-8. Be sure to type exactly that, as TeXShop is case-sensitively picky!

Well, that's not bad, but it could be far better:

  • why not use the same notation as used by Emacs (and others) : % -*- coding: UTF-8; -*- ?
  • why not use standard coding names (iso-8859-1 or latin1 instead of ISOLatin, utf-8 instead of UTF-8 Unicode)?
  • why does TeXShop need a metadata in the first place? Why can't it directly use the \usepackage[coding]{inputenc} line?

Deux semaines avec Leopard

Cela fait deux semaines que j'ai installé MacOS X Leopard sur mon MacBook Pro. Pour le moment, le bilan est assez mitigé. Bien qu'il y ait des points d'amélioration, je trouve qu'il y a également un certain nombre de points pour lesquels le fonctionnement est pire qu'avant... Voici un petit compte-rendu.

Lire la suite...

Rendre Gimp et Inkscape utilisables sur un Mac

Gimp et Inkscape fonctionnent sur MacOS X, via X11. Le problème, c'est que dans la configuration par défaut, les clics ne parviennent à une fenêtre que si elle est au premier plan. Il faut donc deux clics, pour, disons, sélectionner un outil : un pour activer la boîte à outils, un pour sélectionner l'outil.

Voici le paramètre à modifier pour mettre en place une configuration plus raisonnable :

defaults write com.apple.x11 wm_click_through -bool true

Chiffrement avec GPG sur Mac

Il est tout à fait possible d'utiliser GPG (GNU Privacy Guard) sur MacOS X, et c'est même très agréable ! Un bon tutoriel explique la marche à suivre, qui repose principalement sur l'installation :

  • de GPG et d'un utilitaire graphique de trousseau à partir du projet Mac GPG. Attention, prendre cette version de GPG ; celle installée par MacPorts n'a pas l'air de s'interfacer correctement avec les autres outils présentés ici ;
  • de GPG Mail, un hack très complet d'Apple Mail pour chiffrer/déchiffrer/signer/vérifier la signature des messages. Il ne fonctionne pas encore avec Leopard, mais selon l'auteur, cela ne saurait tarder.

Ergonomie MacOS X : Pomme+Tab

Dans la série l'ergonomie discutable de MacOS X :

Pourquoi Pomme+Tab parcourt-il les applications, et non les fenêtres, indépendamment des applications ? C'est ce dernier fonctionnement qui est implémenté sur Windows (et autres), et je le trouve bien meilleur. En effet, il me semble bien plus pertinent de raisonner sur des fenêtres, qui correspondent souvent à des documents, donc des objets de l'espace mental de l'utilisateur, que sur des applications, qui sont du domaine de la machine.

Par exemple, si j'ai deux documents OOo Writer et un document OOo Calc ouverts, pourquoi puis-je facilement basculer entre le document Writer courant et le document Calc, mais pas facilement à égalité entre les trois documents ? Du point de vue utilisateur, je trouverais logique que les trois documents soient strictement au même niveau...

Liens Mac

Petit transfert des trucs en vrac qui encombrent ma barre de liens depuis des semaines :

Eclipse/MacOS X : accès au code source de Java

Lorsque Eclipse a accès au code source des classes (donc notamment des classes de la bibliothèque standard), il propose des fonctionnalités intéressantes : navigation dans le code (pour aller voir comment sont codées les API !), reprise du nom (souvent significatif) des paramètres formels (au lieu de arg1, arg2, etc.) lorsqu'on implémente une interface...

Malheureusement, cela ne fonctionne pas par défaut sur MacOS X, car le code source des classes Java n'est pas installé ! Il faut l'installer en plus. Il se trouve alors dans /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/src.jar, mais Eclipse sait le trouver tout seul.

- page 1 de 2

Valid XHTML 1.0 Strict © Christophe Jacquet.
Propulsé par DotClear.