ป้องกันไม่ให้พีซีปิดการทำงานด้วยปุ่มเปิดปิด


9

ฉันกำลังสร้างพีซีและแขน BeagleBords ที่ฝังไว้เพื่อการใช้งานสาธารณะ พวกเขาเรียกใช้ Ubuntu 13.04 และประกอบ Linux ด้วยตนเองตามลำดับ มีวิธีที่จะป้องกันไม่ให้ถูกปิดโดยการกดปุ่ม Shutdown (ในกรณีที่ไม่ใช่บนคีย์บอร์ด) หรือไม่? แน่นอนว่าฉันสามารถทำได้ในฮาร์ดแวร์ ฉันชอบโซลูชันซอฟต์แวร์ หากใครบางคนสามารถพูดได้ว่า "นี่เป็นไปไม่ได้" แน่นอนว่ามันจะเป็นคำตอบที่มีประโยชน์เช่นกัน

ผลลัพธ์:ตกลงฉันเข้าใจแล้ว หนึ่งสามารถป้องกันการปิดเครื่องเมื่อกด แต่ไม่กดยาว ฉันจะต้องทำสวิตช์ฮาร์ดแวร์เพื่อปิดปุ่มเปิดปิดเมื่อจำเป็น


คุณต้องการป้องกันการกดปุ่มโดยเจตนาหรือไม่ตั้งใจหรือไม่? โปรดทราบว่าโดยปกติจะมีวิธีอื่นในการรีบูต / ปิดระบบซึ่งรวมถึง Magic SysReq (สามารถปิดใช้งานได้) และเปลี่ยนเป็น TTY จากนั้นรีบูตด้วย Ctrl-Alt-Delete
Lekensteyn

user173876พูดถึงบางสิ่ง (ในคำตอบที่ไม่ใช่คำตอบที่เราลบ) ซึ่งอาจได้รับการพิจารณา: ฉันมีหลายครั้งที่พบสถานการณ์ (ในกรณีของฉันระหว่างการดำเนินการ GIMP) เมื่อตัวเรียกใช้หน้าจอและคีย์บอร์ดทั้งหมดไม่ตอบสนองรวมถึง Ctl-Alt- T, Alt-F1 ... F6, Ctl-Alt-Del, Ctl-Alt-BkSp และการขอความช่วยเหลือเพียงอย่างเดียวคือการใช้ปุ่มเพาเวอร์เพื่อปิด / รีสตาร์ท การถอดความสามารถนี้อาจทำให้คุณต้องถอดแบตเตอรี่ออกและ / หรือดึงสายไฟ หรือทุบด้วยค้อน
Eliah Kagan

คำตอบ:


3

คุณสามารถใช้คำสั่งถัดไปในเทอร์มินัล :

sudo chmod -x /sbin/shutdown

หากคุณต้องการเปิดใช้งานอีกครั้งให้ใช้+xแทน-xในคำสั่งเดียวกัน

อย่างไรก็ตามด้วยการกดปุ่มเปิด / ปิดค้างไว้หลายวินาทีโซลูชันด้านบนจะไม่ทำงานและฉันไม่คิดว่าคุณจะพบโซลูชันซอฟต์แวร์สำหรับกรณีนี้


คุณควรใช้dpkg-statoverrideเพื่อให้สิทธิ์คงอยู่ตลอดการupstartอัพเกรด ตัวอย่าง: sudo dpkg-statoverride --add root root 0644 /sbin/shutdown. จะต้องมีการบันทึกว่าการลบการอนุญาตให้ใช้งานจะทำให้ตัวเลือกการปิดระบบสำหรับผู้ใช้ทั้งหมดของโปรแกรมนี้ (รวมถึงpoweroffและhalt)
Lekensteyn

3

มันเป็นไปไม่ได้. คุณต้องป้องกันไม่ให้สาธารณชนอยู่ห่างจากสวิตช์เปิดปิดเช่นเดียวกับที่คุณต้องการป้องกันไม่ให้สายไฟดึงออกมาจากผนังหรือดึงเครื่องทั้งหมดออกมา


ฉันไม่เชื่อว่ามันเป็นไปไม่ได้ ซอฟต์แวร์มีหน้าที่รับผิดชอบในการเริ่มต้นการปิดเครื่อง เดสก์ท็อปของคุณจะมีโอกาสเป็นอย่างอื่นในการแสดงเมนูปิดหรือปิดโปรแกรมอย่างสง่างามได้อย่างไร
Lekensteyn

@Lekensteyn ไม่ใช่เมื่อคุณกดปุ่มค้างไว้ 4 วินาที
psusi

ห้าวินาทีใช่มั้ย นั่นคือสวิตช์ที่ไม่สามารถ overridable ได้ แต่การกด (... และปล่อยทันที) ปุ่ม shutdown หนึ่งครั้งจะถูกจัดการโดย ACPI ซึ่งหมายความว่ามันสามารถถูกดักและเพิกเฉยได้ คุณถูกต้องแล้วมีความเป็นไปได้ที่ OP กำลังพิจารณาความพยายามในการปิดระบบ
Lekensteyn

2

คุณต้องเปลี่ยน ...

/etc/acpi/powerbtn.sh

และแสดงความคิดเห็นในบรรทัดนี้ (ฉันได้เพิ่ม #) แล้ว ...

#/sbin/shutdown -h now "Power button pressed"
  • สิ่งนี้จะมีผลกับปุ่มเปิดปิดเท่านั้นและไม่ได้เป็นการปิดจากเมนู
  • แต่ยังทราบข้อผิดพลาด 1124,149ที่อ้างว่าเนื่องจากการย้ายจาก / usr / bin / qdbus เป็น / usr / lib / i386-linux-gnu / qt4 / bin / qdbus มันอาจไม่ทำงานเสมอไป (ข้อผิดพลาดยังส่งผลต่อ Ubuntu)

โซลูชันนี้ไม่มีผลกระทบต่อระบบของฉัน
Radu Rădeanu

นั่นจะเป็นข้อผิดพลาด @ RaduRădeanu :) มันใช้งานได้ในเวลา 12.10 น และยังไม่ได้อยู่ในเครื่องที่บ้าน (นั่นคือ 13.04) ดังนั้นในระหว่างนี้ให้ใช้วิธีของ Radu แต่อาจมีผลกับปุ่มอื่น ๆ บนแป้นพิมพ์ด้วย
Rinzwind

นั่นจะไม่หยุดกดปุ่มเปิดปิดค้างไว้ 4 วินาที;)
psusi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.