Lancer une application graphique en sudo…

Et oui, c’est possible… Il n’y a pas très longtemps je demandais a Fred s’il savait comment faire et force lui a été de reconnaitre que, malgré quelques pistes de réflexion fournies, il n’a malheureusement pas su m’aider (encore une fois !!! :-P ).

Comme vous le savez peut-être vous pouvez, dans le terminal, précéder une commande de « SUDO » (pour Substitute User DO). Cela vous permet d’exécuter cette commande avec plus de privilèges que les privilèges de l’utilisateur courant.

SUDO est une commande informatique utilisée principalement dans les systèmes d’exploitation de type Unix et Linux. Cette commande permet à certains utilisateurs (ou groupes d’utilisateurs) de lancer une commande en tant qu’administrateur, ou en tant qu’un autre utilisateur.

Maintenant, supposez que l’on veuille lancer en programme graphique mais…. en « sudo ». Comment faire ? En fait, une fois qu’on connait la réponse, c’est assez simple: il vous suffit juste de connaître l’endroit où est « stocké » le programme à exécuter. Pour illustrer cet exemple, prenons TextEdit, que nous devrions tous posséder par défaut (que ceux qui l’ont effacé se dénoncent…).

Allez dans votre dossier Applications. Une fois la, sélectionnez TextEdit et faites un clic-droit dessus. Sélectionner alors Afficher le contenu du paquet. Une nouvelle fenêtre s’ouvre alors avec, dedans, un dossier Contents. Entrez dans le dossier. S’affiche alors de nouveaux dossiers ainsi que des fichiers. Dans ces nouveaux dossierx, vous devriez en avoir un nommé MacOS. Allez dedans. Là, vous devriez retrouver un fichier avec comme nom, le nom du programme, dans notre cas TextEdit. (Cette démarche est valable avec 99% des applications disponible sur Mac OS X.)

Ce fichier est en fait le fichier binaire du programme. Et c’est ce fichier que nous allons lancer grâce à la commande sudo. Pour ce faire, ouvrez un Terminal et tapez les commandes suivantes :

cd ./../../Applications/
sudo ./TextEdit.app/Contents/MacOS/TextEdit

La première commande vous permet de vous placer dans le dossier Applications. Pour la seconde, votre mot de passe vous est demandé, tapez le. Il lancera ensuite l’application. Certes, pour TextEdit, cette utilisation est assez limitée, je vous l’accorde. A part pour éditer en mode texte des fichiers de configuration du système (hosts, … etc.) ça ne s’emploie quasi jamais. Cependant cela peut être utile pour certain programme. D’abord, et c’était le sujet de cet article, pour avoir des droits temporairement plus élevés avec le programme « graphique » de votre choix et ensuite parce qu’utiliser une ligne de commande permet de passer des arguments en paramètre. Exemple, si l’on veut éditer le fichier hosts de manière graphique, il faut taper la commande :

sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts

qui, en plus de vous donner les droit de l’éditer, va directement ouvrir le fichier avec TextEdit.

Votre Mac à la Star Ac’…

Qui a dit que le Terminal c’était nul et ennuyeux ? Hein, qui ??

Voici une petit astuce pour faire mentir ceux qui, à défaut de le dire, le pense. Comme tout excellente astuce, elle ne sert à rien, mais est tellement rigolote…

Lancez le Terminal et copiez-collez la ligne de commande ci-dessous :

say -v Good ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Sympa… Mais on peut faire mieux…
say -v Bad oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Bon, Le prof de chant est content. Maintenant l’échauffement terminé, passons au choses sérieuses…
osascript -e 'say "Dum dum dum dum dum dum dum he he he ho ho ho fa lah lah lah lah
lah lah fa lah full hoo hoo hoo" using "Cellos"'

osascript -e 'say "Dum dum dee dum dum dum dum dee Dum dum dee dum dum dum dum dee
dum dee dum dum dum de dum dum dum dee dum dee dum dum dee dummmmmmmmmmmmmmmmm"
using "Pipe Organ"'

osascript -e 'say "Dum dum dee dum dum dum dum dee Dum dum dee dum dum dum dum dee
dum dee dum dum dum de dum dum dum dee dum dee dum dum dee dummmmmmmmmmmmmmmmm"
using "Hysterical"'

