关于mac 不能使用sz/rz问题的一些细节回顾

/ 0评 / 0

我们经常使用 sz/rz 命令进行文件的上传下载,非常方便。但是在 Mac 下不能直接使用,需要进行配置才能使用

常理来说安装了lrzsz 即可,但我们每个人总能遇到各种在常理之外的问题。

常规安装步骤只有两步

1.安装 Homebrew(如果尚未安装)

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

2.安装 lrzsz

brew install lrzsz

3.集成 iTerm2-zmodem 支持

起始

 在 iterm2官方网站里最底下有示例,使用triggers触发器支持zmodem功能
 官方
 https://iterm2.com/documentation-triggers.html
 github集成示例
 https://github.com/RobberPhex/iTerm2-zmodem

下载支持

进入到 /usr/local/bin 目录下,下载两个脚本文件

cd /usr/local/bin 

sudo wget https://raw.githubusercontent.com/robberphex/iTerm2-zmodem/refs/heads/main/iterm2-recv-zmodem.sh
sudo wget https://raw.githubusercontent.com/robberphex/iTerm2-zmodem/refs/heads/main/iterm2-send-zmodem.sh

sudo chmod 777 /usr/local/bin/iterm2-* 

配置
点击 iTerm2 的设置界面 Perference -> Profiles -> Default -> Advanced -> Triggers 的 Edit 按钮,弹框后点击左下角+号
依次录入以下配置

    Regular expression: rz waiting to receive.\*\*B0100
    Action: Run Silent Coprocess
    Parameters: /usr/local/bin/iterm2-send-zmodem.sh
    Instant: checked

    Regular expression: \*\*B00000000000000
    Action: Run Silent Coprocess
    Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
    Instant: checked

注意事项

a. apple 中比如M1/M2/M3/... 下brew安装 lrzsz 的位置是在 /opt/homebrew/ 如不确定可通过 which brew 来定位目录, 通常会指向 /opt/homebrew/bin/brew

b. 当你成功安装 lrzsz 时,在你 /opt/homebrew/bin 目录下当有 rz sz 的脚本软连接

rz -> ../Cellar/lrzsz/0.12.20_1/bin/rz
sz -> ../Cellar/lrzsz/0.12.20_1/bin/sz

同样在一些 intel mac 上 会处于该目录位置 /usr/local/bin , 如指向的该位置同样需要软链关联,
可以通过

ln -s /opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/rz /usr/local/bin/rz
ln -s /opt/homebrew/Cellar/lrzsz/0.12.20_1/bin/sz /usr/local/bin/sz

设置ln软连接修复问题

使用 brew info lrzsz 可查看安装目录,

c. 注意 iterm2 触发器参数的配置,如有错漏会失效卡断,请参考官方示例配置。

其他

卸载 lrzsz 软件

brew uninstall lrzsz

清理缓存

brew cleanup

排查问题加参数 -v

sz -v <file>
rz -v <file>

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注