banner
1500
5 分钟

sikulix应用在老系统之路

2026年3月1日
无标签

文章摘要

为了在麒麟信安ky3.kb1系统上正常使用Sikulix,需要进行一系列的环境配置和软件安装。首先,需要更新系统的yum源,因为CentOS 6已经停止更新。然后,安装必要的环境和软件,包括gcc、make、cmake等。由于Sikulix需要libopencv_javaXYZ.so文件,需要编译OpenCV并生成该文件。最后,配置Sikulix的运行环境,包括设置JAVA_HOME和ANT_HOME等变量。通过这些步骤,可以成功运行Sikulix并实现自动化操作。同时,文中也提供了Sikulix的使用方法,包括控制字符和快捷键的使用。

前言

生产环境的系统无法满足自动化。需离线安装sikulix提高一丢丢生产力。

公网系统环境:windows11

虚拟机:hyper-v

内网系统:麒麟信安ky3.kb1

目标:老麒麟正常使用sikulix。

安装相似环境centos6

ky3.kb1 约等于 centos 6,会不会翻车,试试再说,想知道结果的直接翻到最后。

Untitled.png
Untitled.png

从live安装系统到harddisk,不停的 next ,等待安装完成 。

检查系统环境

java gcc`` uanme -a

bash
rpm -qa | grep ssh
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (rhel-2.6.14.10.el6-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)
[root@localhost ~]# gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)

踩坑1:过期源,环境部署

找不到gcc ,要求至少java8

[!info] CentOS 6 Yum源更新「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。 最近在CentOS 6上安装软件一直报错,安装不了,换了163,清华,阿里yum源都不行,进去链接看才发现有关CentOS 6 yum源包全部下架了。 ​​​​ CentOS 6已经随着2020年11月的结束进入了EOL(Reaches End of Life)。所以在2020年12月2日,CentOS官方停止了对CentOS 6的所有更新,并且下架了包括官方所有的CentOS6源,目前阿里、163、清华等CentOS6源已无法使用。 以下官方redme文档的解释: This directory (and version of CentOS) is deprecated.
https://cloud.tencent.com/developer/article/2133551#:~:text=CentOS%206%E5%B7%B2%E7%BB%8F%E9%9A%8F%E7%9D%802020%E5%B9%B411%E6%9C%88%E7%9A%84%E7%BB%93%E6%9D%9F%E8%BF%9B%E5%85%A5%E4%BA%86EOL%EF%BC%88Reaches%20End,of%20Life%EF%BC%89%E3%80%82%20%E6%89%80%E4%BB%A5%E5%9C%A82020%E5%B9%B412%E6%9C%882%E6%97%A5%EF%BC%8CCentOS%E5%AE%98%E6%96%B9%E5%81%9C%E6%AD%A2%E4%BA%86%E5%AF%B9CentOS%206%E7%9A%84%E6%89%80%E6%9C%89%E6%9B%B4%E6%96%B0%EF%BC%8C%E5%B9%B6%E4%B8%94%E4%B8%8B%E6%9E%B6%E4%BA%86%E5%8C%85%E6%8B%AC%E5%AE%98%E6%96%B9%E6%89%80%E6%9C%89%E7%9A%84CentOS6%E6%BA%90%EF%BC%8C%E7%9B%AE%E5%89%8D%E9%98%BF%E9%87%8C%E3%80%81163%E3%80%81%E6%B8%85%E5%8D%8E%E7%AD%89CentOS6%E6%BA%90%E5%B7%B2%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E3%80%82

核心就是:

bash
wget -O /etc/yum.repos.d/CentOS-Base.repo https://static.lty.fun/%E5%85%B6%E4%BB%96%E8%B5%84%E6%BA%90/SourcesList/Centos-6-Vault-Official.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo https://static.lty.fun/%E5%85%B6%E4%BB%96%E8%B5%84%E6%BA%90/SourcesList/Centos-6-Vault-Aliyun.repo

补齐所需要的环境;

bash
yum install gcc make cmake  gcc-c++

踩坑2:编译缺少的文件

安装sikulix ,liunx系统需要libopencv_javaXYZ.so文件

http://www.sikulix.com/

bash
curl -OL https://launchpad.net/sikuli/sikulix/2.0.5/+download/sikulixide-2.0.5-lux.jar
java -jar sikulixide-2.0.5-lux.jar -v
tesseract -v

继续安装(也有模拟离线的)

bash
yum install ant build-tools 
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel --downloadonly --downloaddir .
rpm -ivh *.rpm --force --nodeps

[!important] 参数

  • -nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了

  • -force就是强制安装,比如你装过这个rpm的版本1,如果你想装这个rpm的版本2,就需要用--force强制安装

Untitled 1.png
Untitled 1.png

glibc升级是不可能升级的

编译需要的对应版本的对应的libopencv_javaXYZ.so文件吧320 or 341

bash
curl -OL https://gitcode.net/mirrors/opencv/opencv/-/archive/4.3.0/opencv-4.3.0.tar
tar xvf opencv-4.3.0.tar

更新cmake到3.0+ 升级ant到1.10(略)

bash
yum -y install readline-devel sqlite-devel bzip2-devel.i686 openssl-devel.i686 gdbm-devel.i686 libdbi-devel.i686 ncurses-libs zlib-devel.i686 

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz

tar -xf Python-2.7.9.tar.xz

还需要python2.7 或python3.2+

