Используйте xdotool
Установите и запустите xdotool, он просто автоматизирует клавиатуру / мышь / .... для вас.
после установки вы можете это в bash:
xdotool key Return && xdotool type sometext
Для сочетания клавиш вы можете использовать «пользовательские сочетания клавиш gnome» и назначить эту команду сочетанию клавиш!
Чтобы установить xdotool, выполните:
apt-get install xdotool
(при использовании ubuntu)
Когда cron выполняет вашу работу, он делает это в среде, отличной от вашей текущей среды оболочки.
Это означает, например, что ./ script.sh
не может быть найден.
Есть два решения:
*/1 * * * * ( cd $HOME/mydir && ./script.sh )
или
*/1 * * * * $HOME/mydir/script.sh
То есть, укажите, где именно можно найти скрипт.
Первый вариант может быть предпочтительнее, если вы не используете абсолютные пути для выходного файла в сценарии.
Если вы выберете второй вариант, измените свой сценарий, чтобы вы знали, куда идет выходной файл:
#!/bin/bash
echo "$USER" >"$HOME/mydir/cron.txt"
или
#!/bin/bash
( cd "$HOME/mydir" && echo "$USER" >cron.txt )
Обратите внимание, что #! Строка
должна содержать правильный абсолютный путь к bash
(ваш путь был относительным).
Также следует отметить, что cron в некоторых Unix (Linux) не устанавливает USER
как имя пользователя, выполняющего задание cron. В этих системах используйте вместо этого $ LOGNAME
или установите для USER
значение $ LOGNAME
при вызове сценария:
*/1 * * * * env USER=$LOGNAME $HOME/mydir/script.sh