gototop gototop

Почта

Логин:

Пароль:


( что это )

Вход в ЭЖ



 

 

Лицензия

 

 

Аккредитация

 

Вход

Войти используя сервисы:

Войти

А так же:
VeriSign , AOL

Поддержка сайта

Телефон поддержки сайта и Электронного журнала

+7 908 952 88 56

пн.-пт. с 9.00 до 17.00

 

также можно связаться по Skype

Skype Me™!

 и   421812859

  • Категории : 40
  • Изображения : 238
  • Комметарии : 1
  • Голосов : 79
  • Просмотры : 38983


В поисках телефона - путь Linux

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

Когда я замечаю, что мой телефон отсутствует, я автоматически не предполагаю, что он был украден. Вместо этого я знаю, что, наверное, только что где-то поставил. Если я думаю, что, скорее всего, я оставил его где-то, кроме дома, мой первый бизнес пытается найти его как можно быстрее, чтобы предотвратить его кражу.

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

Итак, как вы найдете свой потерянный телефон? Очевидная вещь, которую нужно сделать, это попытаться назвать это. Но что, если звонок находится в беззвучном режиме или телефон находится вне пределов слышимости? Если вызов не дает никаких результатов, и вы используете проприетарную телефонную платформу, вам, возможно, придется перейти непосредственно к опции блокировки, если эта опция открыта для вас.

Мой текущий сотовый телефон - Nokia N900, который недавно был рассмотрен в Linux Journal (см. Обзор Кайла Ранкина в выпуске за май 2010 года). Поскольку N900 построен на Linux и поставляется полностью разблокированным (с терминальным приложением и легким доступом к корневому каталогу), вы можете сделать несколько интересных вещей, чтобы найти его, что вы можете сделать на других телефонах, только отменив гарантии (если вы можете сделать их вообще ).

Во-первых, вот несколько пакетов, которые должны быть установлены:

Они доступны в репозитории пакетов Maemo Extras. Чтобы включить его, запустите диспетчер приложений, щелкните строку заголовка, чтобы вызвать меню, и выберите «Каталоги приложений». Выберите maemo.org (на некоторых телефонах он может называться Maemo Extras), снимите флажок «Отключено» и нажмите кнопку «Сохранить» (рисунок 1).

За эти годы я потерял свой телефон больше раз, чем мне хотелось бы признать

Рисунок 1. Настройки для Maemo.org Maemo Extras Repository

Если репозиторий отсутствует, вы можете добавить его, нажав кнопку «Создать» на экране каталогов приложений. Детали следующие:

После включения репозитория нажмите «Загрузить» на главном экране диспетчера приложений и установите три пакета.

Установив эти пакеты, я запустил терминальное приложение на N900 и скопировал мой открытый SSH-ключ со своего рабочего стола следующим образом:

$ mkdir .ssh $ scp me @ desktop: .ssh / id_rsa.pub .ssh / authorized_keys

Теперь, когда мой N900 подключен к моей домашней сети, я могу подключиться к нему через ssh без настольного компьютера, например, так:

$ ssh [email protected]

Теоретически, я также должен иметь возможность подключиться к ssh к телефону, когда он подключен к сотовой сети; однако, мой провайдер сотовой связи не разрешает этого - даже когда я настраиваю альтернативные порты, все мои попытки входа в систему терпят неудачу.

Другая незначительная проблема заключается в том, что демон SSH связывается с любым сетевым интерфейсом, когда он запускается, и он не будет отвечать после переключения между сетями, поскольку он все еще прослушивает другую сеть. Чтобы это исправить, я создал крошечный сценарий оболочки и поместил его в /etc/network/if-up.d/01_ssh. Для его создания я использовал vi как root:

$ sudo gainroot $ vi /etc/network/if-up.d/01_ssh

Сам скрипт состоит всего из двух строк:

#! / bin / sh /etc/init.d/ssh restart

После его создания я изменил его:

$ chmod 755 /etc/network/if-up.d/01_ssh

