Bonjour,

J'espère poster cela au bon endroit ...
J'utilise launchctl pour modifier le volume du son au démarrage et à l'arrêt de mon iMac. Le but est :
1 - ne pas avoir le bruit du démarrage trop fort (celui indiquant que l'appareil fonctionne correctement)
2 - avoir un volume par défaut lorsque j'utilise l'appareil (sans avoir à le réduire ou l'augmenter manuellement)

J'arrive très bien à faire la partie au démarrage, mais pas celle lors de la deconnexion ...
Le script se lance bien, mais la modification du volume ne fonctionne pas

Fichier : Logout.plist
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.local.Logout</string>
  <key>ProgramArguments</key>
  <array>
    <string>/Users/xxx/repertoire/Logout.sh</string>
  </array>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>
Fichier : Logout.sh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh
onLogout() {
  #SoundOff
  date >> "/Users/xxx/repertoire/Logout.log"
  /usr/bin/osascript -e "set volume output volume 6" >> "/Users/xxx/repertoire/Logout.log" 2>&1
  exit
}
 
trap 'onLogout' SIGINT SIGHUP SIGTERM
while true; do
  sleep 86400 &
  wait $!
done
Le script Logout.sh se lance bien lorsque je me déconnecte mais il fait l'erreur suivante :
2015-12-19 12:06:23.300 osascript[503:18435] *** CFMessagePort: bootstrap_register(): failed 124 (0x7c) 'unknown error code', port = 0x2247, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
2015-12-19 12:06:23.302 osascript[503:18435] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2015-12-19 12:06:23.302 osascript[503:18435] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2015-12-19 12:06:23.302 osascript[503:18435] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
2015-12-19 12:06:23.303 osascript[503:18435] CFPasteboardRef CFPasteboardCreate(CFAllocatorRef, CFStringRef) : failed to create global data
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.
En cherchant, j'ai vu qu'il faudrait rajouter un sudo comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sudo -u xxx /usr/bin/osascript -e "set volume output volume 6" >> "/Users/xxx/repertoire/Logout.log" 2>&1
xxx étant le nom d'utilisateur

Mais dans ce cas, j'ai l'erreur suivante :
sudo: unknown uid: 501
Auriez-vous une idée pour résoudre ce problème ?

Merci