{"id":38791033,"url":"https://github.com/licyk/ani2xcur-cli","last_synced_at":"2026-05-23T19:01:24.830Z","repository":{"id":332971643,"uuid":"1126818281","full_name":"licyk/ani2xcur-cli","owner":"licyk","description":"一个功能强大的命令行工具，用于在 Windows 和 Linux 平台上发现、转换、安装和管理鼠标指针主题。它支持双向转换，可将 Linux 光标主题 (XCursor) 转为 Windows 格式 (.cur/.ani)，亦可将 Windows 主题转为 Linux 格式，并提供安装、应用和卸载鼠标主题的全套管理功能。","archived":false,"fork":false,"pushed_at":"2026-05-16T13:40:02.000Z","size":855,"stargazers_count":18,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-16T15:12:17.762Z","etag":null,"topics":["cursor","linux","python","windows"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/licyk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://afdian.com/a/licyk"]}},"created_at":"2026-01-02T16:24:35.000Z","updated_at":"2026-05-16T13:40:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/licyk/ani2xcur-cli","commit_stats":null,"previous_names":["licyk/ani2xcur-cli"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/licyk/ani2xcur-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/licyk%2Fani2xcur-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/licyk%2Fani2xcur-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/licyk%2Fani2xcur-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/licyk%2Fani2xcur-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/licyk","download_url":"https://codeload.github.com/licyk/ani2xcur-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/licyk%2Fani2xcur-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33408490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cursor","linux","python","windows"],"created_at":"2026-01-17T12:38:18.808Z","updated_at":"2026-05-23T19:01:24.817Z","avatar_url":"https://github.com/licyk.png","language":"Python","funding_links":["https://afdian.com/a/licyk"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"assets/ani2xcur_icon.png\" width=\"200\" height=\"200\" alt=\"Ani2xcur CLI\"\u003e\n\n# Ani2xcur CLI\n\n_✨一站式鼠标指针转换与管理工具_\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/stargazers\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/stars/licyk/ani2xcur-cli?style=flat\u0026logo=github\u0026logoColor=silver\u0026color=bluegreen\u0026labelColor=grey\" alt=\"Stars\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/forks\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/forks/licyk/ani2xcur-cli?style=flat\u0026logo=github\u0026logoColor=silver\u0026color=bluegreen\u0026labelColor=grey\" alt=\"GitHub forks\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/issues\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/issues/licyk/ani2xcur-cli?style=flat\u0026logo=github\u0026logoColor=silver\u0026color=bluegreen\u0026labelColor=grey\" alt=\"Issues\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/commits/main\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://flat.badgen.net/github/last-commit/licyk/ani2xcur-cli/main?icon=github\u0026color=green\u0026label=last%20commit\" alt=\"Commit\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/actions/workflows/lint.yml\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://github.com/licyk/ani2xcur-cli/actions/workflows/lint.yml/badge.svg\" alt=\"Ruff Lint\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/actions/workflows/pytest.yml\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://github.com/licyk/ani2xcur-cli/actions/workflows/pytest.yml/badge.svg\" alt=\"Pytest\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/actions/workflows/release.yml\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://github.com/licyk/ani2xcur-cli/actions/workflows/release.yml/badge.svg\" alt=\"Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/licyk/ani2xcur-cli/releases\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/v/release/licyk/ani2xcur-cli?include_prereleases\" alt=\"Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/ani2xcur\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://img.shields.io/pypi/v/ani2xcur\" alt=\"PyPI\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/ani2xcur\" style=\"margin: 2px;\"\u003e\n      \u003cimg src=\"https://img.shields.io/pypi/pyversions/ani2xcur.svg\" alt=\"Python Version\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n\u003c/div\u003e\n\n- [Ani2xcur CLI](#ani2xcur-cli)\n- [简介](#简介)\n- [功能特性](#功能特性)\n- [安装](#安装)\n- [使用](#使用)\n  - [鼠标指针格式转换](#鼠标指针格式转换)\n    - [Windows 转 Linux](#windows-转-linux)\n    - [Linux 转 Windows](#linux-转-windows)\n  - [鼠标指针管理](#鼠标指针管理)\n    - [安装指针](#安装指针)\n    - [卸载指针](#卸载指针)\n    - [设置指针主题和大小](#设置指针主题和大小)\n    - [查看指针信息](#查看指针信息)\n    - [导出指针](#导出指针)\n  - [ImageMagick 管理](#imagemagick-管理)\n    - [自动下载并安装 ImageMagick](#自动下载并安装-imagemagick)\n    - [从系统中卸载 ImageMagick](#从系统中卸载-imagemagick)\n  - [更新 Ani2xcur CLI](#更新-ani2xcur-cli)\n  - [查看 Ani2xcur CLI 使用的环境变量](#查看-ani2xcur-cli-使用的环境变量)\n  - [调试日志](#调试日志)\n  - [查看 Ani2xcur CLI 版本信息](#查看-ani2xcur-cli-版本信息)\n- [使用的项目](#使用的项目)\n- [许可证](#许可证)\n\n***\n\n# 简介\nAni2xcur CLI 是一个强大且易于使用的命令行工具，专为鼠标指针主题的管理、转换和安装而设计，支持 Windows 平台与 Linux 平台。\n\n\n# 功能特性\n- **跨平台支持**: 完美兼容 Windows 和主流 Linux 桌面环境。\n- **格式转换**:\n  - 将 Windows 鼠标指针主题 (`.inf`, `.ani`, `.cur`) 转换为 Linux Xcursor 主题。\n  - 将 Linux Xcursor 鼠标指针主题 (`index.theme`) 转换为 Windows 格式。\n- **指针管理**:\n  - **安装**: 轻松将本地或压缩包中的指针主题安装到系统中。\n  - **卸载**: 按名称移除已安装的指针主题。\n  - **设置**: 一键应用系统中的指针主题和调整指针大小。\n  - **查看**: 列出所有已安装的指针主题，并显示当前使用的主题和大小。\n  - **导出**: 将系统中的指针主题导出为文件，方便备份和分享。\n- **智能识别**: 自动在压缩包或目录中查找指针配置文件 (`.inf` 或 `index.theme`)。\n- **辅助管理**: 保留独立的 ImageMagick 安装和卸载命令，可用于手动排障；当前转换流程不依赖 ImageMagick。\n\n\n# 安装\n确保您的系统已安装 [Python](https://www.python.org) 3.10+。\n\n```bash\npip install ani2xcur\n```\n\n\n# 使用\nAni2xcur CLI 提供了丰富的子命令来满足不同需求。可使用`--help`查看可用的命令。\n\n```bash\nani2xcur --help\n```\n\n\n## 鼠标指针格式转换\nWindows 鼠标指针主题和 Linux 鼠标指针主题并不能互相兼容，而 Ani2xcur CLI 可以将鼠标指针主题文件转换为对应平台的文件。\n\n鼠标指针主题的转换功能由 Ani2xcur 内置的 Pillow 转换器完成，不需要额外安装 ImageMagick。\n\n\n### Windows 转 Linux\n将 Windows 指针主题转换为 Linux Xcursor 主题，兼容 X11 和 Wayland/XWayland 的标准 Xcursor 加载路径。转换结果默认会在每个真实光标文件中补齐 `24, 28, 32, 40, 48, 56, 64, 72, 80` 这些名义尺寸，方便桌面环境切换不同鼠标指针大小。\n\n```bash\nani2xcur convert win2x \u003cWindows 指针路径或者是鼠标指针压缩包下载链接\u003e\n```\n\n- **高级选项**:\n  - `--output-path \u003c路径\u003e`: 保存转换后的鼠标指针路径。\n  - `--shadow`: 是否模拟 Windows 的阴影效果。\n  - `--shadow-opacity \u003c不透明度\u003e`: 阴影的不透明度 (0 到 255)。\n  - `--shadow-radius \u003c分数值\u003e`: 阴影模糊效果的半径 (宽度的分数值)。\n  - `--shadow-sigma \u003c分数值\u003e`: 阴影模糊效果的西格玛值 (宽度的分数值)。\n  - `--shadow-x \u003c偏移量\u003e`: 阴影的 x 偏移量 (宽度的分数值)。\n  - `--shadow-y \u003c偏移量\u003e`: 阴影的 y 偏移量 (宽度的分数值)。\n  - `--shadow-color`: 阴影的颜色 (十六进制颜色格式)。\n  - `--scale \u003c倍数\u003e`: 按指定倍数缩放光标。\n  - `--xcursor-size \u003c尺寸\u003e`: 自定义写入的 Xcursor 名义尺寸，可重复传入；不传则使用默认尺寸列表。\n  - `--compress`: 转换完成后将鼠标指针打包成压缩包。\n  - `--compress-format \u003c压缩包格式\u003e`: 打包成压缩包时使用的压缩包格式 (`.zip`|`.7z`|`.rar`|`.tar`|`.tar.Z`|`.tar.lz`|`.tar.lzma`|`.tar.bz2`|`.tar.7z`|`.tar.gz`|`.tar.xz`|`.tar.zst`)。\n  - `--install`: 在转换完成后立即安装鼠标指针到系统中。\n  - `--install-path \u003c安装路径\u003e`: 自定义鼠标指针文件安装路径。\n\n\n### Linux 转 Windows\n将 Linux Xcursor 指针主题转换为 Windows 格式。\n\n```bash\nani2xcur convert x2win \u003cLinux 指针路径或者是鼠标指针压缩包下载链接\u003e\n```\n\n- **高级选项**:\n  - `--output-path \u003c路径\u003e`: 保存转换后的鼠标指针路径。\n  - `--scale \u003c倍数\u003e`: 按指定倍数缩放光标。\n  - `--compress`: 转换完成后将鼠标指针打包成压缩包。\n  - `--compress-format \u003c压缩包格式\u003e`: 打包成压缩包时使用的压缩包格式 (`.zip`|`.7z`|`.rar`|`.tar`|`.tar.Z`|`.tar.lz`|`.tar.lzma`|`.tar.bz2`|`.tar.7z`|`.tar.gz`|`.tar.xz`|`.tar.zst`)。\n  - `--install`: 在转换完成后立即安装鼠标指针到系统中。\n  - `--install-path \u003c安装路径\u003e`: 自定义鼠标指针文件安装路径。\n\n\n## 鼠标指针管理\n\n### 安装指针\n从本地路径（压缩包、`.inf` 文件或 `index.theme` 文件）安装指针主题。\n\n```bash\nani2xcur cursor install \u003c指针路径\u003e\n```\n\n- **高级选项**:\n  - `--install-path \u003c安装路径\u003e`: 自定义鼠标指针文件安装路径, 默认为鼠标指针配置文件中指定的安装路径。\n  - `--use-inf-config-path`: (仅 Windows 平台) 使用 INF 配置文件中的鼠标指针安装路径。\n\n\n### 卸载指针\n按名称删除一个已安装的指针主题。\n\n```bash\nani2xcur cursor uninstall \u003c指针名称\u003e\n```\n\n- **高级选项**:\n  - `-y`|`--yes`: 直接确认卸载鼠标指针。\n\n\n### 设置指针主题和大小\n设置当前系统指针主题。\n\n```bash\nani2xcur cursor set theme \u003c指针名称\u003e\n```\n\n设置指针大小。\n```bash\nani2xcur cursor set size \u003c大小值\u003e\n```\n\n- **指针大小值范围**:\n  - Windows 系统中为 `1-15`, 对应 Windows 11 设置中的鼠标指针大小滑块, 默认值为 `1`。\n  - Linux 系统中为 `16-96`, 默认值为 `24`。\n\n\n### 查看指针信息\n列出系统中所有已安装的指针。\n\n```bash\nani2xcur cursor list\n```\n\n显示当前正在使用的指针主题和大小。\n\n```bash\nani2xcur cursor status\n```\n\n\n### 导出指针\n将已安装的指针导出到指定目录。\n\n```bash\nani2xcur cursor export \u003c指针名称\u003e \u003c导出路径\u003e\n```\n\n- **高级选项**: \n  - `--custom-install-path \u003c路径\u003e`: 自定义鼠标指针配置文件在安装时的文件安装路径。\n  - `--compress`: 导出完成后将鼠标指针打包成压缩包。\n  - `--compress-format \u003c压缩包格式\u003e`: 打包成压缩包时使用的压缩包格式 (`.zip`|`.7z`|`.rar`|`.tar`|`.tar.Z`|`.tar.lz`|`.tar.lzma`|`.tar.bz2`|`.tar.7z`|`.tar.gz`|`.tar.xz`|`.tar.zst`)。\n\n\n## ImageMagick 管理\nAni2xcur CLI 保留 ImageMagick 管理命令用于手动排障；当前内置转换器不需要安装 ImageMagick。\n\n### 自动下载并安装 ImageMagick\n```bash\nani2xcur imagemagick install\n```\n\n- **高级选项**:\n  - `--install-path \u003c安装路径\u003e`: (仅 Windows 平台) 自定义安装 ImageMagick 的目录。\n  - `-y`|`--yes`: 直接确认安装。\n\n\n### 从系统中卸载 ImageMagick\n```bash\nani2xcur imagemagick uninstall\n```\n\n- **高级选项**:\n  - `-y`|`--yes`: 直接确认卸载。\n\n\n## 更新 Ani2xcur CLI\n```bash\nani2xcur update\n```\n\n- **高级选项**:\n  - `--install-from-source`: 更新时是否从源码进行安装。\n  - `--ani2xcur-source \u003cGit 仓库链接\u003e`: Ani2xcur 源仓库的 Git 链接。\n\n\n## 查看 Ani2xcur CLI 使用的环境变量\n```bash\nani2xcur env\n```\n\n\n## 调试日志\n临时排查转换、安装或桌面刷新问题时，可以使用全局 `--debug` 选项输出关键链路日志：\n\n```bash\nani2xcur --debug cursor set size 32 \u003e log.txt 2\u003e\u00261\n```\n\n也可以继续使用环境变量开启 debug 日志：\n\n```bash\nANI2XCUR_LOGGER_LEVEL=10 ani2xcur cursor set theme Blue \u003e log.txt 2\u003e\u00261\n```\n\n调试日志会记录命令、会话类型、Xcursor 相关环境变量和转换摘要，不会输出完整环境变量或光标文件二进制内容。\n\n\n## 查看 Ani2xcur CLI 版本信息\n```bash\nani2xcur version\n```\n\n\n# 使用的项目\n- [Pillow](https://python-pillow.github.io): 图像解码与处理。\n- [Breeze cursor](https://store.kde.org/p/999927): 鼠标指针补全文件。\n\n\n# 许可证\n- [GPL-3.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flicyk%2Fani2xcur-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flicyk%2Fani2xcur-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flicyk%2Fani2xcur-cli/lists"}