从零开始配置学术型 Mac.

macOS: Sonoma 14.1

必备软件

ClashX

翻墙软件。目前 Github 已经删库跑路了,只能从机场的网址下载。

机场备用

  1. Pawdroid/Free-servers: 免费订阅地址
  2. High-Speed, Secure & Anonymous VPN Service | ExpressVPN
  3. PrivateVPN prices - from $2 per month
  4. 牧场

Chrome

先翻墙,再从官网下载

扩展

magnolia1234 / Bypass Paywalls Chrome Clean · GitLab

  1. 绕过付费墙的插件

VScode

官网下载。

常用的配置参阅这里

git

系统自带 Git,只需要配置即可。

1
2
3
4
5
# 配置邮箱 
git config --global user.email "[email protected]"

# 配置用户名
git config --global user.name "xxx"

配置 ssh 连接

为了配置 ssh 连接,最好针对 mac 重新生成 ssh 密钥,因为 Github 自2022年后移除了对旧版密钥的支持。

  1. 按照官方指南的步骤生成 ssh 密钥,并将其添加到 Github 的密钥列表中
  2. 可以使用 ssh -T git@github.com 来测试 ssh 连接,加上 -v 参数可以查看更详细的信息,但是注意到 ssh 走的是22端口,不是走http或者https的代理,某些时候会连接不到 github 的网站,为此需要让ssh走https的端口,从而可以走终端的代理
  3. 参考官方指南,设置ssh走https端口

每次重启后,可能终端并未打开ssh-agent服务,这会导致通过https的代理失效,为此可以在终端中运行指令

1
2
ssh-agent -s
ssh-add ~/.ssh/github

哪些文件放 iCloud

Git 仓库文件直接放在 iCloud 的同步文件中会导致如下问题:

  1. tex 编译时对路径名有要求, 所以只能放在本地的文稿中, 为此, 需要将 iCloud 打开文稿和桌面同步的功能
  2. blog 中若是包含 nodejs 等下载的宏包, 没必要在 iCloud 中备份, 所以将起放到 user 目录中
  3. 频繁自动生成文件时, 由于国内网速的限制, 经常会出现意想不到的错误, 为此, 需要避免 iCloud 和其他软件同时操作一份文件. 但是主力机只有一台时, 不存在该问题.

最终决定 blog 文件都放在本地的文稿中.

iCloud中存储的各类文件竟然可以直接在手机上调用相关的应用打开,编辑,甚至保存。例如, markdown 文件就可以用 Taio 应用流畅的打开.

这么看来,很有必要将一些简单的文件同步在iCloud中。博客这种即便修改了也需要调用生成程序,并且没必要在手机上修改,更重要的是,文件夹中有非常多自动下载的代码文件,会严重增加iCloud的同步大小。但是我的笔记很有必要放在iCloud中,这样就可以直接在手机上看了。

第一次使用mac,导致手机文件应用卡死的话,可以关闭手机的iCloud同步,再重新打开试试。

开源软件

homebrew

国内环境安装

1
/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"

防火墙

lulu:Github

rectangle

快捷键分屏, 体验类似windows 的分屏

1
brew install --cask rectangle

Raycast

替换聚焦,快速启动器

1
brew install --cask raycast

常用的功能包括

  1. 文件搜索
  2. 剪贴板历史记录
  3. openai 翻译
  4. 添加提醒事项
  5. screenOCR 屏幕文字识别
  6. 卸载应用 - 选中应用后 cmd + k 即可选择卸载‘
  7. 快速谷歌搜索 search google 的 quick link,我绑定了 g 的别名

可以给应用设置快捷键,我当前的快捷键设置为

  1. cmd+shift+space 文件搜索
  2. cmd+shift+V 剪贴板历史
  3. cmd+shift+r 添加提醒事项

翻译插件:

openai-translator/raycast-openai-translator: 基于 ChatGPT API 的 Raycast 翻译插件 - Raycast extension for translation based on ChatGPT API.

Youtube 的介绍

能少一个是一个:我用 Raycast 替代了这些应用 - 少数派

文件搜索设置

有时候我们需要全文搜索,此时可以在 raycast 的设置,拓展中将 search files 设置为 name and content。 即可全文搜索。

AlDente-Charge-Limiter 电池管理软件

https://github.com/AppHouseKitchen/AlDente-Charge-Limiter

限制电脑充电到 80% 以减少循环次数。

即时通讯

微信, QQ 应用商店下载。

学术

Bob

ripperhe/Bob: Bob 是一款 macOS 平台的翻译和 OCR 软件。

非常好用的全局翻译软件,58元值得购买。

TeX

TeX 系统:MacTeX

Mac上完整安装 TeXLive 的软件包

