2023-04-30

MacOS-Homebrew

1. homebrew介绍
1.1 简介
1.2 争议
1.3 数据采集
2. 安装
2.1 Homebrew默认安装目录
2.2 官网安装脚本
2.3 国内安装脚本
2.4 使用科大源安装
3. 修改源
3.1 查看当前源
3.2 修改为阿里源
3.3 替换为清华源
3.4 替换为中科大源
3.5 腾讯源
3.6. 重置为官方源
4. 使用homebrew
5. 软件列表

1. homebrew介绍

1.1 简介


Homebrew 是一个免费的开源软件包管理系统,可以简化软件在Apple的 macOS 和 Linux 上的安装。  
包管理器最初由 Max Howell 编写。Homebrew 是 Software Freedom Conservancy 的非营利项目成员,完全由无偿志愿者运营。
安装包含一个 git 存储库,允许用户通过从 GitHub 拉取更新的存储库来更新 Homebrew。 

1.2 争议

Homebrew 修改了 /usr/local 的默认权限; 具体来说,模式从 drwxr-xr-x root wheel 更改为 drwxrwxr-x myuser admin。  
安装程序更改了所有文件(不仅仅是目录)的所有权。  一些人认为这是一个主要的安全漏洞。
rwx r-x r-x root wheel
rwx rwx r-x myuser admin
用户
其他
用户
用户

所属组
所属组

1.3 数据采集

Homebrew 通过 Google Analytics 收集安装、构建错误和操作系统版本统计信息。 
可以使用命令 brew analytics off 选择退出。 
用户可以在 Homebrew 网站上查看过去 30、90 和 365 天的分析数据。

2. 安装


2.1 Homebrew默认安装目录

  • macOS (Intel) 的 /usr/local
  • macOS (Apple Silicon 即M1) 的 /opt/homebrew 
  • Linux 的 /home/linuxbrew/.linuxbrew

2.2 官网安装脚本

将官网提供的脚本,如下,复制到终端执行即可。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装文档和手册页

2.3 国内安装脚本

使用以上官网脚本安装很可能会非常慢,直到失败... 如下连接可以直接在浏览器里打开安装脚本文件,里面很多提示和注释都是中文的。
下载并执行安装脚本
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2.4 使用科大源安装

a) 首先在命令行运行如下几条命令设置环境变量:
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git" 
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git" 
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles" 
export HOMEBREW_API_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles/api"
b1) 之后在命令行运行 Homebrew 安装脚本:
/bin/bash -c "$(curl -fsSL https://github.com/Homebrew/install/raw/HEAD/install.sh)"
b2) 初次安装 Homebrew / Linuxbrew 时,如果无法下载安装脚本(上面b1步骤失败),可以使用科大每日同步的安装脚本文件。
/bin/bash -c "$(curl -fsSL https://mirrors.ustc.edu.cn/misc/brew-install.sh)"

3. 修改源

Mac 下 brew 切换为国内源

3.1 查看当前源

 % cd "$(brew --repo)" && git remote -v               
 origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git (fetch) 
 origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git (push)  
 % cd "$(brew --repo homebrew/core)" && git remote -v 
 origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git (fetch) 
 origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git (push)

3.2 修改为阿里源

$ git -C "$(brew --repo)" remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git 
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

# zsh 替换 brew bintray 镜像 
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc 
$ source ~/.zshrc
# bash 替换 brew bintray 镜像 
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile 
$ source ~/.bash_profile
# 刷新源 
$ brew update

3.3 替换为清华源

# 替换各个源 
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git 
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git 
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
# zsh 替换 brew bintray 镜像 
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc 
$ source ~/.zshrc
# bash 替换 brew bintray 镜像 
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile 
$ source ~/.bash_profile
# 刷新源 
$ brew update

3.4 替换为中科大源

# 替换各个源 
$ git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git 
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git 
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
# zsh 替换 brew bintray 镜像 
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc 
$ source ~/.zshrc
# bash 替换 brew bintray 镜像 
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile 
$ source ~/.bash_profile
# 刷新源 
$ brew update

3.5 腾讯源

cd "$(brew --repo)" 
git remote set-url origin https://mirrors.cloud.tencent.com/homebrew/brew.git 
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" 
git remote set-url origin https://mirrors.cloud.tencent.com/homebrew/homebrew-core.git 
brew update

3.6 重置为官方源

