fix: 改用zip包下载中文模板,解决CSS排版问题
- 改用下载仓库zip包的方式获取模板(更可靠) - 移除逐个文件下载的方式(可能导致文件损坏) - 解压后自动查找并复制模板文件 - 解决远程安装后页面CSS排版异常的问题 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
114
setup_cups.sh
114
setup_cups.sh
@@ -634,79 +634,6 @@ install_chinese_templates() {
|
|||||||
info "安装 CUPS 中文界面模板..."
|
info "安装 CUPS 中文界面模板..."
|
||||||
|
|
||||||
local templates_dir="/usr/share/cups/templates-zh_CN"
|
local templates_dir="/usr/share/cups/templates-zh_CN"
|
||||||
local gitee_base="https://gitee.com/yu-yon/S905L3A/raw/master/cups-templates-zh_CN"
|
|
||||||
|
|
||||||
# 模板文件列表
|
|
||||||
local templates=(
|
|
||||||
"add-class.tmpl"
|
|
||||||
"add-printer.tmpl"
|
|
||||||
"add-rss-subscription.tmpl"
|
|
||||||
"admin.tmpl"
|
|
||||||
"choose-device.tmpl"
|
|
||||||
"choose-make.tmpl"
|
|
||||||
"choose-model.tmpl"
|
|
||||||
"choose-serial.tmpl"
|
|
||||||
"choose-uri.tmpl"
|
|
||||||
"class-added.tmpl"
|
|
||||||
"class-confirm.tmpl"
|
|
||||||
"class-deleted.tmpl"
|
|
||||||
"class-jobs-header.tmpl"
|
|
||||||
"class-modified.tmpl"
|
|
||||||
"class.tmpl"
|
|
||||||
"classes-header.tmpl"
|
|
||||||
"classes.tmpl"
|
|
||||||
"command.tmpl"
|
|
||||||
"edit-config.tmpl"
|
|
||||||
"error-op.tmpl"
|
|
||||||
"error.tmpl"
|
|
||||||
"header.tmpl"
|
|
||||||
"help-header.tmpl"
|
|
||||||
"help-printable.tmpl"
|
|
||||||
"help-trailer.tmpl"
|
|
||||||
"job-cancel.tmpl"
|
|
||||||
"job-hold.tmpl"
|
|
||||||
"job-move.tmpl"
|
|
||||||
"job-moved.tmpl"
|
|
||||||
"job-release.tmpl"
|
|
||||||
"job-restart.tmpl"
|
|
||||||
"jobs-header.tmpl"
|
|
||||||
"jobs.tmpl"
|
|
||||||
"list-available-printers.tmpl"
|
|
||||||
"modify-class.tmpl"
|
|
||||||
"modify-printer.tmpl"
|
|
||||||
"norestart.tmpl"
|
|
||||||
"option-boolean.tmpl"
|
|
||||||
"option-conflict.tmpl"
|
|
||||||
"option-header.tmpl"
|
|
||||||
"option-pickmany.tmpl"
|
|
||||||
"option-pickone.tmpl"
|
|
||||||
"option-trailer.tmpl"
|
|
||||||
"pager.tmpl"
|
|
||||||
"printer-accept.tmpl"
|
|
||||||
"printer-added.tmpl"
|
|
||||||
"printer-confirm.tmpl"
|
|
||||||
"printer-default.tmpl"
|
|
||||||
"printer-deleted.tmpl"
|
|
||||||
"printer-jobs-header.tmpl"
|
|
||||||
"printer-modified.tmpl"
|
|
||||||
"printer-reject.tmpl"
|
|
||||||
"printer-start.tmpl"
|
|
||||||
"printer-stop.tmpl"
|
|
||||||
"printer.tmpl"
|
|
||||||
"printers-header.tmpl"
|
|
||||||
"printers.tmpl"
|
|
||||||
"restart.tmpl"
|
|
||||||
"samba-export.tmpl"
|
|
||||||
"samba-exported.tmpl"
|
|
||||||
"search.tmpl"
|
|
||||||
"set-printer-options-header.tmpl"
|
|
||||||
"set-printer-options-trailer.tmpl"
|
|
||||||
"subscription-added.tmpl"
|
|
||||||
"subscription-canceled.tmpl"
|
|
||||||
"test-page.tmpl"
|
|
||||||
"trailer.tmpl"
|
|
||||||
"users.tmpl"
|
|
||||||
)
|
|
||||||
|
|
||||||
# 先检查本地是否有模板目录
|
# 先检查本地是否有模板目录
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" 2>/dev/null && pwd)" || SCRIPT_DIR=""
|
SCRIPT_DIR="$(cd "$(dirname "$0")" 2>/dev/null && pwd)" || SCRIPT_DIR=""
|
||||||
@@ -718,26 +645,39 @@ install_chinese_templates() {
|
|||||||
cp -f "$SCRIPT_DIR/cups-templates-zh_CN/"*.tmpl "$templates_dir/"
|
cp -f "$SCRIPT_DIR/cups-templates-zh_CN/"*.tmpl "$templates_dir/"
|
||||||
success "中文界面模板安装完成(本地)"
|
success "中文界面模板安装完成(本地)"
|
||||||
else
|
else
|
||||||
# 从 Gitee 下载模板
|
# 从 Gitee 下载模板(使用 zip 包方式,更可靠)
|
||||||
info "从 Gitee 下载中文模板..."
|
info "从 Gitee 下载中文模板..."
|
||||||
|
|
||||||
|
local tmp_dir=$(mktemp -d)
|
||||||
|
local zip_url="https://gitee.com/yu-yon/S905L3A/repository/archive/master.zip"
|
||||||
|
|
||||||
|
# 下载仓库 zip 包
|
||||||
|
if wget -q --show-progress -O "$tmp_dir/repo.zip" "$zip_url" 2>/dev/null || \
|
||||||
|
curl -sL -o "$tmp_dir/repo.zip" "$zip_url" 2>/dev/null; then
|
||||||
|
|
||||||
|
# 解压
|
||||||
|
cd "$tmp_dir"
|
||||||
|
unzip -q repo.zip 2>/dev/null
|
||||||
|
|
||||||
|
# 查找模板目录
|
||||||
|
local extracted_dir=$(find . -type d -name "cups-templates-zh_CN" 2>/dev/null | head -1)
|
||||||
|
|
||||||
|
if [ -n "$extracted_dir" ] && [ -d "$extracted_dir" ]; then
|
||||||
mkdir -p "$templates_dir"
|
mkdir -p "$templates_dir"
|
||||||
|
cp -f "$extracted_dir"/*.tmpl "$templates_dir/"
|
||||||
local success_count=0
|
local count=$(ls "$templates_dir"/*.tmpl 2>/dev/null | wc -l)
|
||||||
local total=${#templates[@]}
|
success "中文界面模板安装完成(已安装 $count 个文件)"
|
||||||
|
else
|
||||||
for tmpl in "${templates[@]}"; do
|
warn "解压后未找到模板目录"
|
||||||
if wget -q -O "$templates_dir/$tmpl" "$gitee_base/$tmpl" 2>/dev/null; then
|
rm -rf "$tmp_dir"
|
||||||
success_count=$((success_count + 1))
|
return 1
|
||||||
fi
|
fi
|
||||||
# 显示进度
|
|
||||||
echo -ne "\r 下载进度: $success_count/$total"
|
|
||||||
done
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
if [ $success_count -gt 0 ]; then
|
cd - > /dev/null
|
||||||
success "中文界面模板安装完成(已下载 $success_count/$total 个文件)"
|
rm -rf "$tmp_dir"
|
||||||
else
|
else
|
||||||
warn "中文模板下载失败,界面将显示英文"
|
warn "中文模板下载失败,界面将显示英文"
|
||||||
|
rm -rf "$tmp_dir"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user