Systemd и Lirc

/etc/conf.d/lircd.conf стандартный не измененный. (да и не используется он в сервисе, а тем более в lirc !!!)

Провел опыты со своим пультиком. никакие модули ядра связанные с lirc не загружены, выключен сервис lirc.service, а он все равно работает (частично), цифры можно им печатать, можно выключить и перевести комп в ждущий режим, можно регулировать громкость. Странно как то… То же самое и с включенным сервисом.

команды irrecord и irw вообще на пульт не реагируют…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Провел опыты со своим пультиком. никакие модули ядра связанные с lirc не загружены, выключен сервис lirc.service, а он все равно работает (частично), цифры можно им печатать, можно выключить и перевести комп в ждущий режим, можно регулировать громкость. Странно как то… То же самое и с включенным сервисом.

команды irrecord и irw вообще на пульт не реагируют…
Вот вот, тоже самое у меня… Тоже реагирует на цифры, выключение компа,…, а чтобы работал по моим конфигам нужно ему жестко прописывать какой конфиг использовать и где его искать (хотя в /etc/conf.d/lircd.conf это все прописано).
PS: Я уже начинаю думать что это баг лирка
www.linux32.ru - новости и статьи о Linux
Я заметил что некоторые писатели сервисов упорно не желают использовать уже существующие конфиги расположенные в /etc/conf.d/, а в тупую клепают без этих конфигов.
Как они предполагают нужно настраивать под себя параметры запуска демона не редактируя сервис?
И вообще это похоже на провокацию с их стороны. Ведь в системд специально предусмотрено подключение внешних файлов с настраиваемыми параметрами запуска демонов.
Нет слов, я зол… (((
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
…в системд специально предусмотрено подключение внешних файлов с настраиваемыми параметрами запуска демонов…
можно поподробнее про это?
www.linux32.ru - новости и статьи о Linux
В принципе должно быть как то так
lirc.service
[Unit]
Description=Linux Infrared Remote Control
[Service]
EnvironmentFile=/etc/conf.d/lircd.conf
ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid --device=${LIRC_DEVICE} --driver=${LIRC_DRIVER} $LIRC_EXTRAOPTS ${LIRC_CONFIGFILE}
Type=forking
PIDFile=/run/lirc/lircd.pid
[Install]
WantedBy=multi-user.target

/etc/conf.d/lircd.conf
#
# Parameters for lirc daemon
#
LIRC_DEVICE="/dev/lirc0"
LIRC_DRIVER="default"
LIRC_EXTRAOPTS=""
LIRC_CONFIGFILE=""
В таком варианте можно настроить запуск демона с нужными параметрами не редактируя сам файл сервиса, а только конфиг.

EnvironmentFile= подключает файл с параметрами запуска демона
–device=${LIRC_DEVICE} –driver=${LIRC_DRIVER} $LIRC_EXTRAOPTS ${LIRC_CONFIGFILE}
а так прописываются переменные из файла с параметрами запуска демона
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Спасибо. Может стоит разработчиков лирка ткнуть носом в этот юнит? Если с английским на ты. Заодно и в irexec.service строку EnvironmentFile= может прописали бы…
www.linux32.ru - новости и статьи о Linux
32reg
Если с английским на ты.
А вот это проблема… (((
Ну что ты проверил? работает?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Сечас на работе, вечером проверю, отпишусь, но, думаю будет работать.
Проверил, работает, правда убрал $LIRC_EXTRAOPTS (с этой опцией не работало), вот в итоге что получилось:
cat /etc/systemd/system/lirc.service
[Unit]
Description=Linux Infrared Remote Control
[Service]
EnvironmentFile=/etc/conf.d/lircd.conf
ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid --device=${LIRC_DEVICE} --driver=${LIRC_DRIVER} ${LIRC_CONFIGFILE}
Type=forking
PIDFile=/run/lirc/lircd.pid
[Install]
WantedBy=multi-user.target

C лирком вроде все. Теперь может кто подскажет как привязать перезапуск irexec к принудительному рестарту иксов (посредством Ctrl+Alt+Backspace)? А то иногда бывает нужно кильнуть иксы если что-нибудь повисло и после их рестарта получается 2 запущенные копии irexec, соответственно двойное срабатывание кнопок на пульте.
PS: irexec запускаю добавив его в обычную автозагрузку от пользователя в кедовых systemsettings
www.linux32.ru - новости и статьи о Linux
nafanja
В принципе должно быть как то так
lirc.service
[Unit]
Description=Linux Infrared Remote Control
[Service]
EnvironmentFile=/etc/conf.d/lircd.conf
ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid --device=${LIRC_DEVICE} --driver=${LIRC_DRIVER} $LIRC_EXTRAOPTS ${LIRC_CONFIGFILE}
Type=forking
PIDFile=/run/lirc/lircd.pid
[Install]
WantedBy=multi-user.target

/etc/conf.d/lircd.conf
#
# Parameters for lirc daemon
#
LIRC_DEVICE="/dev/lirc0"
LIRC_DRIVER="default"
LIRC_EXTRAOPTS=""
LIRC_CONFIGFILE=""
В таком варианте можно настроить запуск демона с нужными параметрами не редактируя сам файл сервиса, а только конфиг.

EnvironmentFile= подключает файл с параметрами запуска демона
--device=${LIRC_DEVICE} --driver=${LIRC_DRIVER} $LIRC_EXTRAOPTS ${LIRC_CONFIGFILE}
а так прописываются переменные из файла с параметрами запуска демона
После последних обновлений юнит не исправили и поэтому вместо:

....
ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid --device=${LIRC_DEVICE} --driver=${LIRC_DRIVER} $LIRC_EXTRAOPTS ${LIRC_CONFIGFILE}

надо писать
ExecStart=/usr/bin/lircd --pidfile=/run/lirc/lircd.pid --device=${LIRC_DEVICE} --driver=${LIRC_DRIVER} $LIRC_EXTRAOPTS ${LIRC_CONFIGFILE}

иначе демон не стартует
 
Зарегистрироваться или войдите чтобы оставить сообщение.