Любой сценарий в папке /etc/network/if-up.d/ запускается при запуске интерфейса, поэтому, когда это происходит, демон SSH будет перезапущен, и SSH всегда будет прослушивать правильный интерфейс.

Теперь, когда у меня есть надежный доступ по SSH (при подключении к сети, отличной от сотовой сети), я могу подключиться к телефону по ssh, предполагая, что я знаю IP-адрес. У меня дома легко узнать IP-адрес, потому что мой DHCP-сервер всегда настроен на предоставление N900 одного и того же адреса при каждом подключении. Но когда меня нет дома, я не могу знать, поэтому моя первая задача - убедиться, что N900 сообщает мне, какой у него IP-адрес. Чтобы сделать это, я просто добавляю следующее в скрипт 01_ssh, который я создал ранее:

/ sbin / ifconfig -a \ | awk '/ inet addr / {print $ 2}' \ | awk -F: '{print $ 2}' \> /tmp/n900.ipaddr

Этот однострочный сценарий анализирует выходные данные ifconfig -a для извлечения всех IP-адресов и сохраняет их в файле с именем N900.ipaddr в папке / tmp /. Затем я добавляю следующую строку, чтобы загрузить файл специальному пользователю, которого я создал на своем домашнем сервере:

/ usr / bin / scp -i /home/user/.ssh/id_rsa \ /tmp/n900.ipaddr [email protected]:

Перед настройкой мне нужно было сгенерировать ключ SSH на N900 с помощью команды ssh-keygen, а затем скопировать файл .ssh / id_rsa.pub в файл ~ / .ssh / authorized_keys непривилегированного пользователя, которого я создал, чтобы получить файл на моем сервере.

Теперь каждый раз, когда N900 подключается к сети или подключается к новой сети, он загружает IP-адрес на мой домашний сервер. Где бы я ни находился, я просто захожу на свой сервер и просматриваю домашнюю папку моего пользователя N900, и я знаю, какой текущий IP-адрес.

Если я могу подключиться к своему телефону, я могу заставить его делать несколько вещей.

Например, я могу использовать MPlayer (легко устанавливается из менеджера приложений) для воспроизведения мелодии звонка (или любого другого поддерживаемого аудиофайла):

$ mplayer /home/user/MyDocs/.sounds/Ringtones/OuterSpace.aac

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

$ dbus-send --type = method_call --dest = com.nokia.profiled \ / com / nokia / profiled \ com.nokia.profiled.set_profile \ string: "general"

При отключенном беззвучном режиме я могу попробовать позвонить снова.

Одна проблема, которая может возникнуть, заключается в том, если я подключил наушники. В этом случае для меня может иметь больше смысла вибрировать телефон. Чтобы заставить телефон вибрировать, я делаю это:

$ dbus-send --print-reply --system --dest = com.nokia.mce \ / com / nokia / mce / request \ com.nokia.mce.request.req_vibrator_pattern_activate \ string: PatternIncomingCall

Телефон вибрирует, пока я не выключил его:

$ dbus-send --print-reply --system --dest = com.nokia.mce \ / com / nokia / mce / request \ com.nokia.mce.request.req_vibrator_pattern_deactivate \ string: PatternIncomingCall

Если я до сих пор не могу найти телефон в этот момент, пришло время задуматься.

N900 имеет акселерометр и фронтальную камеру. Оба из них могут быть вызваны из командной строки. Камеру можно попросить сделать снимок так:

$ / usr / bin / gst-launch v4l2src \ device = / dev / video1 \ num-buffers = 1! \ ffmpegcolorspace! \ jpegenc! \ filesink location = / tmp / front-camera.jpg

Затем полученное фото с front-camera.jpg можно загрузить на мой сервер или на другое устройство, и я могу посмотреть на картинку и посмотреть, могу ли я узнать с нее, где находится телефон. К сожалению, фронтальная камера - это типичная камера для мобильного телефона (не очень хорошая). Если объектив камеры ничем не заблокирован и при этом имеется отличное освещение, вы можете получить приличный снимок, но, вероятно, нет (рис. 2).

