จากหน้า man beepบนเครื่อง Ubuntu ของฉัน:
IOCTL WACKINESS
ผู้ใช้บางคนจะพบกับสถานการณ์ที่เสียงบี๊บตายด้วยการร้องเรียนจาก ioctl () เหตุผลนี้เมื่อปีเตอร์ Tirsek ดีพอที่จะชี้ให้ฉันเกิดจากการที่เคอร์เนลจัดการกับความพยายามในการส่งเสียงบี๊บที่ดัง (สำหรับผู้ที่ไม่ได้เขียนโปรแกรม: ioctl เป็นฟังก์ชั่น catch-all ที่ให้คุณสามารถกระตุ้นสิ่งต่างๆ ไม่มีกลไก poking-at อื่น ๆ ที่กำหนดไว้ล่วงหน้า) tty ซึ่งเป็นวิธีการส่งเสียงบี๊บ เรื่องสั้นคือเคอร์เนลตรวจสอบว่า:
สิ่งนี้หมายความว่ารูทสามารถทำงานบี๊บได้ตลอดเวลา (เพื่อความรู้ที่ดีที่สุดของฉัน!) และผู้ใช้ในพื้นที่สามารถทำงานบี๊ปได้ แต่ผู้ใช้รีโมตที่ไม่ใช่รูทจะไม่สามารถใช้บี๊ปในสภาวะปกติ
นี่อาจเป็นเหตุผลว่าทำไมบี๊ปปฏิเสธที่จะทำงานจากระยะไกล คุณสามารถตรวจสอบว่านี่เป็นสาเหตุที่แท้จริงหรือไม่โดยเรียกใช้sshด้วยตัวเลือก-tซึ่งจะบังคับให้มีการจัดสรร pseudo-tty
โซลูชันที่ต้องการน้อยกว่าคือการสร้างสคริปต์ตัวตัดที่ดำเนินการส่งเสียงบี๊บและให้สิทธิ์การรูทสคริปต์นี้ หากเรียกใช้งานสคริปต์นี้ผ่านsshจะสร้างเสียงบี๊บอย่างแน่นอนคุณจะรู้ว่าปัญหาคือการขาดเทอร์มินัลการควบคุม