ラスタ

ラスタ

(0 件のコメント, 47 件の投稿)

猪野浩史。有限会社ラスタファクトリ代表取締役。
コーディングから会社経営まで、何でもやります。
1980年代、Z80のハンドアセンブルに始まり、その後C、C++、VB、Java、PHP、C#などを遍歴。C以前はTinyPASCAL、GAME、TL/1、FORM、FORTHなんてのも使いました(謎?)。
そんなわけで、TK-80の頃からいろいろと弄り回して現在に至っています。
お仕事は、黎明期のPCゲームからコンシューマーゲームを経て電機メーカーでファームやドライバやユーティリティーを書き、現在はWEBでスマホでソーシャルな感じの路線です。
詳しくはこちらをご覧ください。

ラスタ による投稿

RPi3にubuntu16.04(1) インストール

0

RaspberryPi3にubuntu16.04をインストールします。

ubuntuのサイトからRPi3用のイメージファイルをダウンロード。SDに書き込みます。

 

SDを延命

 
起動したら、まずSDの延命措置を施しましょう。
やることはRPi2のubuntu14.04インストールと同じですが、変更元ファイルの内容が一部違っていたりするので、ここでは16.04での変更内容を示します。

最初に/tmpと/var/tmpをtmpfsに追い出します。/etc/fstabに以下の変更を行います。

つぎに、ログファイルもtmpfsに置くようにします。
RPi用のtransientlogスクリプトを使用します。
このスクリプトは、RPi起動時にログファイルをtmpfsに移動し、シャットダウン時にSDに書き戻すようになっているので、シャットダウンしてもログファイルの内容が保持されます。

install.shを変更してinsservのパスを追加します。

また、transientlog.initをそのままインストールするとサービスのstart/stopがエラーになるので、一部変更します。

変更を保存したらインストールします。

その他の変更は、RPi2のホームディレクトリのファイル以降の内容と同じです。
 

そのほか

 
タイムゾーン、キーボード、ロケール設定をRPi2のタイムゾーン、キーボード、ロケール設定と同様に行います。
ついでにlogrotateでログファイル肥大化抑制もやっておきましょう。

RPi3にubuntu16.04(2) bluetoothとwi-fiを使う

0
Bluetooth関連パッケージのインストール

 
pi3上のbluetoothを使うために、raspbianではbluez-firmwarepi-bluetoothパッケージが追加されていますが、これらはubuntuには含まれていません。
あちこち探してみると、ubuntu-pi-flavour-makerというプロジェクトが見つかりました。
ubuntuをベースに、pi2/3のubuntu MATE、lubuntu、xbuntuなどをリリースしていて、いずれもpi3のbluetoothとwifiに対応しています。
このubuntu-pi-flavour-makerのPPAを追加して、bluetoothとwifi関連のパッケージをインストールします。

インストールが完了したら、hciconfigコマンドでbluetoothレシーバが認識されているか確認します。

 

bluetoothキーボードのペアリングと自動接続

 
本体側の準備ができたらキーボードを接続します。今回使用したのはiBuffaloのBSKBB24BKです。
設定はbluetoothctlコマンドで行います。

レシーバが認識されています。
キーボードのペアリングボタンを押して待機状態にしたら、scan onと入力してデバイスをスキャンします。

デバイスが見付かったらpairコマンドでペアリングします。

ペアリングされたデバイスは、paired-devicesコマンドで確認できます。

ペアリングはrpiを再起動しても維持されます。デバイスにはconnectコマンドで接続します。

プロンプトが[bluetooth]から[BSKBB24]に変わっています。以降はデバイスを指定しなければBSKBB24に対するコマンドと解釈されます。
trustコマンドを実行して、以降は自動で接続するようにしておきます。

たぶん、ここまでの操作はUSBキーボードかsshで行っているのではないでしょうか。
一度接続を切って再起動し、自動的に接続するか試してみましょう。

 

wifi設定

 
まずはrpiのwifiを有効にします。
/etc/network/interfaceswlan0の設定を追記します。

追加したwlan0を起動してifconfigで確認します。

wifi関連のパッケージ、wpasupplicantwireless-toolsiwをインストールします。

iwlistコマンドでアクセスポイントを検索します。

この例ではcatch22に接続します。
wpa_passphraseコマンドで接続キーを生成して/etc/wpa_supplicant/catch22.confに保存します。接続先はcatch22、パスフレーズはsortie50です。

生成された/etc/wpa_supplicant/catch22.confの内容はこのようになっています。

3行目に生のパスフレーズがコメントアウトされています。必要なければこの行は削除しておきましょう。

ネットワーク起動時にcatch22.confを読み込んでdhcp接続するように/etc/network/interfacesを変更します。

