มันน่ารำคาญจริง ๆ เพราะฉันต้องถอดปลั๊กเม้าส์หลังจากหยุดทำงานชั่วคราวเพื่อให้แน่ใจว่าการชนเป็นครั้งคราวจะไม่ทำให้ระบบตื่น ฉันไม่พบอะไรเลยในการตั้งค่าระบบซึ่งสามารถปิดใช้งานสิ่งนี้ได้โดยไม่ต้องไปที่อื่น
มันน่ารำคาญจริง ๆ เพราะฉันต้องถอดปลั๊กเม้าส์หลังจากหยุดทำงานชั่วคราวเพื่อให้แน่ใจว่าการชนเป็นครั้งคราวจะไม่ทำให้ระบบตื่น ฉันไม่พบอะไรเลยในการตั้งค่าระบบซึ่งสามารถปิดใช้งานสิ่งนี้ได้โดยไม่ต้องไปที่อื่น
คำตอบ:
ฉันยังไม่ได้ตรวจสอบ BIOS แต่ฉันพบวิธีแก้ปัญหา!
ข้อมูลสรุปสั้น ๆ : ใน/proc/acpi/wakeup
คุณจะเห็นว่าอุปกรณ์ใดบ้างที่เปิดใช้งานเพื่อให้สามารถกลับมาทำงานต่อได้ชั่วคราว รายการนั้นจะแสดงชื่อ (ตัวย่อ) ของชื่อ "อุปกรณ์" ตัวอย่าง "PWRB" หมายถึง "ปุ่มเพาเวอร์"
หากคุณเขียนชื่ออุปกรณ์ไปยังไฟล์นั้นคุณจะสลับระหว่างการเปิด / ปิดการใช้งาน
ฉันเขียนHowTo เล็ก ๆ สำหรับปิดใช้งานการปลุกด้วยเมาส์ตามบล็อกที่ฉันพบข้อมูลนั้น
sudo
จะไม่ทำงาน: หนึ่งจะต้องทำsudo su
ก่อนแล้วสะท้อนไป/proc/acpi/wakeup
. แต่ฉันสงสัยว่าทุกคนที่ได้พบวิธีการเพียง ? ปิดการใช้งานเมาส์ฉันมีทั้ง บนเดสก์ท็อปของฉันเชื่อมต่อผ่าน USB (ไร้สาย) และสิ่งนี้จะปิดใช้งานการปลุกจากแป้นพิมพ์ด้วย
ขอขอบคุณผู้โพสต์ทุกคนเนื่องจากเม้าส์เม้าส์เป็นความไม่สะดวกที่สำคัญและฉันได้รับคำตอบที่นี่ ฉันต้องการเพิ่มวิธีการแก้ปัญหาที่อาจช่วยในกรณีเพิ่มเติม ผมต้องปิดการใช้งาน 3 /proc/acpi/wakeup
รายการที่แตกต่างกันใน อุปกรณ์ของฉัน: EHC1, EHC2, XHCI
. 2 ตัวแรกคือ usb2 และรายการที่ 3 เป็น usb3 โปรดทราบว่าแม้ว่าตัวรับส่งสัญญาณ usb สำหรับเมาส์ของฉันจะเสียบเข้ากับพอร์ต usb2 และไม่มีอะไรอยู่ในพอร์ต usb3 ใด ๆ คอมพิวเตอร์จะปลุกด้วยการเลื่อนเมาส์จนกว่าจะมีการปิดใช้งานทั้ง 3รายการ
$ cat /proc/acpi/wakeup | sort
Device S-state Status Sysfs node
EHC1 S3 *disabled pci:0000:00:1d.0
EHC2 S3 *disabled pci:0000:00:1a.0
GLAN S4 *enabled pci:0000:08:00.0
.. ,, ..
USB7 S3 *disabled
WLAN S3 *disabled pci:0000:03:00.0
XHCI S3 *disabled pci:0000:07:00.0
หากต้องการปิดใช้งานรายการปลุกทุกครั้งที่เริ่มต้นคุณสามารถเพิ่มสิ่งนี้ลงใน/etc/rc.local
..
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
แก้ไขโดย cipricus:
ฉันกำลังแก้ไขสิ่งนี้เพราะฉันต้องการเพิ่มรายละเอียดเพิ่มเติมเพื่อให้คำถามที่แยกจากกันของฉันถูกปิดเป็นรายการที่ซ้ำกันของคำตอบข้างต้นตามคำตอบนี้ ฉันคิดว่ามันมีประโยชน์มากกว่าการโพสต์เป็นคำตอบแยกต่างหาก
*** ทดสอบว่ารายการใดที่จำเป็นต้องปิดการใช้งาน - ตามที่ระบุไว้ที่นี่ - สำหรับแต่ละรายการที่โพสต์enabled
ภายใต้cat /proc/acpi/wakeup | sort
โดยการรันในเทอร์มินัลแต่ละคำสั่งด้านล่างจากนั้นทำการทดสอบว่าเมาส์ทำให้ระบบทำงานหรือไม่ :
sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo XHCI > /proc/acpi/wakeup"
(ในกรณีของฉันคนแรกก็พอแม้หลังจากการทดสอบกับพอร์ต USB อื่น ๆ )
*** หาก/etc/rc.local
ไฟล์ไม่มีอยู่ - อ้างอิงจากโพสต์นี้ :
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
ไฟล์ควรมีลักษณะดังนี้:
#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
exit 0
Reboot
หากยังใช้งานไม่ได้อาจเป็นเพราะไฟล์/etc/systemd/system/rc-local.service
หายไปหรือไม่ได้รับการกำหนดค่าอย่างเหมาะสม
ทดสอบด้วย
sudo /etc/init.d/rc.local start
และ
sudo systemctl status rc-local
ต่อไปนี้วิธีการเปิดใช้ /etc/rc.local กับ Systemd :
สร้างไฟล์:
sudo nano /etc/systemd/system/rc-local.service
จากนั้นเพิ่มเนื้อหาต่อไปนี้ลงในนั้น
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
บันทึกและปิดไฟล์ หากต้องการบันทึกไฟล์ในโปรแกรมแก้ไขข้อความนาโนให้กด Ctrl + O แล้วกด Enter เพื่อยืนยัน หากต้องการออกจากไฟล์กด Ctrl + X
ตรวจสอบทั้งหมดได้ดีโดยไม่มีข้อผิดพลาดด้วย:
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
รีบูตเพื่อดูการเปลี่ยนแปลง
ระบบของฉันคือ Ubuntu 15.10
ฉันพยายามใช้lsusb
คำสั่งเพื่อค้นหาอุปกรณ์เมาส์คืออะไร มันง่ายมากคุณพิมพ์lsusb
แล้วถอดปลั๊กเมาส์ (ในกรณีของฉันมันคือตัวรับสัญญาณบลูทู ธ ) แล้วพิมพ์lsusb
อีกครั้ง อุปกรณ์มีลักษณะดังนี้:
Bus 007 Device 008: ID 24ae:2000
ตอนนี้ค้นหาใน/sys/bus/usb/devices/
โฟลเดอร์โดยใช้วิธีเดียวกัน (ถอดปลั๊ก / ปลั๊ก) 7-2*
ในกรณีของฉันฉันพบว่าพวกเขาอยู่ที่ไหนสักแห่งในโฟลเดอร์เริ่มต้นด้วย
ตอนนี้พยายามอ่าน idProduct และ idVendor ตัวอย่างเช่น: cat /sys/bus/usb/devices/7-2.3/idProduct
=> 2000
, =>cat /sys/bus/usb/devices/7-2.3/idVendor
24ae
แค่นั้นแหละ.
ในที่สุดฉันก็สร้างสคริปต์ใน/lib/systemd/system-sleep
ไดเรกทอรีตั้งชื่อตามที่คุณต้องการ
#! /bin/sh
if [ ! -r /sys/bus/usb/devices/7-2.3/power/wakeup ]; then
exit 0
fi
case "$1" in
pre )
echo disabled > /sys/bus/usb/devices/7-2.3/power/wakeup
;;
esac
เสร็จเรียบร้อย.
สคริปต์นี้แก้ไขปัญหาของฉัน ตรวจสอบมัน
#!/bin/bash
# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
echo "Script already running. Exit..."
exit
fi
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
if echo $line | grep "boolean true" &> /dev/null; then
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
xset dpms force off
else
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
fi
done )
สิ่งที่คุณต้องทำคือก่อนอื่นเรียกใช้sudo xinput list
ค้นหาชื่อที่กำหนดของเมาส์ USB ของคุณและวางลงบนสคริปต์ จากนั้นบันทึกไฟล์เป็น "ssmonoff.sh" ทำให้สามารถเรียกใช้งานได้และตั้งค่าให้ทำงานเมื่อเริ่มต้น
คำอธิบายที่ดี ฉันเพิ่งเพิ่ม rc.local คำสั่งต่อไปนี้
for d in `cat wakeup |grep enabled|grep -v PS2K|cut -b -4`; do echo $d >/proc/acpi/wakeup ; done
เพื่อปิดการใช้งานทุกอุปกรณ์กว่า PS2K (แป้นพิมพ์ PS2) จากการปลุก ง่ายและทำงาน!
อาจมีวิธีเฉพาะสำหรับฮาร์ดแวร์ของคุณซึ่งในกรณีนี้อาจมีตัวเลือกให้ใช้งานผ่านการตั้งค่า BIOS ของระบบ
การไปที่เมนู BIOS ของคุณเพื่อเปลี่ยนการตั้งค่ายังเป็นระบบเฉพาะ โดยปกติแล้วคุณจะต้องกดคีย์หลังจากรีบูตเครื่องและปุ่มสำหรับกดมักจะปรากฏบนหน้าจอ
อย่างไรก็ตามคำตอบของ user138339 ดูเหมือนว่าจะเป็นวิธีทั่วไปมากขึ้นในการบรรลุสิ่งที่คุณต้องการและคุณสามารถทำได้จากระบบที่ทำงานอยู่
นี่คือ "การสอน" ทีละขั้นตอนของฉันที่จะทำให้มันทำงานสำหรับคุณ:
cat /proc/acpi/wakeup
เพื่อแสดงรายการอุปกรณ์ที่ปลุกsudo sh -c "echo XXXX >/proc/acpi/wakeup"
(แทนที่ "XXXX" ด้วยรหัสอุปกรณ์ของคุณ) เพื่อสลับสถานะอุปกรณ์ (เปิด / ปิดการใช้งาน) ไปที่อุปกรณ์หนึ่งครั้งและพยายามระงับเครื่องของคุณและปลุกโดยใช้อุปกรณ์ที่คุณต้องการปิดการใช้งานจนกว่าอุปกรณ์ที่สมควรจะไม่สามารถปลุกเครื่องได้ อย่าลืมเปิดใช้งานอุปกรณ์ที่คุณไม่ต้องการปิดการใช้งานเสมอ#!/bin/sh
printf "XXXX" > /proc/acpi/wakeup
(อย่าลืมแทนที่ "XXXX" ด้วยรหัสอุปกรณ์ของคุณ)/etc/init.d/
ย้ายหรือคัดลอกไฟล์ไปยังโฟลเดอร์ ในการคัดลอกไฟล์ใช้คำสั่งต่อไปนี้:
sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup
(แทนที่ "USERNAME" ด้วยชื่อผู้ใช้จริงของคุณ)sudo chmod 755 /etc/init.d/acpi_wakeup
sudo update-rc.d acpi_wakeup defaults
(มันแสดงWARNING: ...missing LSB tags and overrides
แต่มันก็โอเคคุณไม่จำเป็นต้องกังวลเกี่ยวกับมัน)แหล่งที่มาและการอ่านเพิ่มเติม:
http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985 http://ubuntuforums.org/showthread.php?t=814939&page=3