这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

macOS 配置

对于国内开发者来说,为了流畅下载各种依赖,配置镜像站必不可少的,

MirrorZ 这个网站对常用软件的大学镜像提供了汇总,按需配置即可。一些由公司的镜像站有:

系统初始化操作

Homebrew

Homebrew 是 macOS 上的包管理器,类似于 Linux 上的 apt 或者 yum。安装 Brew 非常简单,只需要在终端执行如下命令即可:

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

同步 dotfiles

1
2
3
4
5
6
7
8
9
git clone [email protected]:jiacai2050/dotfiles.git
# 创建软链,主要是同步配置
bash init.sh link
# 更新 submodules
bash init.sh sm
# 安装常用 cask 软件
bash init.sh cask
# 安装常用命令行工具
bash requirement.sh

修改 login shell 为 bash

默认情况下,macOS 使用 zsh 作为登录 shell,但我个人更喜欢使用 bash。可以通过如下命令来修改:

1
chsh -s /bin/bash

但是 macOS 自带的 bash 版本较旧(通常是 3.x),为了获得更好的体验,可以安装最新版本的 bash:

1
brew install bash

之后将 /opt/homebrew/bin/bash 添加到系统的登录 shell 列表中 /etc/shells ,最后

1
chsh -s /opt/homebrew/bin/bash

Trackpad

Trackpad 即触摸板,MacBook 的触摸板非常好用,完全可以摆脱鼠标的束缚。我一般会做如下几处配置:

  • Tap to click 手指轻点来实现点击效果,默认需要按下去的方式很不方便
  • Look up & data detectors 配置为 Tap with Three fingers ,可以通过三指轻点来查找单词
Trackpad 设置
  • 三指拖拉窗口,这个也非常好用,否则的话需要用两只手来操作。这个配置比较隐蔽,不是在 Trackpad 里面,而是在如下位置:
三指拖拉窗口

开发环境

Emacs

下载最新版即可:

Rust

1
curl https://sh.rustup.rs -sSf | sh

Zig

1
2
3
4
5
6
7
brew install asdf

asdf plugin add zig https://github.com/zigcc/asdf-zig.git

asdf install zig latest

asdf set --home zig latest

实用命令

1
2
3
4
# 修改hostname
sudo scutil --set HostName <name>
# 查看USB设备
system_profiler SPUSBDataType

1 - 图片

Gif

2 - Docker

为了愉快的 macOS 上使用 Docker,推荐 orb,它速度快、占用资源少。

1
brew install orbstack

此外,为了流畅使用,还需要配置代理,

1
orb config docker

这条命令会自动用默认编辑器打开 orb 的配置文件,下面是我的配置

1
cat ~/.orbstack/config/docker.json
1
2
3
4
5
6
7
{
  "ipv6" : false,
  "registry-mirrors" : [
    "https:\/\/docker.nju.edu.cn",
    "https:\/\/docker.mirrors.sjtug.sjtu.edu.cn"
  ]
}

编辑完后重启 Docker 让其生效

1
orb restart docker

orb 常用命令

1
2
# 查看日志
orb logs docker

3 - 配件

鼠标侧键

一般来说,鼠标会在一侧配有前进后退两个按键来辅助导航,这在 Chrome/Brave 中都没有问题,但是在 Safari 中却失效了,不过幸好社区有解决方案:

1
brew install sanesidebuttons

安装好后,添加到开机启动就好了。

键盘

Keychron K8

macOS 上性价比最高的机械键盘

一款性价比比较高的机械键盘。可通过拨动开关调节至蓝牙/有线模式

有线模式

  1. 将拨动开关切换到电缆选项(仅在插入 USB 电缆时有效)。
  2. 将我们的电缆与您的 PC 和键盘连接。
  3. 背光将打开。

在有线模式下,键盘不会进入省电模式。

蓝牙模式

  1. 将键盘切换到蓝牙选项。
  2. 背光将打开。
  3. 长按“Fn+1”键4秒激活蓝牙配对(蓝牙指示灯快闪3分钟检测到配对。
  4. 在您​​的设备上搜索蓝牙设备“Keychron KS”并连接(蓝牙配对成功后指示灯熄灭)。

注意:此键盘支持通过组合键最多同时配对 3 台设备 “fn”+•1•我“fn”+“2”我“fn”+•3

4 - 浏览器

Mac 上自带的 Safari 虽然轻量切省电,但性能以及扩展性远不如 Chrome、Firefox,所以这两个是必须的。

不过由于我现在一直在尽量少用谷歌的服务,因此选用了另一款基于 Chromium 内核的浏览器 Brave,它的创始人是 JavaScript 的作者 Brendan Eich,这个浏览器的主打特色就是隐私包含,并且内置 Adblocker

可能是出于对其创始人的信任,我也没去考证 Brave 是否就真正的如其宣传所言,注重用户隐私,但相比 Chrome,Brave 还是能我一种安全感。

在技术创新方面,Brave 也走在前沿,比如它是首个支持 IPFS 的浏览器,因此自 2021 年后,它一直是我的默认浏览器。

安装命令

1
brew install --cask firefox brave-browser

如果这两个不够用,其他可选的 cask 还有:

  • microsoft-edge
  • chromium, google-chrome, google-chrome-canary 金丝雀版

Sync

Brave 的配置同步机制也区别于其他主流浏览器,没有『帐号』的概念,而是采用了一种称为『同步链』的机制实现,用户在第一个设备上开启同步功能后,会产生一个同步码,这就相当于你的密码,在其他设备中,输入这个同步码就可以进行数据同步。

Brave Sync 示意图

为了安全,同步码的最后一个单词一直会变,也就是说我们并不能把同步码保存在类似 1password 的密码管理器中,必须要至少保证一个设备在线,这样才能看到最新的同步码。

而且由于没有帐号的概念,因此不存在找回密码的功能,因此一旦同步码丢失,就意味着数据永远找不回来了,这对于首次使用 Brave 的用户来说会有些困扰,但只有这样,数据才是真正的安全。更多技术细节可参考:

广告屏蔽

除了使用已有的屏蔽列表外,它还兼容 uBlock 语法的规则,比如:

1
example.com

这意味着屏蔽所有发往 example.com 及其子域名的请求,更复杂的例子,可以参考:Static filter syntax · gorhill/uBlock Wiki

必备插件

插件Chrome Web StoreFirefox AMO备注
SwitchyOmegaChromeFirefox
ViolentmonkeyChromeFirefox里面的脚本通过 OneNote 同步
沉浸式翻译
DeepLChromeFirefox
沙拉查词ChromeFirefox
JSON Formatter
Git Master
Epoch converter经常与时间戳打交道时非常有用
MarkDownload将网页用 md 格式保存
SingleFileChrome将网页中的所有资源打包成一个 HTML