【学习笔记】Mac电脑配置记录-更新中

后面会使用到Mac开发,在此做个配置的记录,方便自己后续查看

  • 型号:MacBook Air 2020
  • 芯片:Apple M1
  • 系统:macOS Big Sur 11.6
  • shell:zsh

办公软件

1. NTFS-3g:Mac下的NTFS盘读写

  • 官网: Github上的Wiki
  • 作用: NTFS-3G是为NTFS文件系统的磁盘提供读写支持的开源跨平台实现。 Mac默认仅支持NTFS的读取,不支持写入。
  • 推荐安装教程:
    1. 上述Wiki提供详细安装教程:Github上的Wiki
    2. macos 借用 ntfs-3g, 使得macos 支持 ntfs 文件系统 读写;Mac 挂载NTFS移动硬盘 原生方式;:文中提到了许多种MacOS挂载NTFS的办法。

    推荐使用Omi NTFS实现Mac下NTFS盘的读写(见后记)。

  • 安装过程:
    在终端运行如下指令(须事先安装Homebrew,见下一节):
    brew tap gromgit/homebrew-fuse
    brew install ntfs-3g-mac
    
    即完成ntfs-3g的安装。
    • 手动挂载NTFS磁盘:
      1. 先查看需要挂在的NTFS分区,
        diskutil list
        
        在这里插入图片描述
        需要挂在的分区为disk4s1(以下便以该分区为例,大家注意修改为自己的分区号)。
      2. 然后需要先卸载该分区(插入U盘会使用系统默认的挂载方式,但该方式仅可读不可写),
        sudo diskutil unmount /dev/disk4s1
        
      3. 最后使用ntfs-3g挂载磁盘,
        sudo mkdir /Volumes/NTFS
        sudo ntfs-3g /dev/disk4s1 /Volumes/NTFS -o local -o allow_other -o auto_xattr -o auto_cache
        
    • 自动挂载NTFS磁盘:
      思路是需要将系统默认的/sbin/mount_ntfs更换为ntfs-3g来挂载磁盘。(⚠️注意Wiki里的安全风险警告,下面的操作将使ntfs-3g拥有root权限)
      日后更新,请先参照Wiki教程
  • 遇到问题:
    1. 之前老教程上直接brew install ntfs-3g的安装方式失效,提示“ntfs-3g要求闭源的macFUSE”。报错如下: 在这里插入图片描述
      因此需要使用官方推荐的安装方式(上文)的安装方式。
    2. Wiki教程上的指令sudo /usr/local/bin/ntfs-3g ...针对Intel处理器的Mac电脑,而M1芯片的电脑上Homebrew默认将程序安装在/opt/homebrew/bin,可以通过指令
      which ntfs-3g
      
      来查看ntfs-3g的安装路径,因此需要修改指令为:
      sudo /opt/homebrew/bin/ntfs-3g /dev/disk4s1 /Volumes/NTFS -o local -o allow_other -o auto_xattr -o auto_cache
      
      或者直接使用ntfs-3g
      sudo ntfs-3g /dev/disk4s1 /Volumes/NTFS -o local -o allow_other -o auto_xattr -o auto_cache
      
    3. 缺少libfuse库:dyld: Library not loaded: /usr/local/lib/libfuse.2.dylib 在这里插入图片描述
      之前安装过macFUSE,如果直接卸载掉macFUSE的话会遇到这个报错,重新安装上即可。(macFUESE官网,直接下载安装即可)
      暂时不清楚未安装过macFUSE的朋友会不会遇到这个问题。
    4. 执行sudo ntfs-3g...时安全提示: 在这里插入图片描述
      需要在系统偏好设置里“启用系统拓展…”。点击“Open System Preferences”后,弹出系统偏好设置,
      在这里插入图片描述
      “启用系统拓展…”,然后重启即可。
  • 后记: 对于跨平台文件共享有较大需求的朋友还是建议使用较为成熟的软件,例如:Paragan NTFS、Tuxera NTFS,免费的软件有Omi NTFS。毕竟MacOS的用户权限远没有Linux高,ntfs-3g的使用并不丝滑,自动挂载的方式又存在安全风险,同时官方也说对于Big Sur系统目前还没有比较简洁的自动挂载方式。

