воскресенье, 31 августа 2014 г.

Linconnect - уведомления из смартфона в Kubuntu

Замечательная программа, которая показывает оповещения из Android-смартфона в Linux...





KDE Connect безусловно приятен и удобен в использовании. Но у меня и некоторых других пользователей KDE синхронизация уведомлений не поддерживается из-за неподходящей версии Android, хотя я пробовал и с версией 4.1.2 и 4.2.2. И Linconnect будет нам палочкой-выручалочкой, которая как раз исправит этот маленький недостаток.

Описание

Собственно уже все сказано, Linconnect - это программа, которая выводит оповещения вашего Android-смартфона на ПК с Linux. На компьютере устанавливается сервер, на смарфоне клиент, оба устройства находятся в одной сети WiFi.

Тестовое уведомление

Установка

Для начала установим сервер на Kubuntu. Скачиваем скрипт установки:
cd /tmp
wget http://goo.gl/mMS9kj -O install.sh
Для правильной работы в Kubuntu нужно указать версию cherrypy. Открываем скрипт в текстовом редакторе:
kate install.sh
И заменяем строчку (строка 36):
sudo pip install cherrypy
На:
sudo pip install cherrypy==3.2.4
Делаем файл исполняемым и выполняем установку:
chmod +x install.sh && ./install.sh
На все вопросы нажимаем Y и устанавливаем сервер.
Проверить работу сервера можно в браузере, введя адрес: http://localhost:9090/


В окне будет указан адрес сервера, который нам нужно будет ввести в клиенте на Android. (Предварительно нужно создать WiFi-подключение)
Установим клиент на смартфон:
play.google.com
Теперь откроем программу и включим Linconnect как службу, нажав на Step 2: Enable notification service.


Вводим IP-адрес сервера в Custom IP Adress и проверяем тестовое уведомление, нажав на имя сервера.

Костыли

Если вы завершите сеанс в KDE и заново зайдете, то сервер перестанет работать и клиент выдаст ошибку: Test notification not recieved. Ensure the server is updated to the latest version Это происходит из-за того, что при завершении сеанса сервер не отключается, а при повторном запуске начинает глючить. Поэтому нужно перед запуском сервера убить процесс и освободить порт 9090.

Создаем скрипт для отключения сервера:
kate ~/.linconnect/LinConnectServer/linconnect.sh
С содержимым:
#/bin/bash
kill `lsof -t -i:9090`
killall -9 -q python2
sh ~/.linconnect/LinConnectServer/update.sh

Теперь правим значок автозапуска указав путь к linconnect.sh:
kate ~/.config/autostart/linconnect-server.desktop
В поле Exec меняем update.sh на linconnect.sh:
Exec=/home/Пользователь/.linconnect/LinConnectServer/linconnect.sh

Теперь сервер должен работать без сбоев :)
Как говорил Джордж Мартин:
Моя любимая ОС? Без сомнения, Linux. Взгляните, в ней даже есть команда 'убить всех' (killall)!
Источник:
github.com

5 комментариев:

  1. с версией андройда 2.2 будет работать? к сожалению старый планшет , хочу для интереса попробовать данную фичу.

    ОтветитьУдалить
  2. На PlayMarket пишут что:
    Требуемая версия Android 4.0 или более поздняя
    В манифесте к клиенту на GitHub написанно:
    android:versionCode="220"
    android:versionName="2.20" >
    Попробуйте, возможно заведется...

    ОтветитьУдалить
  3. Не могу запустить linconnect после закрытия терминала.

    ОтветитьУдалить
    Ответы
    1. linconnect запускается автоматически при старте окружения. Вам нужно завершить сеанс и заново войти. Также проверьте desktop-файл запуска в ~/.config/autostart/LinConnect.desktop
      Или можете запустить вручную:
      sh ~/.linconnect/LinConnectServer/linconnect.sh
      если скрипт не создавали, то:
      sh ~/.linconnect/LinConnectServer/update.sh

      Удалить
    2. Также еще сделайте файл linconnect.sh исполняемым:
      chmod +x ~/.linconnect/LinConnectServer/linconnect.sh

      Удалить