跳转到内容
返回首页

Unix-like 系统配置记录 (macOS & Linux)

当前章节当前章节

本文档记录 macOS 和 Linux 系统的配置方法。由于两者都是 Unix-like 系统,大部分配置方法通用,平台特定的配置会特别标注。

开发配置

Ubuntu Dektop 禁用图形界面

禁用 GNOME 图形界面

  1. 禁用显示管理器(GDM3)

    sudo systemctl set-default multi-user.target

    禁用它可防止系统启动 GUI,这会将系统默认启动目标设为“多用户命令行模式”。

  2. 立即停止当前图形界面(可选)

    sudo systemctl isolate multi-user.target

    如果当前已登录图形桌面,可以立即停止它而不重启。执行后,系统会退出图形界面,回到 TTY 命令行(通常是黑屏,按 Ctrl+Alt+F2 或 F3 切换到终端)。

  3. 卸载 GNOME 组件(可选)

    sudo apt remove --purge ubuntu-desktop gnome-shell gdm3
    sudo apt autoremove

临时停止图形界面

  1. 临时停止图形界面,释放显存:

    sudo systemctl stop gdm3

    这会立即终止 GNOME 和 Xorg/Wayland 进程,释放显存。但下次重启后 GUI 仍会启动。停止 gdm3 后,可能需要通过 Ctrl+Alt+F2 切换到 TTY2 登录。

  2. 重新启用图形界面:

    sudo systemctl set-default graphical.target
    sudo systemctl start gdm3
    
    // 或者重启系统
    sudo reboot

Frp 内网穿透 SSH

  1. frpc.toml 配置文件示例:

    [common]
    server_addr = x.x.x.x        # 服务器公网 IP 地址
    server_port = 7000           # frp 服务器端口
    
    token = "your_strong_secret_token"  # 必须与 frps 一致
    
    [ssh]
    type = tcp
    local_port = 22
    remote_port = 1234  # 云服务器上暴露的端口
  2. 配置 systemd 自启

    创建 /etc/systemd/system/frpc.service 文件:

    [Unit]
    Description=frpc daemon
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/home/xu/frp/frpc -c /home/xu/frp/frpc.toml
    Restart=always
    RestartSec=10
    
    [Install]
    WantedBy=multi-user.target
  3. 启动并设置开机自启

    sudo systemctl daemon-reload
    sudo systemctl start frpc
    sudo systemctl enable frpc

系统配置

1. Zsh 安装与配置

安装 Zsh

Linux:

# 安装 Zsh
sudo apt update
sudo apt install zsh

# 查看 Zsh 的版本
zsh --version

# 设置 Zsh 为默认 shell
chsh -s $(which zsh)

macOS:

# macOS 已内置 Zsh (Catalina 及以后版本默认使用 Zsh)
# 查看 Zsh 的版本
zsh --version

# 如需安装最新版本
brew install zsh

# 设置 Zsh 为默认 shell
chsh -s $(which zsh)

安装 Zimfw

2025.02.16:使用 Zimfw 代替 Oh My Zsh,集成度和效率更高

# 查看当前使用的 shell
echo $SHELL
# 通过 curl 安装 Zimfw
curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh
echo $ZSH

Zsh 插件与主题配置

# 添加 powerlevel10k 模块
zmodule romkatv/powerlevel10k
zimfw install
zimfw update
zimfw upgrade

# 安装 Zoxide(非 Zimfw 安装)
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

大部分 Oh My Zsh 需要手动配置的插件(如 compinit、SHARE_HISTORY、CORRECT 等)在 Zim 中已经默认启用,只需要手动添加需要的模块和主题,使用 zimfw install 即可自动安装。

2. macOS 初始化配置

系统设置

  • 开启安装任何来源的程序选项:sudo spctl --master-disable

  • 将软件安装至外置硬盘

    # 在外置硬盘创建应用程序目录
    mkdir /Volumes/Work/Application
    # 在移动硬盘上创建库目录和 Application Support 目录
    mkdir -p /Volumes/Work/Library/Application\ Support
    # 将安装在"/Applications"目录下的软件文件夹移到 (手动或命令) 外置硬盘的应用程序目录
    mv /Applications/A.app /Volumes/Work/Application
    # 进入系统自带的软件目录
    cd /Applications
    # 将软件文件链接回内部硬盘
    ln -s /Volumes/Work/Application/A.app ./A.app
    # 若软件在 ~/Library/Application Support 目录下有其他必要文件,将其移到移动硬盘的相应目录
    mv ~/Library/Application\ Support/A /Volumes/Work/Library/Application\ Support
    # 并建立软链接
    ln -s /Volumes/Work/Library/Application\ Support/A ~/Library/Application\ Support

macOS 常用工具

功能 名称 备注 下载链接
解压缩 Keka 官网免费 官网
卸载 AppCleaner 免费 官网
快捷操作 Raycast 基本功能免费 官网
PDF 阅读 PDF Expert 收费 官网
截图 PixPin 基本功能免费 官网
右键管理 iRightMouse 免费版 / 专业版 App Store
软件包管理 HomeBrew 开源 官网
菜单管理 Ice 开源 brew install jordanbaird-ice
终端 iTerm2 开源 官网
SSH Termius 内购 官网
剪切板 Raycast (部分功能) 基本功能免费 官网
窗口管理 Loop 开源 brew install --cask loop
网络唤醒 wakeonlan 开源 brew install wakeonlan
声音管理 SoundSource 付费 官网
声音管理 LosslessSwitcher 开源 GitHub
键鼠共享 DeskFlow 开源 GitHub
播放器 IINA 开源 官网
Shell自动补全 Amazon Q 开源 GitHub

