Arch(xbacklight):没有输出具有背光属性

时间:2014-05-26 08:54:56

标签: linux installation archlinux brightness

我的/ sys / class / backlight中有两个文件夹:

1> acpi_video0 2 - ; intel_backlight

intel_backlight没用,因为我可以使用以下命令来调整acpi_video0中的亮度(我正在运行Nvidia驱动程序):

例如:echo 50> / SYS /类/背光/ acpi_video0 /亮度

问题:使用xbacklight -inc +5输出:"没有输出具有背光属性"所以我需要让它使用acpi_video0

到目前为止,我已经完全没有运气地尝试 rm intel_backlight文件夹了(使用sudo和777递归更改权限)。

我只想热键xbacklight增加和减少亮度。我可以使用echo将acpi_video0中的亮度设置为硬值,但不知道如何以增量调整它。

请进一步提醒!

问候:)

编辑1 :(可能的替代) 对于将来遇到此问题的任何人,请安装xcalib。 (设置:Arch Linux w / i3窗口管理器)

yaourt -S xcalib

配置文件中的以下热键分配(在我的情况下为i3):

# Brightness control reset screen (100% brightness)
bindsym Mod1+Up exec xcalib -c
# Brightness control down
bindsym Mod1+Down exec xcalib -co 95 -a

7 个答案:

答案 0 :(得分:16)

编辑:我发现了这个问题,因为我有相同的输出错误:没有输出有背光属性。 light-git解决了这个问题,没有进一步的修补。

更好的选择xcalib(它不会调整背光;不会节省电池电量):来自AUR的light-git

<强>用法

  • light -U 20减少背光20%
  • light -A 20增加20%
  • light -S 50将背光设置为50%

在这里找到wiki.archlinux.org/index.php/backlight(感谢@icbytes)。

答案 1 :(得分:7)

我已使用以下脚本替换了我的xbacklight:

#!/bin/bash
set -e
file="/sys/class/backlight/intel_backlight/brightness"
current=$(cat "$file")
new="$current"
if [ "$1" = "-inc" ]
then
    new=$(( current + $2 ))
fi
if [ "$1" = "-dec" ]
then
    new=$(( current - $2 ))
fi
echo "$new" | tee "$file"

您必须使用以下文件替换您可以找到的文件:

sudo find /sys/ -type f -iname 'brightness'

并且您必须确保此文件是可写的:例如:

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

答案 2 :(得分:2)

要解决有关新Arch安装的类似问题,我决定使用acpilight同时提供in AUR。被宣传为'xbacklight的'向后兼容替代品',它不依赖于X11,在Wayland和/或虚拟控制台上可以正常工作。

安装后,需要将常规用户添加到“视频”组中,并创建一个非常保守的udev规则的插入文件:

<击>
<div id="map"></div>
<script>
  function initializeMap() {
    var myLatlng = new google.maps.LatLng(13.083432624993291, 80.27261740398262);
    var dragOn = true;
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 16,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
    var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      animation: google.maps.Animation.DROP,
      draggable: dragOn
    });
    setTimeout(function() {
      marker.setAnimation(google.maps.Animation.BOUNCE);
    }, 1000);
    google.maps.event.addListener(marker, 'dragend', function(event) {
           alert( 'Lat: ' + event.latLng.lat() + ' and Longitude is: ' + event.latLng.lng() );
        });
  }
</script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&callback=initializeMap"></script>

<击>

在某些笔记本电脑上,还支持键盘背光控制。有关更多信息,请参阅上面链接的项目的 github gitlab页面。

希望这有助于我找到acpilight非常方便设置和使用。

注意:Python依赖解决方案。

注意2:acpilight的核心不仅仅是一个可以轻松提取的简单python脚本。

答案 3 :(得分:1)

我正在使用openSUSE,但是当我安装xf86-video-intel软件包时,它又使xbacklight正常工作。 其中包括用于英特尔图形卡的xorg-x11驱动程序以及诸如命令行实用程序之类的其他内容。 安装后,可以使用xbacklight控制背光。

在此之前,我唯一的选择是仅通过/ sys / class / backlight / intel_backlight / brightness以root权限控制背光

答案 4 :(得分:0)

在使用xbacklight时,我也遇到了No outputs have backlight property问题,但偶然发现了一个简单的修复程序,至少在MacBook Pro 13,1上使用了Fedora 28。

虽然其他解决方案看起来应该可以工作,但我不需要安装任何东西也不需要使用任何脚本。希望这也适用于其他发行版,因为我使用了Arch Wiki来帮助我:

https://wiki.archlinux.org/index.php/Backlight#ACPI讨论了ls /sys/class/backlight/,在我的情况下,显示了acpi_video0@intel_backlight@

这样,我尝试了intel_backlight,所以我使用cat /sys/class/backlight/intel_backlight/brightness来查看当前值是什么(39)。

使用echo 50|sudo tee /sys/class/backlight/intel_backlight/brightness(有关T恤的更多详细信息,请键入info tee)导致背光变亮-进度!

现在有趣的是之后,xbacklight -inc 10xbacklight -dec 10命令开始神奇地工作,而无需执行其他任何操作,因此我现在可以将键盘的亮度键绑定到xbacklight了-否需要其他sudo命令或规则。

答案 5 :(得分:0)

要添加到@ edi9999的出色解决方案中,此解决方案可以使用百分比,并且可以设置限制

#!/bin/bash
MAX=661
MIN=10
set -e
file="/sys/class/backlight/intel_backlight/brightness"
current=$(cat "$file")
new="$current"
if [ "$2" != "" ]; then
    val=$(echo "$2*$MAX/100" | bc)
fi
if [ "$1" = "-inc" ]; then
    new=$(( current + $val ))
elif [ "$1" = "-dec" ]; then
    new=$(( current - $val ))
fi
if [ $new -gt $MAX ]; then
    new=$MAX
elif [ $new -lt $MIN ]; then
    new=$MIN
fi
printf "%.0f%%\n" $(echo "$new/$MAX*100" | bc -l)
echo $new > "$file"

答案 6 :(得分:0)

我终于解决了这个问题,原始海报列出的所有在线解决方案都不适合我。解决问题的方法是转到/ etc / default / grub并在该行中: GRUB_CMDLINE_LINUX_DEFAULT

添加:

“ acpi_osi =”

但是也不要在其上使用“ nomodeset”。 Ppl最初添加了nomodeset来解决软件渲染问题,但这实际上导致Linux无法识别Nvidia驱动程序。

最后确保您进入Linux开始菜单驱动程序管理器,并将Nvidia驱动程序更新为430或更高版本。