#!/bin/sh

# 获取用户名和机器名
username=$(whoami)
hostname=$(hostname)

# 获取系统版本信息
os_name=$(grep -oP '(?<=NAME=).+' /etc/os-release | tr -d '"')

# 获取机器型号
machine_model=$(cat /sys/class/dmi/id/product_name)

# 获取CPU信息
cpu_info=$(cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F: '{print $2}' | sed 's/^[[:space:]]*//')

# 获取GPU信息
gpu_info=$(lspci | grep -i 'VGA\|3D\|2D')

# 获取内存信息
memory_info=$(free -h | awk 'NR==2{print $2}')

# 获取内核版本
kernel_version=$(uname -r)

# 获取开机时间
uptime=$(uptime -p)

# 获取包管理器
if [ -x "$(command -v apt)" ]; then
    package_manager="apt/apt-get"
elif [ -x "$(command -v dnf)" ]; then
    package_manager="dnf"
elif [ -x "$(command -v yum)" ]; then
    package_manager="yum"
fi

# 获取Shell
shell=$SHELL

# 获取当前时间
current_time=$(date)

# 获取分辨率
resolution=$(xrandr | grep '*' | awk '{print $1}')

# 获取桌面环境
desktop_environment=$XDG_CURRENT_DESKTOP

# 获取窗口管理器
window_manager=$XDG_SESSION_DESKTOP

# 获取当前主题
theme=$GTK_THEME

# 获取图标主题
icon_theme=$ICON_THEME

# 获取终端
terminal=$TERM

# 获取终端字体
terminal_font=$(fc-match :family)

# 获取地区
locale=$(timedatectl show --property=Timezone --value)

# 输出系统信息
echo "${username}@${hostname}"
echo "---------------System Info--------------"
echo "系统版本: ${os_name}"
echo "机器型号: ${machine_model}"
echo "CPU: ${cpu_info}"
echo "GPU: ${gpu_info}"
echo "内存: ${memory_info}"
echo "内核版本: ${kernel_version}"
echo "开机时间: ${uptime}"
echo "包管理器: ${package_manager}"
echo "Shell: ${shell}"
echo "当前时间: ${current_time}"
echo "分辨率: ${resolution}"
echo "桌面环境: ${desktop_environment}"
echo "窗口管理器: ${window_manager}"
echo "显示服务器：${XDG_SESSION_TYPE}"
echo "当前主题: ${theme}"
echo "图标主题: ${icon_theme}"
echo "终端: ${terminal}"
echo "终端字体: ${terminal_font}"
echo "地区: ${locale}"
echo -------------------------------------
echo "Press enter to exit..."
read NOTHING
