macOS 将google-chrome命令直接映射到谷歌浏览器的可执行文件上。可以像在Ubuntu上一样直接使用命令启动谷歌浏览器。

 

创建符号链接

  1. 找到谷歌浏览器的可执行文件: 在macOS中,应用程序通常位于/Applications目录下,并且它们的可执行文件隐藏在.app包中。谷歌浏览器的可执行文件路径是:

    bash复制代码
    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome
    
  2. 创建符号链接: 你可以在终端中使用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
    

    这个命令会要求你输入管理员密码来授予权限。

  3. 使用新命令: 创建符号链接后,你可以像在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 不允许更改某些受保护的文件的权限

 

使用自定义脚本代替符号链接

如果符号链接的方式不太稳定,你可以创建一个简单的脚本来启动谷歌浏览器,这个方法绕过了符号链接可能带来的问题。

创建脚本:

  1. 打开终端并创建一个新的脚本文件:

    bash复制代码
    sudo nano /usr/local/bin/google-chrome
    
  2. 在文件中添加以下内容:

    bash复制代码
    #!/bin/bash
    "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" "$@"
    
  3. 保存并退出 (Ctrl + X, 然后按 Y 保存)。

  4. 给脚本执行权限:

    bash复制代码
    sudo chmod +x /usr/local/bin/google-chrome
    

现在,你应该可以使用google-chrome命令正常启动谷歌浏览器了。

posted @ 2024-09-04 13:39  dontbealarmedimwithy  阅读(25)  评论(0编辑  收藏  举报