La scorciatoia da tastiera della luminosità fn non funziona sul laptop ASUS


42

Le scorciatoie di luminosità tramite fntasto non funzionano.

Ho provato ogni soluzione da questa risposta e dai suoi commenti . Dopo aver modificato il /etc/default/grubfile ho riavviato.

GRUB_CMDLINE_LINUX="acpi_osi=Linux"
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi=linux acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi_Linux"

Quali altre soluzioni alternative / soluzioni ci sono?

Uscita pertinente:

$ sudo lshw -C display
  *-display UNCLAIMED     
       description: 3D controller
       product: GK107M [GeForce GT 750M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: latency=0
       resources: memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f7000000-f707ffff
  *-display
       description: VGA compatible controller
       product: 4th Gen Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 06
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:50 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64)

Quale GPU hai?
Kai,

@Kai Ho aggiunto informazioni pertinenti alla domanda.
Ionică Bizău,

Ora, quando dici che i tasti della luminosità non funzionano, vedi una barra in movimento che indica che stai cambiando la luminosità o premendo i tasti FN non fa nulla?
John Scott,

Ecco un paio di soluzioni alternative. Spero che possa esserti utile
Sergiy Kolodyazhnyy,

Eccellente, ha GRUB_CMDLINE_LINUX="acpi_backlight=vendor"fatto il lavoro per me.
Milano,

Risposte:


52

Nel terminal:

  1. sudo nano /etc/default/grub

    Modificare

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    

    a

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
    

    Quindi, salva il file.

  2. sudo update-grub

  3. Riavvia il computer.


I tasti funzione ( Fn+ F5/ F6) ora dovrebbero essere attivi.

Ho scoperto che il file grub è stato modificato dopo un aggiornamento del sistema e ho dovuto farlo di nuovo.


1
Per ottenere l'intera gamma della luminosità (dopo averlo visualizzato per primo) aggiungendo un file 20-intel.conf ha funzionato per me: itsfoss.com/fix-brightness-ubuntu-1310
srlm

1
Questo ha funzionato per me sul mio ASUS Q550LF! Grazie mille!
Ryan Stull,

5
Questo non ha funzionato per me. Sto eseguendo Ubuntu in un laptop Asus Zenbook ux305. C'è qualche altra opzione per risolvere il mio caso?
Gocht,

9
per asus rog gl552vw: intel_idle.max_cstate=1 acpi_osi= acpi_backlight=nativesu archlinux con kernel 4.3.3
brauliobo

2
acpi_osi= acpi_backlight=nativeera abbastanza sul mio laptop ASUS, non era necessario intel_idle.max_cstate=1e il popup di luminosità funziona.

13

Disclaimer: ho lottato con questo su Mint / Mate-18 con il mio Asus 305CA e l'ho fatto funzionare, non so se funziona anche su Ubuntu, ma provate ... Ho fatto questo:

Far funzionare Fn F5 / F6:

sudo emacs /etc/default/grub

Modifica quanto segue: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="

sudo update-grub

riavviare il sistema ... Ora dovrebbe apparire la schermata iniziale.

Verifica i comandi acpi con acpi_listen:

acpi_listen.

premere Fn F5 / F6. Ho capito:

video/brightnessdown BRTDN 00000087 00000000 K
video/brightnessup BRTUP 00000086 00000000 K

Aggiungi i codici evento all'evento acpi:

sudo emacs /etc/acpi/events/asus-keyboard-backlight-down 

evento = video / luminosità giù BRTDN 00000087

sudo emacs /etc/acpi/events/asus-keyboard-backlight-up

evento = video / luminosità su BRTUP 00000086

Conferma che puoi cambiare la retroilluminazione di (dove xx è un numero intero):

echo xx | sudo tee /sys/class/backlight/intel_backlight/brightness

Crea uno script:

sudo emacs /etc/acpi/asus-keyboard-backlight.sh 

Aggiungi la variabile al file:

KEYS_DIR=/sys/class/backlight/intel_backlight

