AlmaLinux更换鼠标样式为Windows样式

前言

只不过是突发奇想,想着Windows能够使用动态指针,是不是Linux也有呢?于是尝试了一下。当然,这也是一次试试就逝世。

感谢各位开源社区大佬的辛苦付出,尤其感谢CSDN用户~yuyu的文章将Windows上的鼠标指针主题移植到Linux上StackOverflow上对于libMagickCore-7.Q16HDRI.so.6的讨论

顺便一提,我已经使用云服务构建了一个基本的在线服务,虽然很简陋,但是可以用。点击这里访问

先看看条件与依赖

其实在将Windows上的鼠标指针主题移植到Linux上一文中已经告诉了基本的方案。为了方便读者们不用再去翻来翻去的对照学习,这里就先回顾一下大佬们说了什么。

配置方案无非就是分几步走:

  • 先下载自己中意的指针包
  • Windows端下载CursorXP
  • 利用CursorXP设置鼠标
  • Linux端配置perl环境,
  • linux端执行转换命令
  • 在应用鼠标主题的系统中下载gnome-tweak
  • 将转换结果放入指定的文件夹
  • gnome-tweak上选择主题

听起来很简单对吧?但为了这简单的几个步骤,我的春节天休假,有满满天在配这鬼玩意。

首先粗略看一下这些个步骤,需要我们不止有一个系统,无论是虚拟机还是双系统。

然后呢,系统也是有要求的,比如需要gnome桌面。倒也不是KDE没有牌面,只是单纯的转换命令只能转为gnome能识别的x11-cursor格式。这也说明,KDE用来做美化的确实不如gnome多。(悲)

其他的环境倒是没什么可说的。就近的几个Linux发行版都会集成,所以也不用担心要不要miniconda或者anaconda之类的。反倒是安装之后,系统可能会查歪了你正在用的perl,导致安装的东西也不知道在哪。

第一步:测试最终效果

你可能很惊讶,什么都没开始做就已经能测试效果了。

首先感谢~yuyu,她为我们开放了破解版的CursorXP以及各种需要的文件,下载链接在这里:

链接:https://pan.baidu.com/s/1mXcBK_a2U2taOUSaJoeIGQ

提取码:2b1p

我们可以首先下载其中可以使用的初音壁纸Miku.tar.gz。先保存到~/Downloads/文件夹下,然后解压:

1
$ sudo tar -zxvf ~/Downloads/Miku.tar.gz -C /usr/share/icons

当然,哪怕没有gnome-tweak,现在也可以通过一些设置方法查看效果了。

不过为了保险起见,我们还是先下载一下:

1
$ sudo yum install gnome-tweak -y

打开gnome-tweak主界面,选择侧边栏的Appearance一栏中找到Cursor,对应的下拉框选项中就会有Miku的选项,就像这样:

查看效果

这些自定义的主题选中即生效,非常方便,如下图所示。

查看效果

实在不知道怎么截图的时候把鼠标也给截进去,所以就这样了

那既然知道会有什么效果,也知道最终的文件大概是什么结构,那我们是否成功也就多了一个判断条件。接下来我们就正式开始吧。

第二步:使用CursorXP修改鼠标样式

这一步确实是一个非常考验耐心的一步。你的每一个鼠标都需要一个个对照着进行设置,直到所有的都设置完。

CurosrXP安装

CursorXP这个软件收费是很合理的,因为功能很强大。但至于付不付钱,各位就自行判断了。本着学习的目的,相关的内容是不能在明面上传播的。所以,请允许我这么介绍:

还是上面的百度网盘链接,我们下载CursorXP压缩包,下好后解压会发现有好几个文件。其中,最重要的实际上就只有两个:setup.exekeygen.exe

双击setup.exe就能够开始安装CursorXP软件,这个没什么好说的。就只是接受许可条款后会立即跳转到输入序列号的页面。这个时候,另一个软件就是为了解除一些麻烦而设计的。双击后,复制其中的某个超长随机字符串,就能够粘贴过来,最终成功安装。

CursorXP使用

虽然说我可能在安装方面说的有点难懂,但破解过AdobeAutoDesk等软件的人应该明白我想说什么。所以,接下来就开始使用吧。

为了方便(其实也是出于个人喜好),我这里也就使用B站UP主一葉A4提供的拉菲鼠标主题

P.S.:拉菲鼠标主题链接点击后直接跳转到百度网盘页面,点击提取即可看到内容。如果想看预览,则需要参考UP主的这部介绍视频

然后,就打开我们刚刚安装好的CursorXP进行设置:

CursorXP设置鼠标样式

需要注意的是,第步设置热点主要是为了让鼠标的哪个点能够用于触发动作。观察拉菲这套鼠标主题可以发现,部分元素有着相当明显的热点定位。比如鼠标指针明显是对应右上角的小图标,而不是大大的拉菲。如果热点设置错误的话,很有可能会出现一些相当不友好的体验。

