Ich habe lange versucht, das herauszufinden. Ich habe ein ziemlich typisches Mac OS-Bereitstellungsskript:
https://gist.github.com/ryanpcmcquen/b2e608311f286a4ab3e1
Ich möchte die Verknüpfungen für die Missionssteuerung so ändern, dass sie alle Ctrl+ Alt+ ...anstelle von Ctrl+ sind .... Die Standardeinstellung ist beispielsweise: Ctrl+ Up, um die Missionskontrolle zu aktivieren. Ich möchte dies in Ctrl+ Alt+ ändern Up, da die aktuelle Verknüpfung mit anderen von mir verwendeten Programmen in Konflikt steht.
Beachten Sie, dass ich bereits weiß, wie dies zu tun System Preferences > Keyboard > Shortcuts
ist. Ich suche nach einer skriptfähigen Befehlszeilenlösung.
BEARBEITEN: Dank @ user3439894 habe ich ein Skript erstellt, um alle Plist-Schlüssel so zu ändern, wie ich sie haben möchte. Das einzige Problem ist, dass es nicht funktioniert. :-(
Folgendes habe ich bisher:
#!/bin/bash
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 32 "{enabled = 1; value = { parameters = (65535, 126, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 33 "{enabled = 1; value = { parameters = (65535, 125, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 34 "{enabled = 1; value = { parameters = (65535, 126, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 35 "{enabled = 1; value = { parameters = (65535, 125, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 79 "{enabled = 1; value = { parameters = (65535, 123, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 80 "{enabled = 1; value = { parameters = (65535, 123, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 81 "{enabled = 1; value = { parameters = (65535, 124, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 82 "{enabled = 1; value = { parameters = (65535, 124, 3014656); type = standard; }; }"
chown -Rf `whoami` ~/Library/Preferences/com.apple.symbolichotkeys.plist;
defaults read com.apple.symbolichotkeys
type = standard;
sollte eigentlich type = 'standard';
die Anführungszeichen sein 'standard'
. Das heißt, manchmal wird die Änderung selbst bei einer ordnungsgemäß geformten Befehlszeile nicht wirksam, selbst wenn ; killall -u $USER cfprefsd
sie am Ende des defaults
Befehls hinzugefügt wird . Auch der vollständige Pfad zur .plist
Datei ist in diesem Anwendungsfall nicht erforderlich und einfach zB defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys ...
und der Rest des Befehls ist alles, was erforderlich ist.