跳到主要内容

Mac常见问题

电池保护​

  • 打开优化电池充电,电量最多充到80%即可

新建文件问题​

  • macOS 默认不能右键直接新建 txt,mac如何新建文件?
    • 可以通过命令行,使用touch来创建
  • 相关app工具
    • New File Menu

安装软件安全提示问题​

  • 这是 macOS安装一些软件拦截提示,不是安装失败,也不是病毒提示。需要你手动允许即可安装
  • 苹果菜单  → 系统设置 → 隐私与安全性
    • 在最底部找到对应记录,选择仍要打开

Mac鼠标滚轮方向反问题​

  • 苹果的鼠标滚轮方向居然与Windows的相反!

解决方案:

查看vpn代理端口​

  • scutil : 用于查看和管理系统配置参数,主要涉及网络设置、主机名、DNS、代理等
    • proxy 参数用于查看当前系统层级的代理服务器(Proxy)配置状态。
bash
scutil --proxy

会看到类似:

text
HTTPEnable : 1
HTTPProxy : 127.0.0.1
HTTPPort : 1087

HTTPSEnable : 1
HTTPSProxy : 127.0.0.1
HTTPSPort : 1087
bash
curl -x http://127.0.0.1:1087 https://api.openai.com/v1/models

配置终端代理端口​

  • 有些连接一些模型(如openai),需要翻墙,需要配置vpn代理端口
  • mac通过scutil --proxy查看网络代理情况
  • 在~/.zshrc设置如下
bash
# ===== 配置代理 如OpenCode / Codex proxy =====
export HTTP_PROXY=http://127.0.0.1:1087
export HTTPS_PROXY=http://127.0.0.1:1087
export NO_PROXY=localhost,127.0.0.1
# node环境代理
export NODE_USE_ENV_PROXY=1

注意问题​

代理写死在环境变量里,但代理服务(127.0.0.1:1087)并不是一直开着,所以没开时所有走 HTTP 的程序都会报错

  • 由于配置了终端代理,如果执行npm安装依赖或者curl等等,会走代理终端,需要开启vpn代理,如果不开代理的话,会出现错误,或者把配置终端代理先注释,后面开启了vpn代理之后,才开启配置代理终端

TUN 模式理解​

很多vpn有TUN模式,比如Surge、Clash,目前使用的风车云马,不具备TUN模式

  • 自动接管代理,无需额外配置应用
  • TUN 模式就是代理软件在你的系统中建立了一个**“虚拟网卡”,以此实现底层流量接管**
  • TUN 模式是在底层接管,创建虚拟网卡,让应用直接代理

解决代理切换问题​

  • 由于风车云马,没有TUN模式,需要自己手动配代理开关
  • 写一个代理配置文件,可灵活管理
  • 当代理没启动时,就不执行代理配置环境

把自动检测代理逻辑放到一个独立文件里,然后在 ~/.zshrc 里只保留一行 source 引入

自动检测代理端口,自动开启代理配置环境

bash
# 创建单独的自动检查代理端口配置
touch ~/.zsh_auto_proxy
  • .zsh_auto_proxy

precmd: 每次执行命令前都会检测代理是否启动

  • 增加代理访问检测
  • 检测的作用是:确认“代理端口不仅存在,而且能真正通过代理访问外部网络”。
    • 当访问成功才设置 HTTP_PROXY、HTTPS_PROXY 代理端口

检测的作用是:确认“代理端口不仅存在,而且能真正通过代理访问外部网络”。

bash
# ~/.zsh_auto_proxy

PROXY_HOST="${PROXY_HOST:-127.0.0.1}"
PROXY_PORT="${PROXY_PORT:-1087}"
PROXY_TEST_URL="${PROXY_TEST_URL:-https://example.com}"

# 通过代理访问测试地址
# 检测的作用是:确认“代理端口不仅存在,而且能真正通过代理访问外部网络”。
_proxy_available() {
env -u HTTP_PROXY -u HTTPS_PROXY -u ALL_PROXY \
-u http_proxy -u https_proxy -u all_proxy \
curl -fsS \
--proxy "http://${PROXY_HOST}:${PROXY_PORT}" \
--connect-timeout 2 \
--max-time 5 \
"$PROXY_TEST_URL" \
-o /dev/null
}

auto_proxy() {
if _proxy_available; then
export HTTP_PROXY="http://${PROXY_HOST}:${PROXY_PORT}"
export HTTPS_PROXY="http://${PROXY_HOST}:${PROXY_PORT}"
export http_proxy="$HTTP_PROXY"
export https_proxy="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1"
export no_proxy="$NO_PROXY"
export NODE_USE_ENV_PROXY=1
else
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
unset http_proxy https_proxy all_proxy
unset NO_PROXY no_proxy NODE_USE_ENV_PROXY
fi
}

autoload -Uz add-zsh-hook
add-zsh-hook precmd auto_proxy
auto_proxy
  • .zshrc
bash
# 可覆盖默认的代理端口
export PROXY_PORT="1087"
# 自动检测代理端口配置
source ~/.zsh_auto_proxy

杀死端口和进程​

  • lsof = list open files
    • -i:只看 internet / network 相关内容, 看谁占用了网络端口/连接
bash
# 查占用端口的进程
lsof -i :端口号
# -9 强制杀死进程
kill -9 12345

强制退出应用​

  • 活动监视器
    • 在里面选择对应的应用关闭进程

打开视频录制​

  • 打开Photo Booth

Dock​

  • Dock 表示是mac的图标