Mac 6 2

    Mac软件安装问题合集

    Mac如何允许安装任何来源软件/“xxx.app 显示已损坏“/M1 应用安装后运行闪退/关闭SIP系统完整性保护/Homebrew/常用快捷键

    写在开头

      不知不觉也是用了四年Mac电脑,inter和m芯片的设备都用过,关于一些mac的坑是一个也没落下,于是有了这篇文章。
      使用mac时候总会遇到奇奇怪怪得问题,有时候过两天问题就好了,有时候得到处搜索,在这里写一个问题合集记录一下。

    Mac允许安装任何来源软件

      1. 打开终端,输入

    sudo spctl --master-disable

      2. 回车,输入密码(注意输入密码不显示,要记得输完)
      系统偏好设置 --> 安全性与隐私
      进入安全性与隐私,点击右下角的解锁按钮,选择允许从任何来源;

    “xxx.app 显示已损坏”

      1. 先检查是否打开允许任何来源(具体操作查看【操作1.】)
      2. 终端输入

    sudo xattr -rd com.apple.quarantine /Applications/xxx.app

      回车,输入密码(注意输入密码不显示,要记得输完)
      其中xxx.app是存在问题的软件。

    小tips: 我常用是先输入 sudo xattr -rd com.apple.quarantine (注意quarantine后面有空格),然后直接从finder中把软件拖到终端就自动输入后面的路径。

    M1 应用安装后运行闪退

    一些软件是同时支持M芯片版本和Inter芯片,下载时注意区分。
      1. finder --> 应用程序,找到闪退应用,右键 --> 显示简介,勾选使用使用 Rosetta 打开
      2. 如果没安装Rosetta,终端运行下面命令安装Rosetta
    /usr/sbin/softwareupdate --install-rosetta --agree-to-license

    关闭SIP系统完整性保护

    苹果的官方解释,System Integrity Protection翻译过来就是系统完整性保护,这是macOS的一项安全技术,防止潜在的恶意软件修改Mac上受保护的资源,比如文件或者文件夹等。 甚至是root用户,也受到这个限制。 类似像是系统提供的终极底层安全保护,所以这个除非必要不要随便关闭。
    1. 检测sip状态
        终端之中运行下面命令,检查sip状态

      csrutil status

      若输入下面内容,则表示sip开启

      System Integrity Protection status:enable 

      若输出下面内容,则表示sip关闭

      System Integrity Protection status: disabled
    2. 关闭sip

    m系列关闭sip
      1) 关机(确保完全关机);
      2) 按住开机键不松手,直到屏幕上出现选项,点击选项 --> 继续
      3) 在屏幕左上方的工具栏,点击实用工具菜单,点击终端。在终端中输入下面命令,并按回车。

    csrutil disable

      4) 此时,命令行提示···“Macintosh HD”? [y/n]”: 请输入y并按回车。

      5) 命令行提示Enter password for user,输入密码(注意输入密码不显示,要记得输完),并按回车。
      6) 检查sip状态。命令行输入

    csrutil status

    出现System Integrity Protection status: disabled表示已经关闭。
      
      7) 重启电脑。

    打开sip操作同上,只是在终端命令行输入csrutil enable,再检测状态,没问题后,重启即可。

    Inter设备关闭sip

      1) 关机(确保完全关机);
      2) 按住commend + R键不松手,直到屏幕上出现进度条松手,机器进入Recovery模式
      3) 进入Recovery模式,选简体中文,然后点按下面的箭头。
      4) 在屏幕左上方的工具栏,点击实用工具菜单,点击终端。在终端中输入下面命令,并按回车。

    csrutil disable

      5) 此时,命令行提示···“Macintosh HD”? [y/n]”: 请输入y并按回车。

      6) 命令行提示Enter password for user,输入密码(注意输入密码不显示,要记得输完),并按回车。
      7) 检查sip状态。命令行输入

    csrutil status

    出现System Integrity Protection status: disabled表示已经关闭。
      
      8) 重启电脑。

    打开sip操作同上,只是在终端命令行输入csrutil enable,再检测状态,没问题后,重启即可。
    1. captianvix
      captianvix
      2024-10-08 11:37

      这个不错,收藏了。第二个问题解决方案好像也适用于“应用程序无法打开”。

        1. zephyr 作者
          2024-10-08 11:56
          @captianvix

          “应用程序无法打开”比较复杂,有些情况用第二个命令可以起作用,还有些是给运行权限的情况,我是没遇到过,就没写了…… :#(bilibili2233-8)