Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: HOWTO: Ubuntu и пульт ДУ (с конфигами)  (Прочитано 63316 раз)

0 Пользователей и 1 Гость просматривают эту тему.

tartan

  • Автор темы
  • Гость
HOWTO: Ubuntu и пульт ДУ (с конфигами)
« : 05 Октября 2008, 23:19:57 »
Кое-что на эту тему здесь есть, но касается в основном самодельных ИК-приёмников, пакета MythTV и трудностей установки.

Насколько я понял по "с" вместо половины букв, инфа достаточно старая, и теперь большинство ИК-приёмников и пультов настраиваются гораздо быстрее.

Итак, имеется обычный компьютер с ubuntu 8.04 и некрософтовский комплект: пульт ДУ и приёмник, подключаемый к usb.

Просто втыкаем приёмник в свободный usb-порт, вызываем консоль и пишем lsusb, чтобы посмотреть, как определится приёмник. Запомним, что оно нам скажет.

любым удобным способом ставим пакеты lirc и liblircclient0. В ходе установки lirc спросит, что мы, собственно, собираемся прикрутить. Из первой менюшки выбираем наш пульт (надпись на пульте и выдача lsusb нам в помощь).

Собственно, всё необходимое установлено, осталось настроить. Загоним в автостарт irexec - демона, позволяющего запускать приложения с пульта. Sysytem>Preferences>Sessions, add, имя и комментарий - любые, а вот в Command надо непременно писать irexec -d, иначе никакого irexec нам не будет, а будут глюки и тупняки.

Конфигурация lirc и irexec хранится в одном файле: /home/ваш_логин/.lircrc, его надо создать руками. Консоль, touch /home/tartan/.lircrc
Синтаксис файла такой:
begin приложение

begin
prog = приложение
button = кнопка
config = команда приложения, команда bash или скрипт (последние два - только для irexec)
end

begin...
...end

end приложение

begin следующее приложение

Как узнать, какой именно сигнал послыает на приёмник кнопка и как он интерпретируется lirc? Видел тут человека, который для этого предлагал перезагрузиться в винду (ужос!) и там какой-то программой всё разузнать. Мы пойдём другим путём. Консоль, irw
Мигающий курсор означает, что программа ждёт данных от пульта. Нажимаем на интересующую нас кнопку и читаем вывод, примерно такой:
tartan@tartan-desktop:~$ irw
000000037ff07bdd 00 OK mceusb
Если строка выводится два-три раза, это нормально, lirc умеет это отрабатывать как одно нажатие.

Нам нужно OK и другие человеческие слова, без mcusb, шестнадцатиричных чисел и прочего. Я просто прошёлся по всем кнопкам и сохранил вывод в отдельный файл.

На основании полученной информации я написал конфиг (во вложении), который позволяет запускать Rhythmbox, и Totem, управлять ими, а также выключать машину сразу или с задержкой в 30, 60 и 90 минут. С выключением пришлось повозиться. По умолчанию halt имеет право командовать только root.

Создал четыре скрипта: tartan-haltnow, tartan-sleep30, tartan-sleep60, tartan-sleep90 и сложил их в папку /usr/sbin/

Выглядят они так:
haltnow:
#!/bin/bash
halt
exit 0
sleepXX
#!/bin/bash
sleep сколько нам надо в секундах
halt
exit0

Естественно, чтобы скрипты работали, нужно сделать их исполняемыми, я дал право на просмотр и редактирвание руту, а на исполнение - всем: sudo chmod 711 /путь/к/скрипту/имя_скрипта.

Внимание! Потенциально опасное действие! Ошибка в один символ - и адью, sudoers

Аккуратно, очень аккуратно с помощью gvim visudo (спасибо Kwah) привёл файл /etc/sudoers к такому виду (держите параллельно под рукой шпаргалку по vi, а лучше предварительно потренируйтесь):
# Uncomment to allow members of group sudo to not need a password
# %sudo ALL=NOPASSWD: ALL

# Host alias specification

# User alias specification

# Cmnd alias specification