2. macFUSE+sshfs:在Mac上挂载Windows磁盘

  • 官网: macFUSESSHFS
  • 作用: 是现在Mac上挂载Windows磁盘。
  • 安装过程:
    1. Windows上安装OpenSSH:
      官方教程非常非常简洁且详细:Windows 中的 OpenSSH
      • 使用Windows设置来安装OpenSSH:(参见上述链接)
      • 启动并配置OpenSSH服务器:
        Start-Service sshd		# 启动sshd服务
        Set-Service -Name sshd -StartupType 'Automatic'		# [可选] 设置sshd服务开机启动
        if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
            Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
            New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
        } else {
            Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
        }		# 验证防火墙规则已配置。
        
    2. Mac上安装macFUSE(和osxfuse):
      直接去官网macFUSE下载对应版本安装即可。

      osxfuse是macFUSE的较老版本。开始没有安装osxfuse,导致后面sshfs缺少依赖库(见下文问题1)。执行如下指令安装:brew install osxfuse

    3. Mac上安装sshfs:
      参照Github Wiki的安装指引,下载安装包sshfs Download简易安装即可。网上一些老教程brew install的方法可能已经失效(同ntfs-3g)。
    4. 使用sshfs指令挂载远程磁盘:
      sshfs -C username@serverip:server_path /local_path
      
      其中,username为Windows电脑的用户名,可以通过如下指令(在Windows powershell下执行)查看:
      net user
      
      serverip为Windows电脑的ip地址,可以通过如下指令查看:
      ipconfig
      
      其中的IPv4 地址即为serverip
      server_path为需要挂载在Mac上的Windows文件地址,注意Windows下目录使用反斜杠\
      /local_path为Mac上的挂载位置,使用MacOS下的文件路径。
      示例如下:
      sshfs -C Eric@192.168.123.456:D:\学习资料 ./Documents
      
      在这里插入图片描述
      然后进入系统偏好设置 -> 安全性与隐私
      在这里插入图片描述
      重启电脑后,再次执行
      sshfs -C username@serverip:server_path /local_path
      
  • 遇到问题:
    1. 执行sshfs时提示缺少libosxfuse_i64.2.dylib在这里插入图片描述
      执行如下指令安装:
      brew install osxfuse
      
      有趣的是,安装的时候他会提示:
      在这里插入图片描述
      虽然我已经安装了macFUSE,但还是可能会遇到这个问题,暂时还不知道原因。
  • 参考资料:
    1. MacOS将远程Linux服务器挂载到本地目录-o选项用于断线重连;
    2. 如何在mac上实现远程挂载方案 | osxfuse & sshfs:一键配置同步路径;
    3. windows下pwd、ls、tail-f命令使用:Windows Powershell下的一些指令。

开发环境

1. Homebrew

  • 官网: Homebrew,里面有简体中文选项
  • 作用: “Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。”
  • 推荐安装教程(M1芯片):
  • 安装命令:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  • 遇到问题:
    1. 使用上述指令下载龟速,甚至根本无法连接。改用国内源:
      /bin/zsh -c "$(curl -fsSL https://gitee.com/huwei1024/HomebrewCN/raw/master/Homebrew.sh)"
      
    2. 中间提示要安装“命令行工具”,点击安装即可。貌似默认也是从国外服务器下载,安装速度较慢,耐心等待。
    3. 安装完后有句报错:zsh找不到brew,command not found : brew
      原因是M1芯片下homebrew的包安装位置改为了/opt/homebrew/(之前是/usr/local/)需要在.zshrc中手动修改(没有这个文件的话就新建,在~/touch .zshrc):
      open -e ~/.zshrc
      
      将homebrew部分的内容替换为(其实只是把原有的/usr/local/替换为/opt/homebrew/):
      export PATH=/opt/homebrew/bin:$PATH
      export PATH=/opt/homebrew/sbin:$PATH
      
      保存并关闭文件后别忘记在终端:
      source ~/.zshrc
      
      brew -v测试下是否还有报错)
    4. 安装过程默认把要删除的文件夹备份在了桌面Old_Homebrew内。
  • 参考资料:
    1. MacOs M1安装Homebrew 在国内最简单方法:M1芯片
    2. Mac必备神器Homebrew
    3. Homebrew介绍和使用:安装、卸载及常用指令

