Have Bash Simulate Key Press Every Minute

Shell Programming

Have you ever found yourself in a situation where you need to automate a key press in a Bash script at regular intervals? Perhaps you’re working on a project that requires a simulated keyboard input every minute. In this article, I’ll guide you through the process of achieving this using Bash scripting. Let’s dive in!

Using xdotool to Simulate Key Press

To accomplish this task, we can utilize a tool called xdotool. This tool allows us to simulate keyboard input and mouse activity from the command line, making it perfect for automation purposes.

First, ensure that xdotool is installed on your system. If not, you can install it using the package manager relevant to your Linux distribution.

Installing xdotool on Ubuntu

To install xdotool on Ubuntu, run the following command in your terminal:

sudo apt-get install xdotool

Using xdotool to Simulate Key Press

Now, let’s create a Bash script that simulates a key press every minute. We can achieve this by using the sleep command to introduce a delay and then using xdotool to simulate the key press.

while true
sleep 60
xdotool key [key]

Replace [key] with the specific key you want to simulate. For example, if you want to simulate the ‘Enter’ key, you would use xdotool key Return.

Running the Script

Save the script to a file, such as simulate_keypress.sh, and make it executable using the command chmod +x simulate_keypress.sh. Once the script is executable, you can run it by executing ./simulate_keypress.sh in your terminal.

Automating the Script

If you want the script to run automatically when you start your system, you can add it to your crontab. Open your crontab file by running crontab -e and add the following line to run the script at system startup:

@reboot /path/to/simulate_keypress.sh

Replace /path/to/simulate_keypress.sh with the actual path to your script file.


Automating key presses in Bash can be a useful skill to have, especially for tasks that require periodic user input. By utilizing xdotool and a simple Bash script, we can easily simulate key presses at regular intervals. Whether it’s for automated testing, system maintenance, or other purposes, this technique can save time and streamline repetitive tasks.