[GNOME] 扩展备份与恢复

[GNOME] 扩展备份与恢复

备份:

#!/usr/bin/env bash
# 备份已安装的扩展
# 不传参时收集所有已安装的扩展,传参指定扩展的文件夹名时仅收集一个扩展($HOME/.local/share/gnome-shell/extensions/)

extension_id="$1"
mkdir -p "tmp/$extension_id"
cp -frT "$HOME/.local/share/gnome-shell/extensions/$1" "tmp/$1"
find tmp -name gschemas.compiled | xargs rm -rf 

out_dir="${2:-extensions}"
mkdir -p "$out_dir"

for dir in tmp/*; do
  if [ -d "$dir" ]; then
    name=$(basename "$dir")
    # or use cmd `gnome-extensions pack`
    sh -c "cd tmp; zip -r \"$out_dir/${name}.zip\" \"$name\""
  fi
done

rm -rf tmp

恢复:

#!/usr/bin/env bash
# 从备份中恢复扩展
# 不传参时默认从当前目录下extensions目录中查找备份

parent_path="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
backup_dir="${1:-${parent_path}/extensions}"

for f in "$backup_dir"/*.zip; do
  if [ -f "$f" ]; then
    name=$(basename "$f")
    gnome-extensions install "$backup_dir/$name"
  fi
done

echo "gnome扩展安装完成, 重启后在扩展管理器启用"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值