#encoding koi8-r #extends phd_site #implements respond #attr $Title = "Oleg Broytman's blog: 1 Sep 2010: Synchronize status" #attr $Copyright = 2010 #attr $Tag = "jabber", "linux", "n900" ## #def body_rst Журнал: 1 сентября 2010: синхронизация статусов =============================================== .. class:: head Следующая очевидная идея после `программирования статусов`_ - синхронизировать ноутбук и телефон между собой. Они у меня не всегда строго синхронизированы, бывает, на одном online, а на другом offline. Но остальные статусы я стараюсь выставлять одновременно. Хорошо бы это автоматизировать. .. _`программирования статусов`: ../../08/31/gajim_remote.html Первый вопрос, который надо решить - в какую сторону выполнять синхронизацию. Кто будет главным. С одной стороны, кнопки на экране телефона уже есть. С другой стороны, телефон у меня не всегда возле ноутбука, т.е. предстоит понять, когда я дома. У меня дома статические IP, поэтому можно использовать IP телефона - маловероятно, что я получу в точности такой же IP в другой сети. Кроме того, чтобы нажать кнопку, нарисованную на экране телефона, нужно как минимум включить экран, что ускоряет расход аккумулятора. Выполнять синхронизацию с ноутбука на N900 проще, потому что если есть ноутбук, то ясно, что за ним именно я, а значит ясно, что и телефон где-то поблизости, разве что я его на работе забыл, но это бывает крайне редко. На телефоне может не быть WiFi или не запущен ssh, но это тоже бывает редко, да и таймауты небольшие. Можно пойти ещё одним путём - воспользоваться `ssh connection sharing`_. Запустить с ноутбука на телефон один постоянный сеанс ssh. Это решает сразу 3 проблемы. Во-первых, понятно, что телефон доступен - это определяется по наличию сокета ssh. Во-вторых, понятно, что разрешено менять статус. И в третьих, повторные коннекты с N900 будут происходить быстрее. .. _`ssh connection sharing`: ../../../../Software/ssh_connection_sharing.html Есть ещё четвёртый вариант - DBUS по сети, но этим я не умею пользоваться. .. class:: head *Upd.* Всё прекрасно работает, только с удалённым запуском скриптов DBUS на N900 пришлось повозиться. Фокус заключается в использовании `run-standalone.sh`_: ``ssh n900 run-standalone.sh online``. .. _`run-standalone.sh`: http://wiki.maemo.org/Phone_control#D-Bus #end def $phd_site.respond(self)