設定は以上です。
wlan0を再起動してアクセスポイントに接続します。

アクセスポイントのIPアドレスは192.168.3.1です。dhcpで192.168.3.3のアドレスが割り当てられました。
ifconfigで確認してみましょう。

zero購入とraspbianインストール(3) raspbianインストール

0

RaspbianダウンロードページからOSイメージをダウンロードします。
ダウンロード所要時間はフルイメージで約5分程度です。

microSDカードへの書き込み方法については、この記事では扱いません。
方法がわからなかったり自信がない場合は、きちんと理解している人に依頼して書き込んでもらってください。

microSDへの書き込みが完了したらzeroのSDスロットに差し、各ケーブルを接続して起動!
と、ここで想定外の事態が発生しました。

DSC00274

ケーブルの重みでzeroがズリズリと持っていかれてしまいます。とくにHDMIケーブルが強引に基盤を浮き上がらせる勢いです。
これだけ小さくて軽いのだから当然と言えばあまりに当然ではありますが、これではどうにもダサダサです。
と言って無理に固定するとコネクタが壊れはしないかと心配です。
そこで、このようにしました。

DSC00276

セロテープでケーブルを留めています。
これならコネクタに無理な力がかかることがなく、zero基盤も一応安定した状態(実は少し浮き上がっている)に固定できます。

ともあれ、無事起動できました。

DSC00272

体感的には初代Model Bと変わりません。スペックが一緒だから当たり前ですが。同じSDをModel Bに差して使ってみても、とくに違いは感じられませんでした。

ということで、zeroを買ってみてわかったこと。

  • アダプタとケース付きセットがお得。
  • Model A+ならzeroで足りる。
  • 時と場合によっては小さすぎる。

zero購入とraspbianインストール(2) 本体以外に必要なもの

0

zeroはUSBとHDMI端子がそれぞれmicro-USB、mini-HDMIとなっており、従来モデルで使っていたキーボードやHDMIケーブルをそのままでは流用できません。
また、USBポートがひとつしかなく、LANも非搭載です。

まず最低限、モニタに画面を表示してキーボードを接続するだけでも、mini-HDMIケーブル(またはアダプタ)とmicro-USBプラグ/USB-Aコネクタアダプタが必要です。
さらにRaspbianでマウスを使い、ネットワークに接続するには、3ポート以上のUSBハブとUSB-LANアダプタが必要になります。
そしてもちろん、microSDカードも。

DSC00265

microSDカード(580円)、mini-HDMIケーブル(729円)、スマホ用USB-OTGハブ(1,280円)、USB-有線LANアダプタ(1,103円)、税込み合計3,987円でした。なかなか切ない金額です。zeroが8台買えます。

Pi Zero + Adaptorsセット(6.67ポンド)を買った方が、プラス3.34ポンドでHDMIアダプタとmicro-USBアダプタが入手できて得でした。
というか、どうせケースも欲しくなるのだから、アダプタとケース付きのPi Zero + Adaptors + Pibow Zero Case(10ポンド)を買うべきでした。

次回に続く

zeroが入った封筒

zero購入とraspbianインストール(1) zeroを買う

0

遅ればせながらRaspberry-Pi zeroを買いました。
というわけで、zeroの購入からRaspbianインストールまでをレポートします。

いまのところ日本国内で正規ルートの販売はなさそうですから、海外通販で個人輸入することになります。
販売元を検索するといろいろ出てきますが、手っ取り早く探すならhttp://whereismypizero.com/で主要な販売元の在庫を一括チェックするのがお勧めです。
しょっちゅうチェックするのが面倒なら、販売元のページでメールアドレスを登録しておけば入荷通知がメールされます。

私はPIMORONIから購入しました。
依然として品薄状態が続いていますが、最近はいくらか在庫が安定してきたようで、In Stockして即時売り切れということはなく数日間は在庫があるようです。
また、「1人1台限り」となっているものの、実際には「1発注1台」です。別発注にすれば複数台買うこともできます(ただし、1台ごとにそれぞれ送料がかかります)。

価格は、zero本体が3.33ポンド、送料5.50ポンドで計8.83ポンドです(商品リストの本体価格は4ポンドと表示されていますが現地の税込み価格らしく、請求額は3.33ポンドになります)。
1ポンド155円なら送料込み1,368円。
実際に支払う金額は、決済業者の手数料が加算されたレートになります。たとえばPayPalなら1ポンド161円換算で1,422円、クレジットカードなら157円換算で1,390円といった感じです。