bash
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export ANT_HOME=/opt/ant
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH
ant -version

cd build 

cmake -D BUILD_SHARED_LIBS=OFF -D BUILD_TEST=OFF ..

\#报错 那就不要谁  结果 331~340
cmake  -DBUILD_LIST=java  -D BUILD_SHARED_LIBS=OFF -D BUILD_TEST=OFF -D WITH_PROTOBUF=OFF -D BUILD_ITT=OFF -D WITH_OPENCL=OFF ..

# 仅opencv_java 
cmake  -DBUILD_LIST=java  -D BUILD_SHARED_LIBS=OFF -D BUILD_TEST=OFF ..


# 8核cpu 就写 j8
make -j3

踩坑3:运行起来吧

sikulix可以使用2.0.2到2.0.3 2.0.5

替换sikulix自带的/home/d5000/.Sikulix/SikulixLibs/libopencv_java430.so为编译好的build/lib

bash
cp lib/libopencv_java320.so /home/d5000/.Sikulix/SikulixLibs/libopencv_java430.so
Python
popup(u"dds打算")
click(Mouse.at())
type("a",Key.CTRL)
rightClick("1674201799447.png")

Untitled 2.png
Untitled 2.png

内网所需附件

libopencv_java320.so

java1.8jdk运行坏境和库

sikulixide-2.0.5-lux或官网自取

内网测试


内网环境+国产系统=别碰

可以运行,能够识别图片。

中文ocr识别即安装Tesseract (看情况)待续

[!important]

Getting the Tesseract support ready

You have to make sure, that a libtesseract....so is available on your system.

You should first try with your package manager.

It must be a version 4.x

1.控制字符

键名

sikuliX中的命令

Shift

type(Key.SHIFT)

Ctrl

type(Key.CTRL)

Alt键

type(Key.ALT)

Tab(制表符)

type(Key.TAB)

大写锁定

type(Key.CAPSLOCK)

输入

type(Key.ENTER)

删除

type(Key.DELETE)

退格键

type(Key.BACKSPACE)

插入

type(Key.INSERT)

Home

type(Key.HOME)

End

type(Key.END)

ESC

type(Key.ESC)

空格

type(Key.SPACE)

视窗

type(Key.WIN)

换页

type(Key.PAGE_UP)

向下翻页

type(Key.PAGE_DOWN)

列印画面

type(Key.PRINTSCREEN)

数字键盘锁

type(Key.NUM_LOCK)

滚动锁

type(Key.SCROLL_LOCK)

F1

type(Key.F1)

F2

type(Key.F2)

F3

type(Key.F3)

F4

type(Key.F4)

F5

type(Key.F5)

F6

type(Key.F6)

F7

type(Key.F7)

F8

type(Key.F8)

F9

type(Key.F9)

F10

type(Key.F10)

F11

type(Key.F11)

F12

type(Key.F12)

光标键:向上

type(Key.UP)

光标键:向下

type(Key.DOWN)

光标键:左

type(Key.LEFT)

光标键:向右

type(Key.RIGHT)

向上移动光标两次

type(Key.UP * 2)

向下移动光标两次

type(Key.DOWN * 2)

向左移动光标两次

type(Key.LEFT * 2)

向右移动光标两次

type(Key.RIGTH * 2)

按特定键

KeyDown(Key.*) 需要使用Region()进行区域设置。

释放特定键

KeyUp(Key.*) 需要使用Region()设置区域。

2.快捷键

常见操作

快捷键

sikuliX中的命令

复制

Ctrl + C

type(“ c”,Key.CTRL)

剪下

Ctrl + X

type(“ x”,Key.CTRL)

贴上

Ctrl + V

type(“ v”,Key.CTRL)

搜索

Ctrl + F

type(“ f”,Key.CTRL)

打印

Ctrl + P

type(“ p”,Key.CTRL)

撤消

Ctrl + Z

type(“ z”,Key.CTRL)

重做

Ctrl + Y ;Ctrl + Shift + Z

type(“ y”,Key.CTRL);type(“ z”,Key.CTRL + Key.SHIFT)

关闭标签

Ctrl + F4

type(Key.F4,Key.CTRL)

还原标签

Ctrl + Shift + T

type(“ t”,Key.CTRL + Key.SHIFT)

浏览器缓存刷新(强制刷新)

Ctrl + F5

type(Key.F5,Key.CTRL)

关闭窗口

Alt + F4

type(Key.F4,Key.ALT)

最小化所有窗口

Windows + M

type(“ m”,Key.WIN)

显示桌面

Windows + D

type(“ d”,Key.WIN)

最小化窗口(当窗口为正常大小时)恢复为原始大小(当窗口为最大化时)

Windows +光标键:向下,如果最大化,请执行上述两次。

type(Key.DOWN,Key.WIN)

窗口最大化

Windows +光标键:向上

type(Key.UP,Key.WIN)

切换活动窗口

Windows + Tab;Windows + Shift + Tab

type(Key.TAB,Key.WIN);type(Key.TAB,Key.WIN + Key.SHIFT)

启动任务管理器

Ctrl + Shift +ESC

type(Key.ESC,Key.CTRL + Key.SHIFT)

启动资源管理器

Windows +e

type(“ e”,Key.WIN)

END

相关文章

暂无相关文章

© 2026 一个普通的干饭人. All Rights Reserved. / RSS / Sitemap
Powered by Tanstack Start & Flare Stack Blog