Safari Developer-Menü deaktiviert
Warum sollte meine Option "Menü" Safari-Entwicklung anzeigen "ausgegraut und nicht anklickbar sein? Ich habe versucht, Schritte zu finden, um es zu aktivieren, aber alle sagen einfach, klicken Sie auf das Kontrollkästchen. Muss ich mich irgendwo anmelden und die Berechtigungseinstellungen ändern?
Safari Version 13.1.2 (14609.3.5.1.5) läuft auf einem Macbook Air macOS Mojave Version 10.14.6 (18G6020)
Antworten
Testen unter einer vollständig aktualisierten macOS Mojave 10.14.6 mit Safari 13.1.2 , wenn die Hin- und Herschalten anzeigen Entwickeln Sie in der Menüleiste Kontrollkästchen auf Safari > Einstellungen ... > Erweitert gibt es zwei PLIST Dateien , die geändert bekommen. Eine Datei mit einem modifizierten Schlüssel und die andere Datei mit drei modifizierten Schlüsseln , dh:
- ~ / Library / Preferences / com.apple.Safari.SandboxBroker.plist
- ShowDevelopMenu
- ~ / Library / Containers / com.apple.Safari / Data / Library / Preferences / com.apple.Safari.plist
- IncludeDevelopMenu
- WebKitDeveloperExtrasEnabledPreferenceKey
- WebKitPreferences.developerExtrasEnabled
Der Wert aller vier dieser Tasten ist ein Boolescher Wert. Wenn das Kontrollkästchen Entwicklungsmenü in der Menüleiste anzeigen aktiviert ist, lautet der Wert yes , true oder 1, je nachdem, wie die Einstellungen gelesen werden.
Im Terminal wird der defaults read ... Befehl zurückgegeben 1oder 0, oder wenn der Schlüssel nicht vorhanden ist, wird eine Meldung angezeigt.
Das Beispiel Shell - Skript - Code , weiter unten, wurde getestet und funktioniert unter normalen Umständen jedoch kann es nicht die Arbeit an einem inaktiven anzeigen Menü in der Menüleiste Entwickeln Kontrollkästchen . Das heißt, Sie haben wirklich nichts zu verlieren, als ein paar Minuten Zeit, um es zu versuchen.
Anmerkungen:
- Wichtig! Um für dieses Beispiel Shell - Skript zu arbeiten , die Sie brauchen werden, zumindest vorübergehend, fügt Klemme zu Systemeinstellungen > Sicherheit und Datenschutz > Datenschutz > Full Disk - Zugang und Klemme soll geschlossen werden , wenn Sie tun.
- Wenn das Beispiel- Shell-Skript ausgeführt wird, sollte Safari ebenfalls geschlossen werden. Wenn es jedoch codiert ist , wird es geschlossen, wenn es geöffnet ist. Es wird auch geöffnet, nachdem die Änderungen vorgenommen wurden.
- Aufgrund anderer Sicherheitsmaßnahmen des Betriebssystems ( Sandboxing ) muss die Datei com.apple.Safari.plist kopiert , dort geändert und dann zurück verschoben werden. Der Shell - Skript , so codiert , behandelt dies. Die Datei com.apple.Safari.SandboxBroker.plist wurde an Ort und Stelle geändert.
/tmp/ - Wie codiert, die beiden PLIST Dateien bekommen mit einem gesicherten BAK - Erweiterung , aber die Shell - Skript nur einmal ausgeführt werden kann , es sei denn , die
nvon entfernt wirdcp -avnfür beide Dateien , die dann die ursprünglichen Backups überschrieben ! - Wie codiert, werden Debugging-Informationen (
set -x) ausgegeben. Falls Sie ein Problem haben, können Sie die Ausgabe vom Terminal kopieren und bei Bedarf zur Fehlerbehebung einfügen . Wenn es also ein Problem gibt, schließen Sie das Fenster erst , wenn es an einer anderen Stelle kopiert und eingefügt wurde, damit ich es sehen kann.
Um die Verwendung Beispiel Shell - Script - Code :
Öffnen Sie das Terminal und führen Sie den folgenden zusammengesetzten Befehl aus :
touch sdmcb; chmod u+x sdmcb; open -e sdmcbKopieren und Einfügen Beispiel Shell - Script - Code in das geöffnete sdmcb Dokument , dann speichern und schließen es.
Zurück im Terminal verwenden Sie den folgenden Befehl , um das Shell-Skript auszuführen :
./sdmcb
Das ist es, das wird entweder funktionieren oder es wird nicht funktionieren, es ist das einzige, was ich mir vorstellen kann , ohne MacOS Recovery zu booten und die beiden PLIST- Dateien zu löschen , wodurch möglicherweise eine Einstellung entfernt wird, die dazu führt, dass es zunächst inaktiv ist, wenn Es ist sogar in diesen beiden Dateien .
Beispiel Shell - Skript - Code :
#!/bin/bash
set -e
set -x
[[ $(ps x | grep '[S]afari.app') == "" ]] || killall Safari; sleep 2 cd "$HOME/Library/Containers/com.apple.Safari/Data/Library/Preferences/" || exit
cp -v 'com.apple.Safari.plist' '/tmp/' || exit
cp -avn 'com.apple.Safari.plist' 'com.apple.Safari.plist.bak' || exit
defaults write '/tmp/com.apple.Safari.plist' "IncludeDevelopMenu" -bool 'yes'
defaults write '/tmp/com.apple.Safari.plist' "WebKitDeveloperExtrasEnabledPreferenceKey" -bool 'yes'
defaults write '/tmp/com.apple.Safari.plist' "WebKitPreferences.developerExtrasEnabled" -bool 'yes'
mv -v '/tmp/com.apple.Safari.plist' .
cd "$HOME/Library/Preferences/" || exit cp -avn 'com.apple.Safari.SandboxBroker.plist' 'com.apple.Safari.SandboxBroker.plist.bak' || exit defaults write "$HOME/Library/Preferences/com.apple.Safari.SandboxBroker.plist" "ShowDevelopMenu" -bool 'yes'
killall cfprefsd
sleep 3
open -a "/Applications/Safari.app"