Ubuntu上,使用shell脚本实现鼠标自动点击,打开并设置桌面软件
[前言]在校园网内,打开电脑的第一件事就是连网了。我学校使用的连网客户端是iNode(H3C认证客户端)。为了连网方便,我将iNode的快捷方式放在Ubuntu系统的桌面上了(如下图)。但是,每次开机需要连网时,我需要打开软件,然后要选择不同的按钮进行单击,非常麻烦。本文通过xdotool鼠标控制工具和shell脚本实现仅仅一次双击就可以自动连网,过程中鼠标自动点击。
准备工作
- iNodeClient 已经安装好了,并在系统的桌面放置了快捷方式;
- 安装xdotool工具(鼠标点击器);
- 设置了shell脚本的双击运行方式。
方法思想
- 使用xdotool工具,可以获取鼠标位置,控制单击、双击;
- 将相关命令写入shell脚本自动运行。
实现代码
#!/bin/bash
xdotool mousemove 153 63 click 1 click 1 # 将鼠标移动指定坐标位置;getmouselocation 命令可以得到鼠标位置; click 1 表示单击左键。
sleep 1 # 睡眠1秒,因为软件打开有一个反映时间,需要等一秒;
xdotool mousemove 153 63 click 1 click 1 # 重复上面动作,防止第一步没有成功;
sleep 1
xdotool mousemove 626 319 click 1 # 下面就是一路重复单击;
sleep 1
xdotool mousemove 635 275 click 1
sleep 1
xdotool mousemove 686 765 click 1
sleep 2 # 因为这里要打开一个窗口,需要多等1秒;
xdotool mousemove 587 248 click 1 # 这里单击了窗口的最小化按钮;
鼠标点击器xdotool介绍
xdotool作为鼠标精灵类的软件,功能越来越强大。它可以通过命令的方式模拟键盘的输入及鼠标的活动、移动或改变窗口。
xdotool的安装
在Ubuntu下安装:
sudo apt-get install xdotool
在Fedora下安装:
sudo yum install xdotool
xdotool基本用法
在xdotool安装好后,就可以使用相关的功能啦!比如,获取鼠标位置、移动鼠标、单击鼠标左键、双击,获取键盘输入……
你可以打开terminal终端(Ctrl+Alt+T)直接测试相关命令。
获取鼠标位置
将鼠标移动你想要获取的屏幕位置,在terminal中输入以下命令,可以得到鼠标位置的X,Y坐标值。
xdotool getmouselocation
移动鼠标
xdotool mousemove 153 63 #将鼠标移动到(X,Y)坐标为(153,63)的位置;
单击鼠标左键、双击
xdotool的click命令控制鼠标的活动。在命令中,“1”代表鼠标左键,“2”则是滚轮,“3”则是右键。
xdotool click 1 #单击左键
xdotool click 1 click 1 #双击左键
睡眠等待
sleep 1 # 等待1秒
组合操作
移动鼠标并单击
xdotool mousemove x y click 1
获取键盘输入
模拟击键使用命令xdotool key [name of the key]
如果你想要连接两个键,可以在它们之间使用“+”操作符。例如,切换窗口组合键 Alt+Tab。
xdotool key alt+Tab
要想让xdotool帮你输入,可以使用以下命令:
xdotool type ''
参考:Linux下的鼠标点击器;linux怎样安装xdotool,以及xdotool的使用;
编辑shell脚本
了解上述xdotool的命令后,就可以在terminal中测试它们,得到自己想要的位置信息,测试需要的鼠标操作。
你可以在terminal中使用vim,或直接使用图形界面文本编辑器 输入相关命令,像上面给出的实现代码一样。
编辑好脚本以后,需要将其修改为可执行模式,使用chmod命令;
$ chmod u+x iNode.sh # 为iNode.sh的user用户添加可执行权限;
$ ./iNode.sh #执行shell脚本
双击直接运行shell脚本
在Ubuntu中,shell脚本默认使用文件编辑器打开,可执行的shell脚本双击不会自动执行。因为,Ubuntu的Files文件管理器将shell脚本的默认打开方式设置为了文本编辑器。要实现双击运行shell脚本,需要修改Files的默认行为,操作如下图:
打开Files,选择【edit】-->【preference】
选择 Run executable text files when they are opened
如上设置,你每次双击就可以打开shell脚本。当然,你也可以设置为每次询问,防止错误执行了脚本文件!
参考:如何在双击后运行shell脚本
Ubuntu上,使用shell脚本实现鼠标自动点击,打开并设置桌面软件相关推荐
- Python中pyautogui安装-用pyautogui写脚本让鼠标自动点击给摩尔庄园毛毛树浇水施肥
目录 pyautogui安装教程 脚本内容 pyautogui安装教程 在C盘搜索cmd.exe 右键点击"以管理员身份运行",打开后进入安装的python3.7目录,进入后输入& ...
- 学习在Ubuntu 上运行 Shell 脚本
刚刚学会用UBANTU20.04,会用wine装常用的应用,然后又想到运行安卓应用也搞上来用, 找了一圈又回到这个xDroid工具,从网站下载一个安装包xDroidInstall-x86_64-v7. ...
- 鼠标连点器,怎么玩转鼠标自动点击?
鼠标连点器是一款非常便捷的工具,可以帮助我们自动进行鼠标点击操作.这种工具尤其适用于一些需要反复点击同一个位置的软件或游戏,在这些情况下手动点击会非常费时费力,而鼠标连点器就能够为我们节省很多宝贵的时 ...
- linux 定时执行搅拌,Linux上定时shell脚本
本文主要介绍在Linux系统上部署定时器,定时执行shell脚本,通过脚本执行sql文件 sql文件 -- 创建表 create table if not exists iot_test.iot_ta ...
- Shell脚本交互:自动输入密码
Shell脚本交互:自动输入密码 平时在控制台输入指令如:sudo.ssh.ftp或者修改admin权限的文件时候都会要求输入password,但是在she'll脚本运行过程中该如何交互实现自动输入密 ...
- Ubuntu利用crontab+shell脚本实现Scrapy每日定时爬取网站
Ubuntu利用crontab+shell脚本实现Scrapy每日定时爬取网站 原创文章.码字不易,转载请注明出处和链接,谢谢! 1.环境保障 自己利用scrapy编写的智联招聘网站"大数据 ...
- 服务器免密码传输文件,CentOS7,使用 scp 命令, ssh 连接方式,免密码传输文件到远程服务器,免密执行远程服务器上的 shell 脚本...
如题 如果提示:-bash: scp: command not found, 执行下面的命令安装:1 yum install -y openssh-clients 免密码配置通常用 scp 命令通过 ...
- java调用机器上的shell脚本
java调用机器上的shell脚本,可以这样方便的通过shell脚本调用本机的C.C++等程序 Process process = null; Runtime runTime = Runtime.ge ...
- 签名证书无效”-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719)
"签名证书无效"-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719) 上次更新时间:2020/ ...
- python自动点击脚本_用Python实现鼠标自动点击
前言: 最近玩某页游时遇到一个重复任务,需要不停的接/交任务道具,数量巨大又十分麻烦,想去网上下脚本又找不到合适的,于是整了一个可以实现鼠标自动点击的小玩意.因为我之前没有任何编程基础,这两天自学又走 ...
最新文章
- NLP的一些学习资料
- 三国志、英雄无敌玩腻了?没关系,我教你开发个战旗游戏玩玩
- MyBatis 架构分层与模块划分-基础支持层
- MySQL Cookbook 学习笔记-02
- MyEclipse 2015优化技巧
- [vb]SendMessageA函数
- 【C语言】为什么指明数组的列数?
- 技巧篇:常用的vba代码汇总
- 【WIN11】微软拼音输入法单字频率固定方法
- 江苏自考计算机专业,2021年江苏自考本科专业选择:计算机类专业前景如何?有哪些科目?...
- freemaker与es6模板字符串语法冲突问题
- 贤华老师教你正确护肤,卸妆第一步 选择卸妆产品很重要
- [C#]C# 如何捕获键盘按钮和组合键以及KeyPress/KeyDown事件之间的区别 (附KeyChar/KeyCode值)
- html5拖放详解,HTML5拖拽/拖放(drag drop)详解
- imac mini 双系统_iMac,Mini和Pro:Apple的台式Mac比较
- 智能家居到智慧家庭-由远程操作设备到家庭智慧服务
- 140版本 boost_怎么分辨阿迪UB3.0和UB4.0,boost各版本有什么区别?
- jstree树形结构的使用
- 【SAP】折旧、摊销与减值的区别
- [转]程序员常用不常见很难得的地址大全,转来自己用