$ git -C "$(brew --repo)" remote set-url origin https://github.com/Homebrew/brew.git 
$ git -C "$(brew --repo homebrew/core)" remote set-url origin https://github.com/Homebrew/homebrew-core.git 
$ git -C "$(brew --repo homebrew/cask)" remote set-url origin https://github.com/Homebrew/homebrew-cask
# zsh 注释掉 HOMEBREW_BOTTLE_DOMAIN 配置 
$ vi ~/.zshrc 
# export HOMEBREW_BOTTLE_DOMAIN=xxxxxxxxx
# bash 注释掉 HOMEBREW_BOTTLE_DOMAIN 配置 
$ vi ~/.bash_profile 
# export HOMEBREW_BOTTLE_DOMAIN=xxxxxxxxx
# 刷新源 
$ brew update

查看当前源
% cd "$(brew --repo)" && git remote -v 
 origin https://github.com/Homebrew/brew.git (fetch) 
 origin https://github.com/Homebrew/brew.git (push) 
% cd "$(brew --repo homebrew/core)" && git remote -v 
 origin https://github.com/Homebrew/homebrew-core.git (fetch) 
 origin https://github.com/Homebrew/homebrew-core.git (push) 
% cd "$(brew --repo homebrew/cask)" && git remote -v 
 origin https://github.com/Homebrew/homebrew-cask (fetch) 
 origin https://github.com/Homebrew/homebrew-cask (push)

% cat ~/.zshrc  
# export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles 
# export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles 
# export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles 
# export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.cloud.tencent.com/homebrew-bottles 
# export HOMEBREW_BOTTLE_DOMAIN=''

4. 使用homebrew

获取帮助 % brew help
搜索软件包 brew search TEXT|/REGEX/
查看软件包信息 brew info [FORMULA|CASK...]
安装软件包 brew install FORMULA|CASK...
更新 Homebrew brew update
查看那些已安装的程序需要更新 brew outdated
不带参数,升级所有软件包 brew upgrade [FORMULA|CASK...]
升级指定软件包 brew upgrade [package]
卸载软件包 brew uninstall FORMULA|CASK...
列出已安装的软件包列表 brew list [FORMULA|CASK...]
列出软件包的依赖关系 brew deps [package]
清除过时软件包 brew cleanup
-n 查看可清理的旧版本包,不执行实际操作 brew cleanup -n
清理指定包的旧版本 brew cleanup [package]
配置信息 brew config
检查系统是否存在问题 brew doctor
安装显示debug信息 brew install --verbose --debug FORMULA|CASK
不带参数的话,
将会列出当前已经tapped 的仓库:
% brew tap
homebrew/cask
homebrew/core
homebrew/services

5. 软件列表

核心仓库软件列表,和图形界面软件列表
下面是按照统计下载最多的软件排列

顺便列举一些常用软件
libreoffice, blender, vlc, virtualbox, microsoft-office, qbittorrent, telegram-desktop, vmware-fusion, kindle, qq, 
google-earth-pro, v2rayx, notion, crossover, gimp, github, telegram, gdisk, youtube-downloader, ccleaner, ffmpeg, v2ray...

MacOS-Setup-GenshinImpact

MacOS-Setup-GenshinImpact

1. Genshin Impact
	1.1 国内安装包
	1.2 国际安装包
	1.3 云平台游戏
2. 安装
	2.1 下载并安装PlayCover
	2.2 添加ipa源
	2.3 安装ipa软件
3. 登陆验证
	3.1 关闭SIP
	3.2 添加参数并登陆验证
	3.3 重新开启SIP
	3.4 补充阅读
	3.5 更多问题
4 体验游戏
	4.1 键盘鼠标
	4.2 手柄
	4.3 游戏设置菜单
	4.4. 兑换码

 

1. Genshin Impact

是一款角色扮演冒险游戏,支持多种平台。

  • Adnroid系统,ios系统,Windows系统,PS5,
  • 官方云平台(据说每小时至少1G多网络流量,建议wifi下使用)
  • 另外使用M1芯片的Mac设备也可以(需要PlayCover)

同时各大平台数据都会互通。

不能互通的是登陆时选择的服务区。
首先是安装包,分为国内安装包和国际安装包。

1.1 国内安装包

https://ys.mihoyo.com/
国内安装包使用需要手机验证,可以短信登陆。就是俗称的国服。很多软件都是这样,地理上亚洲包含中国,但中国又自我孤立与亚洲。

米游社-原神
https://bbs.mihoyo.com/ys/strategy/?bbs_presentation_style=no_header
这里有地图,角色攻略,任务手册,装备解析等。

