Création .dmg avec image de fond et alias vers un dossier

Twicky

Membre enregistré
1 Août 2013
7
0
Bonjour à tous !

Je post dans ce forum aujourd'hui (en espérant ne pas m'être trompé de catégorie) dans le but d'avoir un peu d'aide :
Je créer en ce moment, un .dmg avec l'utilitaire de disque. J'ai mis dessus un background et deux dossier dont un étant un alias.

J'ai à présent 2 problèmes :
- lorsque je convertis mon dmg puis que je le passe par skype à un copain pour tester, il n'a pas le background (que du blanc)
- l'alias ne marche pas (je pense que c'est lié au chemin d'accès qui est différent chez lui à cause de son nom d'utilisateur).

Voilà, si vous saviez comment résoudre ces deux problèmes :)
 
L'image de fond doit être présente dans le DMG lui-même (cachée, etc.)

Si l'Alias fait référence à un dossier de la petite maison de l'utilisateur alors il faut utiliser un chemin absolu universel (par exemple ~ reprsésente le home du user).
 
Bon, malgré que je me débrouille plutôt bien en informatique, je suis un vrai novice en dmg.
Alors sans trop vouloir vous décevoir, comment faire pour que l'image de fond soit présente sur le dmg lui même ?
Et comment changer le chemin d'accès d'un alias ?
 
Sous Unix, un fichier/dossier précédé d'un point est caché. Tu peux donc mettre ton image dans ton DMG à l'intéroeur d'un dossier qui se nommerait .image

Plutôt qu'un Alias (et d'utiliser de l'Applescript pour cela -osascript-), perso je créerai un lien symbolique Unix (ln -s). Dans les deux cas, ça se passe par la ligne de commande (enuiste tu mets ton alias/lien symbolique dans ton DMG).
 
Bon, je l'avoue, je ne sais pas créer de lien symbolique unix :)
Dans ce cas, comment le créer ton ? Car je n'ai pas trop envie de me lancer dans un long... très long tutoriel concernant unix !
 
Salut Twicky!

Funambulesque explication de texte des indications de edd :

Bloc de code:
~/

'~' (que tu obtiens en pressant simultanément les touches 'alt' = option et 'n' du clavier) désigne de manière fonctionnelle et pas nominale l'utilisateur dont la session est ouverte. La '/' qui suit annonce le champ subordonné au préfixe qui est ici '~', l'utilisateur actif. '/' pointe donc l'espace du répertoire d'usager de '~'. Lequel contient des dossiers, dont l'identité en langage UNIX s'énonce en Anglais. Ainsi, 'Desktop' identifie le dossier 'Bureau', 'Pictures' le dossier 'Mes Images' etc. Amuse-toi à faire dans le «Terminal» un :

Bloc de code:
ls ~/

et ↩ (retour-chariot = 'Entrée' pour actionner la commande). Dans une commande, le premier terme est toujours le verbe qui désigne en abrégé de termes anglais l'action demandée. Ici ls abrège le mot 'list' = lister. L'espace sépare le verbe de son complément d'objet ici, qui est : '~/' = utilisateur dont la session est ouverte, càd. toi-même + '/' = désignation du champ subordonné à '~' càd. son répertoire. La commande 'ls ~/' revient donc en extrême abrégé à demander poliment à Darwin, le maître de cérémonie UNIX qui faisait la sieste dans les sous-sol de ton OS, de lister les items contenus dans ton répertoire d'utilisateur actif. Cela te permet d'apprendre le nom UNIX des dossiers et autres items de ton répertoire d'usager ainsi (noyau en rouge) :

Bloc de code:
AT.postflight.12434		PlayOnMac's virtual drives
Adlm				[COLOR="Red"]Public[/COLOR]
Apple Feb-19 07_29.ddscan	Sites
Apple Feb-19 07_32.ddscan	config.h
[COLOR="Red"]Applications[/COLOR]			config.log
Applications (Parallels)	config.status
Cubicles			doc
[COLOR="Red"]Desktop[/COLOR]				dwhelper
[COLOR="Red"]Documents[/COLOR]			fidentify.log
[COLOR="Red"]Downloads[/COLOR]			nano.save
Dropbox				photorec.ses
Icon?				
[COLOR="Red"]Library[/COLOR]				scripts
Makefile			src
[COLOR="Red"]Movies[/COLOR]				stamp-h1
[COLOR="Red"]Music[/COLOR]				testdisk.log
[COLOR="Red"]Pictures[/COLOR]

Maintenant que tu as saisi intuitivement le sens général de la manœuvre, la commande :

Bloc de code:
ln -s

évoquée par edd dans le style UNIX lapidaire qu'il affectionne (tandis que graphomaniac macomaniac abonde dans le bavardage graphique :D) est un verbe d'action ('ln' pour link = crée un lien) assorti d'une option ('-s' : le tiret '-' introduisant par convention la modalité optative, et le 's' ici abrégeant l'anglais 'symbolic' = symbolique). Donc 'ln -s' est un verbe incrémenté demandant la création d'un lien symbolique à notre maître de cérémonie Darwin.

