この記事では、Maemoオペレーティングシステムの興味深い機能について説明します。
Unixシステム管理者。 このメモの目的は、このOS用のアプリケーションを作成する便利さを示すことです。
シェルでアプリケーションを作成します。 どうして? -結局のところ、Maemoにとってはネイティブ環境です!
例として、単純なタスクを解決するシェルスクリプトを提供します 。 電話を充電するときに、ホームWi-Fiアクセスポイントに自動的に接続します 。 このスクリプトは、夜間に電話でさまざまなタスクをハングアップしたい人に役立ちます。たとえば、RSSフィードの更新、Googleカレンダーとの同期、ソフトウェアの更新などです。
オープンソース
根拠にならないように、スクリプト全体を一度に引用します。
#!/bin/sh ############ ############################# # "" ( ) sleeptime=60 # id . gconftool -R /system/osso/connectivity/IAP WIFI_ID="56b4d822-edd4-4692-baf2-25b0711d1e7b" # ################################################# temp=1 # while [ $temp = "1" ]; do # - connected disconnected status=`hal-get-property --udi /org/freedesktop/Hal/devices/bme --key maemo.charger.connection_status` if [ $status = "connected" ]; then echo "Charger found! Trying to connect to home wifi..." # dbus-send --system --print-reply --type=method_call --dest=com.nokia.icd /com/nokia/icd com.nokia.icd.connect string:"$WIFI_ID" uint32:0 # fi # sleep $sleeptime done # #### ####
どのように機能しますか?
次の2行に焦点を当てたいと思います。
status=`hal-get-property --udi /org/freedesktop/Hal/devices/bme --key maemo.charger.connection_status`
このコマンドは、 HALを使用して、充電が電話に接続されているかどうかを確認します。 私が見つけたudiが必要なようです。
lshal | grep charge
dbus-send --system --print-reply --type=method_call --dest=com.nokia.icd /com/nokia/icd com.nokia.icd.connect string:"$WIFI_ID" uint32:0
ここで、 D-Busに接続し、保存されたアクセスポイントへの接続要求を送信します。 チームは、公式のWiki Maemoの非常に役立つ初心者の電話コントロールマニュアルに記載されています。
スクリプトの残りの部分については、疑問は生じないはずです。
設置
次に、スクリプトをバックグラウンドで常に機能させ、「自動実行」に追加する必要があります。
- スクリプトにwifi-on-charge.shという名前を付けて、/ usr / bin /に配置します
- 実行する権利を与えます:chmod + x /usr/bin/wifi-on-charge.sh
- 実行するスクリプトを作成します(最適なオプションはわかりませんが、これを行います)。
#!/bin/sh /usr/bin/nohup /usr/bin/wifi-on-charge.sh > /dev/null 2>&1 &
- chmod + x /usr/bin/run-wifi-on-charge.shを実行する権利を付与します
- /etc/event.dディレクトリで、コンテンツを含むwifi-on-chargeテキストファイルを作成します。
# start on started hildon-desktop exec /usr/bin/run-wifi-on-charge.sh #
- デバイスを再起動し、確認します:充電ケーブルを挿入すると、Wi-Fiへの接続が60秒以内に発生するはずです
おわりに
このノートは、N900に素晴らしい機能を追加する最も簡単な方法の1つを示しています。 このスクリプトは追加されていません。近くにホームアクセスポイントがない場合、動作が悪くなります。 しかし、熱心でプログラミングの基本をマスターすれば、この問題は簡単に解決できます。 ;)
この投稿が、Maemoの世界への新規参入者が、独自の有用なユーティリティを作成するための最初の一歩を踏み出すのに役立つことを願っています。
次回は、 Outcoming Call Vibroアプリケーションの作成方法について説明します 。
参照:
- 電話制御
-D-Busスクリプト