Per prima cosa devo dire che al momento non sono in grado di ssh
in un altro Mac per testarlo, tuttavia lo offrirò comunque perché credo che funzioni.
Alcune supposizioni da parte mia ...
- Ciascuno dei sistemi da toccare ha più di un account utente.
- Utilizzerai le credenziali amministratore per modificare il file .plist di destinazione.
Note:
Per poter toccare il file .plist di destinazione in ciascun account, dovrai utilizzare sudo
e in tal modo cambierà il proprietario: gruppo del file di destinazione su root: wheel e dovrà essere cambiato dopo che il comando defaults write ...
è stato eseguito sul file di destinazione. Quindi le informazioni sul proprietario: gruppo del file dovranno essere accertate e memorizzate in variabili prima di essere toccate.
Se Google Chrome è in esecuzione nel momento in cui viene toccato .plist , le modifiche probabilmente non avranno effetto fino a quando l'app non verrà chiusa e riaperta. Inoltre, a seconda della versione di OS X, la modifica potrebbe essere sovrascritta quando l'app viene chiusa. Se questo è il caso, devi aggiungere altro codice per verificare se l'app è in esecuzione e chiuderla prima di toccare il suo file .plist .
Il seguente script bash dovrebbe fare ciò che è necessario.
#!/bin/bash
f="/Library/Preferences/com.google.Chrome.plist"
for d in /Users/*; do
if [[ -f $d$f ]]; then
og="$(ls -l "$d$f" | awk '{print $3":"$4}')"
defaults write "$d$f" DisablePrintPreview -boolean true
chown "$og" "$d$f"
fi
done