Arada bir şişliğin sistemi uyandırmadığından emin olmak için askıya alındıktan sonra fareyi çıkarmak zorunda kalmam çok sinir bozucu. Sistem ayarlarında, etrafta dolaşarak da bunu devre dışı bırakabilecek hiçbir şey bulamadım.
Arada bir şişliğin sistemi uyandırmadığından emin olmak için askıya alındıktan sonra fareyi çıkarmak zorunda kalmam çok sinir bozucu. Sistem ayarlarında, etrafta dolaşarak da bunu devre dışı bırakabilecek hiçbir şey bulamadım.
Yanıtlar:
Henüz BIOS'u kontrol etmedim, ancak bir çözüm buldum!
Kısa özet: İçinde /proc/acpi/wakeup
, hangi aygıtların askıya alınmaya devam etmek için etkin olduğunu görebilirsiniz. Bu liste "Aygıtlar" olarak adlandırılan isimleri (kısaltılmış) gösterir. Örnek "PWRB", "güç düğmesi" anlamına gelir.
Aygıt isimlerini bu dosyaya yazarsanız, bunları etkin / devre dışı arasında değiştirirsiniz.
Bu bilgiyi bulduğum bir bloga dayanarak, fareyle uyanmayı devre dışı bırakmak için küçük bir HowTo yazdım .
sudo
eser olmaz: Biri yapmak zorunda sudo su
, sonra hiç yankı /proc/acpi/wakeup
. Ancak, ben kimsenin bir yolunu bulmuş olup olmadığını merak ediyorum sadece ? Devre dışı fare bende ikisi de var masaüstümde (kablosuz) USB ile bağlandı ve bu da klavyedeki
Fare uyandırma büyük bir rahatsızlık olduğu için tüm posterler sayesinde ve cevaplarımı burada aldım. Bükümümü daha fazla durumda yardımcı olacağı şekilde çözümlere eklemek istiyorum. İçinde 3 farklı öğeyi devre dışı bırakmak zorunda kaldım /proc/acpi/wakeup
. Benim cihazlar: EHC1, EHC2, XHCI
. İlk 2'si usb2 ve 3'ü bir usb3 girişidir. Lütfen faremin usb alıcı-vericisinin bir usb2 portuna takılı olmasına ve hiçbir şeyin herhangi bir usb3 portunda olmamasına rağmen, bilgisayarın 3 öğenin tümü devre dışı bırakılıncaya kadar farenin üzerinde hareket edeceğini unutmayın .
$ 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
Her açılışta devre dışı uyandırma çizelgesine için, böyle bir şey ekleyebilir /etc/rc.local
..
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
düzenle cipricus:
Bunu yapıyorum çünkü bu cevaba dayanarak yukarıdakilerin bir kopyası olarak ayrı bir soru sorusunun kapatılması için daha fazla ayrıntı eklemem gerekiyordu ; Ayrı bir cevap olarak göndermekten daha faydalı olduğunu düşünüyorum.
*** ürün engelli olmak gerekir Testi - belirtildiği gibi burada - olarak asıldı öğelerinin her biri için enabled
altı cat /proc/acpi/wakeup | sort
fare (yeniden başlatma ihtiyacı olmadan) sistemini uyanır eğer terminali çalışan aşağıda komutların her ardından test ederek :
sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo XHCI > /proc/acpi/wakeup"
(benim durumumda birincisi, diğer USB portları ile test ettikten sonra bile yeterliydi)
*** /etc/rc.local
Dosya yoksa - bu yayına göre :
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
Dosya şunun gibi görünmelidir:
#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
exit 0
Yeniden Başlatma.
Bu hala işe yaramazsa, dosya /etc/systemd/system/rc-local.service
eksik veya doğru yapılandırılmamış olabilir.
İle test et
sudo /etc/init.d/rc.local start
ve
sudo systemctl status rc-local
/Etc/rc.local'ın Systemd ile Nasıl Etkinleştirileceğini Takip Etme :
Dosyayı oluştur:
sudo nano /etc/systemd/system/rc-local.service
Sonra aşağıdaki içeriği ekleyin.
[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
Dosyayı kaydedin ve kapatın. Bir dosyayı Nano metin düzenleyicisine kaydetmek için, Ctrl + O tuşlarına basın, ardından onaylamak için Enter tuşuna basın. Dosyadan çıkmak için, Ctrl + X tuşlarına basın.
Hepsini kontrol et ve hiçbir hata yapmadı:
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
Değişiklikleri görmek için yeniden başlatın.
Benim sistemim Ubuntu 15.10
lsusb
Fare aygıtının ne olduğunu bulmak için komutu kullanmaya çalıştım . Çok basit, lsusb
sonra yazdığınız fareyi çıkarın (benim durumumda, bu bir Bluetooth alıcısı) ve lsusb
tekrar yazın. Cihaz şöyle görünür:
Bus 007 Device 008: ID 24ae:2000
Şimdi /sys/bus/usb/devices/
aynı yolu kullanarak klasörde bulun (unplug / plug). Benim durumumda, klasörlerin başlayacağı bir yerde olduklarını gördüm 7-2*
.
Şimdi idProduct ve idVendor'ı okumaya çalışın. Örneğin: cat /sys/bus/usb/devices/7-2.3/idProduct
=> 2000
, cat /sys/bus/usb/devices/7-2.3/idVendor
=> 24ae
. Bu kadar.
Sonunda /lib/systemd/system-sleep
dizinde bir script oluşturun , ne istersen onu adlandır.
#! /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
Hepsi tamam.
bu senaryo benim sorunumu çözdü. bunu kontrol et.
#!/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 )
Tek yapmanız gereken, önce çalıştırmak sudo xinput list
, USB farenizin adını bulup onu komut dosyasına koymak. Sonra dosyayı "ssmonoff.sh" olarak kaydedin, çalıştırılabilir duruma getirin ve başlangıçta çalışacak şekilde ayarlayın.
Donanımınıza özel bir yol olabilir, bu durumda seçenek sisteminizin BIOS ayarları ile kullanılabilir.
Ayarları değiştirmek için BIOS menüsüne almak da sisteme özgüdür. Genellikle yeniden başlattıktan hemen sonra bir tuşa basarsınız ve basılacak tuş genellikle ekranda görüntülenir.
Bununla birlikte, user138339'ın cevabı, ihtiyacınız olanı elde etmek için daha genel bir yol gibi görünüyor ve bunu çalışan sistemden yapabilirsiniz.
Bu sizin için çalışmasını sağlamak için adım adım "öğretici" dir:
cat /proc/acpi/wakeup
Uyandırma aygıtlarının listesini göstermek için komutu kullanınsudo sh -c "echo XXXX >/proc/acpi/wakeup"
Cihaz durumunu değiştirmek için (etkin / devre dışı) komutunu kullanın ("XXXX" cihaz kodunuzla değiştirin). Bir seferde bir cihaza gidin ve makineyi askıya alın ve hak ettiğiniz cihaz makineyi uyandırana kadar devre dışı bırakmak istediğiniz cihazı kullanarak uyandırın. Devre dışı bırakmak istemediğiniz cihazları her zaman geri etkinleştirmeyi unutmayın.#!/bin/sh
printf "XXXX" > /proc/acpi/wakeup
("XXXX" ifadesini
cihaz kodunuzla değiştirmeyi unutmayın)/etc/init.d/
. Dosyayı kopyalamak için aşağıdaki komutu kullanın:
sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup
("USERNAME" yerine gerçek kullanıcı adınızı girin)sudo chmod 755 /etc/init.d/acpi_wakeup
sudo update-rc.d acpi_wakeup defaults
(görünür, WARNING: ...missing LSB tags and overrides
ancak tamamdır. Bu konuda endişelenmenize gerek yoktur)Kaynaklar ve daha fazla okuma:
http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985 http://ubuntuforums.org/showthread.php?t=814939&page=3