कीबोर्ड पर «PowerOff» कुंजी के लिए मैपिंग कैसे बदलें?


15

मैंने ROG G551JM Asus लैपटॉप खरीदा है जो उबंटू-संगत साबित हुआ। कंप्यूटर का कीबोर्ड "पॉवरऑफ़" कुंजी के साथ एक गैर-कुंजी के रूप में डिज़ाइन किया गया है, जिसे स्पॉट में रखा गया है, जहां आमतौर पर "एंड" कुंजी मिलती है। कंप्यूटर ठीक है अन्यथा, इसलिए मैंने इसे इस धारणा के साथ खरीदा, कि मैं किसी तरह समस्या को "ठीक" कर पाऊंगा, अर्थात पावरऑफ बटन को "एंड" कुंजी में फिर से दबा दूंगा।

पावरऑफ बटन गलत बना (ASUS G551JM): ASUS G551JM

आम तौर पर एक «अंत» कुंजी (ASUS N56VZ) है: ASUS N56VZ

"Poweroff" बटन घटनाओं द्वारा उत्पादित कर रहे हैं /dev/input/event2: Power Buttonडिवाइस (के रूप में द्वारा रिपोर्ट evtestकोड 116 के साथ) (से उदाहरण लाइन evtest: Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1)

X सर्वर पर कुंजी भी दिखाई देती है, और अंततः उबंटू एक PowerOffकुंजी के रूप में प्रमुख प्रेस की पहचान कर सकता है और "अलविदा उपयोगकर्ता एडम ..." अर्ध-पारदर्शी संवाद बॉक्स लॉन्च करता है जो वास्तव में कंप्यूटर को बंद करने की मेरी इच्छा की पुष्टि करता है।

समस्या यह है कि बाइंडिंग जो पॉवरऑफ की प्रेस को रूटीन से बांधती है, जो यह प्रदर्शित करती है कि पुष्टि संवाद डॉन्कफ-एडिटर के अंतर्गत नहीं दिख रहा है और मुझे कोई संकेत नहीं है कि इसे कहां खोजें।

क्या कोई मुझे बता सकता है, जहां PowerOff कुंजी के लिए डिफ़ॉल्ट बाइंडिंग को बदलना (या हटाना) है ???

यह कुछ आसान होना चाहिए।


21.IX.2016 संपादित करें:

संवाद बॉक्स को स्थायी रूप से अक्षम करने का एक तरीका है, देखें कि मैं पावर बटन के विकल्पों को कैसे संशोधित करूं? । मुझे उम्मीद है कि पावर बटन को अक्षम करने के बाद, इसे किसी और चीज़ के लिए फिर से असाइन करना संभव होगा।


क्या आपने समस्या हल कर ली है? यह बहुत उपयोगी होगा यदि आप यहां एक उत्तर पोस्ट करते हैं।
ezze

1
@ ईज़ेज़ वास्तव में नहीं (मैं इस मुद्दे के कारण विभिन्न कंप्यूटर का उपयोग कर रहा हूं)। लेकिन मैं कुंजी दबाने के बाद निर्मित स्थायी रूप से अक्षम्य संवाद को प्रबंधित करने में कामयाब रहा। ठीक है, मैं जवाब अपडेट कर दूंगा।
एडम रिक्ज़ोस्की

संबंधित सवाल यूनिक्स और लिनक्स StackExchange पर।
एक्जेज़

