Как я выключаю подсветку, но оставляю жидкокристаллический дисплей на?

Я предложил следующее решение:

  1. sudo apt-get install x11vnc xserver-xorg-video-dummy
  2. проверить /etc/default/grub то, что это включает nomodeset флаг:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

  3. Создайте (или измените), /etc/X11/xorg.conf, изменить USER и LISTEN обратитесь согласно своим настройкам.

Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
EndSection

Section "Device"
  Identifier "Card0"
  Driver "dummy"
  VideoRam 256000
EndSection

Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
    SubSection "Display"
    Depth 24
    Modes "1680x1050"    
    EndSubSection
EndSection

Можно генерировать собственное разрешение.

4 - создайте сервисный сценарий в /etc/init.d/vncserver

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 6
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/" CMD="/usr/bin/x11vnc"

# The Username:Group that will run VNC 
export USER="your_username"

# The display that VNC will use DISPLAY="1"

# Color depth (between 8 and 32) DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="x"
#GEOMETRY="800x600" GEOMETRY="1680x1050"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have. NAME="my-vnc-server"

PORT=5900 
LISTEN="192.168.1.10"


OPTIONS="-xkb -noxrecord -noxfixes -noxdamage -listen ${LISTEN} -name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -auth guess
-usepw ~/.vnc/passwd -rfbport ${PORT} -forever -bg -oa /var/log/x11vnc.log"

. /lib/lsb/init-functions

case "$1" in start) echo ${OPTIONS} log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}" su ${USER} -c "${CMD} ${OPTIONS}" ;;

stop) log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}" su ${USER} -c "${CMD} -kill :${DISPLAY}" ;;

restart) $0 stop $0 start ;; esac

exit 0

5
17.01.2015, 02:26
2 ответа

Из X Windows

Из X Windows вы можете использовать приложение xbacklight, чтобы получить и установить процентную яркость для вашего экрана.

Пример

текущий уровень

$ xbacklight -get
100.000000

установленный в 75%

$ xbacklight -set 75
$ xbacklight -get
73.333333

установленный обратно в 100%

$ xbacklight -set 100
$ xbacklight -get
100.000000

С консоли

Для достижения чего-то подобного для виртуального терминала вам, скорее всего, понадобится взаимодействовать с настройками ACPI через файловую систему /sys.

Пример

затемняет его

$ echo "10" | sudo tee /sys/class/backlight/acpi_video0/brightness 
10

полную яркость

$ echo "15" | sudo tee /sys/class/backlight/acpi_video0/brightness 
15

Вам придется поиграть с этим, диапазон яркостей может быть от 0-9 или 0-15, я полагаю, что в конечном итоге это зависит от вашего ноутбука.

Ничего из этого не работает?

Если ни один из этих 2-х вариантов не подходит, посмотрите на тему ArchLinux Wiki под заголовком: Подсветка. Эта статья содержит все методы, которые я когда-либо видел, чтобы достичь этого!

Ссылки

2
27.01.2020, 20:40

Что касается ноутбуков с чипсетами Intel, похоже, существует разделение между панелями, подключенными к LVDS -и eDP -:

.

eDP:

echo 4 > /sys/class/backlight/intel_backlight/bl_power

…должно отключить подсветку.

echo 0 > /sys/class/backlight/intel_backlight/bl_power

должны включить его снова.

LVDS:

Я обнаружил, что невозможно отключить подсветку на моих планшетах Thinkpad X201 и X201 через sysfs (bl _power ничего не делает; по-видимому, это специфично для eDP -).

Эта страница содержит очень длинное описание запутанной истории управления подсветкой в ​​ядре Linux. TL;DR:

i915 has supported bl_power for eDP panels (but not LVDS) starting from v3.18.

ОДНАКО, мне удалось отключить подсветку с помощью инструмента под названием intel_backlightиз инструментов Intel -GPU -. Для этого требуется root, поскольку он, по-видимому, записывает в необработанный регистр.

intel_backlight 0

...выключил для меня подсветку. Увеличив его с помощью элементов управления регулировкой яркости -, он включен здесь.

Я также написал скрипт, который я подключил для активации на клавиатуре -сгенерированного события ACPI (в моем случае, fn+space или button/zoom. Если ваша система не использует это событие ACPI, вам нужно использовать acpi _listen, чтобы найти событие, которое есть в вашей системе.

Чтобы запустить его, я создал файл с именем fnspace-backlightв /etc/acpi/events:

.
# Wyatt Ward
# hook for magnify acpi event (fn+space)
# toggle LCD backlight on/off
event=button/zoom
action=/etc/acpi/actions/toggle-lcd-light.sh

Я также создал файл с именем /etc/acpi/actions/toggle-lcd-light.sh, помеченный как исполняемый. Это позволяет мне переключать подсветку без изменения ранее установленного уровня яркости, сохраняя временное значение в /brightness. Поскольку события ACPI запускают действия от имени пользователя root, будьте осторожны.

#! /bin/bash
BRIGHTSAVEFILE="/brightness"
BRIGHTSYSFS="/sys/class/backlight/acpi_video0/brightness"

# is the light on or off?
INTEL_BACKLIGHT="/usr/bin/intel_backlight"
light_state=$("$INTEL_BACKLIGHT" | sed 's/current backlight value: //g'|sed 's/%//g')
echo "light: ""$light_state"
if [ "$light_state" -eq 0 ]; then
  cat "$BRIGHTSAVEFILE" > "$BRIGHTSYSFS"
else
  # back up current brightness level
  cat "$BRIGHTSYSFS" > "$BRIGHTSAVEFILE"
  # turn off backlight
  "$INTEL_BACKLIGHT" 0
fi

Еще одно забавное примечание: вы можете управлять подсветкой с невероятной степенью детализации, слегка изменив подсветку Intel _. Изменение его для чтения аргументов как чисел с плавающей запятой, а не целых чисел, и для выполнения арифметических операций с плавающей запятой требует только настройки нескольких строк кода и позволяет вам делать смехотворно точные изменения яркости,включая те, которые ниже минимума, который вы можете получить через sysfs.

2
27.01.2020, 20:40

Теги

Похожие вопросы