banner
Hyacine🦄

Hyacine🦄

我有特别的 macOS 新机环境配置技巧

笔者通常不建议直接从旧设备迁移资料。迁移过程不仅可能会引入一些预料之外的 bug,还会连许多垃圾和临时文件一并复制过来。
大量 4K 随机读写也对 Wi-Fi 连接速率非常不友好,尤其是 Apple 设备一向不领先的无线性能。
这个原则其实不仅适用于 Mac,对于 Windows / Android /iOS 设备,也是同理。
不过要是新 Mac 够大,旧款也是 Mac,可以试试雷电网桥直连,本文完结。(逃

冷启动#

首先是必备软件,不然下面免谈:

https://ghfast.top/https://github.com/xishang0128/sparkle/releases/download/1.6.4/sparkle-macos-1.6.4-arm64.pkg

系统设置#

然后为了后续体验良好,我们还需要改一下系统设置。命令行应该都能改,但有些比较新的设置我查不到,所以我们还是手动吧。

  • 电池

    • Mac 续航这么好当然要带出门,所以可以打开离电自动省电、电源自动高性能。(更高能耗疑似 Max 系列独占)
    • 如果你不打算用第三方 app 限制充电上限,那最好打开系统自带的优化电池充电,点电池健康右边的 icon,在弹窗中打开。 部分第三方充电限制工具会明确要求关闭优化电池充电;但是我不关好像也没影响
    • 如果想要让 Mac 连插座的时候兼职服务器,那可以把所有的都打开 ,除了 HDR 省电,不然屏幕白买了
  • 通用

    一大坨东西全挤在这里了。

    • 关于本机:先改个名吧。最好能让自己认出来设备,这里的名字影响主机名、设备发现和 Apple ID 的设备管理。我现在是都会改的。序列号如果是二手机,可以去微信有些公众号花 3 块钱出个详细报告,看看有没有猫腻。
    • 储存空间:icloud 同步是大坑。默认打开桌面和文稿同步,但是免费用户只有 5G,建议关掉。程序员尤其前端项目如果放桌面,那 node modules 的 4k 性能一定会教同步盘做人的…… 看看 macOS + 系统数据 + 开发者 占用有多少,你就知道 win 那边系统体积控制已经很好了。
    • 隔空投送 / 接力:一般都要开。酌情开所有人,现在 iOS 所有人限制 10 分钟自动关闭了,mac 还没跟进。Airplay 支持你把 iPhone /iPad 投到 Mac 上。
    • 登录项与扩展:新机应该没什么东西,可以装完再来看看。
    • 共享:如果你想让这台电脑全职 / 兼职服务器,那多半都要开。具体用法就不展开了,以后有机会可以详细说说。
    • 启动磁盘:其实你可以把系统装到外置硬盘里……
    • 时间机器:喜欢的人很喜欢。
    • 自动填充和密码:神。但是不如 iOS。桌面端浏览器插件更重要一些,第三方 App 也可以直接接管,目前似乎没看到哪个第三方密码管理器用这个 API 的。
  • 辅助功能

    很多人说,Apple 老把一些特别有用的东西藏这里面。确实,有几个基本上一定会打开的尤其是鼠标指针相关设置。

    • 指针控制:鼠标与触控板 - 触控板选项,使用触控板拖移 + 三指拖移,基本上必开。不然必须很大力气按下触控板才能拖动。github 上还专门有个项目把这个手势移植到 win/linux.
    • 显示:这里可以改指针大小,比如我 4K 屏有的时候就会觉得指针太小了,可以放大一点。还有个手势,找不到鼠标之后可以快速晃一晃,macOS 会帮你把指针放大。
    • 音频:一些与 AirPods 有关的辅助功能放这里面了。但是我耳机坏了,现在不给我看 ,难过
  • 聚焦(spotlight)

    现在感觉没那么好用了,毕竟这么多年也没加什么新功能。不知道 WWDC 会不会接入 AI。看上去现在使用 RayCast 的用户会比较多,但我都不怎么用()

  • 控制中心

    起名起的不好,应该叫控制中心与菜单栏。肯定有人因为这个名字找不到菜单栏设置。这里可以设置图标是否显示在菜单栏或者控制中心,以及微调一些按钮的显示样式。

    我一直想有一个功能,内置屏幕上所有时候显示菜单栏(因为全屏有刘海,是否显示都不影响纵向高度,不现实的话只是黑掉),然后检测到外接之后自动切换到全屏的时候隐藏。但是之前跟某个开发者留言,客服看不懂,回复像是个人机。想开个坑自己写了都,但感觉有点难。

  • 屏幕保护程序

    卒。应该没人用了。

  • 墙纸

    macOS 每个大版本都换一批新的。现在的这个版本是 Apple 自己的团队全世界租直升机到处拍,公费旅游了属于是。

  • 外观

    这个初始化的时候改过主题色了。只有点按滚动条行为跟直觉不太一样,可以改一下。

  • 显示器

    随航和通用控制在这里开。如果默认缩放不够细,可以点高级,然后把以列表显示分辨率打开。有条件的话,推荐使用 Better Display,效果非常好。

  • 桌面和程序坞

    • 程序坞(Dock 栏)图标大小:一般直接拉满就行了。默认不放大就不会有动画。
    • 最小化窗口时使用 - 神奇效果:默认也没开。招牌动画很多年了。但是 macOS 窗口管理太烂了,很少用最小化(
    • 最小化至应用图标:默认没开,个人习惯打开。
    • 自动隐藏程序坞:默认没开,个人习惯打开。
    • 台前调度:不建议用。iPad 是只能用这个,Mac 没必要。可以放到控制中心,真需要再切就好了。
    • 小组件:是个好东西。但是解锁完全体需要一台 iPhone。
    • 窗口平铺:落后 Windows 15 年。平铺窗口边缘空白记得关上。
    • 触发角:好东西。一定程度上解决了鼠标没有触控板手势,快捷键又难记的问题。迁移 win 习惯,我一般设置为左下角启动台、右下角显示桌面、左上角调度视图、右上角当前 App。总之按个人习惯来。
  • Siri / AI

    mac 上不怎么好用。好像其他设备也不好用啊

  • 声音

    不想启动的时候被咚一下可以把开机声音关了。

  • 锁定屏幕

    屏保默认关的。还可以改一下显示器关闭时间。

  • 隐私和安全性

    相信我,这里绝对是你来最多的地方。所有 App 的权限都在这里管理,而且所有未签名的 App 也都要在这里打开。应用来源中,有办法恢复 “任意来源” 选项,这里不展开了。配件的话,如果电脑不带出去,可以设置成默认允许。

  • 键鼠触控板

    没什么东西就合一起说了。键盘设置可以改键盘灯、快捷键、Fn 单击功能。外接键盘如果有 Fn 键位定义,与内置的 Fn 是一样的。输入法设置也是这里改。
    鼠标设置里滚轮方向一般不改,改了的话触控板就反了,所以一般用第三方软件。打游戏的话,可以去高级选项里把鼠标加速度关了。
    触控板是最重要的。macOS 其实不挑触控板,只是 win 没人想用外置的,所以做的人少。有现代精确式触控板是可以用的,多点触控和手势都一切正常,华强北平替大概 200 左右吧。只是少了没什么用的 3D Touch。
    设置里,一般要打开轻点来点按,不然得按到累死。然后更多手势中,如果前面打开了三指拖移,那调度中心的手势就会变成四指。

完结撒花!总算配置完了。

包管理器#

为什么要装包管理器?#

不如说,使用包管理器安装才更符合 *nix 和开发者的使用习惯。达成同样的操作,CLI 天然就远比 GUI 更高效、更容易自动化。而 macOS 上,brew 包管理器是默认的事实标准,大部分 repo 只要提供软件包,基本上都首选 brew,远超 MacPorts 和其他。

还有相当一部分人觉得 brew 实在是太好用了,把它移植到了一些 Linux 系统上,此处不展开。

常用 App#

好的,很快啊,我们装好之后直接 brew 一把梭:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

接下来我尽量把一眼看不出来的包注释一下。如果用不到,可以直接复制到行编辑软件中删除对应行即可。

Cask:

  • 1password: 最贵 (好?) 的密码管理器。其实开源软件维护者可以申请免费版…
  • alt-tab: 类似 win 的 Alt Tab 页面。macOS 默认的 cmd+tab 逻辑只能切换不同 app,想要切换同 app 不同窗口需要按 cmd + `
  • android-platform-tools: adb/fastboot. 安卓开发 / 搞机必备。
  • apifox: 有人喜欢把它叫 postman 国产平替,但我觉得不完全是一个赛道。当然也可以当 postman 用(
  • applite: brew 的 GUI,最近才知道。不喜欢敲命令可以逛一逛。
  • battery: 极简的 80% 充电限制。
  • betterdisplay: macOS 最好的显示器管理软件。win 上甚至没有替代品。授权模式极其友好,不限制激活数量。
  • cherry-studio: 著名 LLM 前端。
  • cursor: 这个应该不用多说了。我都是白嫖 vscode 同步,新机先 code 同步完再导入。
  • discord: 用得少,很多开发者社区也爱用,偶尔看看。
  • docker: 不多说了。
  • feishu: 同上。
  • firefox: 同上。
  • font-cascadia-code: 微软大法好。
  • google-chrome: Web 开发谁敢不下
  • iina: 播放器,凑合。真看 metadata 我现在都 ffprobe 了,唉。
  • input-source-pro: 神!自动切换输入法。macOS 切输入法有点痛苦的。
  • jetbrains-toolbox: jb 我习惯用它装,也可以都走 brew,但是 brew 没多线程太慢了。
  • jordanbaird-ice: 不是刘海屏 Mac 可以跳,用来给 macOS 菜单栏图标会溢出到刘海后面擦屁股的。
  • keycastr: 在屏幕上显示你按下的键。录屏用。
  • lark: 飞书海外版,数据不互通。
  • linear-linear: 名字被占了,笑死。项目进度管理软件,个人用免费版完全够用。github 集成也不错。简单说就是高级 todo.
  • lm-studio: 著名 LLM GUI 后端。
  • moonlight: 我要在 Mac 上打游戏
  • obs: 录像我习惯用,直播好像目前还没在 mac 上试过。
  • obsidian: 不多说了。
  • ollama: 著名 LLM CLI 后端
  • parsec: 不仅能打游戏,还能生产力。moonlight 共享不了剪切板,但是 parsec 可以啊。
  • playcover-community: 星铁启动!
  • rustdesk: 现在知道我有多怕断联了吧(其实还有两三个)
  • scroll-reverser: macOS 下单独反转鼠标滚轮方向。
  • signal: 端到端加密 im.
  • snipaste: 其实你们可以用 pixpin.
  • tailscale: 从 zerotier 润过来的,以后可能会换成 wireguard.
  • tencent-lemon: 太良心了。
  • tencent-meeting: 大家都在用。
  • typora: 买了正版支持一下。
  • visual-studio-code: 不多说了。
  • vlc: 良心播放器。
  • warp: ai 赋能终端
  • windterm: ssh 客户端,现在支持用同步盘了。
  • zed: rust editor, 适合追求极致性能的场合。

CLI 工具#

  • uv: 神!再也没直装过 python
  • git: 谁敢不装 系统自带的太旧了,一般自己再装一个。
  • nvm, rbenv: 比 uv 差很多,之前用的 pyenv, 都是用来解决语言本身版本问题的。
  • pnpm: 用来替代 npm. yarn 现在似乎很少用了。
  • ffmpeg: 就算不装,很大概率编译的时候也会遇到依赖,更不用说有的是应用自带 ffmpeg 动态库。简单的转换我已经习惯敲命令行了(
  • doggo: 我最习惯的 dns cli 客户端,网络调试很好用。同类工具还有经典的 dig,同样现代的 q/dog (rust 写的,doggo 是它的社区 go 重写版)
  • wget: 命令行下文件比 curl 直接。web 调试我还是 curl 用得多一些。
brew install --cask \
    1password \
    alt-tab \
    android-platform-tools \
    apifox \
    applite \
    battery \
    betterdisplay \
    cherry-studio \
    cursor \
    discord \
    docker \
    feishu \
    firefox \
    font-cascadia-code \
    google-chrome \
    iina \
    input-source-pro \
    jetbrains-toolbox \
    jordanbaird-ice \
    keycastr \
    lark \
    linear-linear \
    lm-studio \
    moonlight \
    obs \
    obsidian \
    ollama \
    parsec \
    playcover-community \
    rustdesk \
    scroll-reverser \
    signal \
    snipaste \
    tailscale \
    tencent-lemon \
    tencent-meeting \
    typora \
    visual-studio-code \
    vlc \
    warp \
    windterm \
    zed

# cli tools
brew install uv git nvm wget pnpm rbenv
brew install doggo ffmpeg

# oh my zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 脚本语言三巨头 (¿
uv python install
nvm install --lts
rbenv install -l
rbenv install 3.4.3 # 一般装最新的正式版

# 记得改!别用我的!
git config --global user.name Nahida
git config --global user.email [email protected]
# 安全一些可以一机一密,懒得弄也可以用旧的。但用新的更方便?
ssh-keygen -t ed25519 -C "[email protected]"

Git 配置#

有些代理环境会把 22 端口访问 ban 掉,出于安全考虑。github 官方为了方便,创建了转发 ssh.github.com:443 -> github.com:22 .

详见 https://docs.github.com/zh/authentication/troubleshooting-ssh/using-ssh-over-the-https-port

还有进阶一些的技巧,不考虑操作系统多用户的情况,单用户下想不同 repo 灵活切换多个身份,也可以设置多个 ssh 别名然后使用 ssh 连接。

Host github.com
    HostName ssh.github.com
    Port 443
    User git
    IdentityFile ~/.ssh/id_ed25519 # 改成你的位置,这是生成的默认位置。

Host nahida
    HostName ssh.github.com
    Port 443
    User git
    IdentityFile ~/.ssh/id_ed25519_nahida # 改成对应用户的私钥,不能重

Host hyacine
    HostName ssh.github.com
    Port 443
    User git
    IdentityFile ~/.ssh/id_ed25519_hyacine # 改成对应用户的私钥,不能重复复

这样的话:

  • 使用 git clone [email protected]:Homebrew/homebrew-cask.git 就是默认用户(由于配置了别名,git@ 部分也可以省略。你也可以配置更短的别名,比如 gh);
  • 使用 git clone nahida:Homebrew/homebrew-cask.git 就是 nahida 那一项配置的私钥对应用户;
  • 使用 git clone hyacine:Homebrew/homebrew-cask.git 就是 hyacine 那一项配置的私钥对应用户。

这些配置对于命令行的 ssh 命令也可以用 (废话,不然为什么叫 ssh_config,也可以与 vscode 的 ssh 无缝集成。太过详细的内容就不展开了。

从 Mac App Store 下载的 App#

  • Office 365
  • 微信
  • QQ
  • FastZip
  • PasteNow
  • 网易云音乐
  • 米家
  • Onedrive
  • iStatistica Pro(别买,还是买 iStat Menus 吧)
  • 小米互联服务
  • O+ 互联
  • Pushdeer
  • Speedtest
  • Blackmagic Disk Speed Test
  • LocalSend
  • 速达
  • Shadowrocket (?)

下载自 App Store 的 App 通常相对 dmg /pkg 安装的,会使用更少的权限,经过更严格的审查,沙盒也保证了数据隔离和安全性。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。