AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 526653
Accepted
Luís de Sousa
Luís de Sousa
Asked: 2019-06-25 08:48:11 +0800 CST2019-06-25 08:48:11 +0800 CST 2019-06-25 08:48:11 +0800 CST

Controle o brilho da tela no i3

  • 772

Eu gostaria de controlar o brilho da tela no i3 , em laptops Intel que vêm com teclas Fn para o efeito. Estas teclas funcionam com qualquer outro DE.

Primeiro, certifique-se de que os dispositivos disponíveis sejam Intel:

$ ls -l /sys/class/backlight/
total 0
lrwxrwxrwx 1 root root 0 juin  24 18:26 intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight

Em outro fórum o programa xbacklighté sugerido como meio de controlar o brilho no i3 . No entanto, ele falha nos laptops que tentei até agora:

$ xbacklight -inc 10
No outputs have backlight property

Existe alguma outra maneira de controlar o brilho no i3 ?

i3 brightness
  • 9 9 respostas
  • 55575 Views

9 respostas

  • Voted
  1. leafmeal
    2020-01-29T16:39:07+08:002020-01-29T16:39:07+08:00

    brightnessctlpode ser usado para definir o brilho real do dispositivo.

    • 20
  2. Best Answer
    Jae Beojkkoch
    2019-07-10T03:39:35+08:002019-07-10T03:39:35+08:00

    Para alterar o brilho da tela, você pode usar xrandr.

    Para fazer isso, você pode fazer:

    xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1
    

    Isso retornará todos os monitores conectados (como LVDS-1ou DVI-D-0por exemplo).

    Agora, para alterar o brilho da tela, execute o comando (substitua o DVI-D-0pela saída do comando precedente):

    xrandr --output DVI-D-0 --brightness 0.7
    

    Por exemplo, este comando define o brilho para 70%.

    Eu espero que isso ajude !

    • 19
  3. Anatolii Kurotych
    2020-12-25T05:06:14+08:002020-12-25T05:06:14+08:00

    Minha solução. Ele é testado no Ubuntu 20.04.

    1. sudo apt install light

    2. sudo chmod +s /usr/bin/light

    3. Adicione à configuração do i3:

      bindsym XF86MonBrightnessUp exec --no-startup-id light -A 1 # increase screen brightness
      bindsym XF86MonBrightnessDown exec --no-startup-id light -U 1 # decrease screen brightness

    • 10
  4. Try431
    2019-08-14T16:00:53+08:002019-08-14T16:00:53+08:00

    Copiando de uma resposta antiga minha para uma pergunta: As teclas especiais XF86MonBrightnessUp/XF86MonBrightnessDown não funcionam


    Edit : Conforme observado abaixo, você deve ter acpiinstalado em sua máquina para que funcionem :)

    Edit 2 : Este código aumenta/diminui os valores de brilho em 1, mas alguns modelos terão valores que variam em milhares, então modifique a alteração de acordo.

    Esta é uma pergunta antiga, mas uma resposta pode ajudar outras pessoas. Encontrei um problema em uma nova instalação i3wmno meu laptop onde, por qualquer motivo, minhas XF86MonBrightnessUp/Downchaves não estavam sendo registradas (verifiquei com xev). O que acabei fazendo foi criar acpiações e eventos que correspondiam às teclas pressionadas.

    A seguir estão as ações/eventos que defini em /etc/acpi/actionse /etc/acpi/events, respectivamente:

    Ações

    /etc/acpi/actions/bl-down.sh

    #!/bin/sh
    
    bl_device=/sys/class/backlight/acpi_video0/brightness
    echo $(($(cat $bl_device)-1)) | sudo tee $bl_device
    

    /etc/acpi/actions/bl-up.sh

    #!/bin/sh
    
    bl_device=/sys/class/backlight/acpi_video0/brightness
    echo $(($(cat $bl_device)+1)) | sudo tee $bl_device
    

    Eventos

    /etc/acpi/events/bl-down

    event=video/brightnessdown BRTDN 00000087 00000000
    action=/etc/acpi/actions/bl-down.sh
    

    /etc/acpi/events/bl-up

    event=video/brightnessup BRTUP 00000086 00000000
    action=/etc/acpi/actions/bl-up.sh
    

    Você pode verificar seus códigos de evento acpi de brilho/diminuição usando acpi_listenem seu terminal e, em seguida, pressionando a combinação de teclas relevante (por exemplo, para mim, é Fn + Seta para baixo para diminuir o brilho).

    Finalmente, não se esqueça de reiniciar acpidcomsudo /etc/init.d/acpid reload

    Nota: Seu dispositivo de luz de fundo pode ser definido em um local diferente de /sys/class/backlight/acpi_video0- é exatamente onde o meu estava. Dê uma bisbilhotada.

    • 5
  5. JoL
    2020-01-29T17:35:13+08:002020-01-29T17:35:13+08:00

    Tem 2 xbacklight. No Archlinux (pode ser o mesmo em sua distro), um vem no pacote xorg-xbacklightoriginado de https://xorg.freedesktop.org/ e o outro está no pacote acpilightoriginado em https://gitlab.com/wavexx/acpilight . Se um não funcionar, talvez o outro funcione.

    A descrição para xorg-xbacklightdiz:

    Aplicativo de controle de luz de fundo baseado em RandR

    E do acpilightlink:

    Em alguns laptops modernos, o "XRandR" pode não ter a capacidade de definir o brilho da tela. Esse recurso foi movido/unificado para a interface ACPI do kernel, via /sys/class/backlight/. "acpilight" fornece um substituto para o comando xbacklight que usa a interface ACPI em vez de "XRandR"

    Então, pode ser esse o motivo pelo qual o seu xbacklightnão funciona.

    • 2
  6. Pavan Dayal
    2020-08-28T21:54:14+08:002020-08-28T21:54:14+08:00

    minha solução atual:

    1. obter a exibição padrão (ex DVI-0)

      xrandr -q | grep " connected " | cut -d' ' -f1 | head -n 1

    2. adicione o seguinte para ~/.config/i3/configsubstituir DVI-0 por qualquer que seja o seu monitor

    bindsym XF86MonBrightnessUp exec --no-startup-id bash -c 'b=$(xrandr --verbose | grep -i brightness | head -n 1 | cut -d" " -f2) && b2=$(echo -e "import math\nf = lambda x: (1 - 1/(1+math.exp(4*x-2)))\nprint(\\\"%.2f\\\" % f(0.1+$b))" | python) && xrandr --output DVI-0 --brightness $b2'
    
    bindsym XF86MonBrightnessDown exec --no-startup-id bash -c 'b=$(xrandr --verbose | grep -i brightness | head -n 1 | cut -d" " -f2) && b2=$(echo -e "import math\nf = lambda x: (1 - 1/(1+math.exp(4*x-2)))\nprint(\\\"%.2f\\\" % f(-0.1+$b))" | python) && xrandr --output DVI-0 --brightness $b2'
    
    • 1
  7. Inspired_Blue
    2019-09-10T13:46:28+08:002019-09-10T13:46:28+08:00

    Aqui está a solução de script bash baseada em xrandr: Primeiro crie um arquivo para armazenar o valor de brilho atual usando echo 1.o > brightness.txt. Agora o seguinte script bash pode ser usado:

    #!/bin/bash
    
    BRIGHT=`cat brightness.txt`
    
    if [ "$1" = '+' ]; then
        NEWBRIGHT=$(echo "$BRIGHT + 0.05" | bc)
        if [ "$(echo "$NEWBRIGHT > 1.0" | bc)" -eq 1 ]; then
            NEWBRIGHT='1.0'
        fi
    elif [ "$1" = '-' ]; then
        NEWBRIGHT=$(echo "$BRIGHT - 0.05" | bc)
        if [ "$(echo "$NEWBRIGHT < 0.0" | bc)" -eq 1 ]; then
            NEWBRIGHT='0.0'
        fi
    fi
    

    Suponha que o script acima seja chamado brightness.sh, então ele pode ser usado como:

    .\brightness.sh + #to increase brightness
    .\brightness.sh - #to decrease brightness
    

    E como você usa i3, pode vincular chaves a esses comandos. Por exemplo, você pode adicionar essas linhas ao seu i3-config:

    # change brightness of screen
    mode "controls" {
            # These bindings trigger as soon as you enter the control mode
            bindsym j exec "~/Scripts/brightness.sh -"
            bindsym k exec "~/Scripts/brightness.sh +"
            # back to normal: Enter or Escape
            bindsym Return mode "default"
            bindsym space mode "default"
    }
    
    bindsym $mod+shift+semicolon mode "controls"
    

    Além disso, adicione esta linha ao seu i3-config para iniciar no último valor de brilho usado:

    exec "~/Scripts/brightness.sh -"
    exec "~/Scripts/brightness.sh +"
    
    • 0
  8. Emanuele Sabato
    2020-10-24T06:15:38+08:002020-10-24T06:15:38+08:00

    A resposta inspired_Blue é uma boa resposta para usar o xrandr, mas é incompleta, sugiro adicionar essas linhas no final do script bash para fazê-lo funcionar:

    echo $NEWBRIGHT > brightness.txt
    xrandr --output LVDS-1 --brightness $NEWBRIGHT
    

    tenha cuidado para verificar seu nome de exibição com

    xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1

    como mostrado por Jae Beojkkoch. No meu caso o nome é LVDS-1.

    A primeira linha reescreve o arquivo txt usando o novo valor de brilho, a segunda é usada para definir o brilho usando xrandr.

    • 0
  9. Amuoeba
    2022-07-08T12:51:09+08:002022-07-08T12:51:09+08:00

    Instale ddcutilo . Talvez seja necessário instalar i2c-toolsprimeiro e executar

     sudo modprobe i2c-dev
    

    E adicione seu nome de usuário ao grupo i2c:

    sudo usermod -G i2c -a your_user
    

    Você pode correr:

    sudo ddcutil capabilities
    

    para ver o que pode ser controlado

    E para aumentar/diminuir a luz de fundo você pode fazer:

    sudo ddcutil setvcp 10 + 10
    sudo ddcutil setvcp 10 - 10
    

    respectivamente.

    Para mais informações ddcutil, sugiro que verifique a documentação em: https://www.ddcutil.com/command_setvcp/

    • 0

relate perguntas

  • i3wm: Alternando para espaços de trabalho e movendo contêiner para (mesmo) mapa de espaço de trabalho para diferentes espaços de trabalho

  • Mudando de usuário com gdmflexiserver de i3

  • Execute comandos i3 na linha de comando

  • Conky i3bar não reconhece espaços

  • Como configurar o gdm para fazer login em uma sessão sway?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve