โปรแกรม GUI ไม่ได้อ่านจากอินพุตมาตรฐานของพวกเขาพวกเขาได้รับการป้อนข้อมูลของพวกเขาจากเซิร์ฟเวอร์เอ็กซ์ มีเครื่องมือในการฉีดการกดแป้นพิมพ์ไปที่หน้าต่าง xdotoolค่อนข้างธรรมดาและสะดวกสบาย
คุณจะต้องค้นหา ID หน้าต่างที่คุณต้องการส่งการกดแป้น คุณสามารถทำได้ด้วย xdotool xdotool search --class Chrome
ส่งคืนรายการ ID หน้าต่างของหน้าต่าง Chrome ทั้งหมด หากผลตอบแทนมากกว่าหนึ่งคุณจะต้องเลือกหนึ่งที่คุณต้องการ คุณสามารถใช้xdotool search --name
ในการจับคู่กับชื่อแทนการเรียน คุณยังสามารถแยกวิเคราะห์ผลลัพธ์ของwmctrlและแยก ID หน้าต่างที่ต้องการ
เมื่อคุณพบ ID หน้าต่างที่ถูกต้องแล้วคุณสามารถโทรหาxdotool
การกดแป้น น่าเสียดายที่แอปพลิเคชันจำนวนมากปฏิเสธกิจกรรมสังเคราะห์เช่นการกดแป้นและกิจกรรมเมาส์ที่ส่งโดยแอปพลิเคชันอื่น นี่เป็นกรณีที่มี Chrome รุ่นปัจจุบัน เป็นไปได้ที่จะฉีดการกดแป้นพิมพ์จากแอปพลิเคชันอื่นโดยกลไกที่แตกต่างกัน แต่ต้องให้หน้าต่างโฟกัส คุณสามารถทำสิ่งเหล่านี้ได้ด้วย xdotool แต่มันจะทำให้การโฟกัสพุ่งไปที่หน้าต่าง Chrome และย้อนกลับอย่างรวดเร็ว ตัวอย่างต่อไปนี้ส่งF5ไปที่หน้าต่าง Chrome แรก (ตามลำดับโดยพลการ)
xdotool search --class Chrome windowactivate --sync %1 key F5 windowactivate $(xdotool getactivewindow)
หรือด้วย xdotool เวอร์ชันเก่า:
xdotool windowactivate $(xdotool search --class Chrome) &&
xdotool key F5 &&
xdotool windowactivate $(xdotool getactivewindow)
จำไว้ว่าสิ่งนี้ส่งF5ไปที่หน้าต่างนั้นและขึ้นอยู่กับโปรแกรมที่จะตัดสินใจว่าจะทำอย่างไรกับมัน ใน Chrome จะเป็นการรีโหลดแท็บปัจจุบัน