Salut
rickpff.
Le son dont tu parles est le
carillon de démarrage du Mac (dit "
Chime" en Anglais). Appartenant à cette sous-espèce d'utilisateurs qui ne supporte en aucune
sorte,
forme,
mode ni
manière ce genre d'interpellation sonore au démarrage du Mac, j'utilise comme
gmaa un script qui coupe le son du Mac à la fermeture de session, ce qui fait que quand le Mac est rallumé, le son étant à zéro, le
Chime ne retentit pas. Comme, si l'on s'en tenait là, le son ne serait pas automatiquement rétabli à la ré-ouverture de session, j'utilise par ailleurs un 2è script afin de rétablir le niveau du volume sonore.
Afin que le script d'extinction du son soit exécuté à la fermeture de session, j'utilise un vieux procédé qui porte le nom de
LogoutHook ("crochet de délogement") : il s'agit d'une instruction inscrite dans le système de préférences d'utilisateurs (grâce au programme UNIX defaults) qui passe un appel au Système, à la fermeture de toute session d'utilisateur, pour que le script ciblé soit exécuté. Ce procédé du LogoutHook continue d'ête honoré sous «Yosemite 10.10.3» y compris.
Longtemps, pour que le son soit rétabli dans la session ré-ouverte au niveau par défaut (càd. celui qui était le sien en fermeture de session avant intervention du LogoutHook), j'ai utilisé le procédé symétrique dénommé : LoginHook ("crochet de logement") : il s'agit d'une instruction également inscrite dans le système de préférences d'utilisateurs (grâce au programme UNIX defaults) qui passe un appel au Système, avant l'ouverture de toute session d'utilisateur, pour que le script alternatif de rétablissement du son soit exécuté. Ce procédé du LoginHook n'est malheureusement plus honoré sous «Yosemite 10.10» alors qu'il était encore fonctionnel jusqu'à «Mavericks 10.9» compris [le recours à des hooks est un procédé deprecated - "désapprouvé" - actuellement par Apple quoique toujours fonctionnel pour le seul LogoutHook, à la différence du LoginHook dont le déploiement du processus launchd au démarrage semble invalider l'appel]. Afin de pallier cette panne du LoginHook, j'ai simplement transformé le script qui était exécuté avant l'ouverture de session en une Application AppleScript et je l'ai introduite dans la liste des éléments à lancer à l'ouverture de ma session (dans les Préférences Système/Utilisateurs et groupes/Utilisateur/Ouverture) --> en conséquence, après l'ouverture de ma session, le son se trouve automatiquement rétabli par l'exécution de cette petite application (à la différence du LoginHook qui s'exécutait en mode root avant toute ouverture de session d'utilisateur particulier, et donc rétablissait a priori le son pour toutes session ouvrable ; la méthode de l'application de rétablissement du son qui se lance à l'ouverture de session ne vaut que pour autant que l'utilisateur en ait commandé l'exécution - en cas d'utilisateurs multiples sur le Mac, il faudrait que chacun mentionne cette application comme élément à lancer à l'ouverture de sa session pour que le son soit rétabli chaque fois).
Mon recours à ce bricolage qui peut paraître un tantinet compliqué s'explique par de simples circonstances historiques : il existait dans le temps de petits logiciels (comme «StartupSound.preferencePane» ou «StartNinja») qui exécutaient les tâches de suppression du son de démarrage, puis rétablissement du son dans la session - mais ils ont cessé d'être fonctionnels depuis «Lion 10.7» en gros. Par ailleurs, si le logiciel "boîte à outils" ☞Onyx☜ (gratuit) propose bien actuellement l'option d'extinction du son au démarrage (Paramètres/Session/Son de démarrage : Désactiver - tout en bas du panneau), il se trouve que cette fonctionnalité est relativement récente. J'ai donc été amené à recourir à une solution d'entre-deux à laquelle je suis resté fidèle et qui s'avère marcher de manière tout à fait stable.
♤
Si tu était intéressé par le procédé du script d'extinction du son qui se trouve exécuté en fermeture de session suite à un appel du LogoutHook, voici comment faire :
- a)Tu vas à : Applications/Utilitaires et tu lances le «Terminal». Dans sa fenêtre, tu commences par saisir (copier-coller) la commande suivante :
et ↩︎ (presse la touche "Entrée" du clavier pour activer la commande) --> par la commande cd ("change directory"), tu te retrouves logé en tant qu'opérateur dans le sous-dossier Scripts de la Bibliothèque Générale où devra atterrir ton script.
- b) tu enchaînes par la commande :
et ↩︎ une demande de password s'affiche (commande sudo) --> tape ton mot-de-passe admin à l'aveugle - aucun caractère ne se montrant à la frappe - et derechef ↩︎ --> le «Terminal» t'affiche l'espace de saisie du traitement de texte basique nano.
- c) dans cet espace, tu fais un copier-coller direct de :
Bloc de code:
#!/bin/bash
osascript -e 'set volume with output muted'
et ↩︎ [c'est la commande de neutralisation de la sortie sonore] et tu presses la combinaison de touches ⌃O (ctrl O) afin de pouvoir éditer le titre de ton fichier.
- d) ton curseur se retrouve tout en bas de l'espace de saisie de nano dans la bande de saisie : File Name to Write (nom du fichier à écrire) --> je te propose d'écrire ici : carillon-muet.sh (n'oublie pas l'extension .sh qui confère au fichier le format d'un fichier de script shell - bash pour toi par défaut) --> tu conclus en pressant à la fois les touches ⌃X (ctrl X) afin d'exécuter la sauvegarde de ton fichier qui se retrouve désormais dans le dossier Scripts de la Bibliothèque Générale du Mac.
- e) le fichier ayant été créé dans le «Terminal» dans nano par un opérateur substitut de root a les bons accédants par défaut : user=root & group=wheel. Mais il lui manque toujours par défaut l'executable bit qui peut seul lui conférer la propriété d'être exécutable justmement. Pour pallier ce manque, tu passes encore la commande dans le «Terminal» (qui à la suite de ton ⌃X précédent a réaffiché la fenêtre de saisie de commandes normale) :
Bloc de code:
sudo chmod u+x /Library/Scripts/carillon-muet.sh
et ↩︎ (dans un délai de grâce de 5' après une première authentification sudo, tu restes sudoer - tenant-lieu de root - par défaut et tu n'as pas besoin de ressaisir ton mot-de-passe pour de nouvelles commandes préfixée de sudo) --> l'executable bit est désormais appendu à ton fichier pour l'user=root.
- f) il ne te reste plus qu'à créer le LogoutHook ad hoc qui, à la fermeture de session, passera l'appel au Système d'avoir à exécuter le script carillon-muet.sh d'extinction du son. Fais illico un copier-coller de :
Bloc de code:
sudo defaults write com.apple.loginwindow LogoutHook /Library/Scripts/carillon-muet.sh
et ↩︎ (le programme UNIX defaults est invoqué pour éditer le fichier de préférences d'utilisateur : com.apple.loginwindow.plist afin d'y insérer la valeur : LogoutHook avec chemin au fichier shell exécutable voulu).
☞ C'est fait ! (Élémentaire, mon cher Watson)... Tu peux quitter le «Terminal».
♧
À présent, tu aimerais bien, n'est-pas, un procédé automatique de rétablissement du son à sa dernière valeur (càd. exactement celle qui était la sienne au moment de la fermeture de session) - une fois que ta session a été ré-ouverte après le démarrage? Comme dit précédemment, le procédé symétrique inverse du LogoutHook : le LoginHook est actuellement invalide sous «Yosemite 10.10». Je ne te le propose donc pas (mais si ton Mac supportait une version d'OSX antérieure - jusqu'à «Mavericks 10.9» compris - il te suffirait de demander le procédé) ; mais la méthode qui consiste à créer une petite application à lancer en ouverture de session. Voici comment (c'est plus simple que pour le script précédent) :
- a) tu vas à : Applications/Utilitaires et tu lances l'«Éditeur de script» qui t'ouvre par défaut une fenêtre de saisie intitulée "Sans titre".
- b) colle illico dans cette fenêtre la ligne de commande :
Bloc de code:
set volume without output muted
et presse le bouton "Compiler" juste au-dessus (celui qui arbore le logo d'un pic égrisoir = logo "developer") ce qui ré-arrange ta ligne.
- c) va à la barre de menus supérieure de l'«Éditeur de script», menu : Fichier --> sous-menu : Exporter --> un panneau de saisie s'affiche où tu renseignes :
- Exporter comme (= intitulé) -->Rétablissement du son
- Emplacement --> Applications
- Format de fichier --> Application
et rien d'autre --> tu presses le bouton Enregistrer pour sauvegarder ta petite application (je t'ai proposé comme localisation le répertoire des Applications générales, pour qu'un autre utilisateur puisse éventuellement s'y référer). Il est décisif que tu enregistres ton script au format : application.
- d) il ne te reste plus qu'à aller à : Menu /Préférences Système/Utilisateurs et groupes --> pour l'utilisateur que tu es, au menu du champ de droite : Ouverture, tu presses tout en bas le bouton + pour ajouter un élément à lancer à l'ouverture de ta session, ce qui affiche un champ de navigation dans l'arborescence de l'OS --> tu vas au répertoire des Applications et tu sélectionnes ta petite application AppleScript : «Rétablissement du son.app» et tu presses le bouton : Ajouter.
☞ C'est fait ! Tu peux étrenner ton Mac silencieux au démarrage et sonore seulement après la ré-ouverture de session.
[Je m'étais livré naguère à une petite mise en scène théâtrale avec variations sur le sujet que tu peux lire ici si le courage ne t'en faisait pas défaut : ☞Baisser le son d'ouverture de Mountain Lion☜]
♡
NB. Si tu voulais te raviser et permettre au Chime de retentir da capo, alors il te suffirait de repasser par le «Terminal» et de saisir la commande de neutralisation du LogoutHook suivante :
Bloc de code:
sudo defaults delete com.apple.loginwindow LogoutHook
et le fichier com.apple.loginwindow.plist concerné serait édité en conséquence. Ou il te suffirait d'aller à : Bibliothèque/Scripts et de déloger le fichier : carillon-muet.sh --> ce qui couperait les ressources du LogoutHook laissé en place. Par ailleurs, il suffirait de supprimer de la liste des items à lancer à l'ouverture de session l'application : «Rétablissement du son.app» (dans les Préférences Système/Utilisateurs et groupe/Ouverture) pour compléter l'apuration.
♢