mardi, mars 17, 2009

Modifier la fenêtre de l'écran de loggin de mac OSX



MAJ => tuto mis à jour ICI



Le tutoriel qui suit a été réalisé sous Léopard ... à vérifier sous Tiger.

Cette manipulation est à vos risques et périls, j’ai moi-même réussi a planté mon mac.
Avant toute chose sauvegardez vos données, en effet lors d'une fausse manip ou d'un bug l’écran de login ne seras plus accessible et il vous faudra redémarrer le machine en mode ligne de commande pour restaurer les fichiers.
J'en ai moi même fait l'expérience ...

Lorsque l'on parle de modification de l'aspect de la page de loggin de Mac OS on parle généralement de la modification du fond d'écran. Certains logiciels permettent de le faire facilement. Où l'on peu le faire en écrasant ce fichier :

/System/Library/CoreServices/DefaultDesktop.jpg

Je le met ici à titre de rappel, car ici ce que je vais vous montrer permet de modifier l'aspect de la fenêtre elle même.

Je me suis posé la question car je trouvais que cette fenêtre occupait trop d'espace.

Comme toute application mac qui ce respecte l'affichage est géré par un fichier NIB. Vous l'aurez donc compris tout repose sur la modification de celui-ci.

Ce fichier est répliqué, en effet il en existe un pour chaque langue.
Mon écran de loggin étant paramétré en Anglais j'ai donc modifié ce fichier avec "InterfaceBuilder" =>

/System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/English.lproj/LoginWindowUI.nib/keyedobjects.nib


Commencer par copier "LoginWindowUI.nib" sur votre bureau avec une commande du style

sudo cp -rf /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources/English.lproj/LoginWindowUI.nib ~/Desktop


Le projet à éditer avec interface builder est "LoginWindowUI.nib" mais celui-ci est en fait un paquet contenant plusieurs fichiers, dont un seul utile:

keyedobjects.nib

Si le paquet en question ne comporte qu’un seul fichier (keyedobjects.nib) alors une erreur ce présente:


The document "LoginWindowUI.nib" could not be opened. Interface Builder cannot open compiled nibs.


Pour contourner ce problème créer une NIB a partir d'un template, enregistrer celle-ci, explorer son contenus et enfin copier les 2 fichiers "clases.nib" et "info.nib" dans notre "English.lproj" ou télécharger une archive ici contenant ces 2 fichiers.

English.lproj est maintenant éditable avec Interface Builder.

Vous pouvez procéder aux modifications que vous voulez. Pour modifier les images des boutons et la pomme modifier les images dans /System/Library/CoreServices/SecurityAgentPlugins/loginwindow.bundle/Contents/Resources

Vous pouvez changer la position des images et ainsi de suite dans la NIB.
Faites en sorte de rester timoré sur les modification de la NIB, si la taille de la fenêtre est trop petite le système plante et vous êtes obligé de restauré les fichiers d’origine avec un autre mac ou en mode mono utilisateur.

quelques photos :=>








L'écran de loggin par défaut dans interface builder



Mon écran de loggin dans interface builder

lundi, mars 09, 2009

activer le mode debugger du dashboard

le mode debugger du dashboard vous permet d'avoir les widgets sur votre bureau sans avoir a basculer sur le dashboard

tapez dans un terminal:
defaults write com.apple.dashboard devmode YES

Un fois le mode activé, allez dans Dashboard (F12 par défaut), cliquez sur le widget en restant appuyé dessus, puis rappuyez sur F12. Le widget est toujours sous votre pointeur et vous pouvez la placer où bon vous semble.

jeudi, mars 05, 2009

tip: Executer du php dans un terminal

Tout simplement faire la commande php suivit de votre code ou de l'emplacement de votre fichier php.

ex:
php /Users/adrien/Desktop/test.php

Le résultat est bien entendu affiché dans le terminal

Mettre à jour ca base de données "locate" a jour

Pour utiliser la commande UNIX locate il faut avoir une base de donnée des fichiers de son mac.
la commande pour générer celle-ci est:

sudo /usr/libexec/locate.updatedb

Pour des raisons de sécurité il ne faudrait pas faire tourner la commande en sudo car celle-ci liste tout les fichier du mac (y compris root) de listé dans une bdd. Car celle-ci est en effet commune a touts les acomptes de votre mac et un autre utilisateur que vous ou un utilisateur ß loggué a partir d'un compte ne nécéssitant pas de passwd y aurais accès. Mais dans le cadre d'une utilisation mono utilisateur il n'y a pas trop de risque.

D'où le message de mise en garde lors de l'execution de la commande
>>> WARNING
>>> Executing updatedb as root. This WILL reveal all filenames
>>> on your machine to all login users, which is a security risk.

Mais si vous ne la faites pas en sudo voici ce qui ce produit
/usr/libexec/locate.updatedb: line 89: /var/db/locate.database: Permission denied

Du coup aucune base n'est généré et retour au point de départ

mardi, janvier 06, 2009

Certifié Apple-Geek ^^

Un petit test sur un site de geek m'a confirmé que j'étais un troll de la pomme ^^
pas trop de surprise, mais un bon score de 71% pur geek.
Difficile de faire plus, je ne suis pas du genre à salir le clavier de mon mac avec les reliefs de mon repas xD.