मैं निलंबित कंप्यूटर को जागने से माउस की गति को कैसे रोकूं?


32

यह वास्तव में कष्टप्रद है क्योंकि मुझे यह सुनिश्चित करने के लिए माउस को अनप्लग करना है कि यह सुनिश्चित करने के लिए कि एक सामयिक टक्कर सिस्टम को नहीं जगाती है। मुझे सिस्टम सेटिंग में कुछ भी नहीं मिला है, जो इसे न तो निष्क्रिय कर सकता है और न ही चारों ओर से गुगला सकता है।

जवाबों:


24

मैंने अभी तक BIOS की जाँच नहीं की है, लेकिन मैंने एक समाधान ढूंढ लिया है!

संक्षिप्त सारांश: इसमें /proc/acpi/wakeup, आप देख सकते हैं कि वर्तमान में कौन से उपकरण निलंबित से फिर से शुरू करने में सक्षम हैं। वह सूची तथाकथित "डिवाइस" के नाम (संक्षिप्त) दिखाती है। उदाहरण "PWRB" का अर्थ "पावर बटन" है।

यदि आप उस फ़ाइल में डिवाइस-नाम लिखते हैं, तो आप उन्हें सक्षम / अक्षम के बीच टॉगल करते हैं।

मैंने ब्लॉग के आधार पर वेक-अप-माउस को अक्षम करने के लिए एक छोटा सा हॉव्टो लिखा था , जहां मुझे वह जानकारी मिली।


1
यह मेरे उत्तर की तुलना में बहुत अच्छा लगता है, और मैंने अपने उत्तर को उसी के अनुसार संपादित किया है। धन्यवाद!
रॉबी बसाक

