Arch下iphone的备份与恢复

最近我的iPhone更新完ios26.4.1后遇到了重启之后就会bootloop的问题,不过通过进入恢复模式/诊断模式后再重启就可以正常启动。查看iphone诊断日志,发现可能是nvram出现了问题。于是希望通过不保留数据刷机来解决这个问题。在选择备份数据的工具上,我选择了pymobiledevice3作为我的备份工具。 注:我可能感觉选择基于libimobiledevice的idevicebackup2工具比较好,但是未经过测试,不予评论。 安装流程 因为pymobiledevice3需要涉及到物理usb访问的问题,且PEP668不让直接运行pip install,所以我这里基于一个已经停止维护的AUR仓库python-pymobiledevice3进行改包。 找个合适的位置,先git clone下来 git clone https://aur.archlinux.org/python-pymobiledevice3.git cd python-pymobiledevice3 编辑PKGBUILD,找到 pkgver=6.0.1 字段,将其改成github中的最新版本号(我这里是9.13.0),最新版本号可在pymobiledevice3_releases中查看。 然后,仿照requirements.txt,修改下面的depends=...一行,这里提供ai生成的依赖行。 depends=( 'openssl' 'libusb' 'python' 'python-construct' 'python-asn1' 'python-click' 'python-coloredlogs' 'ipython' 'python-bpylist2' 'python-pygments' 'python-hexdump' 'python-daemonize' 'python-gpxpy' 'python-pykdebugparser' 'python-pyusb' 'python-tqdm' 'python-requests' 'xonsh' 'python-parameter-decorators' 'python-packaging' 'python-pygnuutils' 'python-cryptography' 'python-pycrashreport' 'python-fastapi' 'uvicorn' 'python-nest-asyncio' 'python-pillow' 'python-inquirer3' 'python-ifaddr' 'python-hyperframe' 'python-srptools' 'python-qh3' 'python-developer_disk_image' 'python-opack2' 'python-psutil' 'python-pytun-pmd3' 'python-prompt_toolkit' 'python-sslpsk-pmd3' 'python-python-pcapng' 'python-plumbum' 'python-wsproto' 'python-typer' 'python-defusedxml' 'python-pyimg4' 'python-construct-typing' 'python-typer-injector' 'pyton-ipsw_parser' ) 修改后保存,运行 updpkgsums 来更改新包的checksum 现在我们针对几个aur源中不存在的包手搓几个PKGBUILD。创建一个目录,然后创建一个PKGBUILD文件。以下PKGBUILD文件均为ai生成,不保证其正确性,但本人测试没有问题。 python-construct-typing pkgname=python-construct-typing _pkgname=construct-typing pkgver=0.7.0 pkgrel=1 pkgdesc='Extension for construct that adds typing features' arch=('any') url='https://github.com/timrid/construct-typing' license=('MIT') depends=('python' 'python-construct') makedepends=('python-build' 'python-wheel' 'python-installer' 'python-setuptools') source=("https://files.pythonhosted.org/packages/8c/0c/2db6f7e1ae9795e436c6a0dc0bc38b12b8c8a228cb63203e24190b755b3b/construct_typing-0.7.0-py3-none-any.whl") sha256sums=('c92383c6e8e5d07ba25811c8d5163820458d821e73bb1006541f43f89788646c') build() { cd "$srcdir" # wheel 不需要编译,直接解包作为构建产物 python -m wheel unpack "construct_typing-${pkgver}-py3-none-any.whl" -d build } package() { cd "$srcdir" python -m installer --destdir="$pkgdir" "construct_typing-${pkgver}-py3-none-any.whl" } python-typer-injector更改source链接和python -m wheel unpack行即可。 接下来是两个包的特殊处理: ...

2026-05-24 · 2 min · 230 words · 3cbb5c40

Arch中的一些体验小优化

1.雾凇拼音部分符号输出为英文标点 在写md,latex等文件时要不停切换中英文标点,非常的麻烦,所以干脆在配置文件中自定义half_shape标点映射自行更换 在~/.local/share/fcitx5/rime/rime_ice.custom.yaml添加以下段落 punctuator/half_shape: "¥": "$" # 人民币符号 -> 美元符 "「": "{" "」": "}" "【": "[" "】": "]" "·": "`" # 间隔号 -> 反引号 "、": "\\" # 顿号 -> 反斜杠 "~": "~" 重启fcitx即可. 这种方案本质上是替换了rime输入法输出的符号,所以在日常输入中,被替换的这些符号也会保持英文标点的状态.这点需要注意. 2. 微信无法粘贴图片 微信的剪贴板bug也是老生常谈的问题,这里ai推荐我使用wl-copy写一个脚本,安装脚本后,部分解决问题 先安装wl-paste和wl-copy yay -S wl-clipboard 再看看~/.local/bin是否存在 mkdir -p ~/.local/bin 然后 vim ~/.local/bin/wx-clip-fix.sh 写入以下脚本 #!/bin/bash # 依赖: wl-clipboard (确保已安装 wl-paste 和 wl-copy) wl-paste --watch bash -c ' # 避免无限循环:仅当内容是纯文本才处理 if wl-paste -n --list-types | grep -q "text/plain"; then clip=$(wl-paste -n) # 匹配微信/QQ的临时图片路径 if [[ "$clip" == file://*/WeChat_Data/*\.jpg ]] || [[ "$clip" == file://*/WeChat_Data/*\.png ]]; then filepath=$(echo "$clip" | sed "s/^file:\/\///") if [ -f "$filepath" ]; then # 重新作为图片写入剪贴板,打断原有 MIME mime=$(file --mime-type -b "$filepath") wl-copy -t "$mime" < "$filepath" # 可选:通知反馈 (需要安装 libnotify) # notify-send "Clipboard" "已转换微信图片为原生格式" fi fi fi ' 在niri配置文件中添加spawn-at-startup ...

2026-05-19 · 2 min · 251 words · 3cbb5c40