默认安装后,安装 VSCode 中 Latex workshop 插件。如果有问题,直接重启 vscode 即可。

inkscape

可以迅速的画论文中的矢量图。参见 用Tex优雅地画矢量图

WPS

学术上最常用的也就是 WPS 了,即然切换到了 Mac 系统,不如捏着鼻子接着用。

注意到 WPS 会默认修改很多文件的打开方式, Mac 系统上修改一类型文件打开方式的操作如下:

  1. 右键点击某个文件, 选择文件简介
  2. 打开方式选择后点击全部更改.

Acrobat

PDF 编辑软件,可以从破解网站下载。

jabref

管理学术引用。

下载地址

python

安装 Python

1
brew install python

python 定向到 python3

1
echo "alias python=/usr/bin/python3" >> ~/.zshrc

多个 Python 版本管理

在调试Python的时候可能遇到不同的环境问题,在这里先使用pyenv进行本地环境配置,后面如果做机器学习、深度学习等使用conda虚拟环境配置

1
brew install pyenv

配置shell环境

1
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

查看可安装的版本

1
pyenv install -l

安装与卸载

1
2
pyenv install 具体版本
pyenv uninstall 具体版本

查看已安装的版本

1
2
3
4
#当前版本
pyenv version
#查看已经安装的Python版本
pyenv versions

版本切换

1
2
3
4
5
6
7
8
# shell 会话设置 只影响当前的shell会话
pyenv shell <python版本>
# 取消 shell 会话的设置
pyenv shell --unset
# local 本地设置 只影响所在文件夹
pyenv local <python版本>
# global 全局设置 一般不建议改变全局设置
pyenv global <python版本>

注意pyenv 的 global、local、shell 的优先级关系是:shell > local > global

虚拟环境

可以参考 Mac上pyenv的安装与使用 - 掘金 使用虚拟环境

1
brew install pyenv-virtualenv

将下列命令添加到 ./.zshrc 中。

1
eval "$(pyenv virtualenv-init -)"

基本使用

1
2
3
4
5
6
7
8
# 创建 3.8.3 版本虚拟环境 env383
pyenv virtualenv 3.8.3 env383
# 显示环境
pyenv virtualenvs
# 激活环境
pyenv activate env383
# 退出环境
pyenv deactivate

在需要使用虚拟环境的目录(通常是项目目录)中:

  1. 建立一个 .python-version 的文本文件
  2. 将虚拟环境名称(如 env383 )写在里面

之后每次进/出该目录时,虚拟环境都将自动激活/退出。

goodnotes

从应用商店下载

邮件

测试过微软的 OutLook,出现不能同步 QQ 邮箱的问题。还是直接使用默认的邮件应用。

但默认的邮件应用会在网易邮箱的已发送中堆砌一大堆垃圾,所以发邮件还是在各个邮箱的网页客户端上操作比较方便。

Mathematica

这里有最新的软件下载连接,下载 Mac 版本后直接安装。

使用在线激活工具,反复尝试激活。

还需要在此处下载英文离线帮助文档,即可使用 Mathematica。

屏幕录制

录屏

  1. 官网下载 OBS
  2. 安装好后开启所有权限

声音

  1. Mac不允许应用之间直接传递信息,所以需要下载插件,可以用homebrew 下载 Blackhole 插件 brew install blackhole-2ch
  2. 安装好后打开 音频MIDI设置,创建多输出设备,勾选Mac扬声器和 Blackhole,然后 将此设备用于输出
  3. 即可在 OBS 中设置音频输出采集 即可

使用中观察到似乎不必开启 Blackhole 设备也可以录制到声音,只需要把屏幕共享开启即可

参考

  1. M1 版本 macBook air B站直播 Obs 设置 - 知乎

为了删除多余的音频设备,可用终端访问 /Library/Audio/Plug-Ins/HAL,然后删除对应设备即可

娱乐

hexo

1
rm -rf node_modules && npm install --force   

即可安装。

Adobe 创意软件

国人的Mac软件站 下载.

  1. Ps
  2. Pr

calibre - 电子书管理软件

1
brew install --cask calibre

不将路径修改为拼音,可以使用插件 Cirn09/calibre-do-not-translate-my-path: Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名

IINA 开源视频播放软件

Releases · iina/iina

该软件可以更好的播放需要串流的视频,比如播放NAS上的视频会非常流畅。

Apple Music

我在几大音乐流媒体中,最终选择了与Apple生态最为适配的 Apple Music,但该服务在国区的Apple TV中是没法用的,只能 AirPlay。

YouTube 上有介绍的视频 从不好用到真香,我的 Apple Music 使用经验分享 - YouTube

