Arm Mac 初始化


App 推荐

常用 App 推荐,以及一些设置。大多都是开源免费的。

一般 App

功能 名称 开源 描述
关闭鼠标加速 LinearMouse 开源 只支持 Arm 机型,intel 机型可以用古董 SteelSeries ExactMouse Tool 代替。配合罗技 options+ 需要在设置中打开 "不处理来自其他应用程序的事件"
状态栏性能监视 Stats 开源 体验不如 "iStat Menus",但性能好
iStat Menus App Store / 收费 Store 版贵,官网便宜点,有时候打骨折
窗口调整 Window Tidy App Store / 收费 精确到像素的窗口,拖动应用到设置处就能调整,个人比较喜欢这种方式,可惜很久不维护了
类似聚焦搜索 Alfred 闭源 / 基础功能免费 有 Store 版,但是是很老的版本。现在 Spotlight 越来越强了,建议两个配合用
RAR解压 The Unarchiver App Store / 免费 mac 自带 zip 压缩解压,其他格式用这个
剪贴板历史记录 CopyClip App Store / 免费 状态栏小工具
调整色温(滤蓝光) f.lux 闭源 / 免费 状态栏小工具,按时间调整色温,护眼必备
控制显示器 BetterDisplay 闭源 / 基础功能免费 状态栏小工具,调整亮度、音量、分辨率等等,需要显示器开启 DDC 功能,配合 f.lux 一起用需要在设置中打开 "Colortable compatibility mode"
Display Menu App Store / 基础功能免费 状态栏小工具,只能调整分辨率。有用的场景:mac 作为无头服务器,vnc 连接上去默认输出分辨率是 FHD,用这个可以调整分辨率至客户端的分辨率
图像处理 GIMP 开源 跨平台开源免费图形处理软件
卸载软件 AppCleaner 闭源 / 免费 一般卸载直接删除 App 就行了,可架不住很多软件到处生成文件,这个可以找到藏在各个角落的文件,然后用户手动删除
播放器 VLC 开源 老牌播放器
BT 下载 qBittorrent-Enhanced-Edition 开源 和原版比多了自动更新 trackers_best、屏蔽迅雷功能
AI 炼丹 DiffusionBee 开源 Stable Diffusion mac 版,M2 16G 内存大概30秒一张图
防火墙 LuLu 开源 功能简单的防火墙,作者有很多安全方面的应用可以看看
硬盘测速 AmorphousDiskMark App Store / 免费 CrystalDiskMark for mac

编程相关 App

功能 名称 开源 描述
包管理工具 Homebrew 开源 必备
MySQL / MariaDB 管理软件 Sequel Pro 开源 不太稳定,很久没更新了
Sequel Ace 开源 Sequel Pro 合格的接替者
API 调试平台 REST Client 开源 VSCode的一款插件,界面简陋、好用
Postman 闭源 / 基础功能免费 老牌
Hoppscotch 开源 原名 Postwoman,在线版
Git GUI Sourcetree 闭源 / 免费 好看,要注册
fork 闭源 / 收费 diff 功能好用,其实不付费也能正常用
预览增强 syntax highlight 开源 finder 空格预览文件添加代码高亮
QLMarkdown 开源 finder 空格可以预览 markdown 文件
Markdown 编辑器 Markdown Preview Enhanced 开源 VSCode 的一款插件

编程环境设定(PHP+前端)

代码目录设置为大小写敏感

这个目录仅作为代码存放的用处,别装软件到这个磁盘,比如 PS 和 Steam 就不支持大小写敏感。

  1. 打开 "磁盘工具"(Disk Utility)
  2. 选择 "Macintosh HD 宗卷"(APPLE SSD 容器下那个),右键添加APFS卷宗
  3. 设置名称为 "Code",格式选择 "AFPS(区分大小写)",可以选择不分配大小,共享硬盘容量,点击添加
  4. 右键刚才创建 Code,点击显示简介
  5. 复制 "文件系统UUID" 的值,如:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
  6. 自动挂载:终端输入 sudo vifssudo vim /etc/fstab
  7. 文件中添加 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /Users/Myname/Code apfs rw 0 2
    • /Users/Myname/Code 位置可以自定义,这里选择了用户目录下的 Code 目录,如果不存在需要先创建,如果使用根目录下的目录作为挂载点,需要关闭 SIP
    • 也可以选择不自动挂载到 ~/Code 而是选择使用 /Volumes/Code 作为工作目录
  8. mount -a 或者重启电脑重新挂载目录
  9. 现在可以在 ~/Code 里面访问你的代码

z shell

终端在 10.15 之后默认从 bash 改用 zsh。自定义一些样式:

vim ~/.zshrc

