Script Shell au démarrage

Daddy98

Membre actif
22 Juin 2009
140
5
Melun
www.trackmymac.fr
Bonjour, je souhaiterais lancer automatiquement un script shell au démarrage de mon mac, si possible, avant l'ouverture de session.

Je ne parviens pas a lancer ce script via le dossier /Library/StratupItems/.
Je ne parviens pas non plus a le lancer le script via, le menu Ouverture dans les Préférences Système : ça m'ouvre Xcode au démarrage :nailbiting:


Comment puis-je faire ?


Merci par avance !
 
Bonjour

Ton script doit avoir des droits d'exécution (faire « chmod +x fichier_de_script » avant de l'utiliser).

Il faut éviter de lui laisser une extension qui provoquerait son ouverture par défaut dans une application. En l'absence d'extension, le type du fichier qui doit apparaître dans Finder est "Fichier exécutable Unix", ou quelque chose dans le genre.

En principe, l'entête du script doit également rappeler quel shell utiliser pour son exécution.
 
Merci PA5CAL.

C'est aussi simple que sa? -> plus d'extension et un chmod a 755.

Un fichier Shell avec un extension .sh est juste éditable ?

Et maintenant il faut que je re-test le dossier /Library/StratupItems

Et puis-je créer un Package d'installation pour distribuer mon script ? si oui, avec quel logiciel ?

PackageMaker est un peu hostile ;)

Merci

---------- Nouveau message ajouté à 14h25 ---------- Le message précédent a été envoyé à 12h50 ----------

Sa a l'air de marcher, mais pas encore tout bien !

Au démarrage du Mac, un message s'affiche m'indiquant qu'un élément du dossier StartupItems n'a pas été exécuté car les autorisation de dossier son invalides.
J'ai comparé par rapport au autres, les autorisation sont :
-wheel : Lecture seulement
-système : Lecture et écriture
-everyone : Lecture seulement

Sur le dossier que j'ai créer, je suis le propriétaire et je ne peut pas me supprimer des utilisateurs.
Je ne peut pas rajouter non plus l'utilisateur : système

:confused:

Quelqu'un a une idée ?

Merci
 
/Library/StartupItems/ est un dossier système particulier.

Apple précise clairement à propos des fichiers placés dans ce dossier :
Directories and executable files should have permissions of "0755," with the owner set to "root" and group set to "wheel." Other (non-executable) files should have permissions of "0644," with the owner set to "root" and group set to "wheel."
 
Faut-il indiquer le 0 a 0755 ?
Non. Le 0 indique seulement une valeur en octal.

Et comment le 'set to root' ?.
Pour changer le propriétaire à root et le groupe à wheel, la commande est :
Bloc de code:
[COLOR="DarkRed"]sudo chown [COLOR="DarkOrchid"]root[/COLOR]:[COLOR="RoyalBlue"]wheel[/COLOR][/COLOR] [I][COLOR="DimGray"]fichier_à_traiter[/COLOR][/I]
(le mot de passe administrateur est demandé).
 
Merci PA5CAL !

J'avais trouvé cette commande aussi. Le message a propos de sécurité n'apparaît plus. Mais le script ne semble pas s'exécuter quand même.

Je suis aller dans la doc Apple, je n'ai pas tout compris.

J'ai imaginé une technique qui consisterais a mettre le script dans un dossier du type 'Application Support'. puis insérer le script dans la liste de démarrage.
Mais comment le faire automatiquement par un installateur ?

Merci encore !! :up:

---------- Nouveau message ajouté à 17h17 ---------- Le message précédent a été envoyé à 16h56 ----------

Zut ! Ma technique ne pourrais pas marcher, car bien que le script soit rendu exécutable.
Un terminal va s'ouvrir alors que je voudrais que mon script s'exécute en silence.
Et si on oublie le silence, se script serra sans fin tant que l'ordinateur tourne donc ... c'est pas possible.
 
Bonsoir.


J'ai un nouveau problème, après avoir developé tout le site, je viens de m'apercevoir que le package d'installation ne fonctionne pas.

Il me copie les fichiers au bon endroit, mais avec les mauvaises autorisation. J'ai utilisé PackageMaker, dans les options de fichier et d'autorisation les infos semblent bonnes :eek:



Quelqu'un a une idée ?

Merci d'avance.

Daddy
 
Oui Launchd le fait très bien, mais je peut pas utiliser le même technique que le concurant, je risque d'avoir un problème :D

Sinon, a force de tests j'ai fini pas trouver, dans PackageMaker il faut re-définir les autorisations des fichiers dans l'ordinateur qui lance le paquet, mais ce n'est pas évidant tous de même.

Le programme est terminé, même en ligne, merci a tous de votre aide !
 
Oui Launchd le fait très bien, mais je peut pas utiliser le même technique que le concurant, je risque d'avoir un problème :D
Je ne vois pas où est le problème.

Il s'agit d'un mécanisme standard fourni par Apple, qui ne concerne en rien la propriété intellectuelle des tierces parties, et notamment de tes concurrents. Tout le monde a le droit de l'utiliser sans avoir de compte à rendre à quiconque.