以下两个网站可以将 QQ 音乐的歌单导入 Apple Music

  1. 迁移 网易云 / QQ 音乐到 Apple Music, Youtube Music, Spotify | yyrcd
  2. 在不同的音乐服务之间迁移播放列表 | Tune My Music

以下是一些可以下歌的网站

  1. 下歌吧 - 全网音乐 高品质MP3 在线免费下载 免费播放
  2. Free MP3 Download - 320kbps MP3 and FLAC songs downloads

当下载到 flac 格式的歌曲时,需要用软件解码,比较好的软件是 X Lossless Decoder,此处是官方网站

NetNewsWire RSS 阅读器

NetNewsWire: Free and Open Source RSS Reader for Mac and iOS

非常好用的 RSS 阅读器,支持通过 iCloud 同步。

介绍 | RSSHub

  1. 将许多网站转化为 RSS 订阅

配置

iCloud

我买的是大容量的 MacBook Pro,暂时不存在iCloud文件云端和本地冲突的情况。

一日一技 | Mac 上 iCloud 云盘同步卡住了?可以试试这样做 - 少数派

终端配置

open ~/.zshrc 来进行终端启动的配置,配置文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 定义函数 hexop, 方便写博客
hexop() {
python resizeimg.py && git stage . && git commit -m "写文章" && hexo g && hexo d && git push
}

# 设置代理
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

# 初始化 pyenv
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

# 设置 ssh 代理服务
if [[ -z "$SSH_AUTH_SOCK" ]]; then
eval $(ssh-agent -s)
ssh-add
fi

时间机器

时间机器可以备份 Mac 上的所有文件,并且可以自行设置哪些需要备份,可以设置恢复哪个版本。

适合长期冷备份。

Time Machine 使用教程(一):设置 Time Machine 备份你的 Mac - 少数派

移动硬盘长期外接MAC时,无读写会发热,原因是聚焦会每分钟扫描建立索引。只需要在设置-聚焦-隐私中将移动硬盘加入即可。

屏幕配置

Mac 最低也只能支持 4K 的屏幕,所以 2K 屏幕的显示效果相当差。

观察系统是否打开了 Hidip,只需要看分辨率是否以列表形式显示即可。

Mac 自带的显示器,分辨率应当设置为 1512*945,显示的效果才是最好的。

三星的显示屏 LS27A30,不能打开HDR,否则会出现pdf显示字体有彩色边缘的情况。

触发角

参照官网设置,指针移动到屏幕四个角会有不同操作。

邮箱

网易邮箱的密码需要填写授权码

右键菜单

  1. 将 Safari 浏览器中的搜索引擎配置为 google 即可修改默认搜索方式
  2. 在系统设置>隐私与安全性>拓展中可以配置哪些出现在菜单中

时区配置

mac 的定位非常的谜,经常走的是vpn的定位,甚至可能为此修改不了时区。

参考 macos - No option to change time zone - Ask Different,利用如下脚本手动修改时区。

1
2
3
4
5
6
# 找到 Asia 的时区
sudo systemsetup -listtimezones | grep Asia
# 配置时区
sudo systemsetup -settimezone Asia/Chongqing
# 检查是否配置成功
sudo systemsetup -gettimezone

启动项配置

开机启动项的管理 · Mac OS X 配置指南

内容缓存服务器

在系统设置中搜索分享,打开内容缓存,可以将 iCloud 和系统更新等数据保存缓存到当前的 Mac 上,让局域网内的设备能够更快访问。

体验非常不错。

双面打印

由于 Mac 系统的特性,许多打印机本身不支持双面打印,需要手动双面。

为此可以用如下步骤

  1. 纸张顺序调整为正常,先打奇数页
  2. 不改变打印的纸的头尾方向,直接翻转,
  3. 再打偶数页
    对于总页数为偶数页的文档,即为双面打印效果。

注意到 Acrobat 不能连接打印机,这是软件的 Bug,所以打印 PDF 可以用 预览App 打开。

修饰键配置

我将大写锁定键换成了 option 键,因为我经常会用到 option 的组合键,但那个角落的位置极其难用。只需要在系统偏好设置中搜索 修饰键 即可配置。

菜单栏配置

mac 多了愚蠢的刘海屏,经常有图标藏在了刘海下面看不到,为此需要设置菜单栏图标的自动隐蔽。

可以使用免费软件 Hidden Bar

参考资料

  1. Mac:终极配置教程 - BLOG
  2. 🍏 我的 macOS 常用软件 - 老胡的周刊
  3. Mac 键盘快捷键 - 官方 Apple 支持 (中国)

注意:国人的Mac软件站 这个破解软件网站被爆出软件被挂木马,有安全风险。说明作为封闭系统,mac 可能被定向爆破。