2)

Рисунок 2. Снимки с фронтальной камеры N900 не самые лучшие, но, если повезет, они могут помочь вам найти телефон. Здесь я вижу, что телефон сидит где-то на моем столе.

Акселерометр подскажет, движется ли телефон. Я могу просмотреть вывод с помощью:

$ watch cat / sys / class / i2c-адаптер / i2c-3 / 3-001d /ordin

Если числа меняются каждые две секунды, телефон находится в движении. Если они не сильно меняются (или не изменяются вообще), телефон просто где-то сидит.

Одна вещь, которая могла бы помочь в этом пункте, состоит в том, чтобы позвонить мне, чтобы я мог слушать, что происходит, где находится телефон. Чтобы мне позвонили, я делаю это:

$ dbus-send --system --dest = com.nokia.csd.Call \ --type = method_call \ --print-reply / com / nokia / csd / call \ com.nokia.csd.Call.CreateWith \ string : "3215551212" \ uint32: 0

3215551212 следует заменить номером телефона для звонка. Если бы я оставил телефон в месте с характерным звуком (например, в кинотеатре или кафе), я мог бы сказать, где он сидит.

Если я все еще не могу понять это, пришло время проверить GPS. Я сохранил этот метод до сих пор, потому что для него требуется библиотека Python, которая доступна только в репозитории extras-devel maemo.org. extras-devel - это репозиторий для разработчиков, который содержит множество пакетов, которые не совсем готовы для общего использования (рисунок 3).

Рисунок 3. Настройки для репозитория extras-devel

Чтобы включить extras-devel, следуйте инструкциям на wiki.maemo.org/Extras-devel (см. раздел «Как активировать Extras-devel»).

Когда репозиторий включен, я устанавливаю пакет python-location, например:

$ sudo gainroot $ apt-get install python-location

После установки пакета я отключил репозиторий extras-devel, чтобы случайно не обновить ни одно из моих стабильных программ потенциально потенциально нестабильными версиями. Я делаю это, открывая приложение Диспетчер приложений, нажимая на строку заголовка и выбирая каталоги приложений. Затем я нажимаю на созданную ранее запись extras-devel, устанавливаю флажок «Отключено» и нажимаю «Сохранить». Я также мог бы просто удалить его, но я решил сохранить его на потом, на всякий случай.

С установленным пакетом python-location я теперь мог общаться с GPS, используя Python. Была только одна проблема с этим планом. Я не знаю Python. Он уже давно в моем списке «Языков для изучения», и я обещаю, что однажды выучу его, но мифический «один день» еще не наступил.

К счастью, пользователь N900, который знал Python, написал скрипт, который делал именно то, что мне нужно: talk.maemo.org/showpost.php?p=566224&postcount=1 , Сценарий в нижней части поста. Помимо сценария, пост содержит много полезных идей для восстановления N900 (многие из которых аналогичны тем, что я описал здесь), и его стоит прочитать. Запустите скрипт так:

$ python gps.py

Предполагая, что телефон находится в месте, где он может установить GPS, он выведет широту и долготу телефона. Вы можете ввести эти координаты в Google Maps (или любой другой картографический инструмент, который позволяет вводить широту и долготу), и вы можете легко увидеть, где находится телефон в пределах нескольких футов.

Существует одна проблема со всеми вышеперечисленными методами. Все они полагаются на то, что телефон доступен через SSH. Как я уже говорил ранее, мой поставщик услуг блокирует мне вход в систему, когда телефон подключен к сотовой сети. Кроме того, каждый раз, когда мой телефон подключен к сети Wi-Fi, он находится за маршрутизатором, что также блокирует мне вход в систему с использованием SSH.

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

