ホーム » コンピュータ (ページ 66)

コンピュータ」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

crouton / Debianにプログラム開発環境

Arduino組み込み開発環境

Debian(jessie)であれば、Arduinoの環境は登録されているので、 下記のように、インストールすればいい。adduser は、USBシリアルの 書き込みのために、dialout グループにユーザを登録する。

$ sudo aptitude install arduino adduser
$ sudo adduser YOURUSERID dialout

Javaの開発環境とProcessing

Javaの開発環境は、openjdk をインストールするだけ。 Processingは、Javaの環境とライブラリを入れておく。 processing 本体で、processing.org から processing-x.x.x-linux64.tgz をダウンロードし、 /opt に展開し、起動ができるようにシンボリックリンクを貼る。

$ sudo aptitude install
openjdk-7-jdk libprocessing-core-java
$ wget http://download.processing.org/processing-2.2.1-linux64.tgz
$ sudo tar zxvf processing-2.2.1-linux64.tgz -C /opt
$ sudo ln -s /opt/processing/processing /usr/local/bin/processing

DELL Chromebook 11 に gcc,g++, emacs24,uim,anthy, chromium,thunderbird, dropbox, java, arduino, processing とひとまずインストールしてきて、ディスク使用量は、/ で 38% ほど。 操作をしていて、特に遅いという感覚はない。 初心者からのプログラミング学習で使いそうなものであれば、この程度かな。

Chromebookの日本語設定

chromebookにcroutonを入れて遊んでいて、 設定のやり直しで何度も再インストールを繰り返していたら、 日本語の設定を何度もするうちに、どれが正しい設定だか 分からなくなる。 ということで、きちんと使える設定をメモ。

1412141235_665x576.png

USB赤外線リモコンの方向だったか

自宅サーバには、Tira-2 というUSB接続の赤外線リモコンが 付けてあり、毎朝のTV起動やめざましTVのじゃんけんなどの 処理を行っている。

しかし、この2週ほど、TVはついているのに チャンネル制御などが正しく動いていない。 めざましじゃんけんは、数日で応募ポイントに達していたのに、 最近は、週末でやっと。

TVは付いているので、TV起動直後だけ反応が悪いのかと 思っていたけど、夜中にふと目覚め確認していたら、 どうもリモコン発光部の方向場所の問題だった様子。 TV電源だけは他のボタンより感度が良いのかな….

TVのリモコン受光部の真横に付けていたけど、 真上だと普通のリモコンが動かなくなるし、 受光部の前のTV台に張り付けたら動くようになった。

DELL Chromebook 11にcrouton/Debianを入れる

ChromebookにLinuxの開発環境を入れるには、利便性の点では、crouton が便利。 インストールするには、最初にcroutonのページ から、インストール用のファイルをダウンロード。

Ctrl+Alt+tでcroshを起動し、ここで shell と入力すると、 開発モードの uid=chronos の環境が起動する。

crouton は、この中に chroot 環境としてインストールされる。 このため、crouton 側で chromebook の環境に対して悪影響が 及ぶことはない。crouton には、いくつかの debian ベースの ディストリビューションを入れることができる。

$ cd ~/Downloads
$ sudo sh crouton -r list
使用可能なDebianの種類が表示される。
Debian の wheezy や jessie
Ubuntu の precise や trusty など

今回は、個人的に使い慣れた Debian で、最新の jessie をインストールすることにする。

$ sudo sh crouton -r jessie -t xfce
最後に -e を付けると、chroot 環境構築時に
ファイル名などが暗号化されるみたい。
途中で、debian の環境のためのユーザ名とパスワードを入力する。

chronos環境には、できあがった Linux の環境を起動するために、"enter-root"とか"startxfce4"といった コマンドが "/usr/local/bin" にインストールされている。

ひとまずは、日本語環境用のフォント,エディタ(emacs),日本語入力環境,chromeブラウザを インストール。

$ sudo enter-chroot
---ここからchroot環境---
$ sudo apt-get install aptitude locales g++
fonts-ipafont-gothic fonts-ipafont-mincho
fonts-vlgothic emacs24 anthy anthy-el
uim-anthy uim nautilus-dropbox
chromium chromium-l10n dnsutils
$ sudo dpkg-reconfigure locales
ja_JP.UTF-8 をチェックし、
システムのデフォルトlocaleに ja_JP.UTF-8 を設定。
$ startxfce4

xfce4が立ち上がるので、設定・キーボードで、日本語キーボードの設定をすれば、 Debian環境できあがり。

通常の使い方

上記の設定が終われば、後は Debian の使い方ができる。環境の切換えは、以下の通り。