Bon, la, c’est le prime… Faut tout donner, faut charmer le public…
osascript -e 'say "oh This is a silly song silly song silly song this is the
silliest song ive ever ever heard So why keep you listening listening listening
while you are supposed to work to work to work to work its because i hate my job
hate my job hate my job its because i hate my job more than anything else No its
because youve no life youve no life youve no life and you better go get one after
forwarding this crap" using "cellos"'

Pour que votre Mac aille en finale, visiter notre blog tous les jours ;-)

Source : Blogdumac (http://www.blogdumac.com/)

Ejection d’un CD/DVD sous Mac

Et hop, encore une petite astuce bien pratique (bien que pas inutile pour un fois ! ;-) ).

Voici tout d’abord différentes manière d’ejecter un CD/DVD « tout simplement » :

  • Faire un Drag&Drop de l’icône de votre CD/DVD dans la corbeille.
  • Appuyer sur le bouton Eject (à droite de F12 sur les portables).
  • Sélectionner l’icône de votre CD/DVD et appuyer simultanément sur POMME+E.
Maintenant, il se peut que le CD/DVD soit légèrement récalcitrant. Si c’est le cas, essayez une des possibilité ci dessous :
  • Si vous utilisez un Machine Virtuelle (Parallel Desktop, VMWare Fusion, …), assurez vous que votre machine virtuelle n’utilise pas le CD/DVD ensuite tentez à nouveau d’éjecter votre CD/DVD.
  • Lancez iTunes, Toast, ou un autre programme ayant un accès un lecteur optique et cliquez sur l’icône eject dans ce programme.
  • Lancer l’ Utilitaire de Disque et, dans le menu de gauche, cliquez sur le l’icône eject.

Il arrive cependant que, parfois, pour des raisons pas toujours compréhensibles, Mac OS refuse obstinément d’éjecter le CD/DVD du lecteur. Alors… Même si vous avez déjà tenter toutes les possibilité ci-dessus, il n’est pas encore temps de vous énerver ou de céder à la panique et de croire de suite à la panne physique et de courir chez le premier revendeur agréé Apple, procédons calmement… Dernière possibilité sans devoir redémarrer sa machine :

  • Ouvrez le Terminal et tapez la commande drutil tray eject.
Cela n’a toujours pas fonctionné ? Alors, il va falloir redémarrer. Pas de panique cependant, plusieurs possibilités sont encore envisageables :
  • Redémarrer votre Mac en maintenant la bouton de votre souris (ou du trackpad pour les portables) enfoncée (soyez patient, cela peut prendre une trentaine de secondes).
  • Si la possibilité précédente n’a pas fonctionné, redémarrer encore une fois mais en appuyant sur le bouton Eject de votre clavier (pour ceux qui en possèdent un).
Si cela n’a toujours pas fonctionné ET que vous possédez un Mac Intel, vous avez maintenant l’autorisation de paniquer et de jurer autant que vous voulez. Songez aussi à apporter votre Mac dans un magasin agréé afin de régler le problème. Si, par contre, avez encore un Mac non Intel (c-à-d un Mac équipé d’un processeur PowerPC) il vous reste encore une possibilité :
  • Redémarrer à nouveau votre Mac en appuyant, cette fois-ci, sur les touche POMME+CTRL+O+F (O et F pour Open Firmware). Vous arriverez alors dans une sorte de Terminal. Une fois dedans tapez eject cd. Une fois le CD/DVD éjecté, tapez mac-boot.
Si cette dernière méthode ne fonctionne pas non plus pour vois, alors vous aussi pouvez paniquer et courir à l’Apple Store le plus proche…
En espérant qu’au moins une de ces méthodes vous aient aidé(e)… :D

Faire ses mise-à-jour par le Terminal

Hé hé hé… Plus une astuce ne sert à rien et meilleur c’est !!

Je suppose que la majorité d’entre vous sait faire les mises à jour d’Apple, que cela soit par défaut (un mac vérifie, par défaut, toutes les semaines s’il n’y a pas de mise à jour) ou consciemment. Aujourd’hui voyons comment faire autrement et… Profitons en pour domestiquer le Terminal.

Lancez le Terminal et tapez la commande suivante :

sudo softwareupdate -i -a

La il vous demandera votre mot de passe. Tapez-le et faite ENTER…

