Tidak dapat menulis ke file / sys / class / backlight / acpi_video0 / brightness (ubuntu)

16

Saya mencoba mengubah kecerahan dengan menimpa nilai pada file ini:

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

Tidak berfungsi bahkan saat menggunakan sudo. Namun jika saya beralih ke pengguna super dengan su, itu berfungsi. Mengapa demikian?


sumber
Tindakan ini terbatas hanya untuk pengguna sudo. Saya menemukan jawaban dalam komentar ini :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

Jawaban:

17

Kesalahan terjadi karena sudo meninggikan izin untuk perintah ( sudo echo 5) tetapi bukan pengalihan untuk menulis file ( > /sys/class/backlight/acpi_video0/brightness). Bash shell yang sebenarnya membutuhkan izin untuk menulis, itulah sebabnya mengapa gagal dengan sudo tetapi berfungsi sebagai root.

Anda dapat mengatasi ini dengan menjalankan teeperintah sebagai root untuk menulis ke file:

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

Perhatikan bahwa ini juga akan menggema "5" ke terminal Anda. Ini adalah efek samping normal dari teeperintah.

mguymon
sumber
Kredit diberikan ke @duskwuff untuk teesolusi pintar
mguymon
5
Saya tidak dapat mengambil kredit untuk datang dengan itu - itu sedikit cerita rakyat UNIX yang saya ambil dari siapa-yang-tahu-di mana.
duskwuff -inactive-
1
tidak bekerja untuk saya dengan / sys / class / drm / card0 / device / pp_sclk_od tidak dapat mengubah nilai
alexela
5

Seperti yang tertulis di Arch wiki ( tautan ), secara default, hanya rootdapat mengubah kecerahan dengan metode ini. Untuk memungkinkan pengguna dalam videogrup mengubah kecerahan, udevaturan seperti berikut ini dapat digunakan (ganti <vendor>dengan id vendor Anda. Misalnya 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"

Maka Anda perlu menambahkan pengguna Anda ke videogrup.

usermod -aG video <user>

Setelah itu ini akan berfungsi:

echo 5 > /sys/class/backlight/<vendor>/brightness
Manuel Schmitzberger
sumber
1
Metode ini berfungsi untuk saya, setelah diganti acpi_video0oleh intel_backlight.
Mehdi
1
Terima kasih atas tanggapan Anda. Saya sudah memperbarui jawabannya.
Manuel Schmitzberger
2

Jika Anda tidak ingin 5 digema, ini juga berfungsi:

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

Saya telah berjuang dengan masalah ini pada VAIO VPCEG saya selama beberapa waktu. Setelah melakukan semua yang disebutkan di setiap forum saya menemukan sesuatu yang menarik:

Setelah mengubah parameter boot acpi_osi=Linux acpi_backlight=vendordan mencoba mengubah secara manual /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, saya menyadari bahwa mengubah izin untuk file ini dari root ke pengguna saya dan memulai kembali layanan acpid, ini akan memungkinkan saya untuk menggunakan kunci kecerahan dengan sempurna.

pengguna273880
sumber
-1

solusi di bawah ini berfungsi dengan baik untuk saya ..

saya mempostingnya sebagai jawaban agar orang lain dapat memperoleh bantuan:

ubah izin:

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

sekarang ubah kecerahan:

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

dalam kasus Anda itu adalah: /sys/class/backlight/acpi_video0/brightness

noobdeveloper99
sumber
1
Selamat Datang di Pengguna Super! Tolong jangan tambahkan "terima kasih" sebagai jawaban. Investasikan waktu dalam situs ini dan Anda akan memperoleh hak istimewa yang cukup untuk meningkatkan jawaban yang Anda sukai, yang merupakan cara Pengguna Super mengucapkan terima kasih.
DavidPostill
Selain itu, Anda tidak benar-benar menjawab pertanyaan, yaitu "Mengapa begitu?"
DavidPostill
terima kasih banyak .. atas informasinya dan benar-benar minta maaf .. hanya karena aku .. kamu menyia-nyiakan waktu penting kamu untuk membimbingku..saya akan memastikan ini tidak terjadi lagi
noobdeveloper99
Ini bukan praktik yang baik untuk memungkinkan semua orang membaca dan menulis file konfigurasi sistem seperti itu.
lindhe
Saya punya beberapa skenario, di mana layar mulai berfungsi, namun nilai lampu latar masih 0,
ransh