# User privilege specification
root ALL=(ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%ALL ALL=NOPASSWD: /usr/sbin/tartan-haltnow
%ALL ALL=NOPASSWD: /usr/sbin/tartan-sleep30
%ALL ALL=NOPASSWD: /usr/sbin/tartan-sleep60
%ALL ALL=NOPASSWD: /usr/sbin/tartan-sleep90

Фактически, дописал четыре последних строчки, привожу файл целиком, чтобы можно было его восстановить потом.

В lircrc дописал для приложения irexec на четыре разных кнопки config = sudo /путь/к/скрипту/имяскрипта (см. вложение), и теперь по нажатию кнопки несмотря на sudo всё прекрасно выключается, безо всякого пароля.

Кому надо - берите, у кого есть варианты настройки лучше - делитесь. Планиирую ещё наутилус научить слушаться, хотя это надо извращаться.

Все ценные добавления будут подтянуты в первый пост, с указанием автора, разумееется.

ЦУ по разрешениям на исполнение скриптов и прописывание скриптов в файл /etc/sudoers - vadimka.

http://shahrear.wordpress.com/2006/08/05/more-tips-on-using-lirc/
« Последнее редактирование: 18 Октября 2008, 21:34:21 от tartan »

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #1 : 06 Октября 2008, 07:50:18 »
Цитировать
%tartan ALL=NOPASSWD: /sbin/halt
лучше на каждый скрипт отдельно права на выполнение через судо вставить, а эту срочку убрать, ну и соответсвенно скрипты скинуть в "нужное место" и еще в хауту не где не написано, что надо скриптам разрешить право на запуск.

tartan

  • Автор темы
  • Гость
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #2 : 06 Октября 2008, 09:07:21 »
Спс. Это более корректно, но мне не хотелось чикаться, а за машиной работаю я один, и всё,  что выходит в сеть, крутится на сервере. Я попытаюсь это поправить и соответственно исправлю пост. Про скрипты щас допишу.

Оффлайн Kwah

  • Старожил
  • *
  • Сообщений: 1442
  • Ubuntu 17.10
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #3 : 06 Октября 2008, 21:19:13 »
Внимание! Потенциально опасное действие! Ошибка в один символ - и адью, sudoers

Аккуратно, очень аккуратно с помощью gvim привёл вайл /etc/sudoers к такому виду:
man visudo ?

tartan

  • Автор темы
  • Гость
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #4 : 06 Октября 2008, 21:28:35 »
Да, man visudo читал. И там в самом файле написано, что visudo или ничего. Откровенно скажу, vi в его первоначальном виде не осиливаю (вот и выросло поколение, да), а gvim'ом всё отредактировал. Откуда я взял эту ересь? Тут человек один жаловался недавно, что угробил sudoers и не смог его поправить gedit'ом, и я как раз из man sudoers, кажется, ему процитировал, что вот мол vi надо пользовать. Он потом отписался, что gvim'ом разрулил...

Исправлю, пожалуй, на visudo, от греха.
« Последнее редактирование: 06 Октября 2008, 21:38:01 от tartan »

tartan

  • Автор темы
  • Гость
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #5 : 19 Октября 2008, 22:41:54 »
Небольшое дополнение и новый конфиг.

Решил, что стоит добавить лирку функционала - реализовать работу гномовских/компизовских/прочих хоткеев с пульта.

Существует пакет irxevent, но добиться от него работы сочетаний клавиш мне, к сожалению, не удалось. Интенсивный гуглинг не принёс ответа, как вразумить irxevent, но я нашёл информацию про пакет xdotools (есть в репах).

Устанавливаем пакет, читаем следующую литературу: man xdotools, system>preferences>keyboard shortcuts и хелпы тех приложений, которые мы будем "вешать" на пульт. Выписываем те сочетания, которые хотим реализовать и продумываем, как их разложить по кнопкам пульта. Я решил, что пожертвую управлением rhythmbox ради глобальных хоткеев.

В конфиг попали следующие функции:

"Глобальная" часть
- Запуск Наутилуса
- Запуск Totem
- Клавиши навигации (стрелки) плюс Esc и Enter
- Меню Applications
- Переключение рабочих столов
- Свёртывание/развёртывание всех окон сразу
- Переключение между окнами
- Alt+F4
- Меню активного окна
- Контекстное меню выбранного файла/папки
- Ctrl+a
- maximize/unmaximize window+toggle fullscreen
- Четыре вышеупомянутых sleep/halt скрипта

Управление Totem
- Открыть файл
- Выдвинуть трей сидюка
- Play/pause
- Skip
- Replay
- Ffwd
- Rewind
- Show/hide controls

Конфиг с комментариями прилагаю.

Критика приветствуется. И ещё. Если кто-то знает линуксовый мультимедиа-комбайн - подскажите, ага?
« Последнее редактирование: 19 Октября 2008, 22:43:46 от tartan »

Оффлайн Andrey_72

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #6 : 20 Октября 2008, 18:27:49 »
Elisa - простенький, но очень симпотный и лёгкий
XBMS - посерьёзней, покрасивше, но недоконца портированный поэтому с кучей багов,
ну и MythTV - это МОНСТР :) который умеет всё, но никто не знает как! :(

Оффлайн Andrey_72

  • Любитель
  • *
  • Сообщений: 72
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #7 : 20 Октября 2008, 18:40:59 »
Нашел у себя самопальный Com-Uirt, поробую завести его через Lirc (Вроде бы на офф сайте Lirc есть похожая конструкция) но незнаю подойдут ли протоколы :( но если честно, не представляю с чего начать.
вообщем  если получится - отпишусь

tartan

  • Автор темы
  • Гость
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #8 : 20 Октября 2008, 21:43:15 »
Andrey - Elise - афигенская крутотень! )) Пошёл крутить. Впечатлён, спасибо!

Начать, видимо, с того, что подключить приёмник, прогнать lsusb... и далее по первому посту.

Даже если не будет "человеческих" названий клавиш - хоть коды-то должны посылаться.

