Des lanceurs d'app X11 pour MacOSX

X11 logo

MacOSX reposant sur une base UNIX (et même certifié véritable UNIX depuis Leopard), il est tout à fait possible de lancer des applications X11 provenant du monde Linux ou d'ailleurs (merci MacPorts ). Seulement, ces applications si puissantes soient-elles, leur principal inconvénient est qu'elle doivent être lancées en ligne de commande, et avec xterm  par dessus-le marché...

Pas très intuitif pour un système orienté utilisateur comme MacOSX ! Heureusement, des initiatives intelligentes comme Platypus  nous rendent la vie plus facile...

Le chaînon manquant

Platypus est une application Cocoa permettant de créer des applications MacOSX natives à partir de simple scripts Shell, Perl, PHP, AppleScript et j'en passe. Il est donc très facile par exemple de créer des installeurs simples, sans avoir à déployer un .pkg.

Mais qui dit script dit que l'on peut avoir les mains totalement déliées pour lancer ce que l'on veut ! Ça tombe bien puisque je viens de compiler Dia  (logiciel de modélisation UML ) via MacPorts et que ça m'agace de devoir le lancer depuis la ligne de commande ! Oui, je tiens à mon démarrage avec QuickSilver :-P !

Créer son application

Il faut bien sûr commencer par télécharger et installer Platypus  (un petit coup d'oeil à la doc  ne fait pas de mal non plus).

Voici ce qu'on trouve lorsqu'on le lance pour la première fois :

Le principe est assez simple : On donne un nom à l'application, on glisse un belle icône et on crée/sélectionne un script à lancer. Plusieurs types d'affichages sont possibles comme la barre de progression ou le droplet. Il est également possible d'ajouter d'autres fichiers/scripts auxquels vous pourrez faire référence dans votre script principal.

Une fois que tout est OK, on clique sur Create et hop ! Une application gratuite !

X11 et les ennuis commencent

Et oui car ça aurait été trop facile sinon ! Dia, comme la plupart des applications graphiques proposées par MacPorts, est une application X11; il faut donc que l'environnement X11 soit lancé via X11.app (dans /Applications/Utilities).

Comment faire ?

Grâce à la commande open bien sûr ! Cette commande générique permet d'ouvrir à peu près n'importe quoi (fichier, URL, application... Voir la manpage de la commande open ). L'idée est donc d'ouvrir X11.app et de lui passer la commande à exécuter :

#!/bin/sh
 
source ~/.profile; # Intialisation de l'environnement pour l'utilisateur courant
open -a /Applications/Utilities/X11.app /opt/local/bin/dia; # Lancement du programme via X11

Simple et efficace. Ce script est bien sûr celui qui va servir à piloter notre application Platypus

"

Et si je veux passer des options à ma commande ? Car je voudrais lancer Dia avec l'option --integrated pour que tout s'affiche dans une seule fenêtre.

"

C'est là où les choses se corsent un peu car open ne permet pas de passer d'options à la commande embarquée. Il va donc falloir ruser un peu en créant un deuxième script Shell, launcher.sh que l'on ajoutera à l'application.

launcher.sh

#!/bin/sh
 
# Ligne de commande à exécuter
# Ajoutez toutes les options que vous voulez :)
/opt/local/bin/dia --integrated &

Et notre script principal devient :

#!/bin/sh
 
source ~/.profile; # Intialisation de l'environnement pour l'utilisateur courant
 
# Lancement du programme via X11
# par l'intermédiaire du script launcher.sh
# Le CWD par défaut est le répertoire Resources de l'application
# où se trouve les éléments ajoutés via Platypus
open -a /Applications/Utilities/X11.app launcher.sh;

Ecran complet de Platypus :

Le résultat final est l'application DiaLauncher que vous pouvez télécharger ici .

Cela fonctionne bien sûr pour n'importe quelle application du même genre (avec ou sans X11), comme JMeter  (télécharger le lanceur pour JMeter ). Il est même possible de pousser le vice jusqu'à lancer des applications en X11 forwarding  (si si, j'ai essayé et ça marche parfaitement !).

Vous trouverez sur cette page dédiée une liste de lanceurs  que je vais maintenir, au cas où ;-).


Commentaires

Nice (par expert assistance service)

This is really great work. Thank you for sharing such a good and useful information here in the blog for students.


Ez Assignment writing help (par Ez Assignment writing help)

Your X11 development style is amazing i want to share this site with my student for the gernal knowledge.


WriteCheapEssay (par WriteCheapEssay)

We are appriciate of this X11 development work i hope you will be more develop on this app.


Engineering (par Top Engineering college in Chandigarh)

Engineering as a subject combines mathematics, logic and science to find solutions to our daily life problems. Over the last few decades, engineering as a profession has seen vast expansion.


You did really (par Engineering college in punjab)

You did really good work. I really appreciate your new and different post. Please guys keep it up and share with us some unique post in the future…


pokemesh ios download (par pokemesh ios download)

Download the latest version of PokeMesh APK download file easy and fast.


Bmi calculator (par Bmi calculator)

Thanks for sharing information, good advise


whatsapp plus (par whatsapp plus )

WhatsApp app is officially available for all devices and to open for PC/Laptop etc.


Nice post (par System Integration service providers)

Nice post . keep up the good work!


This blog (par Apple service center Kolkata)

This blog has got lots of really helpful information on it! Cheers for sharing it with me!


followers (par EasyFreeFollowers.com)

The followers are real not fake.


joe (par psoriasis)

C'est vraiment une grande lecture pour moi. Je l'ai bookmarked et j'attends impatiemment de lire de nouveaux articles. Continuez votre bon travail !.


bop (par eyebrow threading)

J'ai trouvé votre ce post tout en recherchant des informations sur la recherche liée au blog ... C'est un bon message .. conservez postage et mise à jour des informations.


anna (par scalp psoriasis)

Je pense que c'est un poste informatif et il est très utile et bien informé. Je tiens donc à vous remercier des efforts que vous avez faits pour rédiger cet article.


kate (par plaque psoriasis)

Excellente article écrit, si tous les blogueurs ont offert le même niveau de contenu que vous, l'Internet serait un endroit beaucoup mieux.