macOS 将google-chrome命令直接映射到谷歌浏览器的可执行文件上。可以像在Ubuntu上一样直接使用命令启动谷歌浏览器。
创建符号链接
-
找到谷歌浏览器的可执行文件: 在macOS中,应用程序通常位于
/Applications
目录下,并且它们的可执行文件隐藏在.app
包中。谷歌浏览器的可执行文件路径是:bash复制代码/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
-
创建符号链接: 你可以在终端中使用
ln
命令在/usr/local/bin
目录下创建一个符号链接,命名为google-chrome
,这样你就可以直接在终端中使用google-chrome
命令了。执行以下命令:
bash复制代码sudo ln -s /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome /usr/local/bin/google-chrome
这个命令会要求你输入管理员密码来授予权限。
-
使用新命令: 创建符号链接后,你可以像在Ubuntu上一样,直接使用
google-chrome
命令来启动浏览器并传递参数,例如:打开隐身模式:
bash复制代码google-chrome --incognito
打开特定URL:
bash复制代码google-chrome "https://www.google.com"
通过创建符号链接,你可以直接使用google-chrome
命令来启动谷歌浏览器,完全不需要使用open
命令。这个方法更接近Ubuntu的使用体验
但是 这个方法用了后 发现 会报错
➜ ~ google-chrome --incognito dlopen /usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework: dlopen(/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework, 0x0105): tried: '/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework' (no such file), '/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework' (no such file).[1] 3257 abort google-chrome --incognito ➜ ~ cd /usr/local/bin ➜ bin ls google-chrome ➜ bin ll-a zsh: command not found: ll-a ➜ bin ll total 0 lrwxr-xr-x 1 root wheel 60B 9 4 14:03 google-chrome -> /Applications/Google Chrome.app/Contents/MacOS/Google Chrome ➜ bin ls -l /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -rwxr-xr-x@ 1 promessa admin 503008 8 31 07:07 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome ➜ bin ls -l /usr/local/bin/google-chrome lrwxr-xr-x 1 root wheel 60 9 4 14:03 /usr/local/bin/google-chrome -> /Applications/Google Chrome.app/Contents/MacOS/Google Chrome ➜ bin ls /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome /Applications/Google Chrome.app/Contents/MacOS/Google Chrome ➜ bin sudo chmod +x /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome ➜ bin ls -l /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome -rwxr-xr-x@ 1 promessa admin 503008 8 31 07:07 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome ➜ bin echo $path /usr/local/bin /System/Cryptexes/App/usr/bin /usr/bin /bin /usr/sbin /sbin /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin ➜ bin google-chrome dlopen /usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework: dlopen(/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework, 0x0105): tried: '/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework' (no such file), '/usr/local/bin/../Frameworks/Google Chrome Framework.framework/Versions/128.0.6613.120/Google Chrome Framework' (no such file).[1] 3332 abort google-chrome ➜ bin ls -l /Applications/Google\ Chrome.app total 0 drwxr-xr-x@ 11 promessa admin 352 8 31 07:52 Contents ➜ bin sudo chmod -R 755 /Applications/Google\ Chrome.app chmod: Unable to change file mode on /Applications/Google Chrome.app/Contents/CodeResources: Operation not permitted chmod: Unable to change file mode on /Applications/Google Chrome.app/Contents/Resources/bn.lproj/InfoPlist.strings: Operation not permitted chmod: Unable to change file mode on /Applications/Google Chrome.app/Contents/Resources/scripting.sdef: Operation not permitted
似乎是因为 macos 的安全机制 macos 不允许更改某些受保护的文件的权限
使用自定义脚本代替符号链接
如果符号链接的方式不太稳定,你可以创建一个简单的脚本来启动谷歌浏览器,这个方法绕过了符号链接可能带来的问题。
创建脚本:
-
打开终端并创建一个新的脚本文件:
bash复制代码sudo nano /usr/local/bin/google-chrome
-
在文件中添加以下内容:
bash复制代码#!/bin/bash "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" "$@"
-
保存并退出 (
Ctrl + X
, 然后按Y
保存)。 -
给脚本执行权限:
bash复制代码sudo chmod +x /usr/local/bin/google-chrome
现在,你应该可以使用google-chrome
命令正常启动谷歌浏览器了。