Saya mencoba menyuntikkan penekanan tombol ke daemon input untuk mensimulasikan pengetikan dari skrip Bash. Apakah ini mungkin, dan jika demikian, bagaimana saya bisa mewujudkannya?
linux
shell-script
keyboard
input
Naftuli Kay
sumber
sumber
Jawaban:
Jika Anda beroperasi di tingkat X (seperti dalam pertanyaan Gilles), maka gunakan xdotool seperti:
Di mana KEYSTROKE_SPECIFIER dapat berupa sesuatu seperti "a" atau "F2" atau "control + j"
EDIT: Saya melewatkan jawaban Anda untuk pertanyaan Gilles, maaf. Saya akan meninggalkan respons ini di sini sebagai solusi untuk kasus-X.
sumber
xte
beroperasi pada level yang sama.Gunakan
uinput
drivernya. Saya tidak berpikir ada kegunaan untuk itu; Anda harus menulis atau mengadaptasi sedikit kode C. Pendeknya:Referensi yang lebih lengkap:
sumber
Jika Anda TIDAK bekerja dengan program X dengan windows yang dapat mengirim kunci, Anda mungkin mencari
expect
, program yang praktis dan sangat dapat dikonfigurasi untuk menjalankan program shell interaktif lainnya seolah-olah pengguna mengendalikan terminal. Anda dapat mengatur respons terprogram untuk merespons berbagai output dengan input berbeda.sumber
Saya menulis beberapa kode Python yang melakukan itu. Anda dapat menemukannya di proyek open source saya.
http://code.google.com/p/pycopia/source/browse/trunk/core/pycopia/OS/Linux/event.py
Jika Anda menjalankan modul itu sebagai skrip sebagai root, Anda dapat melihat demo dalam aksi.
Fungsionalitas dasar ini diperluas untuk proyek lain, powerdroid, yang menyediakan implementasi lebih konkret untuk sistem tertanam (Android).
http://code.google.com/p/powerdroid/source/browse/trunk/src/droid/devices.py
sumber