1.2 国际安装包

国际安装包,可以选择以下几个服务区,
1.TK/HK/MO(港澳台服) 2.Asia(亚服) 3.Europe(欧服) 4.America(美服)
https://genshin.hoyoverse.com/en/home
其中港澳台服这个区感觉比较奇怪,不理解为何单独分出来,(不属于亚洲?也不属于中国?) 看网页上其他用户的描述,该区用户数较少,联机匹配打怪时可能需要等待较长~时间。

社区页面
https://act.hoyoverse.com/ys/event/e20221107-community/index.html
提瓦特大陆地图
https://act.hoyolab.com/ys/app/interactive-map/index.html

1.3 云平台游戏

本地不需要安装巨大的完整版。
https://mhyy.mihoyo.com/
https://mhyy.mihoyo.com/news/detail/103534

2. 安装

 

注:下面全部是[国际版]安装包的操作过程。
这里记录在MacOS系统上的安装过程,由于该游戏并没有发布支持MacOS的dmg安装包,也仅在苹果app商店里登记了iso版本,并没有macOS版本。
所以这里用到的安装包是ISO系统里提取的版本。
MacOS-Setup-App
https://www.cnblogs.com/sztom/p/17207598.html
下面是PlayCover的手册页,非常详细。
https://docs.playcover.io/getting_started/index

2.1 下载并安装PlayCover

https://www.cnblogs.com/sztom/p/17207598.html#3
https://github.com/PlayCover/PlayCover/releases

2.2 添加ipa源

https://decrypt.day/library
打开PlayCover软件,依次点开屏幕左上角的主菜单PlayCover\设置\IPA来源,添加以上地址。

2.3 安装ipa软件

添加完成ipa源,在PlayCover软件左侧的[IPA库]页签下就能浏览网站所有可用ipa软件,选择添加即可。
P-2.3-IPA库

需要注意的是这里有2个原神版本:

  • >[原神]: 这个是国服,就是国内用户专用的版本,需要手机号码,可以短信登陆。
  • >[Genshin Impact]: 这个是国际版,可以选择亚洲,欧洲,美洲和港澳台4个服务区。

当前的3.5版本大约有3.5G,下载需要稍等片刻。
另外,不添加ipa源,手动下载或自行提取ipa文件后,也可以直接添加到本地app库里。
P-2.3-APP库

3. 登陆验证

部分游戏(如原神)使用的人机验证无法正常通过,因此需要暂停MacOS系统的SIP,验证后再开启SIP即可。
对于国服用户,据称绑定ID card+手机后,可直接通过短信验证码等形式登陆,并免去人机验证。
这里只说国际服部分,安装完IPA软件后,参考如下操作。
注:以下操作环境为MacOS系统,大版本v13,代号Ventura,M1处理器。PlayCover2.04版。

3.1 关闭SIP

1. 点开屏幕左上角苹果图标,在下拉菜单里,选择[关机]
2. [长按]键盘右上角电源键(黑色的指纹按键)。
3. 进入[恢复模式],输入账号密码后,从顶部菜单,工具里选择打开终端[Terminal]
4. 终端内输入如下命令关闭SIP。
% csrutil disable
需要稍等一会儿,看到成功关闭的信息即可。

3.2 添加参数并登陆验证

3.2.1 [重启电脑]正常进入系统,打开终端,输入如下命令:
sudo nvram boot-args="amfi_get_out_of_my_way=1 amfi_allow_any_signature=1"
3.2.2 登陆验证
以上完成后,再次[重启电脑]正常进入系统
打开原神加载验证程序,输入账号密码通过验证后即可。 (这时不要进入游戏,就是登陆最后的那道门,不要点开!!!) 关闭游戏,继续下面的步骤。
3.2.3 清除刚才添加的变量,打开终端输入如下命令,(不是必须的,重开SIP后,也会被禁用)
% sudo nvram -d boot-args

3.3 重新开启SIP

再次[关机],[长按]电源键开机进入[恢复模式],打开终端输入如下命令:
% csrutil enable
最后重启进入系统后就可以正常登陆游戏了。

3.4 补充阅读

关于 Mac 上的SIP系统完整性保护
https://support.apple.com/zh-cn/HT204899
https://support.apple.com/en-us/HT204899
SIP: System Integrity Protection 系统完整性保护
查看SIP状态
% csrutil status
System Integrity Protection status: enabled.
csrutil: 配置系统安全策略

