Il movimento del mouse fa sì che il computer non sospenda come disattivare questo?

24

È davvero fastidioso in quanto devo scollegare il mouse dopo una sospensione per garantire che un urto occasionale non riattivi il sistema. Non ho trovato nulla nelle impostazioni di sistema che potrebbero disabilitarlo nemmeno con google.

    
posta user129498 08.02.2013 - 14:40

7 risposte

21

Non ho ancora controllato il BIOS, ma ho trovato una soluzione!

Breve sommario: in /proc/acpi/wakeup , puoi vedere quali dispositivi sono attualmente abilitati per riprendere dalla sospensione. Tale elenco mostra i nomi (abbreviati) dei cosiddetti "Dispositivi". Esempio "PWRB" significa "pulsante di accensione".

Se scrivi i nomi dei dispositivi in ​​quel file, puoi alternarli tra attivato / disattivato.

Ho scritto un piccolo HowTo per disabilitare il wakeup-by-mouse , basato su un blog in cui ho trovato tali informazioni.

    
risposta data user138339 08.03.2013 - 08:14
10

Grazie a tutti i poster, il risveglio del mouse è un grave inconveniente e ho ottenuto le mie risposte qui. Desidero aggiungere la mia svolta alle soluzioni in quanto ciò potrebbe aiutare in più casi. Ho dovuto disabilitare 3 elementi diversi in /proc/acpi/wakeup . I miei dispositivi: EHC1, EHC2, XHCI . I primi 2 sono usb2 e il 3 ° una voce usb3. Tieni presente che sebbene il ricetrasmettitore USB per il mio mouse sia collegato a una porta USB2 e nulla sia in nessuna porta USB3, il computer si riattiverà sulle mosse del mouse finché gli elementi tutti e 3 non saranno disabilitati.

$ 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

Per fare in modo che gli elementi di wakeup siano disattivati ​​ad ogni avvio, puoi aggiungere qualcosa come questo a /etc/rc.local ..

echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup

modifica tramite cipricus:

Sto modificando questo perché avevo bisogno di aggiungere più dettagli per una domanda della mia essere chiuso come duplicato di quanto sopra basato su questa risposta; Penso che sia più utile che postare come risposta separata.

*** Verifica quali elementi devono essere disabilitati - come indicato qui - per ogni degli articoli che sono stati pubblicati come enabled sotto cat /proc/acpi/wakeup | sort eseguendo nel terminale ciascuno dei comandi sottostanti e quindi testando se il mouse riattiva il sistema (senza necessità di riavvio):

sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo XHCI > /proc/acpi/wakeup"

(nel mio caso il primo era abbastanza anche dopo aver provato con altre porte USB)

*** Se il file /etc/rc.local non esiste - secondo questo post:

printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local

Il file dovrebbe essere simile a:

#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup

exit 0

Reboot.

    
risposta data Randy Skretka 17.11.2013 - 21:55
3

Il mio sistema è Ubuntu 15.10

Ho cercato di usare il comando lsusb per trovare il dispositivo del mouse. È molto semplice, digiti lsusb , quindi scollega il mouse (nel mio caso è un ricevitore Bluetooth) e digita nuovamente lsusb . Il dispositivo è simile al seguente:

Bus 007 Device 008: ID 24ae:2000

Ora trovalo nella cartella /sys/bus/usb/devices/ usando la stessa modalità (scollega / tappi). Nel mio caso, ho scoperto che sono da qualche parte nelle cartelle che iniziano con 7-2* .

Ora prova a leggere idProduct e idVendor. Ad esempio: cat /sys/bus/usb/devices/7-2.3/idProduct = & gt; 2000 , cat /sys/bus/usb/devices/7-2.3/idVendor = & gt; %codice%. Questo è tutto.

Finalmente creo uno script in 24ae , lo chiamo come vuoi.

#! /bin/sh

if [ ! -r /sys/bus/usb/devices/7-2.3/power/wakeup ]; then
    exit 0
fi
case "" in
    pre )
    echo disabled > /sys/bus/usb/devices/7-2.3/power/wakeup
;;
esac

Tutto fatto.

    
risposta data Minh Nguyen 25.12.2015 - 05:17
1

Questo è il mio "tutorial" passo-passo per farlo funzionare per te:

  1. Utilizza il comando cat /proc/acpi/wakeup per mostrare l'elenco dei dispositivi di riattivazione
  2. Usa il comando sudo sh -c "echo XXXX >/proc/acpi/wakeup" (sostituisci "XXXX" con il tuo codice dispositivo) per attivare lo stato del dispositivo (abilitato / disabilitato). Passa da un dispositivo alla volta e prova a sospendere il computer e a riattivarlo utilizzando il dispositivo che desideri disabilitare fino a quando il dispositivo non sarà in grado di riattivare la macchina. Non dimenticare di abilitare sempre i dispositivi che non desideri disabilitare.
  3. Quando trovi il dispositivo giusto crea sul tuo file desktop "acpi_wakeup" contenente il seguente codice: %codice% (non dimenticare di sostituire "XXXX" con il tuo codice dispositivo)
  4. Sposta o copia il file nella cartella #!/bin/sh printf "XXXX" > /proc/acpi/wakeup . Per copiare il file usa il seguente comando: %codice% (sostituisci "USERNAME" con il tuo nome utente reale)
  5. Rendi il file eseguibile: %codice%
  6. Quindi utilizzare 'update-rc.d' per rendere automaticamente i collegamenti simbolici richiesti in altre directory: %codice% (mostra /etc/init.d/ ma è OK. Non devi preoccuparti di questo)
  7. Riavvia il computer.

Fonti e ulteriore lettura:

link link

    
risposta data Juraj.Lorinc 30.10.2014 - 09:10
0

Potrebbe esserci un modo specifico per il tuo hardware, nel qual caso l'opzione potrebbe essere disponibile attraverso le impostazioni del BIOS del tuo sistema.

Anche accedere al menu del BIOS per modificare le impostazioni è specifico del sistema. Di solito si preme un tasto subito dopo il riavvio e il tasto da premere viene spesso visualizzato sullo schermo.

Tuttavia, la risposta di user138339 sembra un modo più generale per ottenere ciò di cui hai bisogno, e puoi farlo dal sistema in esecuzione.

    
risposta data Robie Basak 07.03.2013 - 12:44
0

questo script ha risolto il mio problema. dai un'occhiata.

    #!/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 )

Tutto quello che devi fare è, in primo luogo, eseguire sudo xinput list , trova il nome del tuo mouse USB e inseriscilo nello script. Quindi, salva il file come "ssmonoff.sh", rendilo eseguibile e impostalo per l'esecuzione all'avvio.

    
risposta data yurividal 26.04.2013 - 16:17
0

Ottima spiegazione. Ho semplicemente aggiunto a rc.local il seguente comando

for d in 'cat wakeup |grep enabled|grep -v PS2K|cut -b -4'; do echo $d >/proc/acpi/wakeup ; done

per disabilitare tutti i dispositivi rispetto a PS2K (tastiera PS2) dalla modalità di attivazione. Semplice e funzionante!

    
risposta data MeS Fet 09.11.2017 - 12:46

Leggi altre domande sui tag