Không thể ghi vào tệp / sys / class / backlight / acpi_video0 / độ sáng (ubfox)


16

Tôi đang cố gắng thay đổi độ sáng bằng cách ghi đè giá trị trên tệp này:

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

Nó không hoạt động ngay cả khi sử dụng sudo. Tuy nhiên nếu tôi chuyển sang siêu người dùng với su, nó hoạt động. Tại sao vậy?


Hành động này chỉ giới hạn cho người dùng sudo. Tôi tìm thấy câu trả lời trong bình luận này :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.
Alexey Volodko

Câu trả lời:


17

Lỗi xảy ra vì sudo nâng cao quyền cho lệnh ( sudo echo 5) nhưng không phải là chuyển hướng để ghi tệp ( > /sys/class/backlight/acpi_video0/brightness). Shell bash thực tế cần sự cho phép để viết, đó là lý do tại sao nó thất bại với sudo nhưng hoạt động như root.

Bạn có thể giải quyết vấn đề này bằng cách chạy teelệnh root để ghi vào tệp:

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

Lưu ý rằng điều này cũng sẽ lặp lại "5" cho thiết bị đầu cuối của bạn. Đây là một tác dụng phụ bình thường của teelệnh.


Tín dụng được gửi tới @duskwuff cho teegiải pháp thông minh
mguymon

5
Tôi không thể tin tưởng vào điều đó - đó là một chút về văn hóa dân gian UNIX mà tôi đã chọn từ những người hiểu biết.
duskwuff -inactive-

1
không hoạt động với tôi với / sys / class / drm / card0 / device / pp_sclk_od không thể thay đổi giá trị
alexela

4

Như được viết trong Arch wiki ( liên kết ), theo mặc định, chỉ rootcó thể thay đổi độ sáng bằng phương pháp này. Cho phép người dùng trong videonhóm để thay đổi độ sáng, một udevquy tắc như sau đây có thể được sử dụng (thay thế <vendor>với id nhà cung cấp của bạn Ví dụ. 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"

Sau đó, bạn cần thêm người dùng của bạn vào videonhóm.

usermod -aG video <user>

Sau đó, nó sẽ hoạt động:

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

1
Phương pháp này làm việc cho tôi, sau khi thay thế acpi_video0bằng intel_backlight.
Mehdi

1
Thx cho phản hồi của bạn. Tôi đã cập nhật câu trả lời.
Manuel Schmitzberger

2

Nếu bạn không muốn 5 tiếng vang thì điều này cũng hoạt động:

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

0

Tôi đã phải vật lộn với vấn đề này trên VAIO VPCEG của tôi trong một thời gian khá lâu. Sau khi làm mọi thứ được đề cập trong mỗi diễn đàn, tôi thấy một điều thú vị:

Sau khi thay đổi tham số khởi động acpi_osi=Linux acpi_backlight=vendorvà cố gắng thay đổi thủ công /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, tôi nhận ra rằng việc thay đổi quyền đối với tệp này từ root sang người dùng của tôi và khởi động lại dịch vụ acpid, điều này sẽ cho phép tôi sử dụng các phím sáng hoàn hảo.


-1

các giải pháp dưới đây hoạt động tốt cho tôi ..

tôi đang đăng nó dưới dạng câu trả lời để những người khác có thể nhận được sự giúp đỡ:

thay đổi sự cho phép:

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

Bây giờ thay đổi độ sáng:

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

trong trường hợp của bạn, nó sẽ là: /sys/class/backlight/acpi_video0/brightness


1
Chào mừng bạn đến với Siêu người dùng! Vui lòng không thêm "cảm ơn" làm câu trả lời. Đầu tư một chút thời gian vào trang web và bạn sẽ có đủ đặc quyền để nâng cao câu trả lời bạn thích, đó là cách nói siêu cảm ơn của người dùng.
DavidPostill

Ngoài ra, bạn không thực sự trả lời câu hỏi, đó là "Tại sao vậy?"
DavidPostill

cảm ơn rất nhiều .. vì thông tin và thực sự xin lỗi .. chỉ vì tôi .. bạn đã lãng phí thời gian quan trọng của mình để hướng dẫn tôi..tôi sẽ đảm bảo điều này không xảy ra lần nữa
noobdeveloper99

Nó không phải là thực hành tốt để cho phép mọi người đọc và viết một tập tin cấu hình hệ thống như vậy.
lindhe

Tôi có một số tình huống, trong đó màn hình bắt đầu hoạt động, nhưng giá trị đèn nền vẫn là 0,
ransh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.