Ho anche impostato il valore su 10 anziché 1, poiché era troppo lento:

if [ "$1" = down ]; then
    VAL=$((VAL-10))
else
    VAL=$((VAL+10))
fi

La luminosità effettiva del display non segue la barra dello splash. Quando è completamente su / giù, è ancora possibile premere Fn F5 / F6 per modificare la luminosità.

Dovrai riavviarlo acpidaffinché abbia effetto:

sudo service acpid restart

6
cosa succede se acpi_listen non mostra nulla?
Eugen Konkov,

Confermo che funziona anche su Asus K501UX e fa 20 passaggi di luminosità su / giù da min a max e viceversa ...
sHAKaJaada

Funziona su ASUS Zenbook UX330UA. Grazie mille @Lassebassen
Holy Mackerel,

Confermato il lavoro su Asus X550VX (con grafica Nvidia 950M). Ma la prima risposta funziona anche senza altre modifiche dopo aver aggiunto:acpi_osi= acpi_backlight=native
Gobinath

Posso confermare che la soluzione funziona con Asus Zenbook UX310 su Xubuntu 16.04. Ottima soluzione!
pulsante

7

questa soluzione ha funzionato per me:

apri il terminale e digita questi comandi:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

sudo nano /usr/share/X11/xorg.conf.d/20-intel.conf

Aggiungi le seguenti righe a questo file:

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

chiudi il file dopo il salvataggio, quindi torna al terminale e digita questi comandi:

sudo nano /etc/default/grub

trova questa linea

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

e sostituirlo con

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi= acpi_backlight=intel"

quindi nel terminale

sudo update-grub

riavvia il tuo laptop e funzionerà probabilmente.


Confermo che funziona con un Asus N56JR.
Michael S.

5

Se fai clic sull'icona della batteria e se vedi un cursore per modificare la luminosità e se funziona effettivamente, ad es. se la luminosità dello schermo cambia, quindi la funzionalità è lì, devi solo mappare nuovamente i tasti della tastiera.