2. iTerm2 + zsh + oh-my-zsh

  • 官网: iTerm2oh-my-zshPowerlinefonts

  • 作用:

    • iTerm2:Mac下超好用、方便的终端;
    • zsh:被称为最强shell(参考为什么说 zsh 是 shell 中的极品);
    • oh-my-zsh:用于管理zsh配置的框架(以下全部给予其来配置,自己配置的话会麻烦很多);
    • Powerline:基于oh-my-zsh的主题和字体库;能够为显示agnoster主题提示符里的三角形提供支持;
    • fonts:包含用于 Powerline statusline 插件的预修补​​和调整字体;
    • solarized:很不错的一套配色方案(iTerm2已预先安装);
    • oh-my-zsh-agnoster-fcamblor:很好看的一套主题;
    • zsh-syntax-highlighting:使不同的类型的终端文本高亮为不同颜色(错误会高亮为红色);
    • zsh-autosuggestions:终端代码提示及补全(神器!)。
  • 推荐安装教程:

  • 安装过程:

    1) zsh:

    现在的Mac默认就是zsh(可在终端echo $0查看当前shell),因此只需要安装iTerm2和oh-my-zsh

    2) iTerm2的下载和安装:
      进入[iTerm2官网](https://iterm2.com)直接Download下载
    

    在这里插入图片描述
    解压后双击打开,选择Move to Applications Flolder,即完成iTerm2安装
    在这里插入图片描述

    3) oh-my-zsh安装:
      执行安装命令:
      ```bash
      curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
      ```
      报错:`curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443`
    

    在这里插入图片描述
    原因依旧是连不上境外的服务器,无法下载这个文件,解决办法就是手动把它下载下来进行安装:(可参考这篇文章
    先从Gitee上下载下来这个install.sh,然后执行安装
    bash chmod +x install.sh # 先为该文件添加执行权限 ./install.sh # 直接执行该文件进行安装
    耐心等待安装完成。(安装完成后可以rm install.sh删除install.sh文件)

    4) Powerline安装:
      使用pip安装Powerline:
      ```bash
      pip install powerline-status
      ```
      由于本机还未安装pip,会报错`zsh: command not found: pip`,因此需要先通过以下指令安装pip:
      ```bash
      sudo easy_install pip
      ```
      看大家的讨论一般情况下执行这句安装pip是没问题的,但我的电脑这时候又出现了个新问题`SyntaxError: invalid syntax`
    

    在这里插入图片描述
    在这里插入图片描述
    改用如下指令安装(参考MacOS安装pip失败,提示:SyntaxError: invalid syntax):
    bash curl https://bootstrap.pypa.io/get-pip.py | python3
    安装完后有个警告:
    在这里插入图片描述
    提示pip的安装路径不在环境变量PATH里面,还需要:
    bash echo 'export PATH=$PATH:/Users/xxx/Library/Python/3.8/bin' >>~/.bashrc
    或者也可以把export PATH=$PATH:/Users/xxx/Library/Python/3.8/bin直接写到~/.zshrc文件里面(注意:这里的路径是根据每个人的警告信息来写的)。(参考mac zsh: command not found: pip解决方法
    执行完成后可以pip -V查看是否安装成功。
    随后即可安装Poweline。
    bash pip install powerline-status

    5) fonts字体安装及配置:
      直接执行:
      ```bash
      git clone https://github.com/powerline/fonts.git --depth=1		# 下载
      cd fonts
      ./install.sh			# 安装
      cd ..
      rm -rf fonts		# 清除安装文件
      ```
      然后便可以在iTerm2内设置for Powerline的字体:![在这里插入图片描述](https://img-blog.csdnimg.cn/cb336629fa0347e0a759addde7a65ab9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARXJpY19QeHo=,size_20,color_FFFFFF,t_70,g_se,x_16)
      为什么要在第6步单独设置一下non-ASCII text,应该是为了保持所有字体的统一。(参考[【iterm2+zsh+oh-my-zsh】macOS终端美化终极方案!](http://www.old-wan.com/html/computer/mac/20190722/55.html))
    
    6) solarized配色安装:
      其实iTerm2自带这个配色的,可以直接选择(还是先进入`iTerm2 --> Preference..`):
    

    在这里插入图片描述

    7) oh-my-zsh-agnoster-fcamblor主题安装:
      在终端执行如下命令下载下载(注意执行前要先登陆git并配置好公钥私钥,可参考[git登陆](https://www.cnblogs.com/feiquan/p/11249727.html)):
      ```bash
      git clone git@github.com:fcamblor/oh-my-zsh-agnoster-fcamblor.git
      ```
      安装(参考[默认终端 + iTerm2 + oh_my_zsh + agnoster theme + Powerline fonts + solarized 打造macOS炫酷终端](https://blog.csdn.net/toopoo/article/details/85301389)):
      ```bash
      cd oh-my-zsh-agnoster-fcamblor
      ./install
      ```
      配置:
      ```bash
      open -e ~/.zshrc
      ```
      打开`.zshrc`,找到`ZSH_THETE="robbyrussell"`,将其更改为(建议将之前的注释掉,另起一行重新写,养成好习惯):
      ```XML
      ZSH_THEME="agnoster"
      ```
      保存退出后,
      ```bash
      source ~/.zshrc
      ```
      焕然一新!(安装完后可以删除文件夹`oh-my-zsh-agnoster-fcamblo`)
    

    在这里插入图片描述

    8) zsh-syntax-highlighting高亮安装:
      执行如下指令下载:
      ```bash
      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
      ```
      配置:
      ```bash
      open -e ~/.zshrc
      ```
      在`plugins=(git)`内添加`zsh-syntax-highlighting`,变为
      ```bash
      plugins=(git zsh-syntax-highlighting)
      ```
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/01f378e918144987be0441e4926326ce.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARXJpY19QeHo=,size_20,color_FFFFFF,t_70,g_se,x_16)		**注意:无论后续添加多少插件,保持`zsh-syntax-highlighting`在最后**	
    
    9) zsh-autosuggestions命令自动补全插件安装
      类似高亮插件的安装,执行如下指令下载:
      ```bash
      git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
      ```
      配置:
      ```bash
      open -e ~/.zshrc
      ```
      在`plugins=(git)`内添加`zsh-autosuggestions`,变为
      ```bash
      plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
      ```
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/1bf95f0cf97e43a7bce16c57e839790b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARXJpY19QeHo=,size_20,color_FFFFFF,t_70,g_se,x_16)
      结果还真出了点问题:自动补全的字看不到,按➡️倒是可以自动补全。这是在iTerm2下的默认显示问题,解决方案如下(参考[iterm下面使用zsh-autosuggestions显示不清楚的解决方式](https://github.com/itgoyo/500Days-Of-Github/issues/142)):
      打开`zsh-autosuggestions`的配置文件:
      ```bash
      open -e ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
      ```
      找到`typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'`,并修改为
      ```bash
      typeset -g ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
      ```
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/f357d666400d4b8faf947511708e56cb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARXJpY19QeHo=,size_20,color_FFFFFF,t_70,g_se,x_16)
      **需要重启终端生效。**
    

    在这里插入图片描述

    10) 为iTerm2添加背景:
      	在设置里面直接改就行:
    

    在这里插入图片描述

  • 遇到问题:

    1. sh -c install.sh时报错
    2. sudo easy_install pip失败原因?
    3. pip安装时报Defaulting to user installation because normal site-packages is not writeable
    4. 按照最初的教程或brew install zsh-syntax-highlighting安装zsh-syntax-highlighting,会在source时报错[oh-my-zsh] plugin 'zsh-syntax-highlighting' not found,因为其需要添加到~/.oh-my-zsh/custom/plugins目录下,因此按照本教程安装较为方便。
  • 其他参考:

    1. 收集了这么多实用技巧,帮助你的 iterm2 成为最帅的那个!:隐藏前缀
    2. 简单配置让iterm2用得更爽:全局快捷键、Vim配置、备份
    3. iTerm2 整合 Tmux 利器:整合Tmux,工作空间分类
    4. iTerm2牛逼的功能!!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值