phdru.name / Russian / blog / 2010 / 09 / 01

<-- gajim-remote BackBeat 903 -->

Журнал: 1 сентября 2010: синхронизация статусов

Следующая очевидная идея после программирования статусов - синхронизировать ноутбук и телефон между собой. Они у меня не всегда строго синхронизированы, бывает, на одном online, а на другом offline. Но остальные статусы я стараюсь выставлять одновременно. Хорошо бы это автоматизировать.

Первый вопрос, который надо решить - в какую сторону выполнять синхронизацию. Кто будет главным. С одной стороны, кнопки на экране телефона уже есть. С другой стороны, телефон у меня не всегда возле ноутбука, т.е. предстоит понять, когда я дома. У меня дома статические IP, поэтому можно использовать IP телефона - маловероятно, что я получу в точности такой же IP в другой сети. Кроме того, чтобы нажать кнопку, нарисованную на экране телефона, нужно как минимум включить экран, что ускоряет расход аккумулятора.

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

Можно пойти ещё одним путём - воспользоваться ssh connection sharing. Запустить с ноутбука на телефон один постоянный сеанс ssh. Это решает сразу 3 проблемы. Во-первых, понятно, что телефон доступен - это определяется по наличию сокета ssh. Во-вторых, понятно, что разрешено менять статус. И в третьих, повторные коннекты с N900 будут происходить быстрее.

Есть ещё четвёртый вариант - DBUS по сети, но этим я не умею пользоваться.

Upd. Всё прекрасно работает, только с удалённым запуском скриптов DBUS на N900 пришлось повозиться. Фокус заключается в использовании run-standalone.sh: ssh n900 run-standalone.sh online.


Теги: jabber linux n900

Эта страница https://phdru.name/Russian/blog/2010/09/01/sync_status.html была сгенерирована 14.07.2021 в 00:37:47 из шаблона CheetahTemplate sync_status.tmpl; Некоторые права зарезервированы. Вы можете узнать о технических аспектах этого сайта.