Démarrage silencieux

Crée sur ton Bureau un fichier sonmoyen.sh via la commande :
Bloc de code:
touch ~/Desktop/sonmoyen.sh
  • ouvre-le avec TextEdit (fichier vide). Colle l'instruction :
Bloc de code:
#!/bin/bash
osascript -e 'set volume 6'
  • et enregistre ton édition. Passe encore la commande :
Bloc de code:
chmod u+x ~/Desktop/sonmoyen.sh
  • qui rajoute l'exécutable bit : x pour l'utilisateur dans les autorisations du fichier.

Cela fait > déplace le fichier => /Library/Scripts. Est-ce que ça te suffit comme coup de main ? Note que tu peux réouvrir le fichier via TextEdit et éditer la valeur du volume sonore actuellement = 6.
 
  • J’aime
Réactions: Vinzzz25
J'ajoute une note : mon laïus antérieur dans ce fil concernant des variations du niveau sonore du carillon de démarrage était adressé à ecatomb (devenu membre supprimé). C'était un professionnel du codage informatique. Ce qui fait que mon topo est ici lacunaire > présupposant qu'ecatomb savait créer un fichier machin.sh dans les Scripts de la Bibliothèque et le rendre exécutable. Supposant l'existence d'un tel fichier machin.sh à la localisation dite --> je racontais comment on peut employer la commande echo pour éditer le fichier existant avec telle ou telle instruction.

- en résumé : tu as affaire ici à un "mode d'emploi elliptique" > qui n'a pas la complétude d'un tuto.​
 
  • J’aime
Réactions: Vinzzz25
Bon, j'ai bien créé sonmoyen.sh , puis j'y ai mis l'instruction requise avec TextEdit, j'ai passé la dernière commande dans le Terminal et je me suis authentifié pour le mettre à côté de chimebas.sh dans le dossier Scripts.

J'ai mis le son à fond avant de redémarrer. Le chime est sorti modéré comme depuis la création de chimebas.sh, mais j'ai retrouvé le niveau de son à 1, pas à 6.

J'ai dû rater un truc ?

Sinon, j'ai pris le temps de décortiquer ton développement pour commencer à comprendre, qu'importe le flacon ;)
 
Est-ce que tu as créé un LoginHook prenant en charge le fichier sonmoyen.sh > en parallèle d'un LogoutHook prenant en charge le fichier chimebas.sh ?

- le LogoutHook (de l'utilisateur root) affectant un son bas au carillon de démarrage > le LoginHook (de root toujours) rétablissant le son en session à la valeur fixée par le fichier sonmoyen.sh ? --> ces instructions affectant l'utilisateur root se trouvent étendues à tout utilisateur ouvrant sa session.​
Si oui et si ça ne fonctionnait toujours pas => il faudrait voir à restaurer les autorisations sur le fichier sonmoyen.sh à user=root et primary group=wheel. Ce par une commande :
Bloc de code:
sudo chown 0:0 /Library/Scripts/sonmoyen.sh
  • une commande ensuite :
Bloc de code:
sudo chmod 777 /Library/Scripts/sonmoyen.sh
  • rendant le fichier exécutable pour tout accédant.
 
Dernière édition par un modérateur:
Non, je n'ai pas créé de LoginHook , je suppose que ça concerne la première partie du message #10 https://forums.macg.co/threads/demarrage-silencieux.1289270/post-13170389 ?

Je suis passé directement à la seconde partie car je ne voulais pas couper le chime.

Dans ma configuration, je ne vois a priori pas de lien entre les 2 scripts chimebas.sh et sonmoyen.sh sinon leur présence commune dans le dossier Scripts.
 
La fonction du LogoutHook ici est de couper le son du Mac en sortie de session (avant extinction ou redémarrage). Ainsi > quand le Mac entre dans la phase de pré-boot > le son-Système étant coupé => le chime ne retentit pas. Si le LogoutHook instruit rien qu'un abaissement du son-Système en sortie de session > alors le chime retentit avec une valeur sonore abaissée.

- la fonction du LoginHook est de rétablir le son-Système à l'ouverture de session (s'il avait été coupé) > ou à une valeur augmentée (s'il avait été abaissé). Si tu ne crées pas un LoginHook prenant en charge le fichier sonmoyen.sh --> le son-Système gardera la valeur fixée par le LogoutHook prenant en charge le fichier chimebas.sh.​

Passe la commande :
Bloc de code:
sudo defaults write com.apple.loginwindow LoginHook /Library/Scripts/sonmoyen.sh
  • pour créer le LoginHook
----------

Note : les commandes LogoutHook et LoginHook préfacées de sudo => écrivent à un fichier de préférences de la Bibliothèque de root = /private/var/root/Library/Preferences/com.apple.loginwindow.plist > aux clés (keys) respectivement intitulées : LogoutHook vs LoginHook --> des valeurs (strings) consistant dans le chemin menant aux fichiers d'instructions exécutables (/Library/Scripts/chimebas.sh & /Library/Scripts/sonmoyen.sh).

- tu n'as qu'à passer la commande :​
Bloc de code:
sudo defaults read /private/var/root/Library/Preferences/com.apple.loginwindow.plist
  • qui lit le fichier com.apple.loginwindow.plist de la Bibliothèque de root

Poste le retour.
 
  • J’aime
Réactions: Vinzzz25
Bloc de code:
{
    LoginHook = "/Library/Scripts/sonmoyen.sh";
    LogoutHook = "/Library/Scripts/chimebas.sh";
}
 
Les paramètres sont valides -->

- est-ce que tu obtiens le fonctionnement sonore attendu ?​
 
Oui ! :up:

Je viens de redémarrer avec le son réglé à fond.

Le chime est comme depuis le début de cette manip et ensuite, le son se cale à 6, en gros 3/4 chez moi.

J'ai intégré que je pouvais jouer sur la valeur 6 dans le script pour varier plus ou moins, mais ai-je une ressource pour encore baisser le son du chime (volume1), la valeur doit-elle être entière ou je peux diviser ?

Je demande avant de chambouler le réglage actuel très satisfaisant ;)

