LINUX.ORG.RU

Как прописать в автозагрузку Awesome отключение экрана ноутбука?

 , , ,


0

1

Ноутбук чаще всего стоит дома, подключенный к монитору. Система - Debian Jessie GNOME и Awesome. Нужен скрипт в автозагрузку, чтобы он проверял, подключен ли монитор, и тогда либо отключал экран ноута, либо оставлял(используя xrandr). Думаю, как правильно составить условие if в .xinitrc для такого дела. Или есть более хороший способ(в GNOME все робит, а в Awesome приходится вручную через xrandr).

Ответ на: комментарий от sudoLife

это команды включают скринсейвер и режим управления питанием - см. ссылку на арч там подробно.

Silerus ★★★★
()

check_external.sh

#!/bin/bash
intern=LVDS1
extern=VGA1

if xrandr | grep "$extern disconnected"; then
    xrandr --output "$extern" --off --output "$intern" --auto
else
    xrandr --output "$intern" --off --output "$extern" --auto
fi

rc.lua

awful.util.spawn("check_external.sh")

Samsky
()
Ответ на: комментарий от Samsky

при попытке залогиниться в Awesome, снова и снова выкидывает в окно логина. Что-то в скрипте не так может или я его не в том месте в rc.lua подключаю? прописываю сразу после подключения всех библиотек...

sudoLife
() автор топика

Создаете правило udev, например:

/etc/udev/rules.d/10-local.rules

KERNEL=="card0", ACTION=="change", ENV{XAUTHORITY}="/home/<user>/.Xauthority", ENV{DISPLAY}=":0.0", RUN+="/path/to/hdmi-script.sh"
и скрипт hdmi-script.sh с нужной настройкой xrandr , например:
#!/bin/bash

if [[ $(< /sys/class/drm/card0-HDMI-A-1/status) = "connected" ]]; then
    xrandr --output LVDS1 --off
else
    xrandr --auto
fi
Т.е. когда что-то подключено к hdmi — он отключает дисплей ноута, если нет, то автоматическая настройка (ничего не происходит).

Bruce_Lee ★★
()
Ответ на: комментарий от sudoLife

Скорее всего с rc.lua что-то не так сделал, пропиши после обработчика ошибок. В этом случае awesome покажет, что с кодом не так.

Samsky
()
Ответ на: комментарий от Bruce_Lee

Если можно...

Не совсем понял Ваш принцип, можете поподробнее обьяснить?

KERNEL==«card0» - это менять как-то надо? Юзера, понятно, надо скорректировать, и путь до скрипта, а еще что-то?

Прикладываю выхлоп xrandr:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected primary (normal left inverted right x axis y axis)
   1366x768      59.99 +
   1360x768      59.80    59.96  
   1024x768      60.00  
   800x600       60.32    56.25  
   640x480       59.94  
VGA1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 270mm
   1920x1080     60.00*+
   1680x1050     59.95  
   1400x1050     59.98  
   1600x900      59.98  
   1280x1024     75.02    60.02  
   1440x900      59.89  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      59.97  
   1024x768      75.08    60.00  
   800x600       75.00    60.32  
   640x480       75.00    60.00  
   720x400       70.08  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)

sudoLife
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.