Ctrl+Alt+←(F1)     Chromebook環境
Ctrl+Alt+→(F2)     chronos環境
Ctrl+Alt+Reload(F3) DebianのX11環境(一旦chronosに切替が必要)
(( Chromebook環境で Ctrl+Alt+t でchronos環境を起動し ))
$ sudo startxfce4
---ここからchroot環境---
debian環境のパスワード

最初起動すると、CtrlキーとSearch(CAPS)ボタンの配置が逆で気持ちが悪いので、 以下の設定を書き込めばよい。

(( $HOME/.Xmodmap ))
clear control
clear mod4
keycode 37 = Super_L NoSymbol Super_L
keycode 105 = Control_R NoSymbol Control_R
keycode 133 = Control_L NoSymbol Control_L
add control = Control_L
add control = Control_R
add mod4 = Super_L

ただし、Chromebook環境とDebianのX11環境で "Ctrl"と"Search"キーを切り替えているが、 モード切替の"Ctrl"は、本来の"ctrl"でないと認識しなかったり、切り替えた後の"search"だったり するため、モードを切り替えるための "Ctrl+Alt"+"←/F1,→/F2,Reload/F3"は、 色々と試しながら切り替える。

DELL Chromebook 11でデベロッパーモード

この記事を参考に、DELL Chromebookでの作業をメモ。

デベロッパーモードに切り替えるためには、"ESC+Reload(F3)+Power"を押すことで、リカバリーモードに切り替わる。

1412121055_943x418.png

"←"キーでメニューを日本語に替えながら、"Ctrl+D→Enter"で切り替えが始まる。

1412121055_930x560.png

切り替わった後は、"Ctrl+Alt+←(F1)"で本来のChromebookの画面。 "Ctrl+Alt+→(F2)"で、Linuxの画面に切り替わる。 システムの根本だから、LinuxモードからChromebookに切り替えると、Login画面からやり直しかと思ったけど、 Chromebookの状態は保存されたままで行き来できる。

1412121055_2019x1999.JPG

Linuxモードでは、初期状態で、Linuxのコンソール画面となる。 loginするには、"uid=chronos"を入力すれば、passwd無しでshellが起動する。 root仕事は、sudo にて。

croutonをインストール作業中に、間違って途中で設定したroot,chronosなどのパスワードが判らなくなった。 しかたがないので、recoveryメディアで再インストールをかけたけど、デベロッパーモードはそのままなので、 相変わらずパスワードは解らないまま。一旦、デベロッパーモードを解除して起動イメージから元に戻さないと、 パスワードなどを修正できなかった。

chronosの状態でパスワードがかかっていないのは不気味なので、 下記のコマンドでパスワードを設定。

$ sudo chromeos-setdevpasswd
パスワードを確認を含めて2回
パスフレーズを1回聞かれる。

DELL Chromebook 11のリカバリーイメージ作成

Chromebookのリカバリーイメージの作成では、Chromebookの専用のURL"chrome://imageburner"を 入力し、リカバリーイメージを作成(下イメージ参照)と説明があったが、 イメージのダウンロードが始まらない。

1412121010_967x395.png

調べてみると、 Chromebookを復元する において、リカバリーメディアの作成方法が記載されている。 imageburnerとは別のリカバリーユティリティをChromebookにインストールして作業を行う。 Chromebookの識別では、左下の"このChromebookのモデル番号を確認"を押せば、適切なイメージを探してくれる。

1412121010_975x323.png
1412121010_793x463.png
1412121010_794x473.png
1412121010_791x469.png

エアコンがECHONET Lite対応?

今日は、DTNワークショップにお誘いしてもらい、 北陸先端科学技術大学院大学で研究会に参加となった。

ワークショップの最初には、DTNとは異なるけど北陸先端の 先生の研究の紹介があった。その中で、ECHONETによる ホームエレクトロニクスによる、家電品の管理のお話があった。


この辺は、以前から個人的に興味もあり、自宅の家電機器を 赤外線リモコンで制御などは実験的に取り組んでいた。 以前は、自宅の温度センサーで室温が高くなったらメールして、 スマホから赤外線リモコンでエアコンのスイッチを入れるとか を試していた。しかしエアコンの買い替えの際に、RFリモコン って面白そう….と富士通ゼネラルのnocriaを購入した。 でも、制御方法もわからずじまいとなった。

しかし、今日のECHONETのキーワードで色々探すと、ECHONETに対応した電化製品のリストもあった。 さらに、自宅のエアコンnocria-Zシリーズは、APS-12Bというユニットをつけると、 WiFiでECHONET Lite対応にできるらしい。

ECHONET Liteも、 このの資料を見ると、それなりに プログラムも書けそう。

確認したら、ノクリア2014シリーズだけっぽい。残念….

gcalcli v3.1のインストール