移除登录项

  • 移除登录项与扩展中的无用选项

    # 在 Finder 中打开对应文件夹,对照登陆项的名称删除对应文件
    ~/Library/LaunchAgents
    /Library/LaunchAgents
    /Library/LaunchDaemons

3. Ubuntu 系统优化

SSH 服务端优化

优化 SSH 连接速度,禁用不必要的 DNS 解析和 GSSAPI 认证,强制使用 IPv4:

# 修改配置文件
sudo sed -i '$a UseDNS no\nGSSAPIAuthentication no\nAddressFamily inet' /etc/ssh/sshd_config

# 应用更改 (针对 Ubuntu 24.04 Socket 激活模式)
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket ssh.service

增加Linux 内核允许用户程序“监控文件变化”的上限

防止 VS Code 因为无法实时监听文件变化而变得迟钝:

# 临时生效
# 定义了单个用户可以创建的 inotify 监听器(Watcher)的总数,默认 8192
sudo sysctl fs.inotify.max_user_watches=524288
# 定义了单个用户可以创建的 inotify 实例(Instance)的总数,默认为128
sudo sysctl fs.inotify.max_user_instances=512

# 永久生效(写入配置文件)
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
echo "fs.inotify.max_user_instances=512" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

CPU 高性能模式

将 CPU 调频策略切换为性能模式,提升系统响应速度:

# 查看支持的模式
powerprofilesctl

# 切换为高性能模式
sudo powerprofilesctl set performance

优化虚拟内存

Ubuntu 默认的 swappiness 值为 60,这意味着系统会较早地开始将内存数据交换到硬盘(即使你内存还够)。对于高性能机器,可以降低这个值,让系统优先使用物理内存:

# 修改为 10, 只有内存几乎用满时才用 Swap
sudo sysctl vm.swappiness=10
# 永久生效
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

启用中断平衡

处理大量网络包(SSH、文件传输)时,如果压力全在一个核心上,会造成单核瓶颈。irqbalance 能将硬件中断负载均匀分配到所有核心:

sudo apt install irqbalance
sudo systemctl enable --now irqbalance

内核与文件监控上限

提高文件监控上限,避免开发工具(如 IDE、构建工具)因监控文件数量限制而报错,同时优化内存交换策略:

# 写入内核配置文件
sudo tee -a /etc/sysctl.conf <<EOF
fs.inotify.max_user_watches=524288
fs.inotify.max_user_instances=512
vm.swappiness=10
EOF

# 立即应用
sudo sysctl -p

日志优化

限制系统日志大小,防止日志占用过多磁盘空间:

# 限制日志最大占用 500M
sudo journalctl --vacuum-size=500M

# 永久限制:修改配置文件
sudo sed -i 's/#SystemMaxUse=/SystemMaxUse=500M/' /etc/systemd/journald.conf
sudo systemctl restart systemd-journald

4. 欧陆词典无限试用 (macOS)

欧路词典 Mac 版和 Windows 版有差异,Mac 版不购买注册版本有试用次数的限制。但可以通过修改本地偏好设置的方式绕过。具体过程记录如下;

  • 打开「访达」
  • 快捷键 Cmd + Shift + G
  • 输入路径:~/Library/Preferences
  • 找到文件:com.eusoft.eudic.plist
  • 打开 plist 二进制文件为 XML 格式,可以在 VSCode 中安装 Binary Plist 插件来打开。
  • 找到字段:MAIN_TimesLeft
  • 将其数值改大(如:99999),保存即可

重新打开欧路词典,即可无限次使用专业功能,升级也不会失效。

5. Micro 编辑器配置

Micro 是一个现代化、易于使用的终端文本编辑器,支持跨平台使用。以下是在 macOS 和 Ubuntu 上的优化配置。

macOS 配置

macOS 环境下使用外部剪贴板,方便与系统其他应用交互:

{
  "clipboard": "external",
  "mkparents": true,
  "savecursor": true,
  "autosu": true,
  "tabsize": 4,
  "tabstospaces": true,
  "hlsearch": true,
  "softwrap": true
}

配置说明:

  • clipboard: "external" - 使用系统剪贴板,支持与外部应用复制粘贴
  • tabsize: 4 - 设置 Tab 键宽度为 4 空格
  • tabstospaces: true - 将 Tab 转换为空格
  • mkparents: true - 保存文件时自动创建不存在的父目录
  • savecursor: true - 保存时记录光标位置
  • autosu: true - 需要权限时自动使用 sudo
  • hlsearch: true - 高亮搜索结果
  • softwrap: true - 启用软换行

Ubuntu 配置

Ubuntu 环境下使用终端剪贴板,配置更简洁:

{
  "autosu": true,
  "clipboard": "terminal",
  "hlsearch": true,
  "mkparents": true,
  "savecursor": true,
  "softwrap": true,
  "tabstospaces": true
}

配置说明:

  • clipboard: "terminal" - 使用终端剪贴板,适合纯终端环境
  • 其他配置项与 macOS 相同,确保跨平台体验一致

配置文件位置:~/.config/micro/settings.json


CCBY-NC-SA© 2022-2026

本文使用“CC BY-NC-SA 4.0”进行许可。商业转载请联系站长获得授权。非商业转载请注明本文出处及文章链接。如果您混合、转换或者基于本作品进行创作,您必须基于相同的协议分发您贡献的作品。

分享这篇文章到:

上一篇
低性能云服务器配置记录
下一篇
随笔 | 旧居记忆