2 заметки с тегом

управление

Непонимания пост

Рассмотрим для начала одну ситуацию.
Есть более-менее крупная сеть аптек. В общении между филиалами и офисами используется ICQ, в качестве клиентов — QIP (просто исторически сложилось). Есть сайт, где один из номеров указан в качестве основного. Казалось бы, какие проблемы могут возникнуть? Все так думали. Компания, нынче владеющая ICQ, начала блокировать всех адресатов, указывая причиной для этого тот факт, что владельцы аптек не могут подтвердить, что являются юридическим лицом. Почему бы и не подтвердить? Да просто потому, что есть сугубо технические проблемы на этом пути. Например, как подтвердить смс-сообщение, отправленное на обычный городской номер?
Другая, тоже крупная, сеть аптек использует в качестве клиента для переписки и совещаний Skype. Через раз после обновления клиентов появляются те или иные проблемы, которые приходится устранять. Изменения интерфейса в счет не беру. Я, конечно, давно не пользовался этим клиентом, несколько лет, но как создать общий для нескольких человек чат?
В связи с этим давно назревает вопрос о переходе на другие способы общения. Рассматривалось многое, вплоть до Telegram, Viber, Whatsapp и т. д. Но ни один из них не соответствовал всем требованиям, выдвигаемым сторонами. Но когда заводишь речь о том же Jabber или IRC, все мотают головой — это нам не подходит, это устарело, это г..но. Несмотря на то, что все требования удовлетворены. Впрочем, в первом случае, системный администратор согласен на переход — для пользователей он будет прозрачным. Клиент (QIP) не изменится, будут общаться, как и раньше. Да работы предстоит много, но не настолько, чтобы не понимать, что никто не сможет диктовать тебе правила, кроме тебя самого. На убеждение в этом потребовался не один год, в течение которого было множество писем в компанию-владельца ICQ с просьбой о разблокировке очередного аккаунта. В ответ на которые они, кстати, отвечали отписками типа «сами виноваты, ничем помочь не можем».
Вот я и не понимаю этого упорства. Почему не использовать устаревшие, но вполне рабочие технологии? Каждая компания может развернуть свой сервер у себя и вполне его контролировать. Сильно мощного компьютера для него не нужно, оставшиеся мощности можно использовать для других целей. У меня, например, на телефоне сейчас установлен Xabber, который подключается к домашнему серверу и может общаться с другими jabber-серверами, клиентами ICQ и Mail.ru. Не так давно отключил за ненадобностью поддержку Facebook Messenger и Twitter в нем — не настолько часто я ими пользуюсь.
Примерно так же для меня ситуация выглядит с удаленным управлением. Зачастую используют TeamViewer, Ammyy Admin... Что там еще есть из подобных программ? Да, они классные в том плане, что не нужно заморачиваться с пробросом портов, работают из любой точки и т. д. Хе...
Я проводил несколько экспериментов с ним всеми. TeamViewer и Ammyy Admin сходятся в одном — ограничение на количество времени, в течение которого ими можно пользоваться бесплатно. Потом они ограничивают доступ парой минут, что явно недостаточно для решения проблемы. Если покупать лицензию, то... В случае TeamViewer нужно выложить кругленькую сумму. Из пришедшего буквально сегодня письма явствует, что это 1800 рублей в месяц. Не слабо так, да? К тому же, как оказалось, при подключении к линии с низкой скоростью, они начинают дико тормозить. Не помогают никакие настройки.
Из более «свободных» вариантов остается только Remote Administrator. Или, как чаще его называют, Radmin. Но этот продукт опять же не работает без «белого» адреса. За лицензию тоже надо платить.
И совсем бесплатным продуктом остаются серверы VNC. Да, они не работают без «белого» адреса. Да, надо прокидывать порты на роутере, если такой есть. Но, думаю, что 50-150 рублей в месяц за точку подключения все же обойдется дешевле, чем покупать любой из вышеназванных продуктов. А ограничений в случае использования VNC никаких.

10 апреля   ammyy admin   facebook   icq   irc   jabber   mail.ru   radmin   skype   teamviewer   twitter   vnc   замена   клиент   общение   удаленное   управление

Управление плеером VLC с пульта

Предыстория.
Все началось с того, что меня попросили записать несколько мультсериалов на диски. Плеер оказался капризным, документация не соответствовала действительности, пришлось помучиться с подбором воспринимаемых им кодеков. В процессе захотелось посмотреть некоторые из этих сериалов — я начинал их смотреть в детстве, но до конца их так и не посмотрел. Серии короткие, в среднем по 20 минут, и вскакивать каждый раз, чтобы переключить на следующую, мне было лень. Поэтому на аукционе был приобретен универсальный пульт, который мне предстояло настроить на управление VLC.

Пульт Vieta
Вот такой вот симпатичный пульт

Я бы еще долго его «настраивал» по причине лени, но в прошедшую пятницу меня практически свалил с ног приступ хандроза. Нормально дышать я не мог — каждый вдох отдавался болью в груди, поэтому всякие физические нагрузки мне были противопоказаны. В субботу вспомнил про него и решил, что пора устроить себе постельный режим.

Переходим к настройке.
Lirc у меня на компьютере уже был установлен, дело было только за настройкой пульта. В процессе выяснилось множество деталей, пульт тоже оказался немного «капризным», поэтому пришлось немного отойти от стандартного пути настройки. В итоге все выглядело следующим образом.
Для начала записываем коды клавиш пульта. Мне пришлось форсировать raw-режим записи:

# irrecord -f --device=/dev/lirc0

Далее жмем Enter и немного ждем как просит программа. Вводим название пульта без пробелов, у меня это Vieta. Потом начинаем нажимать разные кнопки пульта с такой скоростью, чтобы появилась хотя бы одна точка и их было бы не больше 10. В результате irrecord определяет его параметры и затем начинается процесс ввода кнопок. Вводим название кнопки, затем, когда программа попросит, нажимаем саму кнопку. Названия лучше брать стандартные, узнать их можно выполнив следующую команду:

# irrecord -l

После того как введена последняя кнопка, при запросе имени очередной кнопки нужно просто нажать Enter. Процесс записи завершен, о чем irrecord и проинформирует, указав имя файла, в который были записаны данные. Конечно, можно использовать и получившийся в результате файл (наверное), но выглядит он не очень эстетично, поэтому лучше привести его в более читабельный вид:

# irrecord -a Vieta.lircd.conf

В конце выполнения этой команды будет предложено ввести имя файла, в который будет сохранен результат. Вводим имя и продолжаем.
Получившийся в результате файл копируем в папку /etc/lirc/lircd.conf.d. «Плюсом» в этой папке является то, что туда можно скопировать множество файлов от разных пультов и все они будут использоваться lirc. Перезапускаем службу:

# service lircd restart

Половина работы сделана, осталось настроить VLC. Для этого нужно будет создать еще один файл, в который будут записаны действия, выполняемые в ответ на нажатие соответствующей кнопки. Этот файл один для множества программ, но меня пока что интересует только плеер. Формат у файла следующий:

begin
    button = KEY_PLAYPAUSE
    prog = vlc
    config = key-play-pause
end

Здесь KEY_PLAYPAUSE — это название кнопки из ранее созданного файла vieta.lircd.conf, vlc — название программы, а key-play-pause — действие в плеере. Список действий VLC можно посмотреть на вики проекта, но лучше использовать следующую команду:

vlc -H --advanced 2>&1 |sed -n '/--key/ {s/^\ *--//; s/^\(.*\) <[^>]*>\ *\(.*\)$/\2 -> \1/; h}; /^.*[^ ].*-> key/ p; /^ -> key/ { n; s/^[ \t\n]*//M; G; s/\n//; p}'

Далее, по документации к lirc нам нужно запустить программу irexec, которая и будет «нажимать» кнопки в системе в ответ на нажатие на пульте. Но, как оказалось в случае с VLC, нам она не нужна. Осталось только настроить сам плеер на удаленное управление. Запускаем его и идеи в настройки программы и в левом нижнем углу выбираем пункт «Все». Для начала включаем управление пультом

Подключение lirc в VLC
Подключение lirc в VLC

Затем указываем имя файла конфигурации. Он у меня называется .lircrc и лежит в домашнем каталоге. Чтобы он мне не мешался, я сделал его скрытым.

Путь к файлу lircrc
Указываем полный путь к файлу lircrc

Всё, сохраняем настройки и перезапускаем плеер. Теперь можно пробовать управлять VLC с пульта.
Сразу он у меня не заработал, пришлось проверять, что компьютер вообще принимает команды с пульта:

# irw

Если после нажатия кнопки на пульте на экране появляются коды кнопок и их названия, которые были введены в файл vieta.lircd.conf, то пульт и приемник работают нормально. У меня реакции не было никакой, но после выполнения команды

# mode2

все странным образом заработало.
Особо меня порадовала кнопка Language на пульте. На нее я повесил переключение звуковой дорожки. Например, в том же «Доктор Хауз» звуковых дорожек с русским переводом несколько, но нравится мне только один. С этой кнопкой не нужно заморачиваться каждый раз при переключении.
Да, весь процесс настройки немного муторный, нужно вводить много текста, но делается это один раз, поэтому придется потерпеть.
Еще одним «минусом» , с которым мне пришлось столкнутся — ИК-излучатель в моем пульте совсем чуть-чуть торчит из корпуса, вследствие чего угол, под которым можно управлять плеером, очень мал. Надо достаточно точно направлять пульт на приемник. Впрочем, это устранимо :-)
Кстати, счастливые обладатели телефона с ИК-передатчиком, могут использовать его для управления плеером или вообще компьютером. Да, я знаю, что есть множество других программ для управления компьютером, но почему бы не использовать и такой вариант?

P.S. Пока искал как lirc различает короткое и длинное нажатие на клавишу пульта, наткнулся на недокументированный (по крайней мере, на официальном сайте его описание я не нашел) параметр ignore_first_events, который позволяет реализовать реакцию на долгое нажатие кнопки. В ходе тестирования оказалось, что сначала идет реакция на короткое нажатие, затем, если кнопка не была отпущена, то выполняется действие, запрограммированное на долгое. Чтобы было понятней, покажу на примере. Например, в файле lircrc заданы следующие секции:

begin
    button = KEY_FORWARD
    prog = vlc
    config = key-jump+short
end

begin
    button = KEY_FORWARD
    prog = vlc
    config = key-jump+medium
    ignore_first_events = 10
end

Если зажать кнопку примерно на три секунды, то сначала выполнится первая секция — плеер переместится на 10 секунд вперед, затем, спустя 10 повторов от пульта, выполнится вторая секция — плеер перейдет на 60 секунд вперед. То есть, в сумме, плеер перейдет на 70 секунд вперед.

1 апреля   lirc   vlc   настройка   пульт   управление