लॉक स्क्रीन स्वचालित रूप से जीएनयू / लिनक्स में

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


परिचय


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

ट्रेनिंग


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

लिनक्स पर ब्लूटूथ समर्थन स्थापित करने के लिए बुनियादी कदम

  1. BIOS में ब्लूटूथ को सक्षम करें यदि यह एक अलग पैरामीटर द्वारा नियंत्रित किया जाता है, जैसे कि लेनोवो लैपटॉप पर
  2. निर्धारित करें कि कंप्यूटर विन्यास में किस ब्लूटूथ नियंत्रक का उपयोग किया जाता है:
    ~ $ lsusb | grep -i bluetooth Bus 001 Device 003: ID 0a5c:217f Broadcom Corp. Bluetooth Controller 
  3. ब्लूटूथ सबसिस्टम के लिए कर्नेल समर्थन और अपने नियंत्रक के लिए आवश्यक ड्राइवर में शामिल करें:
     Kernel Configuration ---> Bluetooth subsystem support ---> Bluetooth device drivers ---> <*> HCI USB driver 
  4. कॉन्फ़िगरेशन को सहेजें, अपडेट किए गए कर्नेल और उसके मॉड्यूल को स्थापित करें, और फिर नए कर्नेल के साथ बूट करने के लिए सिस्टम को रिबूट करें
  5. ब्लूज़ पैकेज स्थापित करें (परीक्षण-कार्यक्रमों के लिए समर्थन के साथ), जो सॉफ्टवेयर स्तर पर काम करेगा। जेंटू पैकेज बेस में, यह इस तरह दिखता है:
     * net-wireless/bluez Latest version available: 4.101-r5 Latest version installed: [ Not Installed ] Size of files: 866 kB Homepage: http://www.bluez.org/ Description: Bluetooth Tools and System Daemons for Linux License: GPL-2 LGPL-2.1 
  6. रूट विशेषाधिकार वाले उपयोगकर्ता के रूप में, ब्लूटूथ डेमॉन को प्रारंभ करें और इसे सिस्टम स्टार्टअप में जोड़ें:
     ~ # /etc/init.d/bluetooth start ~ # rc-update add bluetooth default 
  7. जांच लें कि ब्लूटूथ डिवाइस का पता चला है और काम करने के लिए तैयार है:
     ~ # hcitool dev Devices: hci0 CC:52:AF:E3:FB:67 ~ # hciconfig list hci0: Type: BR/EDR Bus: USB BD Address: CC:52:AF:E3:FB:67 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING PSCAN ... 

इस तैयारी के पूरा होने पर, अगले चरण पर जाएँ।

समायोजन


इस खंड में, समाधान का पूरा सार होगा, अर्थात्, हम मोबाइल फोन और कंप्यूटर के बीच युग्मन को कॉन्फ़िगर करेंगे। उसके बाद, ऑपरेटिंग सिस्टम में, हम ब्लूटूथ चैनल के माध्यम से फोन की उपलब्धता की जांच के लिए एक स्क्रिप्ट तैयार करेंगे, जिसे क्रोन शेड्यूलर डेमन का उपयोग करके हर मिनट कहा जाएगा। चलिए शुरू करते हैं।
  1. फोन पर ब्लूटूथ चालू करें और अन्य नेटवर्क प्रतिभागियों के लिए इसकी दृश्यता निर्धारित करें:
  2. कंप्यूटर की तरफ, ब्लूटूथ नेटवर्क का एक स्कैन चलाएं, जिसके परिणामस्वरूप हम अपने मोबाइल फोन का पता निर्धारित करते हैं (आप स्वयं फोन पर देख सकते हैं):
     ~ # hcitool scan Scanning ... 00:AA:70:31:9A:19 LG-E400 
  3. युग्मन सेट करें, फ़ोन पर आने वाले कनेक्शन को स्वीकार करें:
     ~ # simple-agent hci0 00:AA:70:31:9A:19 RequestConfirmation (/org/bluez/3522/hci0/dev_00_AA_70_31_9A_19, 724215) Confirm passkey (yes/no): yes Release New device (/org/bluez/3522/hci0/dev_00_AA_70_31_9A_19) 

  4. विश्वसनीय उपकरणों की सूची में एक मोबाइल फोन पता जोड़ें:
     ~ # bluez-test-device trusted 00:AA:70:31:9A:19 yes 
  5. कंप्यूटर से ब्लूटूथ के माध्यम से फोन की उपलब्धता की जांच करें:
     ~ # l2ping -c 10 00:AA:70:31:9A:19 
  6. यदि यह स्वचालित रूप से नहीं हुआ, तो मोबाइल फोन की ब्लूटूथ सेटिंग्स में दृश्यता को अक्षम करें:
  7. एक स्क्रिप्ट तैयार करें जो फोन की उपलब्धता की जांच करेगी और दुर्गमता के मामले में स्क्रीन को लॉक करेगी:
     ~ # if ! /usr/bin/l2ping -c 1 <%ADDR%> ; then su <%USERNAME%> -c '<%SCREENLOCKER%>' ; fi 

    मेरे मामले में:
    <% ADDR%> = 00: AA: 70: 31: 9A: 19
    <% USERNAME%> = गैर-रूट उपयोगकर्ता जिसके अंतर्गत X और सिस्टम के अन्य सभी मुख्य कार्य लॉन्च किए जाते हैं
    <% SCREENLOCKER%> = मैं बाकी पर्यावरण के बिना सूक्ति पर्यावरण से सूक्ति-अतिरिक्त / सूक्ति-स्क्रीनसेवर पैकेज का उपयोग करता हूं, इसलिए स्क्रीन लॉक कमांड इस तरह दिखता है - सूक्ति-स्क्रीनसेवर-कमांड --lock
  8. ब्लूटूथ के साथ रूट के रूप में एक परीक्षण जांच को चालू करें
  9. फोन पर ब्लूटूथ को अक्षम करें और रूट विशेषाधिकारों के साथ पुन: परीक्षण करें
  10. Crontab पर एक मिनट का नियम जोड़ें:
     ~ # crontab -l #minute (0-59), #| hour (0-23), #| | day of the month (1-31), #| | | month of the year (1-12), #| | | | day of the week (0-6 with 0=Sunday). #| | | | | commands * * * * * export DISPLAY=:0 && if ! /usr/bin/l2ping -c 1 <%ADDR%> >/dev/null 2>/dev/null ; then su <%USERNAME%> -c '<%SCREENLOCKER%>' ; fi 
    यदि इस तरह के नियम क्रॉस्टैब में भयावह हैं, तो आप ट्रिकर चेक के साथ / usr / स्थानीय / sbin निर्देशिका में एक अलग स्क्रिप्ट की जांच कर सकते हैं, जिसे आप तब crontab नियम में निर्दिष्ट करते हैं।

यह सेटअप और सत्यापन पूरा करता है।

परिणाम


हमें एक उपकरण मिला है जो हमारे मोबाइल फोन की निगरानी करेगा और अगर इसे कंप्यूटर से हटा दिया जाता है, तो यह स्क्रीन को लॉक कर देगा। वास्तविक परिस्थितियों में, यह दूरी 10-20 मीटर से अधिक नहीं है और फोन पर ब्लूटूथ को पूरी तरह से काम करना चाहिए। मोबाइल फोन की दैनिक बैटरी जीवन में थोड़ी कमी आएगी, जैसे हम 2-3 सेकंड के लिए लघु कनेक्शन का उपयोग करते हैं।

Source: https://habr.com/ru/post/In169819/


All Articles