Create kali

This commit is contained in:
2025-12-01 23:37:25 +08:00
committed by GitHub
parent 43df8f0fea
commit 762b730eae

255
kali Normal file
View File

@@ -0,0 +1,255 @@
#!/bin/bash
# Kali Linux 增强版中文配置脚本
# 包含图形界面工具和更多配置选项
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# 检查是否为 root 用户
if [ "$EUID" -ne 0 ]; then
echo -e "${RED}请使用 sudo 运行此脚本${NC}"
exit 1
fi
# 显示菜单
show_menu() {
clear
echo -e "${GREEN}=================================${NC}"
echo -e "${GREEN} Kali Linux 中文配置工具 ${NC}"
echo -e "${GREEN}=================================${NC}"
echo -e "${YELLOW}请选择配置选项:${NC}"
echo "1. 完整中文环境配置(推荐)"
echo "2. 仅安装中文字体"
echo "3. 仅安装中文输入法"
echo "4. 仅配置区域设置"
echo "5. 安装中文GUI工具"
echo "6. 修复常见中文问题"
echo "7. 查看当前语言设置"
echo "8. 退出"
echo -e "${BLUE}=================================${NC}"
}
# 完整配置
full_setup() {
echo -e "${YELLOW}[1/10] 更新软件源...${NC}"
apt update -y
echo -e "${YELLOW}[2/10] 安装中文字体包...${NC}"
apt install -y \
fonts-wqy-microhei \
fonts-wqy-zenhei \
xfonts-wqy \
ttf-wqy-microhei \
ttf-wqy-zenhei \
fonts-noto-cjk \
fonts-droid-fallback
echo -e "${YELLOW}[3/10] 安装语言包...${NC}"
apt install -y \
language-pack-zh-hans \
language-pack-gnome-zh-hans \
kde-l10n-zhcn
echo -e "${YELLOW}[4/10] 配置区域设置...${NC}"
sed -i '/zh_CN.UTF-8/s/^# //g' /etc/locale.gen
locale-gen
update-locale LANG=zh_CN.UTF-8
echo -e "${YELLOW}[5/10] 安装输入法框架...${NC}"
# IBUS 方案
apt install -y \
ibus \
ibus-libpinyin \
ibus-pinyin \
ibus-gtk ibus-gtk3
# Fcitx 方案(备用)
apt install -y \
fcitx \
fcitx-pinyin \
fcitx-googlepinyin \
fcitx-config-gtk \
fcitx-frontend-gtk2 \
fcitx-frontend-gtk3 \
fcitx-module-cloudpinyin
echo -e "${YELLOW}[6/10] 安装中文软件包...${NC}"
apt install -y \
manpages-zh \
chromium-l10n \
libreoffice-l10n-zh-cn \
thunderbird-l10n-zh-cn
echo -e "${YELLOW}[7/10] 安装中文桌面环境支持...${NC}"
if dpkg -l | grep -q "kali-desktop"; then
apt install -y \
kali-desktop-base \
kali-desktop-xfce \
kali-desktop-gnome
fi
echo -e "${YELLOW}[8/10] 配置环境变量...${NC}"
cat > /etc/profile.d/chinese.sh << EOF
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:zh
export LC_CTYPE="zh_CN.UTF-8"
export LC_NUMERIC="zh_CN.UTF-8"
export LC_TIME="zh_CN.UTF-8"
export LC_COLLATE="zh_CN.UTF-8"
export LC_MONETARY="zh_CN.UTF-8"
export LC_MESSAGES="zh_CN.UTF-8"
export LC_PAPER="zh_CN.UTF-8"
export LC_NAME="zh_CN.UTF-8"
export LC_ADDRESS="zh_CN.UTF-8"
export LC_TELEPHONE="zh_CN.UTF-8"
export LC_MEASUREMENT="zh_CN.UTF-8"
export LC_IDENTIFICATION="zh_CN.UTF-8"
export LC_ALL=zh_CN.UTF-8
EOF
echo -e "${YELLOW}[9/10] 配置用户设置...${NC}"
if [ ! -z "$SUDO_USER" ]; then
USER_HOME=$(getent passwd $SUDO_USER | cut -d: -f6)
# 创建输入法自动启动
mkdir -p "$USER_HOME/.config/autostart"
cat > "$USER_HOME/.config/autostart/ibus.desktop" << EOF
[Desktop Entry]
Type=Application
Name=IBus
Exec=ibus-daemon -drx
EOF
chown -R $SUDO_USER:$SUDO_USER "$USER_HOME/.config"
fi
echo -e "${YELLOW}[10/10] 清理缓存...${NC}"
apt autoremove -y
apt clean
echo -e "${GREEN}完整配置完成!${NC}"
}
# 仅安装字体
fonts_only() {
apt update
apt install -y \
fonts-wqy-microhei \
fonts-wqy-zenhei \
fonts-noto-cjk \
fonts-droid-fallback
echo -e "${GREEN}中文字体安装完成!${NC}"
}
# 仅安装输入法
input_method_only() {
apt update
apt install -y ibus ibus-libpinyin
echo -e "${GREEN}中文输入法安装完成!${NC}"
echo "请运行 'ibus-setup' 配置输入法"
}
# 配置区域设置
locale_setup() {
apt install -y locales
dpkg-reconfigure locales
echo -e "${GREEN}区域设置完成!${NC}"
}
# 安装GUI工具
gui_tools() {
apt update
apt install -y \
gedit \
gucharmap \
gnome-tweaks \
gnome-software \
synaptic
echo -e "${GREEN}GUI工具安装完成${NC}"
}
# 修复常见问题
fix_issues() {
echo -e "${YELLOW}修复常见中文问题...${NC}"
# 修复字体显示问题
fc-cache -fv
# 修复乱码问题
if [ -f "/etc/default/locale" ]; then
sed -i 's/LANG=.*/LANG="zh_CN.UTF-8"/' /etc/default/locale
fi
# 修复输入法问题
if [ ! -z "$SUDO_USER" ]; then
USER_HOME=$(getent passwd $SUDO_USER | cut -d: -f6)
echo "export GTK_IM_MODULE=ibus" >> "$USER_HOME/.bashrc"
echo "export QT_IM_MODULE=ibus" >> "$USER_HOME/.bashrc"
echo "export XMODIFIERS=@im=ibus" >> "$USER_HOME/.bashrc"
fi
echo -e "${GREEN}问题修复完成!${NC}"
}
# 显示当前设置
show_current() {
echo -e "${YELLOW}当前语言设置:${NC}"
echo "LANG: $LANG"
echo "LANGUAGE: $LANGUAGE"
echo "LC_ALL: $LC_ALL"
echo ""
echo -e "${YELLOW}已安装的语言包:${NC}"
locale -a | grep zh
echo ""
echo -e "${YELLOW}已安装的中文字体:${NC}"
fc-list :lang=zh
}
# 主循环
while true; do
show_menu
read -p "请输入选项 (1-8): " choice
case $choice in
1)
full_setup
read -p "按回车键继续..."
;;
2)
fonts_only
read -p "按回车键继续..."
;;
3)
input_method_only
read -p "按回车键继续..."
;;
4)
locale_setup
read -p "按回车键继续..."
;;
5)
gui_tools
read -p "按回车键继续..."
;;
6)
fix_issues
read -p "按回车键继续..."
;;
7)
show_current
read -p "按回车键继续..."
;;
8)
echo -e "${GREEN}再见!${NC}"
exit 0
;;
*)
echo -e "${RED}无效选项,请重新输入${NC}"
sleep 2
;;
esac
done