Первая проблема, которую нужно решить - как сообщить телефону, что он потерян. Я мог бы сделать это, поместив файл с особым именем на общедоступный веб-сервер. Примером может быть http://example.net/~me/my-n900-is-lost.txt. Из соображений безопасности этот файл должен иметь название, которое трудно угадать (поэтому не используйте мой пример).

Если я заставлю телефон попробовать wget файл, и он преуспеет, телефон узнает, что он потерян, и может попытаться сказать мне, где он находится. Если телефон пытается wget файл и не удается, он будет знать, что он не потерян (в моем случае, по крайней мере, пока).

Затем дело в том, как заставить N900 периодически проверять, не потерялся ли он. На обычной машине с Linux я бы делал это с помощью cron, но у N900 нет cron (причина в сроке службы батареи). У N900 есть сигнал тревоги, но для взаимодействия с ним требуются знания Python. Несколько проектов находятся в разработке, которые пытаются принести cron-подобную функциональность в N900, но они не совсем готовы (на момент написания этой статьи) для общественного потребления.

Я нашел один пакет, который достаточно хорошо работает в качестве временного промежутка, пока другие решения не станут зрелыми. Он называется dbus-scripts, и это демон мониторинга dbus, который позволяет вам выполнять сценарии, когда на N900 происходят определенные вещи. Как и пакет python-location, dbus-scripts доступен (на момент написания этой статьи) только в репозитории extras-devel. После повторного включения репозитория я установил пакет вместе с программой настройки графического интерфейса, например:

$ sudo gainroot $ apt-get install dbus-scripts dbus-scripts-settings

После установки пакетов я снова отключил extras-devel. Графический интерфейс пользователя избавил от некоторых проб и ошибок при настройке триггеров, поэтому я рекомендую его (рисунок 4). Я поместил команды, которые хотел выполнить, в сценарий оболочки с именем lost.sh, а затем настроил триггеры в файле /etc/dbus-scripts.d/dbus-scripts-settings (листинг 1).

d/dbus-scripts-settings (листинг 1)

Рисунок 4. Добавление элемента в /etc/dbus-scripts.d/dbus-scripts-settings с помощью программы настройки графического интерфейса

Похожие

8 лучших бесплатных часов Linux
... linux-1> Одной из сильных сторон Linux является огромное количество небольших нишевых утилит, которые доступны по лицензии с открытым исходным кодом. Одной из самых основных утилит, поставляемых с любой операционной системой, является утилита часов. Часы обычно находятся в панели задач / меню, показывая текущее системное время. Ничего особенного там нет. Тем не менее, часы, представленные в этой статье, более сложные, чем обычные часы в трее. В этой статье мы выберем
Тестовая страница для HTTP-сервера Apache в Red Hat Enterprise Linux
... вы являетесь представителем общественности: Тот факт, что вы видите эту страницу, указывает на то, что на сайте, который вы только что посетили, либо возникли проблемы, либо он находится на плановом обслуживании. Если вы хотите, чтобы администраторы этого веб-сайта знали, что вы видели эту страницу вместо ожидаемой, отправьте им электронное письмо. Как правило, почта, отправляемая на имя «веб-мастер» и направляемая на домен сайта, должна доходить до соответствующего лица.
Итак, как вы найдете свой потерянный телефон?
Но что, если звонок находится в беззвучном режиме или телефон находится вне пределов слышимости?
Php?

Новости

Погода

Наши учредители

 

администрации г. Кемерово

    Начальник управления

  Чернова Нина Александровна

  Адрес: 650000, г. Кемерово

  пр. Советский, 54

  тел. приемной: (384-2) 36-46-19

 

Председатель комитета

Казаченко Ольга Алексеевна

  Адрес: 650000, г. Кемероово,

  Притомская Набережная, 7

  тел. приемной: (384-2) 36-81-71

Российское образование

 

 

Школьная форма


Форма

Голосования

Ваше отношение к инклюзивному образованию (обучению детей-инвалидов в общеобразовательной школе).
 
Управление образования администрации г.Кемерово
Какая главная проблема современных школьников?