2
तो, यह काम करता है (हालांकि, मैं पास करने में ध्यान देता हूं कि सिर्फ sudoकाम करने से काम नहीं चलेगा: किसी को sudo suपहले करना होगा , फिर गूंजना होगा /proc/acpi/wakeup। हालांकि, मैं सोच रहा हूं कि क्या किसी ने सिर्फ माउस को निष्क्रिय करने का एक तरीका ढूंढ लिया है ? मेरे पास दोनों हैं (वायरलेस) USB के माध्यम से जुड़े मेरे डेस्कटॉप पर और यह कीबोर्ड से वेक को भी अक्षम कर देगा।
मार्को

15

सभी पोस्टरों के लिए धन्यवाद क्योंकि माउस वेकअप एक बड़ी असुविधा है और मुझे यहां मेरे जवाब मिले। मैं समाधान के लिए अपने मोड़ जोड़ना चाहता हूं क्योंकि इससे अधिक मामलों में मदद मिल सकती है। मुझे 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

सिप्रिकस द्वारा संपादित:

मैं इसका संपादन कर रहा हूं क्योंकि मुझे इस उत्तर के आधार पर उपरोक्त के डुप्लिकेट के रूप में बंद किए जाने के लिए एक अलग प्रश्न के लिए अधिक विवरण जोड़ने की आवश्यकता थी ; मुझे लगता है कि एक अलग उत्तर के रूप में पोस्ट करने की तुलना में यह अधिक उपयोगी है।

*** परीक्षण जो आइटम को अक्षम करने की आवश्यकता है - जैसा कि यहां पर संकेत दिया गया है - नीचे दिए गए प्रत्येक आदेश में टर्मिनल में चल रहे प्रत्येक आइटम के लिए पोस्ट किया 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"

(मेरे मामले में पहले एक अन्य यूएसबी पोर्ट के साथ परीक्षण के बाद भी पर्याप्त था)

*** यदि /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

रीबूट।


यदि वह अभी भी काम नहीं करता है, तो यह हो सकता है कि फ़ाइल /etc/systemd/system/rc-local.serviceगायब है या ठीक से कॉन्फ़िगर नहीं है।

के साथ टेस्ट करें

sudo /etc/init.d/rc.local start

तथा

sudo systemctl status rc-local

बाद systemd साथ /etc/rc.local सक्षम कैसे :

फ़ाइल बनाएँ:

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

परिवर्तन देखने के लिए रिबूट करें।


अगर आपको मेरा संपादन पसंद नहीं है, तो कृपया मुझे @cipricus को चिह्नित करके बताएं और मैं ऊपर दिए गए लिंक से अलग उत्तर के रूप में पोस्ट करूंगा।

6

मेरा सिस्टम 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

सब कुछ कर दिया।


यह मेरे लैपटॉप पर उबंटू 18.04 के साथ काम करता है।
मिन्ह गुयेन

1

इस स्क्रिप्ट ने मेरी समस्या हल कर दी। इसकी जांच - पड़ताल करें।

    #!/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" के रूप में सहेजें, इसे निष्पादन योग्य बनाएं और इसे स्टार्टअप पर चलाने के लिए सेट करें।


1

महान व्याख्या। मैंने बस निम्नलिखित कमांड को rc.local में जोड़ा

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

जागने से PS2K (कीबोर्ड PS2) की तुलना में हर डिवाइस को निष्क्रिय करने के लिए। सरल और काम!


0

आपके हार्डवेयर के लिए एक विशिष्ट तरीका हो सकता है, जिस स्थिति में आपके सिस्टम की BIOS सेटिंग्स के माध्यम से विकल्प उपलब्ध हो सकता है।

सेटिंग्स बदलने के लिए अपने BIOS मेनू पर जाना भी सिस्टम विशिष्ट है। आमतौर पर आप रिबूट करने के बाद एक कुंजी दबाते हैं, और प्रेस की कुंजी अक्सर स्क्रीन पर प्रदर्शित होती है।

हालाँकि, user138339 का उत्तर आपको प्राप्त करने के लिए एक सामान्य तरीके की तरह लगता है, और आप इसे रनिंग सिस्टम से कर सकते हैं।


0

यह आपके लिए काम करने के लिए मेरा चरण-दर-चरण "ट्यूटोरियल" है:

  1. cat /proc/acpi/wakeupजागो उपकरणों की सूची दिखाने के लिए कमांड का उपयोग करें
  2. sudo sh -c "echo XXXX >/proc/acpi/wakeup"डिवाइस स्थिति (सक्षम / अक्षम) को चालू करने के लिए कमांड (अपने डिवाइस कोड के साथ "XXXX" का उपयोग करें )। एक समय में एक डिवाइस पर जाएं और अपनी मशीन को निलंबित करने का प्रयास करें और इसे उस डिवाइस का उपयोग करके जगाएं जिसे आप अक्षम करना चाहते हैं जब तक कि योग्य डिवाइस मशीन को जगाने में सक्षम नहीं होगा। उन उपकरणों को हमेशा सक्षम करना न भूलें जिन्हें आप अक्षम नहीं करना चाहते हैं।
  3. जब आप अपने डेस्कटॉप फ़ाइल "acpi_wakeup" पर सही डिवाइस बनाते हैं, जिसमें निम्नलिखित कोड होते हैं: #!/bin/sh printf "XXXX" > /proc/acpi/wakeup (अपने डिवाइस कोड के साथ "XXXX" को बदलना न भूलें)
  4. फ़ाइल को फ़ोल्डर में ले जाएं या कॉपी करें /etc/init.d/। निम्नलिखित कमांड के फ़ाइल उपयोग की प्रतिलिपि बनाने के लिए: sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup ("USERNAME" को अपने वास्तविक उपयोगकर्ता नाम से बदलें)
  5. फ़ाइल को निष्पादन योग्य बनाएं: sudo chmod 755 /etc/init.d/acpi_wakeup
  6. फिर आवश्यक प्रतीकात्मक लिंक को अन्य निर्देशिकाओं में स्वचालित रूप से बनाने के लिए 'अपडेट- rc.d' का उपयोग करें: sudo update-rc.d acpi_wakeup defaults (यह दिखाता है WARNING: ...missing LSB tags and overridesलेकिन यह ठीक है। आपको इसके बारे में चिंता करने की आवश्यकता नहीं है)
  7. कंप्यूटर को दोबारा चालू करो।

स्रोत और आगे पढ़ने:

http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985 http://ubuntuforums.org/showthread.php?t=814939&page=3

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.