:merci: pour ton accompagnement qui résout toujours les souhaits, tu fais mieux qu'Aladin qui n'en propose que 3 :)
 
  • Haha
Réactions: litobar71
Content pour toi !

- les valeurs sont des entiers dans le script. Quitte à avoir un carillon de démarrage à la limite de l'audible --> pourquoi ne pas couper le son carrément ?​
 
  • J’aime
Réactions: peyret
Ça ne coûte rien d'essayer, je viens de mettre 0 à la place de 1 dans le script chimebas.sh. Pas directement, le système m'a demander de dupliquer, je n'avais pas les droits pour modifier. Je l'ai fait, puis j'ai viré l'original (volume 1) et remis le nouveau chimebas.sh (volume 0) dans le dossier Script en m'identifiant.

Au redémarrage, il me semble que le son est plus bas, encore audible. Je précise que j'ai des enceintes amplfiées (2 + 1) reliées au jack de sortie de l'iMac. Dans Préférences Système/Son/Sortie j'ai bien écouteurs. Néanmoins, le chime semble venir des HP internes...
 
Si tu crées un nouveau fichier chimebas.sh > n'oublie pas de le rendre exécutable.

- pour éditer un fichier en place protégé => utilise d'éditeur TextWrangler par exemple à la place de TextEdit.​
 
Pour le rendre executable c'est bien ?

Bloc de code:
chmod u+x /Library/Scripts/chimebas.sh

J'ai recommencé la manip, chimebas.sh est toujours dans le dossier Scripts et annoncé verrouillé dans TextEdit. J'ai voulu rentrer TextWrangler qui est maintenant BBEdit. J'ai donc fait la modification de volume 1 en volume 0 et enregistré depuis BBEdit. chimebas.sh est correctement modifié avec volume 0, mais en redémarrant, ce n'est pas effectif. Dois-je recommencer :

Bloc de code:
chmod u+x /Library/Scripts/chimebas.sh

Que puis-je vérifier ?
 
La commande :
Bloc de code:
sudo chown 0:0 /Library/Scripts/chimebas.sh
  • restaure à root:wheel les accédants du fichier

La commande :
Bloc de code:
sudo chmod 777 /Library/Scripts/chimebas.sh
  • accorde des permissions d'exécution aux 3 accédants du fichier (root > wheel > everyone). Mais la commande :
Bloc de code:
sudo chmod u+x /Library/Scripts/chimebas.sh
  • fonctionne aussi en n'accordant la permission exécutive qu'au seul utilisateur (root suite à la 1ère commande).

Ces éditions effectuées > si tu as des problèmes avec la valeur 0 => reviens à la valeur 1 et contente-t'en.
 
  • J’aime
Réactions: Vinzzz25
Encore :merci: pour ces précisions, je considère que j'ai tout en main, à moi d'essayer différentes valeurs et de tester. Je reviendrai avec la synthèse.
 
:coucou:

Je reviens avec un constat d'échec.

J'ai tout repris pas à pas de zéro pour contrôler mes actions en redémarrant.

Pour faire une synthèse courte, je crée le script chimebas.sh (volume 1) qui va s'installer avec les commandes Terminal proposées, dans le dossier /Library/Scripts en lui accordant tous les droits.

Ainsi, au démarrage j'ai un chime à un volume auquel je m'habitue car il n'a jamais varié quelque soit le réglage général du son. Avec chimebas.sh, je retrouve effectivement le volume à 1 après la séquence de démarrage, comme si le script avait fonctionné après le chime. Si je mets 5 à la place de 1, même chime et je retrouve le son à 5.

Par contre, la création et l'installation du script sonmoyen.sh fonctionne dans le sens où je retrouve bien le niveau de son général spécifié dans la syntaxe (volume 6). Si je mets une autre valeur, je la retrouve dans le curseur son.

Là, je ne vois pas quoi faire de plus, le script chimebas.sh est bien pris en compte, mais pas assez tôt ?
 
Est-ce que tu voudrais un script de coupure de son pour neutraliser le carillon de démarrage ? - puisque l'instruction de réduction de son ne fonctionne pas ?
 
  • J’aime
Réactions: litobar71
Pour ça, j'ai la suite de commande au début du message #10, non ?

Sinon, je ne tiens pas à être aussi radical, depuis l'Apple IIe j'aime bien cette façon de dire bonjour ;)
 
Disons que ça peut servir de test expérimental pour vérifier si ton fichier chimebas.sh est bien exécuté en sortie de session avant extinction ou redémarrage du Mac (fonction du LogoutHook).

- si tu veux effectuer ce test > remplace l'instruction du fichier cité par :​
Bloc de code:
#!/bin/bash
osascript -e 'set volume with output muted'
  • ce qui va te permettre de vérifier si le carillon est bien neutralisé dans le temps du boot.
 
J'ai remplacé la syntaxe de chimebas.sh par celle proposée. Curieusement, le son s'est mis à zéro sans que j'y touche. J'ai redémarré, même chime, le son là où je l'avais remis.

Ça dit quoi docteur ?