फ़ाइल / sys / class / backlight / acpi_video0 / ब्राइटनेस (ubuntu) के लिए नहीं लिख सकते


16

मैं इस फ़ाइल के मान को अधिलेखित करके चमक को बदलने की कोशिश कर रहा हूँ:

sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied

यह sudo का उपयोग करते समय भी काम नहीं करता है। हालाँकि, अगर मैं सु-उपयोगकर्ता के साथ स्विच करता हूँ, तो यह काम करता है। ऐसा क्यों है?


यह कार्रवाई केवल sudo उपयोगकर्ताओं के लिए प्रतिबंधित है। मुझे इस टिप्पणी में एक उत्तर मिला :The reason that this is set at su permissions is that a virus could conceivably make your screen dim and go bright at incredible speed ultimately damaging your hardware display. In the 90's I encountered a virus that would adjust the screen refresh Hertz so rapidly that your monitor would fry.
एलेक्सी वोलोडको

जवाबों:


17

त्रुटि इसलिए होती है क्योंकि sudo कमांड ( sudo echo 5) के लिए अनुमतियों को बढ़ाता है लेकिन फ़ाइल को लिखने के लिए पुनर्निर्देशन नहीं ( > /sys/class/backlight/acpi_video0/brightness)। वास्तविक बैश शेल को लिखने के लिए अनुमति की आवश्यकता होती है, यही कारण है कि यह सुडो के साथ विफल रहता है लेकिन जड़ के रूप में काम करता है।

आप teeफ़ाइल को लिखने के लिए कमांड को रूट के रूप में चलाकर इसके चारों ओर काम कर सकते हैं :

echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness

ध्यान दें कि यह आपके टर्मिनल पर "5" भी प्रतिध्वनित होगा। यह teeकमांड का एक सामान्य साइड इफेक्ट है ।


चतुर teeसमाधान के लिए श्रेय @duskwuff को जाता है
mguymon

5
मैं उसके साथ आने का श्रेय नहीं ले सकता - यह UNIX लोककथाओं का एक सा हिस्सा है, जिसे मैं जानता-पहचानता हूं कि कहां से उठाया गया है।
डस्कवफ-एक्टिव-

1
मेरे साथ काम नहीं कर रहा / sys / class / drm / card0 / device / pp_sclk_od मान नहीं बदल सकता
एलेक्सा सेप

5

जैसा कि आर्क विकी ( लिंक ) में लिखा है , डिफ़ॉल्ट रूप से, केवल rootइस विधि द्वारा चमक को बदल सकते हैं। videoसमूह में उपयोगकर्ताओं को चमक को बदलने की अनुमति देने के लिए, एक udevनियम जैसे कि निम्नलिखित का उपयोग किया जा सकता है ( <vendor>अपने विक्रेता के साथ बदलें । उदाहरण acpi_video0के लिए intel_backlight):

% cat /etc/udev/rules.d/backlight.rules
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<vendor>", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="<vendor>", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"

फिर आपको अपने उपयोगकर्ता को videoसमूह में जोड़ना होगा ।

usermod -aG video <user>

उसके बाद यह काम करना चाहिए:

echo 5 > /sys/class/backlight/<vendor>/brightness

1
मेरे acpi_video0द्वारा प्रतिस्थापित करने के बाद यह विधि मेरे लिए काम करती है intel_backlight
मेहंदी

1
आपकी प्रतिक्रिया के लिए thx मैंने जवाब अपडेट कर दिया है।
मैनुअल शमित्ज़बर्गर

2

यदि आप नहीं चाहते कि 5 प्रतिध्वनित हों तो यह भी काम करता है:

sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'

0

मैं काफी समय से अपने VAIO VPCEG पर इस समस्या से जूझ रहा हूँ। हर फोरम में उल्लेखित सब कुछ करने के बाद मुझे कुछ दिलचस्प लगा:

बूट पैरामीटर acpi_osi=Linux acpi_backlight=vendorको बदलने और मैन्युअल रूप से बदलने की कोशिश करने के बाद /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, मुझे एहसास हुआ कि इस फ़ाइल को रूट से अपने उपयोगकर्ता के लिए बदलने और acpid सेवा को फिर से शुरू करने से, यह मुझे चमक कुंजियों का उपयोग करने की अनुमति देगा।


-1

नीचे समाधान मेरे लिए ठीक काम करता है ..

मैं इसे उत्तर के रूप में पोस्ट कर रहा हूं ताकि दूसरों को मदद मिल सके:

अनुमति बदलें:

sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness

अब चमक बदलें:

echo 400 > /sys/class/backlight/intel_backlight/brightness

आपके मामले में यह होगा: /sys/class/backlight/acpi_video0/brightness


1
सुपर उपयोगकर्ता में आपका स्वागत है! कृपया उत्तर के रूप में "धन्यवाद" न जोड़ें। साइट में कुछ समय का निवेश करें और आप अपने पसंद के उत्तर को बढ़ाने के लिए पर्याप्त विशेषाधिकार प्राप्त करेंगे , जो आपको धन्यवाद कहने का सुपर उपयोगकर्ता तरीका है।
DavidPostill

इसके अलावा, आपने वास्तव में इस सवाल का जवाब नहीं दिया, "वह क्यों है?"
DavidPostill

बहुत बहुत धन्यवाद .. जानकारी के लिए और वास्तव में क्षमा करें .. सिर्फ मेरी वजह से .. आपने मुझे निर्देशित करने के लिए अपना महत्वपूर्ण समय बर्बाद
किया..मुझे

हर किसी को सिस्टम कॉन्फ़िगरेशन फ़ाइल को पढ़ने और लिखने की अनुमति देने के लिए यह अच्छा अभ्यास नहीं है।
lindhe

मेरे पास कुछ परिदृश्य हैं, जहां स्क्रीन काम करना शुरू करती है, फिर भी बैकलाइट का मूल्य अभी भी 0 है,
रंसह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.