(Quindi non c'è bisogno di pasticciare con parametri del kernel e driver e simili)

Se fai clic sull'icona Batteria nel pannello di KDE e vedi questo:

pannello batteria

In Impostazioni di sistema → Area di lavoro → Tasti di scelta rapida → Tasti di scelta rapida globali → Daemon KDE troverai Decrease Screen Brightnesse Increase Screen Brightness.

Sembra essere già mappato su Fn+ F5/ Fn+ F6, ma non sembra funzionare, quindi dagli una Global Alternativemappatura a Meta+ F5/ Meta+ F6.


3

Per ridurre la luminosità, attenersi alla seguente procedura:

Apri Impostazioni di sistema> Luminosità e blocco

Da lì controlla la tua luminosità

Puoi provare questo:

https://apps.ubuntu.com/cat/applications/brightness-controller/

Se si desidera modificare la luminosità tramite i tasti, attenersi alla seguente procedura:

sudo apt-get install xbacklight xbacklight -set 50

Quindi apri Impostazioni> tastiera> scorciatoie

Aggiungi i tasti di scelta rapida personalizzati e inserisci qui i seguenti comandi: inserisci qui la descrizione dell'immagine

xbacklight -dec 10

xbacklight -inc 10


So come modificare la luminosità (dall'interfaccia utente e da xbacklight). Inoltre, non riesco a mappare scorciatoie personalizzate sul fntasto. L'ho già provato. :-(
Ionică Bizău,

Non usare la chiave fn usa qualcos'altro
Tejas Ghalsasi,

ALT + F5, ALT + F6 erano già impostati, ma voglio che la chiave fn funzioni ...
Ionică Bizău

3

Nella sceneggiatura:

sudo nano /etc/acpi/asus-keyboard-backlight.sh 

Opzioni utili per Asus E402M:

MIN=200
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)

if [ "$1" = down ]; then
    VAL=$((VAL-800))
else
    VAL=$((VAL+800))
fi

2

Mi sembra che non sia installato il driver NVIDIA proprietario. Se questo è vero, puoi provare a installare questo driver usando il programma preinstallato "Driver aggiuntivi". Questo dovrebbe funzionare in Ubuntu 14.04, ma è probabile che causi problemi nelle versioni precedenti di Ubuntu senza software aggiuntivo installato. Quindi, nel caso in cui non si utilizzi Ubuntu 14.04, non installare il driver proprietario senza ulteriori letture.

Quando il driver è installato e il controllo della luminosità continua a non funzionare, puoi provare a eseguire sudo nvidia-xconfigper generare un xorg.conffile. Quindi è possibile modificare questo file utilizzando sudo gedit /etc/X11/xorg.confe aggiungere la riga

Option "RegistryDwords" "EnableBrightnessControl=1"

a Section "Device".


Non installerò alcun driver proprietario sul mio computer ...
Ionică Bizău,

Se si dispone di un Asus N56JR, non installare il driver proprietario. Ciò impedirà al tuo X-Server di non avviarsi più. Usa askubuntu.com/questions/41681/… per risolvere questo problema.
Michael S.

1

Ho provato la risposta accettata sul mio portatile Asus FL555 ma non ho avuto fortuna. Ho trovato questa risposta per una macchina Dell e funziona in parte anche per il mio laptop.
La parte che ha funzionato è che posso cambiare la luminosità nella configurazione del sistema e con xbacklighte configurando un paio di scorciatoie da tastiera personalizzate .

Non ho ancora capito come far funzionare i miei tasti funzione. Ho provato ogni genere di cose, ma quando non provo non mostrano op come chiavi ACPI acpi_listen.


hai provato il kernel 4.9 con le prossime patch Intel come ho suggerito sopra? Ciò dovrebbe risolvere molti problemi, senza ulteriori problemi con i file di configurazione o i parametri del kernel ...
Vincent Gerris,

@ user163217 Grazie per l'aggiornamento. Non l'ho fatto perché attualmente sto eseguendo Ubuntu 16.04 che utilizza un kernel più vecchio. Ma lo terrò sicuramente a mente quando ho intenzione di aggiornare il mio sistema. Grazie!
Audax,

Non c'è assolutamente alcun motivo per cui un kernel più recente non funzioni :). Con alcune eccezioni tra le versioni principali, è possibile eseguire qualsiasi 16.10, 17.04 o altri kernel (con patch ubuntu)! Ecco maggiori informazioni se sei interessato. Mi chiedo se eseguiranno il backport delle correzioni dal kernel 4.9, non credo perché sia ​​stata una vera revisione per quanto ho capito. 16.10 ha anche un kernel 4.8, quindi sarà altrimenti 17.04 fino a quando il kernel incluso di Ubuntu ti aiuterà.
Vincent Gerris,

1

Si prega di controllare questa segnalazione di bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1348890?comments=all e questo fantastico articolo: http://hansdegoede.livejournal.com/13889.html

Possono esserci più cause per il mancato funzionamento della luminosità, nel mio caso (l'Asus UX305FA) gli eventi chiave non vengono inviati.

Puoi verificarlo facendo questo in un terminale:

sudo evemu-record /dev/input/event3

(dove l'evento è la tua tastiera). Controlla se gli eventi mostrano e se sono quelli giusti quando usi le combinazioni di luminosità e luce ambientale (fn + A per me).

Per aggirare il problema, per me la soluzione xbacklight di @Tejas Ghalsasi ha funzionato in combinazione con lo snippet di @molhamaleh per il file: /usr/share/X11/xorg.conf.d/20-intel.conf

Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

Non ho bisogno di parametri del kernel. Sembra che acpi_listen mi dia: PNP0C14: 00 000000ff 00000000 per il pulsante di luce ambientale, quelli di luminosità non mostrano nulla.

Vedrò fino a che punto riesco a risolverlo, probabilmente deve essere archiviato un bug del kernel.

Leggi il link da Hans per avere una buona idea di tutto il setup :)!

[aggiornamento] Questo è stato corretto per me nel ramo del kernel drm-intel-next per 4.9. Una build può essere trovata qui: http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/

Ho installato quello dell'ultima settimana e ora i tasti di luminosità funzionano. Se controlli la segnalazione di bug, puoi vedere che almeno altre due persone su macchine diverse lo hanno riparato.

quindi scarica ad esempio:

  linux-headers-4.9.0-997_4.9.0-997.201611212212_all.deb
  linux-headers-4.9.0-997-generic_4.9.0-997.201611212212_amd64.deb
  linux-image-4.9.0-997-generic_4.9.0-997.201611212212_amd64.deb

Quindi in un terminale

dpkg -i linux*.deb

e riavviare.

Grub dovrebbe scegliere automaticamente il più recente, altrimenti premere esc e scegliere.


1

Primo: questa risposta è per openSuse, quindi mi scuso. Non sono stato in grado di aggiornare la discussione sul forum lì. Il problema sul mio HP 840 G3 era molto simile. Questo potrebbe aiutare qualsiasi distribuzione.

Su openSuse ho modificato il /etc/rc.d/boot.localfile e ho aggiunto due codici chiave usando i seguenti comandi.

setkeycodes e012 224

setkeycodes e017 225

224ed 225essendo i codici chiave X per brightness downe up.

e012e e017e il Fn-F5e Fn-F6su questa macchina.

Per testarlo sul tuo computer, devi scorrere verso il basso su un Terminale Virtuale usando:

Ctrl+ Alt+ F1ad esempio.

premere il tasto funzione richiesto

è possibile che venga visualizzato il messaggio direttamente nella console, in caso contrario controllare il registro dmesg per l'errore di una chiave mancante. Ti darà anche il codice chiave mancante. Nel mio caso le chiavi mancanti erano e012e e017.

emettere il setkeycodescomando corretto nel VT.

ritorna a X. ( Ctrl+ Alt+ F7)?

In KDE torna a settings > configure desktop > shortcuts > Global shortcuts > power management. Riduci luminosità schermo (impostazione predefinita) Aumenta luminosità schermo (impostazione predefinita).

Questo è tutto ciò che serve. Spero che sia di aiuto.


1

Prova prima questo metodo gui se non sei a tuo agio con il terminale:

  1. Fai clic sul menu di sistema nell'angolo in alto a destra della finestra del desktop.
  2. Apri le Impostazioni di sistema
  3. Clicca su Potenza
  4. Fare clic sulla descrizione comandi Luminosità schermo, se presente
  5. Fai clic su "Schermo scuro per risparmiare energia" per disattivarlo

Controlla se i tuoi tasti ora hanno la loro normale funzione nativa. Se lo fanno è risolto. Potrebbe essere necessario disconnettersi o riavviare per salvare la configurazione come persistente a questo punto.

Oppure, se il tuo computer non ha la descrizione che ti consente di spegnerlo singolarmente, controlla se ti consentirà di disattivare l'intero controllo hardware avanzato per ripristinare il file di configurazione e poi quando / se la funzionalità chiave ritorna, vedi se può riaccenderlo e far funzionare ancora i tasti funzione.

Se si desidera ancora che l'interfaccia avanzata di controllo hardware AHCI offusci il display per risparmiare energia, provare a riportare nuovamente l'interruttore in posizione ON e verificare che funzionino ancora; se la tua macchina è compatibile ahci, dovresti scoprire che funzionano ancora come pubblicizzati.

Se smettono di funzionare di nuovo e non rispondono, potrebbe essere necessario ricominciare da capo riaprendo le impostazioni di sistema o addirittura disconnettendosi e riavviando, ma una volta che ricominceranno a funzionare dovrebbero continuare a funzionare ed essere salvati da Linux e pronti a lavorare di nuovo sul avvio successivo a meno che non si modifichino nuovamente i collegamenti dei tasti in qualche modo tra il ripristino nativo e l'avvio successivo

Questo di solito si verifica dopo un arresto difettoso in cui i file di configurazione volatile temporanea non sono riusciti a essere salvati o sono stati salvati con impostazioni in conflitto con le associazioni dei tasti del BIOS nativo dopo alcune modifiche del dispositivo di input apportate da Accessibilità o altri strumenti Tweak, quindi disattivando il il controllo software dovrebbe ripristinarlo al controllo hardware.

Se non hanno mai funzionato con Ubuntu, probabilmente non sono stati rilevati correttamente nella configurazione originale o i file di configurazione sono stati modificati durante l'installazione interattiva per qualche motivo. Accessibilità?

Ma dopo aver fatto ciò, il riferimento alla funzione di BIOS predefinita nativa dovrebbe ora essere ripristinato nei file di configurazione di Linux come impostazione predefinita per i collegamenti dei tasti e con un corretto ciclo di spegnimento dovrebbero persistere al prossimo avvio.

Altrimenti, il tuo computer potrebbe non supportare completamente ahci e dovrai controllarlo manualmente con i tasti fn o provare uno dei privilegi elevati con la configurazione manuale del metodo di hacking dei patch elencati da tutti i guru del terminale qui.

Spero che questo abbia aiutato. So che in alcuni casi nessuno dei metodi elencati ha funzionato su di me né su altri argomenti e la domanda è stata elencata come chiusa, quindi alla fine ho dovuto capire dove fosse il problema sul mio NE56R pochi minuti fa. Avevo già deciso di passare qualche ora con il terminale e l'uomo per capire dove fossero i file di configurazione e la sintassi ecc. Per eseguire manualmente le associazioni dei tasti come dovevano fare gli altri e ricominciare da qui.

Saluti


1

Ho trovato la soluzione dopo essermi guardato attorno nel web, la porzione di codice è stata suggerita altrove e ho apportato piccole modifiche:

1) installa xbacklight sudo apt-get install xbacklight

2) useremo il cane da guardia pip install watchdog

3) creare uno script Python in una cartella