# 提示符样式,效果是显示当前时间和路径,成功返回笑脸,错误返回惊恐脸
PROMPT=$'\n'"%* [%F{cyan}%~%f]"$'\n'"%(?.😀.😱) [%n@%m]$ "
# 默认打开目录
if [[ $PWD == $HOME ]]; then
    cd ~/Code
fi

source ~/.zshrc

开发环境(非 Docker)

  1. 安装 Homebrew
  2. 安装 nginx
    • brew install nginx
    • 配置文件路径:/opt/homebrew/etc/nginx/nginx.conf & /opt/homebrew/etc/nginx/servers
    • 日志路径:/opt/homebrew/var/log/nginx
    • 默认网页目录:/opt/homebrew/var/www
  3. 安装 php
    • brew install php 安装最新8.2版本
    • 安装旧版本 php
      • brew tap shivammathur/php tab 到提供旧版本 php 的仓库
      • brew search php 查看可用 php 版本,选择安装需要的版本,我这选择5.6和7.4
      • brew install shivammathur/php/php@7.4
      • brew install shivammathur/php/php@5.6
      • 添加别名到 .zshrc
        • php56=/opt/homebrew/opt/php@5.6/bin/php
        • php74=/opt/homebrew/opt/php@7.4/bin/php
        • source 后 php56 -v 检查,完成后通过 php 调用最新版本,php74 调用 7.4 版本
    • 现在对于命令行可以通过别名来调用不同版本的 php,而 nginx 则是通过 fastcgi_pass 调用不同的 php-fpm 端口来使用不同的版本的 php
      • 修改监听端口:/opt/homebrew/etc/php/7.4/php-fpm.d/www.conf 修改 listen = 127.0.0.1:9074
      • 5.6同理,而最新的8.2则不用改
      • nginx server 按需配置 fastcgi_pass 127.0.0.1:9000; 9000则调用8.2,改为9074就调用7.4,9056就调用5.6
    • 修改完成后记得重启生效
      • brew services restart php
      • brew services restart php@7.4
      • brew services restart php@5.6
      • nginx -s reload
  4. 安装 mariadb
    • 官网安装步骤
    • 修改 root 密码:
      • sudo mysql -u root
      • GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '你的密码';
      • brew services restart mariadb
  5. 安装 git git-flow
  6. 安装其他
    • brew install composer node npm redis 等

日常设置

设置 dock(程序坞)显示和隐藏速度

某次 OSX 更新后,dock 的显示速度变得很慢,喜欢隐藏 dock 又想要快速显示的可以输入这2条指令:

defaults write com.apple.dock autohide-delay -float 0
defaults write com.apple.dock autohide-time-modifier -float 0.3

killall Dock # 每次设置完都需要重启 Dock 生效

# 恢复到默认速度
defaults delete com.apple.dock autohide-time-modifier
defaults delete com.apple.dock autohide-delay

查看 SMART 信息

对于普通移动硬盘并没有什么简单的方式查看😓,可以尝试收费软件 DriveDX,或者给移动硬盘分一个 ExFat 分区,然后在 win 下查看。或者从硬件上解决,买雷电硬盘盒。

brew install smartmontools
diskutil list # 列出所有硬盘,选取你需要测试的硬盘
smartctl --all /dev/disk0

查看哪些程序在使用外置磁盘

lsof /Volumes/Code

默认不挂载分区

# 在磁盘工具里右键分区,显示简介获取到 UUID
sudo vifs
# 添加
UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX none auto noauto
  • none: 不设置挂载点
  • auto: 分区文件系统类型为自动
  • noauto: 选项设置为不主动挂载
  • dump、pass 值没设置

手动挂载分区,可以在磁盘工具里选择需要的分区,点击右上角的挂载按钮。或者用指令:

diskutil list
# 结果中找到需要的挂载的标识符
diskutil mount /dev/disk6s1

一些 bug

睡眠时不定时唤醒显示器,但没有任何视频输出(未解决)

  • 「唤醒以供网络访问」真正含义是:休眠时被访问,则可以唤醒以提供服务,比如网络共享。原来的电源小憩选项(后台自动更新同步、查收邮件、推送之类),现在没有开关选项并默认打开状态。
  • pmset -g custom 列出电源设置
    • womp =「唤醒以供网络访问」
    • powernap = 原来的电源小憩
  • sudo pmset powernap 0 接电源时关闭小憩,sudo pmset -b powernap 0 电池供电时关闭小憩。
  • sudo pmset -a tcpkeepalive 0 无论用什么供电都关闭 tcpkeepalive,会导致 find my mac 失效。
  • 通过关闭不同的 pmset 选项可能可以禁止睡眠唤醒,但是不清楚哪个机型需要关闭哪些设置……
  • log show --last 10h | grep -i "Wake reason" 查询前10个小时唤醒原因
    • ps aux | grep 141 根据 pid 查程序名


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注