除此之外,也可能是破解版的原因,第步设置热点的过程中往往并不能直接生效,需要另外再次设置才能生效。所以第步可能需要执行两次才能实现。另外,使用起来也并不是很顺畅,还有很多难以言说的奇怪bug,比如应用后不生效、重启后所有修改丢失等等问题。所以需要在第步执行后顺着红色箭头观察预览图中的热点(也就是十字叉的位置)是否与你所希望的位置相符。如果不符就需要反复调整。

经过以上步骤,我们就拿到了laffey.CurXPTheme文件了。当然,这个文件名是自定义的,并不是自适应的。

第三步:Linux端环境搭建与命令执行

这个步骤经历了太多磨难,所以也很难说到底是哪个步骤出了问题。所以,为了解除疑虑,我们直接采用最保守的方法:反复测试。也就是说,无论什么情况,按照下面说的这个步骤,大致上是不会有误的。

Ubuntu

测试过程中采用阿里云ECS服务器,选用Ubuntu版本,并且是重新安装的、什么多余的包都没有的系统。

其中命令包含:

1
2
3
4
$ apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
$ apt-get install libconfig-inifiles-perl perlmagick imagemagick x11-apps unzip -y
$ chmod u+x 104659-sd2xc-2.5.pl
$ ./104659-sd2xc-2.5.pl --install laffey.CurXPTheme

是的没错我为了这行命令花了天。

其他的命令就单纯是用scp移动文件了。

这几行代码甚至都没有解析的余地。硬是要解析的话,第一行就是新系统需要update一下才能开始安装,然后就是根据文件104659-sd2xc-2.5.pl中所展示的说明补包,再赋予可执行权限,最后执行。

执行过程中,laffey.CurXPTheme参数就是我们在第一步中利用CursorXP另存为的鼠标指针主题,执行之后将生成laffey.tar.gz压缩包,里面是x11-cursor文件,包含一个存放资源文件的cursor文件夹与一个声明鼠标指针主题的声明文件index.theme。而--install参数则是将laffey.tar.gz解压到~/.icons/文件夹下,从而使得鼠标指针主题能够直接生效。

那么,我这天都在干什么呢?没错,我最开始的时候没有Ubuntu

哼,哼,哼,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊(

那么其他系统呢?当然,文件104659-sd2xc-2.5.pl也给出了说明:Fedora也能用。那就来试试。

Fedora

1
2
3
$ yum install ImageMagick ImageMagick-perl perl-Config-IniFiles xcursorgen unzip -y
$ chmod u+x 104659-sd2xc-2.5.pl
$ ./104659-sd2xc-2.5.pl --install laffey.CurXPTheme

由于yum并不像apt需要update,这个命令也就更短了。

其他系统均失败

很不幸,除了这两个以外,任何系统都不行。主要是包太难配了。

目前测试了AlmaLinuxRockyLinux,虽然都同为yum源,但是有些包就是缺。于是考虑从源码角度执行。下面是大致过程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ sudo yum install perl-CPAN # cpan下载包
$ cpan # 用于换源
cpan[1]> o conf urllist pop # 删除原有源
cpan[2]> o conf commit # 保存删除
cpan[3]> o conf urllist push http://mirrors.ustc.edu.cn/CPAN/ # 新增中科大源
cpan[4]> o conf commit # 保存新增
$ perl -MCPAN -e "install Image::Magick" # 安装
log[perl]> # include <MagickCore/MagickCore.h> -> No Such File(日志显示:没有这个头文件)
$ sudo yum install ImageMagick-perl -y # 补包
$ sudo rpm -ivh https://repo.alimalinux.org/almalinux9/synergy/x86_64/os/Packages/xcursorgen-1.0.7-6.el9.x86_64.rpm # 再补包
$ ./104659-sd2xc-2.5.pl --install laffey.CurXPTheme # 执行
log[./]> 0 # 日志显示转成功的文件数量,为0表示什么都没转
$ tar -zxvf laffey.tar.gz && ls laffey/cursor # 解压并查看资源文件
log[tar]> '' # 什么都没有
$ sudo dnf install ImageMagick ImageMagick-perl perl-Config-IniFiles xcursorgen unzip -y # 又补包
log[dnf]> xcursorgen not found # 没有这个东西,尝试了dnf search,也没有
$ ./104659-sd2xc-2.5.pl --install laffey.CurXPTheme # 执行
log[./]> Exception 420: no decode delegate for this image format `PNG` # 直接报错
$ sudo yum install libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel libungif libungif-devel -y # 又双叒叕补包
$ ./104659-sd2xc-2.5.pl --install laffey.CurXPTheme # 执行
log[./]> Exception 420: no decode delegate for this image format `PNG` # 没效果

所以,也就到此为止了。目前只有UbuntuFedora两个系统是可以使用的。

第四步:应用主题

当然,我当前安装的AlmaLinux已经运行了有些日子了,不可能说换就换。所以,这上面的操作都是直接用ECS完成的。所以,从ECS上下载下来:

1
$ scp root@www.sakebow.cn:/data/www/images/laffey.tar.gz ~/Downloads/

然后运用:

1
$ sudo tar -zxvf ~/Downloads/laffey.tar.gz -C /usr/share/icons/

接下来就可以使用gnome-tweak应用这个主题了!

设置成功