Impossibile scrivere su file / sys / class / backlight / acpi_video0 / luminosità (ubuntu)


16

Sto cercando di cambiare la luminosità sovrascrivendo il valore su questo file:

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

Non funziona anche quando si usa sudo. Tuttavia, se passo a un superutente con su, funziona. Perché?


Questa azione è limitata ai soli utenti sudo. Ho trovato una risposta in questo commento :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,

Risposte:


17

L'errore si verifica perché sudo eleva le autorizzazioni per il comando ( sudo echo 5) ma non il reindirizzamento per scrivere il file ( > /sys/class/backlight/acpi_video0/brightness). La shell bash effettiva necessita dell'autorizzazione per scrivere, motivo per cui non riesce con sudo ma funziona come root.

È possibile aggirare questo problema eseguendo il teecomando come root per scrivere nel file:

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

Nota che anche questo farà eco a "5" sul tuo terminale. Questo è un normale effetto collaterale del teecomando.


Il merito va a @duskwuff per la teesoluzione intelligente
mguymon,

5
Non posso prendermi il merito di averlo scoperto - è un po 'di folklore UNIX che ho raccolto da chissà dove.
duskwuff -inattivo-

1
non funziona per me con / sys / class / drm / card0 / device / pp_sclk_od non è possibile modificare il valore
alexela,

5

Come scritto in Arch wiki ( link ), per impostazione predefinita, solo rootquesto metodo può modificare la luminosità. Per consentire agli utenti del videogruppo di modificare la luminosità, è udevpossibile utilizzare una regola come la seguente (sostituirla <vendor>con il proprio ID fornitore acpi_video0, ad esempio 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"

Quindi devi aggiungere il tuo utente al videogruppo.

usermod -aG video <user>

Dopodiché dovrebbe funzionare:

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

1
Questo metodo funziona per me, dopo aver sostituito acpi_video0con intel_backlight.
Mehdi

1
Grazie per il tuo feedback. Ho aggiornato la risposta.
Manuel Schmitzberger,

2

Se non volevi che 5 venisse ripetuto, anche questo funziona:

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

0

Ho lottato con questo problema sul mio VAIO VPCEG per un bel po 'di tempo. Dopo aver fatto tutto quanto menzionato in ogni forum ho trovato qualcosa di interessante:

Dopo aver cambiato il parametro di avvio acpi_osi=Linux acpi_backlight=vendore aver provato a cambiare manualmente /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, mi sono reso conto che cambiando l'autorizzazione a questo file da root al mio utente e riavviando il servizio acpid, questo mi avrebbe permesso di usare i tasti di luminosità in modo impeccabile.


-1

le soluzioni seguenti funzionano bene per me ..

lo sto postando come risposta in modo che altri possano ottenere aiuto:

cambia l'autorizzazione:

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

ora cambia la luminosità:

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

nel tuo caso sarebbe: /sys/class/backlight/acpi_video0/brightness


1
Benvenuto in Super User! Si prega di non aggiungere "grazie" come risposte. Investi un po 'di tempo nel sito e otterrai i privilegi sufficienti per valutare le risposte che ti piacciono, che è il modo in cui Super User ti ringrazia.
DavidPostill

Inoltre non hai davvero risposto alla domanda, che era "Perché è quello?"
DavidPostill

grazie mille .. per l'informazione e davvero dispiaciuto .. solo per colpa mia .. hai sprecato il tuo tempo importante per guidarmi..io farò in modo che questo non accada di nuovo
noobdeveloper99

Non è buona norma consentire a tutti di leggere e scrivere un file di configurazione di sistema come quello.
Lindhe

Ho alcuni scenari, in cui lo schermo inizia a funzionare, ma il valore della retroilluminazione è ancora 0,
riscatto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.