S’il n’y a aucune mise à jour, le Terminal vous le dira. Sinon, il fera les mise à jour tout seul, comme un grand. Et rappelez-vous, si vous vous questionnez sur le fonctionnement de la commande softwareupdate, tapez

man softwareupdate

Et voila… Maintenant, vous pourrez épater vos amis avec le Terminal…

Domestiquer le Terminal (part1)…

Nous vous avons, à plusieurs reprises déjà, présenté des astuces nécessitant (ou pouvant nécessiter) de taper des commandes dans le terminal. Malheureusement le Terminal rebute souvent, sans doute à cause des commandes à retenir « par coeur ». Pourtant bon nombre d’entre elles, pour peu qu’on connaisse un minimum d’anglais, peuvent facilement être comprises, et donc retenues…

Dans cet article, premier d’une série d’une dizaine sans doute, nous allons vous présenter quatre commandes (c’est pas la mort quoi…), sans doute les plus utilisées, qui vous permettrons de vous familiariser avec le Terminal…

 

Le Terminal :
Commençons par ouvrir le terminal. Si vous ne le trouvez pas, cliquez sur la loupe en haut à droite de votre écran, Spotlight, et taper « terminal ». Une fois que Spotlight l’a trouvé, appuyez sur Enter pour le lancer. Un fenêtre apparaît alors avec, chez moi :

Minidingue:~ Sulley$

Comme nous pouvons le voir, la ligne commence par le nom de votre mac suivit de deux points. Ensuite vient un tilde (« ~ ») : ce tilde est en fait le symbole d’un répertoire, il signifie que vous êtes dans ce qu’on appelle votre Home Directory (c’est en fait le dossier qui porte votre nom/pseudo que l’on peut voir dans le menu de gauche du Finder). Pour finir, vient votre pseudo et le symbole « $« .

 

Les commandes :
Et voila, j’en sens déjà qui ont peur… Respirez profondément, tout va bien se passer ! Nous allons vous présenter 3 commandes simples mais efficaces et indispensables, pour commencer, qui vous aideront a appréhender le Terminal.

 

1) Le listing d’un dossier :
Vous êtes dans un dossier et vous aimeriez savoir ce qu’il y a dedans. Pour cela, rien de plus simple, il vous suffit de taper la commande ls. ls permet de LiSter le contenu du dossier dans lequel vous êtes, mais attention : le nom des dossiers que vous voyez dans le Finder (l’interface graphique de Mac OS) sont traduit dans la langue de votre système, avec la commande LS, vous pourrez voir les mêmes dossiers mais dont les nom ne sont pas traduits (e.g. « Téléchergements » -> « Downloads », « Séquence » -> « Movies », etc.).

Exemple :
Minidingue:~ Sulley$ ls
Desktop Incomplete Pando Packages Public
Documents Library Movies Pictures Sites
Downloads LimeWire Music Programming

Vous pouvez également ajouter des paramètres à cette commande. Ces paramètres forcent, ou permettent, de faire encore plus ou de faire la même chose mais avec plus de précision. Les deux paramètres j’utilise le plus sont « -a » et « -l ».

« -a » ( a pour « all »), fera que la commande <em>ls</em> listera en plus des dossiers dit visibles, tous les autres dossiers (invisibles et les dossiers systèmes).

« -l » (l pour « long ») vous affichera un liste détaillée : nom des fichier/dossier avec permission (qui peut lire, écrire, modifier, … le fichier), le propriétaire, le groupe auquel appartient le propriétaire, … etc.

Chez moi, par exemple, cela donne :
Minidingue:~ Sulley$ ls -a
. .bash_profile .lesshst Downloads Programming
.. .csh_history .swp Incomplete Public
.CFUserTextEncoding .cups .viminfo Library Sites
.DS_Store .dvdcss .wormux LimeWire
.Rhistory .emacs.d .xchat2 Movies
.Trash .gdb_history .xxtjfmerc Music
.Xcode .jIRC Desktop Pando Packages
.bash_history .jmol Documents Pictures


et

