LinuxForum.Fans
Тема

Автозапуск команды раз в 5 секунд

Автор: mkone112 15 сообщений 3565 просмотров
#353981

Установил debian 7 c business card сверху поставил xfce4.12
Далее зашел в настройки сеансы и запуск и добавил в автозагрузку следующую команду

text
watch -n 5 "xrandr -q | grep 'DFP1 connected' && xrandr --output LVDS --off --output DFP1 --auto"

как сделать то-же через скрипты или cron так и не понял
ps через терминал команда работает исправно

#353985

Я новичек в линуксе.Вы не могли бы объяснить что с этим делать(по подробней:))

#353986

По ссылке же все написано.

Создать файлик /etc/udev/rules.d/95-monitor-hotplug.rules
В него записать

text

ACTION=="change", SUBSYSTEM=="drm", HOTPLUG=="1", RUN+="/usr/local/bin/hotplug_monitor.sh"

Создать файлик /usr/local/bin/hotplug_monitor.sh
В него записать

text

export DISPLAY=:0.0

function connect(){ xrandr --output LVDS --off --output DFP1 --auto }

function disconnect(){ xrandr --output DFP1 --off --output LVDS --auto }

xrandr | grep "DFP1 connected" &> /dev/null && connect || disconnect

Кажется надо перезапустить udev:
/etc/init.d/udev reload

PS Если не хочется лезть во внутренности системы, то почему бы не использовать управление мониторами через GUI?

#353988

Я выполнил все это. Правда пришлось выполнить mkdir /usr/local/bin т.к. она отсутствовала. Это не помогло. При подключении внешнего монитора экран ноутбука не выключается.

#354020

Как минимум было забыто

text
chmod +x /usr/local/bin/hotplug_monitor.sh

Может еще что-то

#354216

Не помогло. Но теперь при загрузке ругается на файл "/etc/udev/rules.d/95-monitor-hotplug.rules". Но прочитать не успеваю. Заглянул в "/var/log/dsmesg" и "/var/log/messages", но они не полны в них нет этой записи. "/etc/default/bootlogd" "/var/log/boot" отсутствуют. Подскажите как мне посмотреть полный лог загрузки.

#354226

Должен существовать файл /etc/default/bootlogd и в нём должна быть строка

text
BOOTLOGD_ENABLE=Yes

тогда какие-то сообщения будут также в /var/log/boot, но вообще всё
должно быть в /var/log/mesages.
Также попробуйте в скрипта указать имена программ с полным путём, например,
/usr/bin/xrandr

Пётр.

#354253
Peter написал:
Должен существовать файл /etc/default/bootlogd и в нём должна быть строка

Google говорит что в debian 7 такого файла нет Его создание ничего не дает.

#354262

Установил bootlogd так:

text
apt-get install bootlogd

Внес в "/etc/default/bootlogd" "BOOTLOGD_ENABLE=Yes".Лог заработал, но не полностью - появился файл "/var/log/boot". Но не в нем ни в "/var/log/messages" не строчки udev. Видимо нужно включить что-то еще.

#354324
"mkone112" написал:
через скрипты

Если имелся ввиду скрипт с бесконечным циклом, где указанная в шапке команда выполняется раз в 5 сек

text
#!/bin/sh
while true
do
watch -n 5 "xrandr -q | grep 'DFP1 connected' && xrandr --output LVDS --off --output DFP1 --auto"
sleep 5
done

Но это костыльный способ.

#355124

Не получается. Вот что я делаю:

text

nano /usr/bin/hotplugmonitor.sh
text

#!/bin/sh
while true
do
watch -n 5 "xrandr -q | grep 'DFP1 connected' && xrandr --output LVDS --off --output DFP1 --auto"
sleep 5
done
text
chmod 777 /usr/bin/hotplugmonitor.sh

Настройки=> Сеансы и Запуск=> Автозапуск приложений=> Добавить
Имя: Autoscreen
Описание:
Команда:

text
sh /usr/bin/hotplugmonitor.sh

Ok

Галка указывающая на активность стоит.

Результат тот-же, хотя если в графе "Команда" написать например Vlc то Vlc будет исправно запускаться при старте.

#355127

Попробуй создать /usr/bin/hotplugmonitor без sh на конце

text
#!/bin/sh
while true
do
watch -n 5 "xrandr -q | grep 'DFP1 connected' && xrandr --output LVDS --off --o$
sleep 5
done
text
chmod +x /usr/bin/hotplugmonitor

Команда: "hotplugmonitor" или "/usr/bin/hotplugmonitor"

#355141
"mkone112" написал:
watch -n 5 "xrandr -q | grep 'DFP1 connected' && xrandr --output LVDS --off --o$

Вместо $ в конце должна стоять "

"mkone112" написал:
/usr/bin/hotplugmonitor.sh

Зря смешиваете в кучу свои скрипты и системные.

#355301
"neol" написал:

Вместо $ в конце должна стоять "

Это я просто на форум криво скопировал. Исправил сообщение.

"neol" написал:

Зря смешиваете в кучу свои скрипты и системные.

Пускай пока так.Когда скрипт заработает - перенесу куда следует.

Войдите или зарегистрируйтесь, чтобы ответить.