Удачи.

Оффлайн Yden

  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #9 : 21 Октября 2008, 18:27:27 »
Andrey - Elise - афигенская крутотень! )) Пошёл крутить. Впечатлён, спасибо!

Начать, видимо, с того, что подключить приёмник, прогнать lsusb... и далее по первому посту.

Даже если не будет "человеческих" названий клавиш - хоть коды-то должны посылаться.

Удачи.

тут дело скорее всего дёт о самодельном приёмнике для ком порта какой там lsusb

tartan

  • Автор темы
  • Гость
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #10 : 21 Октября 2008, 18:32:55 »
Ну в общем надо посмотреть, как его система увидит. Список подключенного к com порту оборудования тоже ведь как-то можно посмотреть.

Кстати. На днях почитаю по Elisa, что там и как, ещё один конфиг буду делать, наверное, потому что по сути Elisa лучшее решение предлагает, чем то, что я накорябал.

Там есть какой-то скрипт для генерации конфига, но он у меня не завёлся. Да не больно и хотелось, собственно.

Оффлайн Dim.

  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #11 : 22 Октября 2008, 17:28:17 »
У меня есть простой Ик адаптер для телефона. Можно ли его использовать  для данных целей?
в lsusb он определился как Bus 005 Device 002: ID 07d0:4959 Dazzle

Оффлайн Yden

  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #12 : 27 Октября 2008, 14:55:34 »
а не кто не задумывался  как настроить управление плеерами не на основе хоткеев а передачей определённых параметров выполняемым прогаммам, чё то даже не пойму как астроить управленеи звуко в иксах с пульта  было ещё здорово сделать как в виндовом winlirk вывод OSD  меню таких как вывод текущего времени даты  описания нажатой клавиши

tartan

  • Автор темы
  • Гость
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #13 : 27 Октября 2008, 15:15:52 »
Пояснение, почему я пользуюсь хоткеями вместо заложенных разработчиками приложений команд:

Если посмотреть мой первый конфиг, там сделано так, как описано в первом посте:

Begin прога

Bein
Prog = прога
Button = кнопка
Config = команда, принимать которую от lirc прога обучена
End

Ещё конфиги

End прога

Begin следующая прога

И т.д.

Но. Каждая программа обучена производителем принимать от lirc ограниченное число команд. И зачастую среди них нет закрытия программы, я уж молчу про переключение окон или там про дейтсвия с коллекцией или лазанье по папкам. При этом стоит запустить прогу с пульта - и пока она в активном окне, она слушается только тех инструкций, которые заложены производителем, а сторонние команды - irxevent и irexec - не выполняются. Это у меня так, да и в хауту всяких примерно так же написано, если я всё правильно понял.

Вот и получается, что есть прямые пути, но на костылях можно добиться лучшего функционала.

Я поставил себе Elisa, она местами глючная, но отлично подходит для управления с пульта - крупные значки, воспроизводит все форматы, короче это надо посмотреть. По утверждению разработчиков, с ней в комплекте идёт скрипт, который создаёт lircrc для неё. У меня он не запустился, да и не хочется терять управление наутилусом с пульта. А Elisa отлично слушается клавиатуры. Поэтому лучше допилить вариант irexec/xdotool под те кнопки, которых слушается Elisa. Примерно так.

Если всё-таки хочешь попробовать управлять приложениями через те команды, которые обеспечили разработчики - смори конфиги к первому посту и хелпы каждой конкретной проги, там обычно написано, что можно повесить на пульт и что писать в config. При этом часть ништяков пропадёт.

Dim - я не знаю даже... Думаю, лучше всего проверить на практике.

Yden - наверное, можно, но это аццкий головняк на самом деле. Есть же какая-то прога в гноме, которая окошко с кнопкой OK и заданным текстом выводит, можно на неё повесить, но это надо писать скрипты под неё, а я морально не готов к этому.

Описание нажатой клавиши выводит irw. В консоли.
« Последнее редактирование: 27 Октября 2008, 15:21:42 от tartan »

Оффлайн Yden

  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Re: HOWTO: Ubuntu и пульт ДУ (с конфигами)
« Ответ #14 : 29 Октября 2008, 14:29:56 »
вот кусок конфига который позволяет менять громкость в иксах приимущество в том что, нужно всего 2 кнопки чтоб управлять громкостью во всех проигрывателях, а не настраивать для каждого проигрывателя свои сначала хотел сделать на основе горячих клавишь, но мне не очень понравилось потом почитав man по консольному микшеру родился вот такой конфиг

begin
prog = irexec
button = volume_up
config = amixer  -- sset Master  8%+
end

begin
prog = irexec
button = volume_down
config = amixer  -- sset Master  8%-
end




где master это канал которым хотим управлять а проценты величина на которую прибавляем или убавляем громкость

если комуто хочется управлят не основной  громкостью  то список доступных каналов для управления можно посмотреть командой amixer scontrols
« Последнее редактирование: 29 Октября 2008, 14:31:55 от Yden »

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.