2
मुझे उस कुंजी को हटाने के लिए ASUS से बहुत नफरत है। Homeऔर End"मेटा" कुंजियाँ हैं जिनका मैं सबसे अधिक उपयोग करता हूं ... :(
मैथ्यू

जवाबों:


10

मैं इसे अपने ASUS N751JK उबंटू 18.04 एलटीएस और उबंटू 16.04 एलटीएस (दोनों मामलों में एकता डेस्कटॉप वातावरण के साथ परीक्षण किया गया और 18.04 में केडीई प्लाज्मा) के साथ काम करने में सक्षम था:

  1. सबसे पहले, "पावर ऑफ" बटन की कार्रवाई को सेट करें nothing

    एकता

    जोहानो फीअरा के उत्तर में वर्णित जैसा :

    gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"
    

    या वैकल्पिक रूप से sudo apt install dconf-toolsऔर संपत्ति dconf-editorबदलने के लिए उपयोग करें org.gnome.settings-daemon.plugins.power(जैसे यहां वर्णित है )। इसे काम करने के लिए रिबूट या लॉगआउट की आवश्यकता होती है।

    केडीई

    पर जाएं "सिस्टम सेटिंग" का चयन करें "पावर प्रबंधन" में टैब "हार्डवेयर" अनुभाग और फिर "ऊर्जा की बचत" टैब, नीचे स्क्रॉल करें, लगता है "सत्ता बटन दबाया जब" ड्रॉपडाउन सूची और करने के लिए अपने मूल्य बदल "क्या कुछ भी नहीं" । परिवर्तनों को प्रभावी करने के लिए "लागू करें" बटन पर क्लिक करें

    ऊर्जा की बचत

  2. Xdotool स्थापित करें :

    sudo apt install xdotool
    

    यह हमें प्रमुख घटनाओं को ट्रिगर करने की अनुमति देगा।

  3. अगला चरण "पावर ऑफ" बटन प्रेस पर " एंड" कुंजी प्रेस को ट्रिगर करना है

    उबुन्टु 18.04

    /etc/acpi/events/powerनिम्नलिखित सामग्री के साथ फ़ाइल बनाएँ :

    event=button/power
    action=/etc/acpi/power.sh "%e"
    

    और /etc/acpi/power.shनिम्न सामग्री के साथ स्क्रिप्ट बनाएं :

    #!/bin/sh
    xdotool key End
    

    और इसमें निष्पादन की अनुमति जोड़ें:

    sudo chmod +x /etc/acpi/power.sh
    

    उबंटू 16.04

    बैकअप एसीपीआई स्क्रिप्ट का उपयोग "पावर ऑफ" बटन की घटना को संभालने के लिए किया जाता है :

    sudo cp /etc/acpi/powerbtn.sh /etc/acpi/powerbtn.sh.backup
    

    फिर इसे संपादित करें, निम्नलिखित खोजें:

    # If logind is running, it already handles power button presses; desktop
    # environments put inhibitors to logind if they want to handle the key
    # themselves.
    

    और नीचे दिए गए कोड को संशोधित करें ताकि ऐसा लगे:

    if pidof systemd-logind >/dev/null; then
        xdotool key End
        exit 0
    fi
    
  4. इन परिवर्तनों को लागू करने के लिए किसी को चलना चाहिए:

    sudo acpid restart
    

    एडम के लिए धन्यवाद acpidजब उपयोगकर्ता सिस्टम बूट () पर लॉग इन करता है तो स्वचालित रूप से पुनरारंभ करना संभव है । इसलिए sudo acpid restartरिबूट के बाद हर बार टर्मिनल में मैनुअल के बजाय निम्नलिखित लाइन जोड़ें:

    session optional    pam_exec.so /usr/sbin/acpid restart
    

    /etc/pam.d/common-sessionफ़ाइल के अंत तक ।


sudo acpid reloadफिर से शुरू करने के बजाय क्या ? क्या इससे काम हो जायेगा?
बाइट कमांडर

1
acpid restartसमस्या का हल क्या है session optional pam_exec.so /usr/sbin/acpid restartके अंत में एक पंक्ति जोड़ना है /etc/pam.d/common-session। इस तरह उपयोगकर्ता के लॉगिन के बाद acpid पुनः आरंभ हो जाएगा और यह मेरे लिए पर्याप्त है। समस्या का अंत में समाधान !!
एडम रिक्ज़ोस्की

1
@rtindru, आपको चाहिए gsettings setबजाय gsettings get
ईजेज़

1
कुबंटु 18.04 में इस काम को करने के लिए, मुझे पॉवर के लिए निष्पादन की अनुमति देनी थी। @: sudo chmod +x /etc/acpi/power.sh@, शायद आप इसे शामिल करने के लिए अपने उत्तर को अपडेट कर सकते हैं।
LGenzelis

1
@Lenzelis, धन्यवाद। उत्तर अपडेट किया गया।
इज़्ज़

4

यह काम कर जाना चाहिए।

टर्मिनल में दर्ज करें:

gsettings set org.gnome.settings-daemon.plugins.power button-power "nothing"

2
हाँ!!! लेकिन फिर एक और बात है: इसे «एंड» की में कैसे मैप करना है?
एडम रिक्ज़ोव्स्की

1
यहां अज्ञात क्षेत्र में प्रवेश करना, लेकिन मुझे लगता है कि आप बस एक xmodmap फ़ाइल कॉन्‍फ़िगर ($ {HOME} /। Xmodmap) बना सकते हैं और फिर इसे इसमें डाल सकते हैं: keycode 116 = अंत , या टर्मिनल में दर्ज करें: xmodmap -e "keycode 116 = End "
जोहानो फ़िएरा

दुर्भाग्य से, यह मदद नहीं करता है। यह "पावर ऑफ" बटन को कैप्चर करने में अक्षम करता है क्योंकि यह xevकमांड द्वारा देखा गया है और xmodmapइसे रीमैप करने के लिए रोकता है। और वैसे, "पावर ऑफ" बटन का कीकोड अलग हो सकता है (मेरे एएसयूएस एन 751 जेके के लिए 124)।
ईवेज़ सेप

यह बटन को पकड़ने की क्षमता को अक्षम नहीं करना चाहिए ... लेकिन इस बारे में कैसे। टर्मिनल में दर्ज करें: gsettings set org.gnome.settings-daemon.plugins.power button-power "shutdown"(ताकि बटन दबाया गया है), फिर /etc/acpi/events/powerbtnलाइन को संपादित करें और टिप्पणी करें #action=/etc/acpi/powerbtn.sh, और फिर टर्मिनल में दर्ज करें: xmodmap -e "keycode 124 = End"इससे पावर बटन को कुछ भी करने से रोकना चाहिए और उसी समय में इसे अंतिम कुंजी पर मैप करना चाहिए।
जोहानो फ़िएरा

1
यह "पॉवर ऑफ़" ईवेंट को केवल powerbtn.shस्क्रिप्ट द्वारा ही नहीं बल्कि कम से कम (कम से कम) systemd-logindसर्विस द्वारा नियंत्रित करने में भी मदद नहीं करता है (शायद, यह button-powerआपके उत्तर में उल्लिखित सेटिंग का उपयोग करता है )। आप पा सकते हैं if pidof systemd-logind >/dev/null; then... exit 0लाइन powerbtn.shजिसमें इसका मतलब है कि स्क्रिप्ट systemd-logindडेस्कटॉप सत्र सक्रिय होने पर "पावर ऑफ़" ईवेंट को खुद से हैंडल करने देती है। एक चीज जिसके बारे में आप सही हैं - button-powerमूल्य बदलना कुंजी को पकड़ने की क्षमता को प्रभावित नहीं करता है, लेकिन यह पहले से ही कुछ प्रक्रिया ( systemd-logindया अन्य) द्वारा कब्जा कर लिया गया है ।
8
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.