Genj - Script Shell Mac
From Arvernes Wiki
Accueil
-
Copies écrans
-
Prérequis
-
Télécharger
-
Installer
-
Guide utilisateur
-
F.A.Q.
-
Discuter
-
Liens
Cet article fait partie des conseils de post-installation donnés pour GenJ.
Contents |
Comment modifier la quantité de mémoire disponible pour GenJ sous Mac
Cette aide est destinée à tous les utilisateurs de Mac qui veulent changer la quantité maxi de mémoire attribuée à GenJ. En effet, si vous double-cliquez sur le fichier "run.jar", GenJ "consomme" très rapidement toute la mémoire qui lui est attribuée et on se retrouve vite bloqué. Par exemple, avec un Gedcom de plus de 8000 individus, presque 3000 familles en 149 000 lignes, GenJ utilisera rapidement plus de 50 % de la mémoire qui lui a été attribuée au démarrage et ne permettra pas la création de certains rapports. Avec la méthode indiquée ci-dessous, GenJ n'utilisera guère plus de 10 % de la mémoire disponible et pourra ainsi s'utiliser avec tous les rapports sans trop de difficultés.
Je pars du principe que vous avez un usage standard du Mac et que vous n'êtes pas du genre à bidouiller dans les arcanes de votre ordi préféré.
Tout d'abord, assurez-vous que :
- le fichier run.jar que vous lancez habituellement se trouve dans des dossiers ne portant aucune espace ou aucun accent dans leur titre. Pour plus de sécurité, le chemin d'accès peut être de ce style : Applications/genealogyj/run.jar ou bien Applications/genj_arvernes/run.jar
- le fichier run.sh se trouve bien dans le même dossier que le fichier run.jar cité plus haut.
Voilà. Prêts ? Allons-y.
Modifier le fichier run.sh
1) Ouvrez le fichier run.sh en faisant un glisser-déposer sur l'icône d'un éditeur de texte, comme Smultron (un excellent logiciel open source pour Tiger et Leopard), BBEdit ou JEdit. Attention, n'utilisez pas un logiciel de traitement de texte comme Word ou Writer d'OpenOffice. Vous pouvez utiliser TextEdit à condition de cocher le bouton Format Texte dans l'onglet Nouveau document des préférences du logiciel, sinon le format sera modifié.
2) Le fichier est ouvert ? Très bien. Vous voilà devant un document peu compréhensible. La ligne qui nous intéresse est la ligne 35, vers la fin :
CMD="$JAVA -Xmx512m -Xms32m -jar run.jar $1 $2 $3 $4 $5 $6 $7 $8 $9"
512 correspond à la quantité de mémoire maxi (512 Mo) attribués à GenJ, 32 est la quantité mini. En fonction de votre configuration, si ces chiffres vous conviennent, ne les changez pas. En interne, quand vous lancez directement GenJ en double-cliquant sur "run.jar", GenJ est paramétré pour n'utiliser que 64 Mo de mémoire environ. Vous pouvez donc modifier ce chiffre grâce à ce fichier que vous avez sous les yeux et qu'on appelle un script shell. Si vous êtes satisfaits de ces chiffres, ne les changez pas, ça ne servirait à rien. Sinon remplacez 512 par la valeur souhaitée : 768, par exemple, afin de disposer de 768 Mo de mémoire pour GenJ et votre/vos Gedcom(s).
Profitez-en pour faire en sorte que le nom de l'application qui apparaîtra dans le menu soit GenJ et non plus Launcher.laucher. Il suffit d'ajouter :
-Xdock:name="GenJ"
avant -jar run.jar. Ce qui nous donne la ligne suivante, une fois les modifications faites :
CMD="$JAVA -Xmx768m -Xms32m -Xdock:name="GenJ" -jar run.jar $1 $2 $3 $4 $5 $6 $7 $8 $9"
Voilà. Sauvegardez maintenant vos modifications.
3) Il faut maintenant lancer le Terminal et rendre le fichier run.sh exécutable par le système. Pour ceux qui ne savent vraiment pas où se trouve le Terminal, cherchez-le dans le dossier Utilitaires qui se trouve dans votre dossier Applications.
Une fenêtre s'ouvre avec 1 ou plusieurs lignes de texte. A l'endroit où se trouve le curseur (après le signe $), tapez [la puce • représente une espace] :
chmod•+x•
Et faites glisser le fichier sur la fenêtre du terminal : son chemin d'accès s'affiche directement comme ça (en fonction du nom du dossier dans lequel se trouve GenJ) :
chmod•+x•/Applications/genj/run.sh
Appuyez sur la touche entrée pour valider. Ne soyez pas surpris si aucune confirmation ne s'affiche.
4) Si tout s'est bien déroulé, votre fichier run.sh est exécutable par le système. Pour s'en assurer, à la suite de la nouvelle ligne qui apparaît, faites glisser de nouveau le fichier run.sh sur la fenêtre du terminal sans entrer de texte. Après le symbole $ apparaît le chemin du fichier comme suit :
/Applications/genj/run.sh
Validez en cliquant de nouveau sur entrée. Si tout va bien, vous devriez lire les messages suivants :
*** INFO: Running GenJ from/Applications/gen
*** INFO: Executing '/usr/bin/java -Xmx512m -Xms32m -jar run.jar'
Puis une série de lignes commençant par INFO correspondant au lancemant de GenJ. Voilà, GenJ utilisera maintenant ce que vous aurez bien voulu lui donner en plus comme mémoire et le pourcentage de mémoire utilisé devrait être moindre, vous permettant de l'utiliser au mieux de ses capacités.
PROBLÈME :Tant que GenJ ne sera pas une application autonome sous Mac, vous DEVREZ systématiquement refaire l'étape 4 et lancer run.sh à l'aide du terminal pour que GenJ retrouve l'usage d'une plus grande mémoire ! Si vous quittez GenJ et le relancez en double-cliquant sur run.jar, GenJ n'utilisera que 64 Mo de mémoire. De plus, si vous mettez à jour GenJ, vous risquez d'avoir à refaire l'étape 3 pour rendre le fichier run.sh de nouveau exécutable.
Créer un fichier run.command
1) Reprenez l'étape 3) mentionnée ci-dessus, mais cette fois-ci, sauvegardez le fichier run.sh sous un autre nom : remplacez le suffixe .sh par .command
2) Il faut maintenant lancer le Terminal et rendre le fichier run.command exécutable par le système. Pour ceux qui ne savent vraiment pas où se trouve le Terminal, cherchez le dans le dossier Utilitaires qui se trouve dans votre dossier Applications.
Une fenêtre s'ouvre avec plus ou moins de texte. A l'endroit où se trouve le curseur (après le signe $), tapez [la puce • représente une espace] :
chmod•+x•
Et faites glisser le fichier sur la fenêtre du terminal : son chemin d'accès s'affiche directement comme ça :
chmod•+x•/Applications/genj/run.command
Appuyez sur la touche entrée pour valider.
3) Maintenant le problème mentionné précédemment est résolu : vous pouvez lancer le script de GenJ de 3 façons :
- En principe, vous pouvez double-cliquer sur ce fichier : le Terminal s'ouvre automatiquement et GenJ aussi ! Si ce n'est pas possible et que c'est votre éditeur de texte qui s'ouvre à la place, vous montrant le contenu du script, il vous reste deux possibilités :
- Faites un clic droit sur le fichier (ctrl + clic si vous n'avez pasde souris à 2 boutons) : dans le menu contextuel qui apparaît, choisissez : Ouvrir avec... Puis Terminal.
- Si le Terminal est dans votre dock, faites glisser le fichier run.command sur l'icône du Terminal dans votre dock !
C'est-y pas beau, la technique ?
Remarque : Vous êtes frustrés de ne pas pouvoir double-cliquer sur le fichier run.command pour l'ouvrir ? Qu'à cela ne tienne, on va résoudre le problème ! Sélectionnez le fichier susnommé et faites pomme - I pour obtenir les informations (ou bien par un habile clic droit, demandez "Lire les informations" dans le menu contextuel). Si la section "Ouvrir avec..." n'est pas visible entièrement, cliquez sur le triangle à côté. Dans le menu, choisissez Terminal. Vous pouvez cliquer éventuellement sur Tout modifier et valider l'alerte qui apparaît. L'icône du fichier change et à partir de désormais jusqu'à dorénavant inclus, vous pourrez double-cliquer ce fichier pour lancer GenJ. Vous pouvez même en faire un alias que vous placerez où bon vous semble pour lancer GenJ encore plus vite !! Super, non ?
Quelle que soit la méthode utilisée ci-dessus, si jamais vous décidez de quitter le Terminal, GenJ quittera automatiquement, interrompant éventuellement les opérations en cours et sans procéder à aucune sauvegarde ! Veillez bien à quitter GenJ avant de quitter le Terminal, sinon vous risqueriez de perdre le travail et des données précieuses !