通过命令行设置默认Web浏览器?

Zet*_*ttt 15 macos defaults launch-services osx-mountain-lion

我正试图弄清楚如何通过命令行在OS X上设置默认Web浏览器.我找到了这个论坛帖子,但他们正在解决的解决方案是打开一个特定应用程序的特定URL.我正在寻找一种方法来设置默认的浏览器系统.在GitHub上有这个简洁的应用程序,名为Objektiv,它正是我所追求的,但它是一个应用程序.显然,有一个Cocoa方法来设置NSWorkSpace默认浏览器.

com.apple.LaunchServices需要为此更改首选项文件,可能更多.

如何通过命令行设置不同的默认浏览器?

感谢帮助.

Dod*_*act 8

我找到了这个工具。安装后,您可以执行以下操作:

defaultbrowser chrome
Run Code Online (Sandbox Code Playgroud)

这是完整的源代码,以防404将来出现链接。它根据MIT许可获得许可,版权(c)2014 Margus Kerma。

defaultbrowser chrome
Run Code Online (Sandbox Code Playgroud)

生成文件:

BIN ?= defaultbrowser
PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin

CC = gcc
CFLAGS = -O2

.PHONY: all install uninstall clean

all:
    gcc -o $(BIN) $(CFLAGS) -framework Foundation -framework ApplicationServices src/main.m

install: all
    install -d $(BINDIR)
    install -m 755 $(BIN) $(BINDIR)

uninstall:
    rm -f $(BINDIR)/$(BIN)

clean:
    rm -f $(BIN)
Run Code Online (Sandbox Code Playgroud)

  • 您也可以通过homebrew现在安装它:`brew install defaultbrowser` (2认同)
  • 谢谢; 这很完美!我的默认浏览器在“首选项”中以某种方式取消设置,这修复了它。 (2认同)

bry*_*edy 7

我知道这并没有专门回答您的问题,但如果您只需要为 Chrome 执行此操作,它有一个标志可让您将自己设置为默认浏览器:

$ open -a "Google Chrome" --args --make-default-browser
Run Code Online (Sandbox Code Playgroud)


小智 6

对于较新版本的 macOS(Catalina、Big Sur),我在 Swift 中重新实现了默认浏览器工具(称为defbro)。主要原因是使用“现代”编程语言,它为我提供了一种简单的方法来调整和改进它。我还添加了 json 输出defbro --json,以防你想用它做其他事情。

安装:brew install jwbargsten/misc/defbro

仓库:https: //github.com/jwbargsten/defbro