Affichage des articles dont le libellé est mac os. Afficher tous les articles
Affichage des articles dont le libellé est mac os. Afficher tous les articles

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

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

dimanche, décembre 28, 2008

Teamspeak2.0 sous mac : la sollution ultime ...

TeamSpeak sous Mac OS ? les possibilités ...

Petite parenthèse sur parallels 4.0 et l'intégration de windows a macos

J'ai en effet été surpris. Dans un premier temps ils ont comblé le retard pris sur le concurrent (vmware) mais ils ont même ajouté certains points sympathiques comme pouvoir afficher les éléments du systray de windows dans la barre de macosX.

C'est intéressant pour teamspeak 2.0 dans la mesure ou TeamspeeX (le client non officiel pour macOS) est émulé (Rosetta) , et plante assez souvent. Enfin pas de son lors de l'arrivée d'un utilisateur et j'en passe ...

La solution gratuite consiste à faire tourner la version Windows de Teamspeak via Wine (Wine Is Not an Emulator ...) donc pas d'émulation est les mêmes fonctionnalités que sous windows ...

Mais la le soucis viens de l'intégration macos/x11/wine ...
en effet sous linux même avec wine l'icone du systray de TS apparais dans le bureau Gnome, sous mac une fenêtre nommé "wine System Tray" apparais et ce révèle très peu fonctionnelle à l'utilisation. (Bon la je cherche la petite bête, car ca marche déjà très bien ...)





Mais pour ceux que cella peut gêner parallels peut s'avérer intéressant bien que payant. Ici le souci vient du fait que démarrer toute une Vm pour seulement temaspeak est un peu useless mais bon ...

Voila ce que ca donne :



Bon les alertes de sécurité windows sous mac c pas sérieux mais bon ... ^^




Pour la mise en place de TS sous wine :

1.
Télécharger et installer MacPorts.