Minidingue:~ Sulley$ ls -l
total 0
drwx------+ 25 Sulley Sulley 850 25 oct 17:30 Desktop
drwx------@ 53 Sulley Sulley 1802 23 oct 20:35 Documents
drwx------+ 22 Sulley Sulley 748 25 oct 17:33 Downloads
drwxr-xr-x 4 Sulley Sulley 136 13 sep 17:36 Incomplete
drwx------+ 52 Sulley Sulley 1768 8 oct 11:14 Library
drwxr-xr-x 3 Sulley Sulley 102 3 mai 20:39 LimeWire
drwx------@ 14 Sulley Sulley 476 5 oct 21:55 Movies
drwx------@ 491 Sulley Sulley 16694 13 sep 17:36 Music
drwxr-xr-x 3 Sulley Sulley 102 8 oct 10:39 Pando Packages
drwx------+ 318 Sulley Sulley 10812 19 oct 12:59 Pictures
drwxr-xr-x 26 Sulley Sulley 884 29 jui 23:15 Programming
drwxrwxrwx+ 5 Sulley Sulley 170 18 aoû 20:01 Public
drwxr-xr-x+ 5 Sulley Sulley 170 18 nov 2007 Sites

 

2) Voyager sur votre Disque Dur
Maintenant que nous savons lister le contenu d’un dossier, il serait intéressant de pouvoir aller dans le dossier de son choix pour le lister, justement. Voyons donc comment changer de dossier. En anglais, on dit « Change Directory », la commande est donc : cd.

Après « cd », il faut préciser où vous souhaitez allez <u>à partir du dossier ou vous êtes</u>. En reprenant l’exemple ci-dessus, supposons que nous voulions aller dans le répertoire Dowloads.

Minidingue:~ Sulley$ cd Downloads/
ou
Minidingue:~ Sulley$ cd ./Downloads/ (le « . » indiquant le répertoire courant)

Petite astuce 1 : Une fois tapé une ou deux lettres du nom du dossier dans lequel vous souhaitez aller, appuyez sur la touche TAB (touche à la gauche de la touche A) et le Terminal complétera lui même le nom (à condition qu’il n’ait pas le choix entre plusieurs noms).

Petite astuce 2 : Vous n’êtes pas obligé de faire cela pas à pas, si vous connaissez un chemin complet, vous pouvez également le taper, par exemple : cd /Downloads/Films/Recents/incomplets/

Comme vu ci-dessus, le « . » représente le répertoire courant. Les « .. » eux, représente le répertoire parent. Pour remonter d’un niveau, il vous faut donc tapez la commande :

cd ..

Et voila, c’est aussi simple que cela.

 

3) Ou je suis ?
Voila, on s’amuse, on s’enflamme, on sait changer de dossier a foison et on finit par se perdre… On ne sait plus ou on est et ce, malgré l’aide (infime, certe, mais quand même) du terminal. Pas de panic… Si cela vous arrive, il vous suffit de taper la commande pwd pour Print Working Directory. Le terminal vous affichera alors le chemin complet de votre emplacement.

 

4) J’ai oublier comment s’utilise une commande…
Aaaah, en voila une commande qu’elle est pratique : man.
Man (pour « manuel ») est la commande qui permet d’avoir le manuel, le mode d’emploi, d’un commande. Si vous connaissez une commande, mais que vous ne savez plus comment vous en servir, il vous suffit de taper : man nom_de_la_commande. Une fois les informations recherchées trouvées, appuyer que la touche Q de votre clavier pour quitter le manuel.

 

Et voila. Avec ces 4 commandes vous savez déjà voyager au travers des répertoires, lister le contenu de ceux-ci et vous renseigner sur des commandes. On est évidement en droit de s’interroger sur l’utilité d’un Terminal quand on peut faire quasiment tout ce que l’on souhaite avec l’interface graphique de Mac OS X (j’ai nommé Finder), et l’on aurait raison. Sachez cependant que, comme nous l’avons vu dans cet article, le Finder ne montre pas tout : il cache les dossiers systèmes par exemple. Or nous aurions parfois besoin d’aller des ces répertoires et/ou ces fichiers pour supprimer ou modifier certaines choses. Finder nous donne l’impression de savoir tout faire, mais une fois que nous apprenons a connaitre notre mac, que nous savons ou vont se loger certains dossiers/fichiers de programmes que nous installons, … le terminal pour s’avérer non seulement un outil indispensable mais carrément une arme redoutable… Parce que, comme disait Judge Dredd : » Ici la loi, c’est lui ! » ;-)