1 votes

Découvrir le navigateur par défaut de manière programmatique sur Mac

Je veux utiliser la ligne de commande pour savoir quelle application ouvre les liens http et https. Je dois faire cela dans un script. Je peux voir la réponse en exécutant 'defaults read com.apple.LaunchServices' mais je ne veux pas analyser ce dictionnaire moi-même.

1voto

Jens Erat Points 16432

Apple script a des capacités intégrées pour analyser les fichiers de liste de propriétés. StefanK sur macscripter.net fournit un extrait qui m'a déjà aidé il y a quelque temps. Vous pouvez le sauvegarder et l'exécuter facilement comme un script, je l'ai stocké dans le répertoire bin de mon utilisateur (que j'ai ajouté à mes $PATH ) :

#!/usr/bin/osascript

tell (system attribute "sysv") to set MacOS_version to it mod 4096 div 16
if MacOS_version is 5 then
    set {a1, a2} to {1, 2}
else
    set {a1, a2} to {2, 1}
end if
set pListpath to (path to preferences as Unicode text) & "com.apple.LaunchServices.plist"
tell application "System Events"
    repeat with i in property list items of property list item 1 of contents of property list file pListpath
        if value of property list item a2 of i is "http" then
            return value of property list item a1 of i
        end if
    end repeat
    return "com.apple.Safari"
end tell

1voto

Dave Points 986

Autres options :

VERSIONER_PERL_PREFER_32_BIT=1 perl -MMac::InternetConfig -le 'print +(GetICHelper "http")[1]'

tell application "System Events"
    try
        value of property list item "LSHandlerRoleAll" of (property list item 1 of property list item "LSHandlers" of property list file ((path to preferences as text) & "com.apple.LaunchServices.plist") where value of property list items contains "http")
    on error
        "com.apple.safari"
    end try
end tell

http://www.hamsoftengineering.com/codeSharing/defaultApplication/defaultApplication.html :

$ DefaultApplication -url http:
/Applications/Safari.app

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X