puis :
commande "port install wine" dans un terminal ou ...
Pour les flémards installer Porticus (gestion graphique des logiciels ..) faire une recherche a wine et lancer l'installation.
(wine ce compile alors c'est long mais pas de panique ^^)

2.
Télécharger TeamspeakRC2 windows.

Dans une terminal : "wine dossierdedldets/TeamSpeakInstall.exe"
suivant suivant ... enfin bon l'install comme sur un pc ...

Enfin pour le lancer "wine ~/.wine/drive_c/Program\ Files/Teamspeak2_RC2"/TeamSpeak.exe"
Bien sur si pendant l'install de TS vous avez choisis c:/Program Files/Teamspeak2_RC2

U're ready to go now ^^

vendredi, décembre 26, 2008

cron: plannifier une tache

Il y a de bien nombreuses manières de planifier une tache sous mac osX (script, lancement d'application ... ) .

Depuis l'apparition de LaunchD, le démon prenant en charge le lancement de toutes les applis mac gère aussi les taches planifiées, l'utilitaire CRON existe toujours mais est déprécié par apple. Il est donc préférable d'utiliser lanchd bien que cron ait été gardé.
(osX ne possède pas de dossiers rc0 ... comme on pourrais le rencontrer sous Ubuntu par exemple tout est géré par launchd)

Ici nous ne verrons pas comment créer un fichier .plist et configurer lanchd mais nous allons passer par cron.

En effet pour tout professionnel de l'environnement UNIX cron est une référence.
Pour le configurer nombres de tutoriels sont présents sur la toile donc nous ne le verront pas non plus ^^
Mais pour les admins flémards voulant créer une configuration CRON a coup sur sans risquer de ce tromper il existe un petit logiciel graphique très pratique : CronniX.

Vous trouverez le DMG avec l’aide de l’ami google mais je vous recommande de l’installer via macports (et si le terminal vous rebute installez donc porticus)

Note pour les linuxiens en herbe ^^ =>
(macport est un genre de "aptitude" ou de "yum" … a la différence que celui-ci va compiler a partir des sources (donc un fonctionnement plus a la gentoo …))

De cette manière si vous possédez déjà des applis installé par ce biais tout ce met a jour en même temps (waouh c’est beaux la technologie ☺ )
Si macport ne vous intéresse pas et que vous avez la flemme de demander a google essayez ceci

vendredi, novembre 21, 2008

débuter en Apple script

Pour débuter en Apple script de Zero (0) ... Il existe un site référence en Français FR :
http://www.iscript.fr/

Sur ce site différents tutoriels sont disponibles et ceux ci sont très progressifs et bien expliquées. Un must pour les débutants.

Les bonnes adresses pour les plus expérimentées sont:
Le site officiel mac : http://www.apple.com/applescript/
Un site en Anglais: http://www.macosxhints.com

Si vous cherchez pour une fonctionnalité bien particulière en plus de google pensez a utiliser la bibliothèque de l'éditeur de script Apple.

En effet elle peut vous renseigner sur plus ou moins n'importe quels fonctionnalités disponibles pour chaque applications.
Si une application n'y figure pas rajoutez la simplement en sélectionnant l'app dans le dossier 'applications'.

dimanche, novembre 16, 2008

Désactiver le compte root sous Leopard

Si vous avez activé le compte root par le passé et que vous voulez le désactiver voici la solution universelle :

Loguez vous sous votre compte (pas root) et taper dans un terminal

dsenableroot -d

-- Le mot de passe demandé pour exécuter la commande est ici le mot de passe de votre compte

Marche sous mac osX Léopard, pas testé sur les autres distribs

lundi, novembre 03, 2008

Surveiller ses "ports" ouverts

Nous allons voir comment surveiller les sockets en écoute sur un mac de manière a renforcer la sécurité.

Je parle ici des ports au sens socket, donc réseau voir le wiki FR

  • Tout d'abord un petit éclaircissement sur ce qu'est un port et ce qu'est un socket, car parfois par abus de langage les deux sont mélangées a tort.

Un socket au niveau BSD du terme est un système de communication interprocessus, mais dans notre cas c'est la communication a travers le réseau qui nous intéresse.

D'une manière imagée un socket est soit l'oreille qui va écouter le réseau soit la voix qui vas parler sur le réseau. D'où les états des sockets : écoute, co° établie ...

Pour ne pas transformer tout cella en une quincophonie endiablée chacun parle et écoute sur un canal définit par un numéro: le port

De cette manière un échange réseau associé au port 22 ne seras pas en conflit avec le 24 par ex.

  • Apple, utilitaire de réseau
Sans doute avez vous testé l'utilitaire réseau d'apple et plus précisément l'onglet "portscan"
Pour scanner les ports ouverts sur une machine, vous pouvez bien entendu l'utiliser sur vous-même via l'adresse de la boucle locale (127.0.0.1 si celle-ci est resté par défaut ) ou plus simplement via 'localhost'

Ex : portscan en action


Portscan est utile car il permet de tester une configuration, voir des règles de Firewall.

Sur ce screenshot par exemple le port 3689 est ouvert en écoute et est près a accepter de nouveaux clients. Le protocole daap est le partage de musique d'iTunes, un simple arrêt de celui-ci est le socket ce ferme.

Les sockets en écoute sont générées par des softs agissant comme serveur, cella va du serveur SSH activé dans les préférences systèmes, au partage de fichier en passant même par word mac. (Je me demande bien a quoi celle peu servir >
  • Aller plus loin avec du BASH

Cette opération est longue si l'on scanne touts les ports possibles mais une commande existe en bash, qui elle va lister directement touts les dits ports qui ont été lancées au niveau du système.
=>
sudo lsof -i | grep LISTEN

sudo: droits administrateurs
lsof: affiche les sockets
paramètre de lsof : -i : n'affiche que les sockets réseau
| : "pipe"(lire paille-pe) permet d'effectuer une seconde commande sur le résultat de la première
grep LISTEN commande grep qui ici n'afficheras que les lignes ou figurent LISTEN
car nous recherchons les ports en écoute bien sur ....

L'avantage majeur de cette commande est qu'elle vous informe sur le processus qui a lancé tel ou tel socket, vous pouvez donc juger plus aisément si le soft est malveillant ou non.

Reprenons notre exemple précédent, le daap, le protocol de partage de musique d'iTunes ...
Si vous ne le saviez pas alors cette commande vous aurais permis de comprendre :




Ici le socket en écoute de protocole daap est associé au processus iTunes ...


on obtient aussi de cette manière le PID du processus, de cette façon on peu tuer celui-ci en cas de pépin ><

un bon vieux
(sudo) kill -9 n°PID
et basta ...

Attention cella tue le process en "bourrin mode" ^^

samedi, octobre 25, 2008

Rechercher des mp3 ou des divx avec google sous mac

Premièrement ce post ne vous incite pas à télécharger du contenu piraté, bien au contraire.
Respecter le droit des artistes, c'est respecter la créativité et l'innovation.

Je précise que l'on peu utiliser cette astuce pour bien d'autres choses de façon légitime ...

Connaissiez vous les phrases magiques de google ?

En respectant une syntaxe précise on peu demander plus ou moins n'importe quel type de fichier à Google. Cartes, musiques, vidéos ...

Et bien pour nos amis les noobs (et pas seulement ...) un petit logiciel peut formater la demande directement à google , et en plus il fonctionne parfaitement sous mac (un DMG est disponible au download)

Vous pouvez le télécharger ici ...

jeudi, octobre 16, 2008

Dévelopement sur macbook : Les touches du cavier

Comme cella ne vous auras surement pas échappé, coder avec un mac book "out of the box" peut peut se révéler ardu pour un non initié.

=> En cause le clavier mac (que j'affectionne particulièrement pour sa touche @ si facile a trouver ^^)

En fait c'est tout simple du moment où l'on sait qu'il faut appuyer sur:

____ utile pour touts langages

{ = alt + (
} = alt + )
[ = alt + shift + (
] = alt + shift + )
\ = alt + shift + /

____ utile pour les langages bash et autres

~ = alt + n
| = alt + maj + L

Enfin la touche suppr existe (sisi) fn + backspace

On note bien la façon dont cela a été mis en place par apple et a quel point il est facille de s'en rapeller en effet les symboles se ressembles et le changement est obtenus par ajonction de la/les touche(s) "alt" ou "alt shift"

Ps: à venir un point sur les IDE sous mac os ...

vendredi, octobre 10, 2008

Faire taire son mac au démarrage

Vous êtes exaspéré d'avoir le carillon (chime) de votre mac ?

Ce « la » peut être embêtant au plein milieu d’un amphi ou tout simplement si l’on a pas envi de ce faire remarquer.

Pour remédier a cella deux solutions s’offrent a vous :

Dans un premier temps vous pouvez mettre la main dans le cambouis et trouver quelque part sur le net (google><) « la » commande sudo machin.

Dans un second temps vous allez télécharger la petite application « psst » qui mieux que de faire taire votre mac vous permet de régler un niveau sonore par défaut. Ceci indépendamment du niveau sonore du système bien sur.

Page de téléchargement de Psst.

vendredi, août 08, 2008

Le Terminal sous os X

Comment fait on pour customiser son Terminal sous Linux ?

On répond a cette question dans de nombreux forums et autres sites mais pour Mac Os le problème peu parfois rester tout entier.


Mac Os étant basé sur un Kernel 4.4 BSD, cet os dispose de toute la compatibilité UNIX et donc d’un terminal compatible SH, CSH, BASH pour ne citer qu’eux.


Par exemple dans un système Linux les paramètres relatifs à vos préférences au niveau du Shell sont enregistrés dans un fichier .bashrc a la racine de votre dossier /home. (Le nom du fichier commençant par un point il s’agit donc d’un fichier caché pour Unix). Le Type de shell est quant a lui déterminé dans le fichier
/etc/passwd.

A chaque lancement d’un terminal, le script contenus dans .bashrc charge vos raccourcis, vos variables … bref tout ce que vous y avez mis. Sous Mac vous pouvez toujours lancer un ls –al sur votre /User/*votreLogin* il n’y auras pas la moindre trace de .bashrc. En revanche il y a un fichier bashrc qui est chargé à chaque lancement de Terminal.app – ! Pour chaque utilisateur de votre mac ! - .
Celui-ci est présent dans
/etc. Vous pouvez l’éditer en tapant la commande suivante dans le Terminal :
Sudo nano /etc/bashrc

Nano est un éditeur bien connu dans le monde de linux et préinstallé avec mac Os, et sudo vous permet d’avoir les droits root pour l’exécution de cette commande car le fichier n’est éditable que par l’autorité root.
Maintenant voyons par exemple ce que vous pouvez faire avec ce fichier :

1) Des « alias »

2) Colorer votre Terminal
3) Bien plus encore


1) Les Alias

Un alias est un raccourci de commande. Par exemple, « ls –al » peut être, et est directement disponible sous certaines distrib de tux sous la forme « ll »
Le code permettant de faire cella est :
alias ll='ls –al'

Voilà pour ce qui est des bases, après on peut faire des choses bien plus amusantes comme par exemple résumer la ligne de commande d’une attaque Ipod en 3 lettres suivies de l’adresse Ip de destination.
En clair, une attaque Ipod est en fête une attaque Ping Of Death (ou ping de la mort) mais comme nous sommes sous mac Os ^^ …

On exécute un maximum de ping d’une taille maximale sur une ip pour surcharger la machine. Cette technique date de la dernière guerre mais c’est toujours utile pour faire laguer le réseau pendant un Tp ou une Lan (à titre amical bien sur ^^)
Sous mac Os il faut taper :
sudo ping -s 65507 –f @ipDestination

Mais en ajoutant ceci a votre bashrc :
alias atk='sudo ping -s 65507 -f'

Il vous suffit dorénavant de taper « atk +votre@IpIci » puis de taper votre mdp et c’est partit.

Une utilisation plus « pro » est pour ma part d’accéder en ssh à mes machines virtuelles en 3 lettres. Bien qu’il soit déconseillé d’utiliser SSH en root c’est tout de même pratique pour un étudiant, mais par à effectuer pour un serveur en production.

Ici le raccourci utile est de la forme :
alias vm1='ssh -l root 192.168.73.4'

Bien sur sous réserve que votre machine soit en ip fixe…

Enfin plus rapide que le clear d’unix le cls de Windows est pratique :

alias cls='clear'

« one more thing’ » comme aurais dit dieu Steve Jobs
VAR1=`hostname`
VAR2=`uname -s`
VAR3=`uname -r`
VAR4=`uname -p`

VAR5=`machine`
alias wtf='echo Hi I am $VAR1 with my Kernel $VAR2 $VAR3 under a $VAR5 architecture'


Je vous fais confiance pour trouver encore d’autres applications.

2)

Il faut savoir que la décoration du prompt est régit par une variable PS1 que l’on initialise a chaque démarrage du terminal.
On vas donc inscrire cette variable dans notre fichier bashrc pur charger celle-ci a chaque lancement.

Cette variable régît à un code particulier pour les couleurs et vous avez la possibilité d’utiliser des variables d’environnement pour afficher différents noms …

Pour ce qui est de colorer le prompt de votre terminal je vous fais confiance pour trouver toute l’aide nécessaire sur les différents forums Linux relatifs à ce sujet.


Voici par exemple la ligne de conf de mon prompt
PS1='\[\033[1;32m\][\[\033[0;m\]\u@\h\[\033[1;32m\]]\[\033[0;m\] \[\033[0;35m\] \w \[\033[1;37m\] \$ '

Et ce qu’il en découle ...


terminal osX

3)

Bien plus encore …


Je recommande L'aide en ligne édite par Apple concernant le shell Scripting ici, anci que toute l’aide en ligne relative concernant bash, que vous trouverez la plus part du temps sur des forums Linux.


A noter que si vous souhaitez avoir les retours de 'ls' de façon coloré, cella est possible via entre autre :
export LS_OPTIONS='--color=auto'

A ajouter bien sur quelque part dans votre fichier bashrc.

Enfin les annotations doivent êtres précédé de # comme pour tout script bash qui ce respecte.