さて、注文を済ませると一週間ほどで到着します。
上記の送料5.50ポンドの配送方法(International Standard)なら日本郵便がポストに入れてってくれます。送料8ポンドのTracking & Signならイギリス国内はRoyal Mail、イギリスを出たあとは日本郵便のサイトから配送状況をトラッキングできます。
送られてきたクッション封筒の中身は、袋に入ったzeroが1枚だけ。箱もなければ関連商品の宣伝チラシもなし。実にあっさりとしたものです。

zeroが入った封筒 封筒の中身

基盤を出してみると、想像していた以上に小さいことに驚きました。
電車の切符ぐらい。初代Model Bのおよそ3分の1。SDカード2枚分という小ささです。

初代BとzeroとSDカード

次回に続く

RPi2でubuntu14.04LTS(12) xcompmgrで透過ターミナルとフェードイン/アウト

0

コンポジットマネージャーxcompmgrを使うと、ターミナルの背景を半透明にしたり、ウインドウやメニューをフェードイン/アウトさせたりできます。

~/.config/openbox/autostartにxcompmgrを追加します。

  • -f フェードイン/アウト有効
  • -D フェード処理周期(msec)
  • -I フェードインの周期ごとの変化量
  • -O フェードアウトの周期ごとの変化量

ウインドウとメニューに影を付けるには、次のようにします。

  • -c 影有効
  • -t 上辺からのオフセット位置
  • -l 左辺からのオフセット位置
  • -o 影の非透明度

lxterminalの背景を透過させるには、~/.config/lxterminal/lxterminal.confを編集してbgalphaを設定するか、編集メニューの設定ダイアログを開き、スタイルタブの背景色ボタンをクリックしてOpacityを設定します。

RPi2でubuntu14.04LTS(11)logrotateでログファイル肥大化抑制

0

tmpfsに追い出した/var/logが大きくなりすぎないように、logrotateでログの保存期間を抑制します。
この例では、1日ごとまたは500KBごとにファイルを分け、1つ前までのファイルを残すようにします。

まずは/etc/logrotate.confを編集してデフォルトとwtmp、btmpの設定を変更します。

次に、/etc/logrotate.d/rsyslogと/etc/logrotate.d/updatartを変更します。

ここで一度logrotateを実行して、変更後の設定に合わせてログを整理しておきます。

また、(「いままさに不具合の調査中!」など)特に必要なければ、圧縮されたログとupstartのログも削除してしまいましょう。

RPi2でubuntu14.04LTS(10)日本語入力

0

 
iBus-MOZCをインストールします。

lxterminalなどでCtrl+SpaceしてもMOZCが有効にならない場合は、以下の設定を行います。

  • x-windowからibus-setupを実行。
  • Input MethodタブのCustomize active input methodsにチェックを入れる。
  • Select an input methodドロップダウンでJapanese→Mozcを選択。
  • Addボタンをクリック。
  • Close。

MOZCのデータファイルは頻繁に書き込みが発生しそうなのでtmpfsに追い出してキャッシュしましょう。

/usr/share/libpam-script/temporize.listに.mozcと、ついでに.cacheを追加します。

RPi2でubuntu14.04LTS(9)LightDMでx-windowの言語選択

0

 
LightDMの言語選択メニューを有効にします。

この時点で言語選択メニューに表示されるのはEnglishとEnglish USAです。
メニューに日本語を追加するには、languege-pack-jaをインストールします。
languege-pack-jaはロケール設定で追加した日本語ロケールとかぶるので、一旦削除してからインストールします。

インストールが完了したらロケールを更新します。

LightDMで選択した言語によって、LANGとLANGUAGEが切り替わります。
言語のデフォルトは、/etc/default/localeのLANGの設定値になります。

RPi2でubuntu14.04LTS(8)x-window日本語化

0

 

x-window専用のロケール設定

 
x-windowを日本語化するとき問題となるのが、ttyのローカルコンソールでメッセージが文字化けしてしまうことです。
export LANG=Cとすれば済むことではありますが、それをいちいちやるのは面倒です。
x-windowだけのロケール設定ができないものかと調べてみたら、PAMでLightDMの認証時にスクリプトをフックできることが判りました。ローカルコンソールはLightDMを通らないので、x-windowセッションのときだけシステムロケール設定を上書きできます。
 

ロケールファイル作成

 
/etc/default/localeをコピーして/etc/default/x-localeを作成します。

x-localeに対してupdate-localeを実行して、ロケールを設定します。

メニューなども日本語化するには、上記にLANGUAGE=jp_JP.UTF-8を追加します。
 

PAM設定

 

/etc/pam.d/lightdmを編集して、セッションのロケールファイルをlocaleからx-localeに変更します。

LightDMのログイン画面も日本語化するなら、/etc/pam.d/lightdm-greeterも同様に変更します。

ログイン画面はLANGの値を見ているようで、LANGUAGEの設定は関係ないようです。

ラスタ のRSSフィード
ページのトップへ