Comme un verbe d'action doit avoir une cible, tu vas donc après un espace lui indiquer son complément d'objet direct, par exemple si tu écris :

Bloc de code:
ln -s ~/Pictures

comme tu le saisis intuitivement désormais, tu demandes à Darwin la création d'un lien symbolique (par le verbe incrémenté 'ln -s') ayant pour objet de référence le dossier 'Mes Images' de l'utilisateur dont la session est active : '~/Pictures' = 'Utilisateur actif : ~', champ subordonné désigné par '/', dossier 'Mes Images' dans l'espace du répertoire global ciblé par 'Pictures'.

Mais comme le verbe que tu utilises ici ('ln -s') implique la fabrication d'une réplique à partir d'un modèle, il ne suffit pas d'avoir indiqué dans ta commande le modèle de référence (l'objet direct = le dossier 'Mes images'), il faut pour finir que tu indiques où Mr Darwin doit faire atterrir ladite réplique (espace d'atterrissage) et éventuellement l'intitulé sous lequel il doit créer cette réplique (nom). On pourrait parler ici de complément d'objet indirect du verbe d'action premier. Donc tu vas enrichir ta commande précédente ainsi :

Bloc de code:
ln -s ~/Pictures ~/Desktop

En faisant cela, tu demande donc à Darwin de créer un lien symbolique (ln -s) prenant pour modèle de référence l'objet : dossier 'Mes images' (~/Pictures) et faisant atterrir le produit de son travail, càd. le lien symbolique lui-même sur le Bureau de l'utilisateur actif (~/Desktop). Et tu vois surgir sur ton Bureau quelque chose qui ressemble à un alias sans en être un : une icône de dossier, pointé d'une flèche, et intitulé : Pictures. Comme tu n'as pas indiqué de nom préférentiel, Darwin s'est borné à reproduire celui du modèle. Mais suppose, parce que tu es plein de malice (en fait, c'est macomaniac qui est en est pétri comme toujours :D), que tu veuilles que ton lien symbolique, produit du travail de Darwin devant atterrir sur ton Bureau, porte quelque intitulé désopilant où se lit ta signature personnelle. Alors tu implémentes ta commande d'une touche facétieuse ainsi :

Bloc de code:
ln -s ~/Pictures ~/Desktop/idolatrix

et Darwin s'empresse de te fabriquer un lien symbolique de ton dossier 'Mes images' qui surgit sur ton Bureau sous l'intitulé 'idolatrix' mais qui a exactement les mêmes fonctions de pointeur au dossier 'Pictures' de l'utilisateur actif que le précédent intitulé par défaut 'Pictures'.

♤

[NB. '/' étant le point de montage de OS X, ouvre donc les débats en pointant l'espace immédiatement subordonné qui est le répertoire racine de l'OS. Si tu fais un :

Bloc de code:
ls /

tu obtiens la liste de tous les items et dossiers-système. Tu peux y contempler notamment le fichier : mach_kernel qu'une erreur de flag dans la dernière mise-à-jour 10.8.5 a fait s'afficher à ciel ouvert, alors même qu'il s'agit du fichier_kernel de l'OS auquel il ne faut surtout pas toucher sous peine de plantage au démarrage :D. Lorsque tu passes une commande un tantinet élaborée, le complément d'objet direct de ton verbe d'action (ton objet cible) doit toujours être précédé de l'énoncé du chemin logique qui y conduit à partir du point de montage de l'OS '/', sinon Darwin ne va pas aimer que tu le tires de sa sieste pour le faire jouer à colin-tampon - car une chose est certaine : Darwin n'a aucun goût pour les devinettes, c'est un personnage qui a un sérieux de plomb, bref un crétin hyperlogique livreur qui a besoin d'un GPS. Par suite, si tu veux que Darwin aille faire une obscure manœuvre sur ton application «Safari» qui réside dans le répertoire générique des 'Applications' de l'OS, il faut que tu lui indiques comme chemin :

Bloc de code:
/Applications/Safari.app

et il saura trouver l'objet-cible. En résumé, il faut pouvoir visualiser l'arborescence de l'OS sans trop de mal pour indiquer les chemins logiques qui conduisent aux objets à propos desquels on commande des actions.]

♧
 
Dernière édition par un modérateur:
Euh, ça semble avoir marché, mais j'ai encore un petit problème.
Chez moi, le dmg n'as pas la collone de gauche avec images, apps...
mais dès que je le passe à un copain, il a la colonne à coté !
C'est assez embêtant !

Et aussi si vous savez comment faire pour qu'ils ne puissent plus modifier la disposition... des fichiers :)

Merci d'avance !
 
Et aussi si vous savez comment faire pour qu'ils ne puissent plus modifier la disposition... des fichiers :)

Faire l'image-disque en lecture seule (pas en "lecture-écriture").

Et pour l'affichage, normalement si tu as définis un affichage avant d'être en lecture seule et avant éjection, il est conservé, même lors de la transmission à un tiers.

Complément: osx - How do I create a nice-looking DMG for Mac OS X using command-line tools? - Stack Overflow