nvram: 操作固件 NVRAM 变量
查看添加的boot-args
sudo nvram -p |grep boot-args

3.5 更多问题

a) 如果您尝试过此操作但仍然无法登录,请尝试 sudo nvram boot-args=“amfi_get_out_of_my_way=1” 作为 boot-args 而不是上面的那些。 您还可以尝试在“钥匙串访问”中删除与游戏相关的任何项目(在“聚焦搜索”中键入钥匙串访问以将其打开),以及在应用设置中启用越狱检测绕过。 其他登录问题可以通过清除应用程序首选项来解决。

b) 如果您在禁用SIP时不小心进了门,则在之后重新启用SIP时将无法登录游戏。 您可以尝试在钥匙串访问中删除与原神相关的项目(搜索 genshin 和 mihoyo),然后重复步骤 3.1~3.3 。具体步骤如下:
打开[启动台],找到英文名是[keychain access], 中文名是[钥匙串访问],在启动台界面的其他文件夹里,或者直接在启动台顶端搜索。
打开[钥匙串访问],在右上角的搜索栏位搜索“mihoyo”和“genshin”,将搜索出来的所有记录删除。
然后按照上述(3.1~3.3)步骤重新尝试。

c) 多个账号
若有多个游戏账号,可在(3.2.2 登陆验证)步骤依次验证,
验证完成后不要进入游戏,点击右边的退出小图标,退出当前账号,再输入下一个账号密码进行验证。
另外,若是后续增加的账号,则要参照前面的步骤再次关闭SIP后,增加验证账号后,再开启SIP。

4. 体验游戏

https://docs.playcover.io/keymapping/using_making_keymaps
在PlayCover里添加的软件都来自IOS版本,这些软件大部分功能都是通过触屏完成的。MacBook屏幕或外接屏幕通常都不是触屏。
游玩游戏可以通过键盘+鼠标或者外接游戏手柄。

4.1 键盘鼠标

打开游戏,左上角有键盘鼠标映射[Keymapping]
P-3.1

[⌘ Command + K] | 打开或关闭键盘映射。
[⌘ Command + ⌫] | 删除选中的映射键
[⌘ Command + 方向上] | 放大选中的映射键触控面积
[⌘ Command + 方向下] | 缩小选中的映射键触控面积
[⌘ Command + 旋转] | 旋转画面,若是不小心点到了,就多点几下转回来即可。
[⌥ option ] | 可以来回切换是否释放鼠标
下面是PlayCover的手册页,非常详细。还有上传到github的键盘映射文件供下载,注意自己的显示器比例,选择合适的使用即可。
https://docs.playcover.io/keymapping/using_making_keymaps
https://github.com/PlayCover/keymaps/tree/master/keymapping
下面找到个连接,中文,也蛮详细了,供参考。
https://blog.csdn.net/sunhoms/article/details/126706166
新版 playCover 键位映射教程(mac 玩 ios 原神键位映射示例) 2022-09-05
P-3.1-2

4.2 手柄

P-3.2

1. 蓝牙连接手柄
我这里用的是多合一通用手柄,就是可以支持手机,Mac,Windows等多平台的手柄。
使用不同模式开机就能连接不同设备。
当前使用rb+Home启动,连接Mac后识别为Xbox设备。

设置为手柄后,如上图,按钮旁边都有操作键提示,便于熟悉按键。

4.3 游戏设置菜单

P-3.3

回到PlayCover的App库里,右键点击游戏图标,列出该游戏设置相关菜单。
[设置]
设置部分,预设开启键盘,鼠标映射,不用改。
[导入键盘映射布局]
这里可以将别人做好的映射直接导入,导入后也可根据个人习惯,微调修改。
[导出键盘映射布局]
这里可以备份直接常用的布局,需要时可以重新导入。

4.4 兑换码

Mac系统下使用的ios版本原神,在[设置]\[账号]下没有[兑换码]的选项,不知为何,但可通过如下页面登陆后兑换。
下面是国际服的登陆页,可以查看自己的账号信息,登陆设备等。
https://genshin.hoyoverse.com/en/home
国际服的[兑换码]页面
https://genshin.hoyoverse.com/zh-tw/gift
https://genshin.hoyoverse.com/en/gift

Diode

导航 (返回顶部) 1. Diode 1.1 Diode 概述 1.2 肖克利二极管方程 1.3 缩写 Abbreviations 2. 主要功能 2.1 单向电流 (Unidirectional current flow) 2.2 阈值电压 (Threshold...