डेस्कटॉप लॉक करते समय प्रमुख कार्यों को कैसे अनुमति दें


20

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


+1! मैं शर्त लगाता हूं कि इसका एक साइड इफेक्ट (यदि यह संभव है) नींद के प्रदर्शन को फिर से जागृत नहीं करना है, जो कि कुछ ऐसा है जिसके बारे में मैंने पहले सोचा है।
डेविड वनिल

1
मैं यह कार्यक्षमता भी रखना चाहता हूँ। न केवल वॉल्यूम के लिए, बल्कि संगीत नियंत्रण कुंजी (प्ले, पॉज़; अगला; पिछला) के लिए भी।
jPlatte

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

मुझे आश्चर्य है कि अगर मीडिया कुंजी को किसी प्रकार के नकली LIRC डिवाइस में बनाया जा सकता है, तो रिमोट कंट्रोल का दिखावा ... कम से कम वैचारिक रूप से यह सही है?
तानेली

जवाबों:


9

कुछ हद तक एक शर्मनाक प्लग है, लेकिन चूँकि वहाँ कोई मौजूदा समाधान नहीं लगता था, और चूंकि यह कार्य अपेक्षाकृत सीधा-सा प्रतीत होता था, इसलिए मैंने समस्या को ठीक करने के लिए एक साधारण पायथन डेमॉन लिखा । यह सिस्टम-वाइड कुंजी प्रेस पर कब्जा करने और फिर कस्टम शेल कमांड चलाने के लिए अजगर-एक्सलिब एपीआई का उपयोग करता है। यह एक बुनियादी डेबियन / उबंटू सेटअप मानता है, लेकिन संभवतः कुछ लिनक्स के साथ सबसे लिनक्स सिस्टम पर काम करेगा।

मेरे केस के लिए, वॉल्यूम अप / डाउन कीज़ कोड 122/123 के मैप्स को मैप करती है, इसलिए डेस्कटॉप के लॉक होने पर वॉल्यूम कम या बढ़ाने के लिए संबंधित कमांड निम्न हैं:

gnome-screensaver-command -q | grep "is active" && bash -c '/usr/bin/pactl -- set-sink-volume `pacmd list-sinks | grep -P -o "(?<=\* index: )[0-9]+"` -10%'
gnome-screensaver-command -q | grep "is active" && bash -c '/usr/bin/pactl -- set-sink-volume `pacmd list-sinks | grep -P -o "(?<=\* index: )[0-9]+"` +10%'

जाहिर है, यह एक बिट क्रिया है। दूसरा grep सिस्टम पर सक्रिय साउंड इंटरफेस खोजने के लिए है जो कई हो सकते हैं (जैसे कि मेरे लैपटॉप में मास्टर और हेडफ़ोन इंटरफ़ेस है, इन कमांड को या तो नियंत्रित करने की अनुमति देता है)।

संपादित करें: यह अब Ubuntu 16 के रूप में काम नहीं करता है। सभी एक्स फ़ंक्शन अक्षम हो गए हैं, यहां तक ​​कि टर्मिनल से भी, स्क्रीन लॉक होने पर।


1
मैं सिर्फ Ubuntu 18.04 पर यह काम कर रहा हूं। मुझे askubuntu.com/a/890802/627247 केgdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked | grep -ioP "true" आधार पर "लॉक्ड टेस्ट" को बदलना पड़ा क्योंकि मैं ग्नोम-स्क्रैसवर का उपयोग नहीं कर रहा हूं, लेकिन उसके बाद, कोई समस्या नहीं है।
फैबियन एन।

मैं पुष्टि कर सकता हूं कि यह उबंटू 16.04 पर भी काम करता है। भ्रम से बचने के लिए, फैबियन एन द्वारा उल्लिखित "लॉक्ड टेस्ट" है। इसका अर्थ gnome-screensaver-command -q | grep "is active"है कि वह जो भी सुझाव देता है, उसके द्वारा फ्री-थिंकपैड की 160--165 या सीधे कॉन्फ़िगरेशन फ़ाइल में बदल सकता है।
पियरे थलमी

मेरे सिस्टम 171 gdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked | grep -ioP "true" && bash -c 'rhythmbox-client --next'पर ताल के अगले गीत के लिए पूरी तरह से काम करता है। मैं अभी भी पिछले और अन्य नियंत्रणों पर काम कर रहा हूं, लेकिन यह वहां पहुंच जाएगा।
जॉन हैमिल्टन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.