#!/usr/bin/env python
import sys
import time
import os
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class MyFileSystemEventHandler(FileSystemEventHandler):
        def on_modified(self, event):
                if "brightness" in event.src_path:
                        with open('/sys/class/backlight/acpi_video0/max_brightness', 'r') as content_file:
                            max_brightness = content_file.read()                        
                        with open('/sys/class/backlight/acpi_video0/brightness', 'r') as content_file:
                            actual_brightness = content_file.read()
                        B = int(int(actual_brightness)* 100 / int(max_brightness))
                        cmd = "xbacklight -set " + str(B)
                        os.system(cmd)                        

if __name__ == "__main__":
        event_handler = MyFileSystemEventHandler()
        observer = Observer()
        observer.schedule(event_handler, "/sys/class/backlight/acpi_video0/", recursive=False)
        observer.start()
        try:
                while True:
                        time.sleep(1)
        except KeyboardInterrupt:
                observer.stop()
        observer.join()

4) menu -> Applicazioni di avvio -> Aggiungi

python the/path/of/the/script.py

0

Ho avuto problemi con il mio laptop Sager e nVidia (con Optimus disabilitato e il driver nVidia non supportava la luminosità ACPI).

Installa incrontab (guarda i file ed esegue quando viene modificato).

Quindi scrivi una sceneggiatura:

#! /bin/sh
nvidia-settings -c :0 -n -a BacklightBrightness=`cat /sys/class/backlight/acpi_video0/brightness`

L'ho chiamato nvidia_brightness_sync.sh

Quindi, esegui incrontab -e e aggiungi questa riga:

/sys/class/backlight/acpi_video0/brightness IN_CLOSE_WRITE /usr/local/bin/nvidia_brightness_sync.sh

Ora quando la luminosità ACPI viene modificata, viene eseguito il programma di impostazioni nvidia e la luminosità viene regolata in questo modo :)

Nota che sto assumendo che / sys max_brightness sia 100, cioè da 0 a 100

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.