2014/11月に入って、PerlのGoogle Calendar APIで取得していた予定が、 "403 Forbidden"で取得できなくなった。同様の記事が同じタイミングで 報告されており、どうも Calendar API が ver 2.x だとダメになった様子。 色々探していたら、python で書かれた gcalcli の v3.1 であれば、 取得できているみたいなので、インストール。

gitを使ってgcalcli最新版をインストール

# git clone https://github.com/insanum/gcalcli.git
# cd gcalcli
# python setup.py install
((必要となるpythonライブラリ))
# aptitude install python-dateutil python-gflags
python-googleapi python-gdata
python-parsedatetime python-pyicu

gcalcliでアクセスする際の認証

gcalcliでカレンダーを取得するために認証を行う必要があるが、 ssh経由で作業中だと、テキストブラウザ "w3m" が起動され、 認証ページ遷移や、キー取得遷移がうまくいかないので、 "–noauth_local_webserver"をつけて、手作業で行う。

$ gcalcli list --noauth_local_webserver
# googleカレンダーの認証を行うためのURLが
# 表示されるので、ブラウザにcopyして表示
# されるkeyをcopyし、キーを改めて入力

gcalcliを使ってみる

自宅では、今日のカレンダーをeabadgeで表示させているけど、 色エスケープシーケンス表示やら、12時間表示やら趣味に合わないな…

$ gcalcli --nocolor --military agenda today 11pm

CGIからgcalcliを呼び出したら、漢字部分が消える…。 環境変数LANGが設定されていないとダメらしい。

外付けHDD故障

自宅サーバが、今朝、落ちていることが判明。 /var/log/messages を漁ると、外付けのUSB-HD0(2TB)へのバックアップ処理後に、 xfs_alloc_fixup_trees… あたりでカーネルで異常なメッセージを大量に吐いている。 HDDの故障の前兆と見るべきだろう。 中身を確認すると…2TB購入時の日記が無いな…。 最も古そうなファイルは、2012年9月。2年で壊れたというのであれば、根性ナシだな。

バックアップ処理の確認

書き込み時に落ちると思われるので、改めて、バックアップ処理の中身を確認。 crontab のUSB-HD0保存のバックアップをコメントアウトする。

((backup1))
/ ------------ (tar)   -> USB-HD0/BackupLiux
/var --------- (tar)   -> USB-HD0/BackupLinux
/home -------- (rsync) -> USB-HD0/Mirror/home
/home/Photo -- (rsync) -> USB-HD0/Photo
/home/Music -- (rsync) -> USB-HD0/Music
/home/*data* - (rsync) -> USB-HD0/Mirror/home
((backup2))
/*bin* ------- (rsync) -> /root2
/var --------- (tar)   -> /home2/BackupLinux
/home -------- (tar)   -> /home2/BackupLinux
/home/*data* - (tar)   -> /home2/BackupLinux
/home/Photo -- (tar)   -> /home2/BackupLinux
/home/Music -- (tar)   -> /home2/BackupLinux
USB-HD0/PhotoArchive
(tar)   -> /home2/BackupLinux
USB-HD0/Video  (tar)   -> /home2/BackupLinux

HDDの発注

原因も判明しているし、交換のHDDを早々に注文。(今年2個めか…)
先日、USB3.0 のボードも入れたし、USB3.0 インタフェースの外付けを発注する。 バックアップ高速化できるかな。

spamassassinのバグ?libnet-dns-perlのバグ?

数日前(2014/11/06)頃から、以下のような警告メールが 流れてくるようになった。

Subject: Cron <amavis@perrine> test -e /usr/sbin/amavisd-new-cronjob
&& /usr/sbin/amavisd-new-cronjob sa-sync
Argument "0.80_2" isn't numeric in numeric ge (>=)
at /usr/share/perl5/Mail/SpamAssassin/Plugin/AskDNS.pm line 214.
Argument "0.80_2" isn't numeric in numeric lt (<)
at /usr/share/perl5/Mail/SpamAssassin/Dns.pm line 521.
Argument "0.80_2" isn't numeric in numeric ge (>=)
at /usr/share/perl5/Mail/SpamAssassin/Plugin/AskDNS.pm line 214.

警告メッセージで検索をかけると、spamassassinのバグかと 思っていたけど、議論の流れをみると、libnet-dns-perl での バージョン番号の比較方法が拙いだろ…との話の中、 様子を見守っていたら、libnet-dns-perl (0.81-1) が公開された様子。

ということで、以下を実行して、強制的に 0.80_2 を 0.81-1 に バージョンをあげて、無事エラーがでなくなる。

$ sudo aptitude install libnet-dns-perl/sid

Google 検索

My Google   Yahoo

Microsoft

ファンサイト