Windows Subsystem for Linux 2 (WSL2)
配置浏览器
# 定义一个功能完整的函数,包含用户确认步骤
_setup_wsl_browser() {
# --- 步骤 1: 检查并交互式地安装 wslu ---
if command -v wslview &>/dev/null; then
echo "✅ 'wslu' (wslview) 已经安装。"
else
echo "ℹ️ 'wslview' (属于 'wslu' 包) 未找到,它是使浏览器从 WSL 运行的关键。"
# 明确询问用户是否继续安装
read -p "❓ 是否要现在为你自动安装它 (需要 sudo 权限)? [y/n] " user_confirm
# 将用户输入转为小写进行判断
case "${user_confirm,,}" in
y|yes)
echo "🚀 好的,开始安装 'wslu'..."
sudo apt update && sudo apt install -y wslu
# 再次检查以确认安装成功
if ! command -v wslview &>/dev/null; then
echo "❌ 安装失败,请检查上面的错误信息并尝试手动运行 'sudo apt install wslu'。"
return 1 # 退出函数
fi
echo "✅ 'wslu' 安装成功。"
;;
*)
echo "🤷 操作已取消。请在需要时手动安装 'wslu'。"
return 1 # 退出函数,因为核心依赖不存在
;;
esac
fi
# --- 步骤 2: 自动检测 Shell 并确定配置文件 ---
local config_file=""
local shell_name
shell_name=$(basename "$SHELL")
if [ "$shell_name" = "bash" ]; then
config_file="$HOME/.bashrc"
elif [ "$shell_name" = "zsh" ]; then
config_file="$HOME/.zshrc"
else
echo "⚠️ 不支持的 Shell: $shell_name。请手动将 'export BROWSER=wslview' 添加到你的配置文件。"
return 1 # 退出函数
fi
echo "ℹ️ 检测到你的 Shell 是 '$shell_name',将使用配置文件: $config_file"
# --- 步骤 3: 检查并写入配置 (防止重复) ---
local config_line="export BROWSER=wslview"
if grep -Fxq "$config_line" "$config_file"; then
echo "✅ 配置已存在于 $config_file,无需任何操作。"
else
echo "⚙️ 正在向 $config_file 添加配置..."
echo -e "\n# Set wslview as the default browser for apps in WSL (e.g., npm, etc.)" >> "$config_file"
echo "$config_line" >> "$config_file"
echo "✅ 配置成功!"
echo "👉 请运行 'source $config_file' 或重启终端使设置生效。"
fi
}
# 立即调用上面定义的函数来执行所有操作
_setup_wsl_browserLast updated on