Raspberry Pi 3 model B に Xubuntu 16.04 をインストール

子供へのサービスで、ちょこっと大阪日本橋のシリコンハウスというお店へ行ってきました。
子供の目当てはLEDネームプレート。パソコンを使って好きな文字列を登録して遊んでいる。
なかなか面白いものです。

さて、モノのついでと言ってはなんですが、ここまで運転してきた自分への慰労の意味もあり、以前から欲しかった Raspberry Pi を購入しました。
特に目的は決まっていないのですが、いじっているうちに何か見つけると思います。
まずは手に入れて、失敗したり、限界を感じたりする事自体が楽しいと期待しています。

Xubuntu 16.04 のインストールに関しては、以下を参考にしました。
Ubuntu Weekly Recipe 第421回 Raspberry Pi3とXubuntu 16.04 LTS

準備するもの
・システムのインストール作業用のパソコン(Xubuntu 16.04)
・microSDHC 16GB or 32GB
・Raspberry Pi 3 Model B
・HDMI接続可能なモニタ(デジタルテレビ)
・USBキーボード + マウス
・LANケーブル
・HDMIケーブル

.xz 形式の解答は xz コマンドで出来るようです。
ダウンロード/ にダウンロードした場合、SDカードが /dev/sdb の場合は以下のようにすれば、インストール完了です。

$ cd ~/ダウンロード
$ xz -dv xubuntu-16.04-desktop-armhf-raspberry-pi.img.xz
$ dd bs=1M if=xubuntu-16.04-desktop-armhf-raspberry-pi.img of=/dev/sdb

その後、GParted を使って、システムパーティションを 4GB を残して拡張してから、SWAP パーティションを作成しました。

Raspberry Pi に microSDHC カードを挿入ます。
Xubuntu の起動時には GUI による言語の選択や地域の設定と若干の追加インストールがあるので、モニタとキーボード・マウスとLANケーブルを接続しておきます。
最後に microUSB 端子の電源を差し込めば起動です。

言語の選択、地域の選択、ユーザー名・ユーザーID・パスワードの設定を行うと、アップデートが実行されますが、アップデートはリポジトリを国内のものに修正してからの方が良いと思われるので、キャンセルした方が良いようです。

ログイン画面が表示されるので、ログインして「ターミナルエミュレーター」を起動します。
そして、以下のコマンドでスワップパーティションを有効にしてファームウェアを更新します。

$ sudo mkswap -L swap1 /dev/mmcblk0p3
$ sudo vi /etc/fstab

以下を追加。

LABEL=swap1     swap            swap    defaults          0       0
$ sudo rpi-update
$ sudo reboot

再度ログインして「ターミナルエミュレーター」を起動して、コマンドを実行します。

$ sudo vi /etc/apt/sources.list

以下のように修正。

deb http://jp.archive.ubuntu.com/ports/ xenial main restricted universe multiverse
deb-src http://jp.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse

deb http://jp.archive.ubuntu.com/ports/ xenial-security main restricted universe multiverse
deb-src http://jp.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse

deb http://jp.archive.ubuntu.com/ports/ xenial-updates restricted main multiverse universe
deb-src http://jp.archive.ubuntu.com/ubuntu/ xenial-updates restricted main multiverse universe

deb http://jp.archive.ubuntu.com/ports/ xenial-backports restricted main multiverse universe
deb-src http://jp.archive.ubuntu.com/ubuntu/ xenial-backports restricted main multiverse universe
$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo apt-get -y install snapd
$ sudo apt-get -y install $(check-language-support)
$ sudo reboot

xrdp で xorgxrdp を使う – ビルド編

さて、遅くなりましたが、予告していたビルド手順です。
ビルドは以下の環境で行いました。

・Xubuntu 16.04 amd64
・X11RDP-o-Matic

$ sudo apt-get install git xserver-xorg-dev
$ cd
$ git clone --depth 1 -b devel https://github.com/scarygliders/X11RDP-o-Matic.git
$ cd X11RDP-o-Matic/
$ sudo X11rdp-o-matic.sh --nox11rdp --justdoit
$ cd work/xrdp-0.9.0+master/
$ sudo rm -rf xorgxrdp/
$ sudo git clone --depth 1 -b master https://github.com/neutrinolabs/xorgxrdp.git
$ sudo ./bootstrap
$ sudo ./configure
$ sudo make
$ sudo make install

以上です。

次は設定です。

PHP の isset() と array_key_exists()

以下の様な変数で、入力値の初期値を設定しようとしました。

var $field = array(
    array( "name" => "date", "input" => "text", "default" => null )
);

$field[ $n ][ ‘default’ ] が設定されていたら初期値として使おうとしたのですが、isset( $field[ $n ][ “default” ] ) とすると、null が設定されている場合に false となってしまいます。
色々調べたのですが、こういう場合は array_key_exists( $field[ $n ][ “default” ] ) とすれば良いようです。

xrdp で xorgxrdp を使う

現在、xrdp のバックエンドには、以下があります。

・VNC — VNCサーバーをバックエンドとして使う
・X11RDP — 自前で構築した X11 サーバーをバックエンドとして使う
・xorgxrdp — ドライバ経由でシステムの X11 サーバーを使う

現在は、ビルドも早く、最新の X11 環境を利用できる xorgxrdp へシフトしつつあるようです。
インストールして試していますが、解像度を 24 ビットに設定すれば、安定して快適です。

次の投稿でビルドについて、その次の投稿で設定について説明する予定です。

ビルド編

XRDP で「変換」キーが入力できるように対応した — その後

前の記事の「XRDP で「変換」キーが入力できるように対応した」では、キーボードレイアウトのデータを変更して対応しました。
ですが、恒久的に対応するには xkeyboard-config に修正をマージしてもらう必要があります。
さて、どうしようかなと考えていたのですが、なんとバージョン 2.11.1 から対応済みであることが判明しました。
xkeyboard-config 2.12 でビルドした /usr/share/X11/xkb 以下をコピーしても大丈夫と思われます。

Ubuntu 16.04 では xkb-data 2.16 ですので、次の LTS では何もしなくても大丈夫です。

XRDP で「変換」キーが入力できるように対応した

※ 「XRDP で「変換」キーが入力できるように対応した — その後」へ続きます。

あきらは Xubuntu 14.04 に X11RDP-o-Matic で XRDP 導入して Windows 10 のリモートデスクトップ接続で操作しています。

Microsoft の RDCMan だと、リモートデスクトップ接続で高 DPI 環境に対応できそうだとの情報を掴んだので、Surface Pro 3 で試したところ、表示は対応出来たのですが、「変換キー」が入力できませんでした。自分は漢字入力を Mac 風のキーバインドにしているため、変換・無変換キーが使えないと不便でしかたありません。

2日ほど色々調べて、設定ファイルを修正するだけで対応できることが判明しました。
原因は xkeyboard の base ルールの pc105 で、XF86AudioMedia が Henkan を上書きしてしまう事でした。
現在では evdev ルールが主流で、そちらでは同様の問題は無いため何年も放置されているようです。

以下、X11RDP-o-Matic で XRDP を導入している場合の修正内容です。その他の方は参考にして下さい。

/etc/xrdp/xrdp_keyboard.ini

--- xrdp_keyboard.ini.orig	2016-06-24 17:51:44.169447686 +0900
+++ xrdp_keyboard.ini	2016-06-24 07:44:47.317894018 +0900
@@ -98,7 +98,6 @@ layouts_map=rdp_layouts_map_mac
 [rdp_keyboard_jp]
 keyboard_type=7
 keyboard_subtype=2
-model=jp106
 rdp_layouts=default_rdp_layouts
 layouts_map=default_layouts_map
 

/usr/share/X11/xkb/rules/base

--- base.orig	2016-06-24 02:17:08.041738858 +0900
+++ base	2016-06-24 02:02:05.621268995 +0900
@@ -954,13 +954,16 @@
   tm2030USB-106 =       +inet(media_nav_acpi_common)
   trust_slimline =      +inet(media_nav_acpi_common)
   vsonku306     =       +inet(microsoftprooem)
-  $inetkbds     =       +inet(%m)
   $maclaptop    =       +inet(apple)+level3(enter_switch)
   $applealu     =       +inet(apple)
   $macs	        =       +inet(apple)
   sun_type7_jp_usb	=	+sun_vndr/solaris(defaults_type7jp)
   $sun			=		+sun_vndr/solaris(defaults)
 
+! model		layout		=	symbols
+  $inetkbds     jp              =       +inet(jp109)
+  $inetkbds     *               =       +inet(%m)
+
 ! layout	variant		=	compat
   de		neo			=	+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
   jp        $sun_compat =   complete+japan(kana_lock)

/usr/share/X11/xkb/symbols/inet

--- inet.orig	2016-06-24 16:47:59.730480262 +0900
+++ inet	2016-06-24 07:49:02.387162449 +0900
@@ -1846,6 +1846,12 @@ xkb_symbols "pc105" {
     include "inet(media_nav_acpi_common)"
 };
 
+partial alphanumeric_keys
+xkb_symbols "jp109" {
+    include "inet(media_nav_acpi_common)"
+    key  { [ Henkan ] };
+};
+
 //Intelligent Keyboard K04
 partial alphanumeric_keys
 xkb_symbols "intelligent_keyboard_k04" {

/opt/X11rdp/share/X11/xkb/rules/base

--- base.orig	2016-06-24 02:13:19.832611586 +0900
+++ base	2016-06-24 07:50:04.619465134 +0900
@@ -1012,11 +1012,14 @@
   tm2030USB-106 =       +inet(media_nav_acpi_common)
   trust_slimline =      +inet(media_nav_acpi_common)
   vsonku306     =       +inet(microsoftprooem)
-  $inetkbds     =       +inet(%m)
   $maclaptop    =       +inet(apple)+level3(enter_switch)
   $applealu     =       +inet(apple)
   $macs	        =       +inet(apple)
 
+! model		layout		=	symbols
+  $inetkbds     jp              =       +inet(jp109)
+  $inetkbds     *               =       +inet(%m)
+
 ! layout	variant		=	compat
   de		neo			=	+caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
 

/opt/X11rdp/share/X11/xkb/symbols/inet

--- inet.orig	2016-06-24 02:14:02.548823251 +0900
+++ inet	2016-06-24 00:36:19.415751019 +0900
@@ -1825,3 +1825,9 @@ partial alphanumeric_keys
 xkb_symbols "pc105" {
     include "inet(media_nav_acpi_common)"
 };
+
+partial alphanumeric_keys
+xkb_symbols "jp109" {
+    include "inet(media_nav_acpi_common)"
+    key  { [ Henkan ] };
+};

※ 「XRDP で「変換」キーが入力できるように対応した — その後」へ続きます。

噂の PlayTech ST250 を入手

PlayTech ST250 SONIC BLUE Maple です。
米子の Hard Off で 4,000 円で購入しました。付属品はソフトケースのみ。6角レンチはありませんでしたが、トラスロッドは 4mm、ブリッジサドルは 1.5mm で問題ないので、100円ショップで調達できます。

IMG_20151012_215909

とにかく安かったので思い切っていじることができます。12フレット以上の1~3弦あたりをスキャロップド加工しました。彫刻刀で少し削ってからペンや乾電池にサンドペーパーを巻きつけて削りました。目止めをしないと指で汚れてすぐに真っ黒になるようですが、よくわからなかったのでポリッシュで磨きました。一応汚れは目立たないようです。

IMG_20151012_222530

トレモロブリッジは弦間 10.5 mm のものであればそのまま交換可能のようです。
Amazon で見つけた「GiGant 金のローラーが映える シンクロナイズドトレモロ ローラーサドル ギター ブリッジ シンクロブリッジ ギターブリッジ」へ交換しました。

IMG_20151012_220028

ローラーが回るわけではなく、弦に接する面が滑らかとなるもののようです。スプリングハンガーのネジは付属していませんでした。付属のマウントスクリューは細くて規格があっていなかったので、元のスクリューを流用しました。

調整は以下の手順で行いました。

1. 一旦弦高を低く調整
2. オクターブピッチ調整用のナットをゆるゆるにゆるめる
3. スプリングの強さと弦高を調整
4. オクターブピッチ調整用のナットを仮止めしながらオクターブピッチを調整

そもそも安いギターを買っておきながらなぜトレモロブリッジを交換したかなんですが、もともとトレモロを使いたくて買ったのに、とにかく使う気がしないぐらいアームが気に入らなかったからです。
上が PlayTech ST250 初期状態のトレモロのアームで、下が交換したトレモロのアームです。初期状態のトレモロのアームは、トレモロから距離がある部分で90度ほどで曲がっているため、非常に違和感があります。また、短いために操作が重たく感じます。

IMG_20151012_221724

他の方がレポートしているようにアーミングをすると大きくチューニングが狂いましたが、ストリングガイドとナットが原因でした。取っ手がグラグラしないようにしっかりネジを締めて置く必要はありますが、ペグは問題ありませんでした。
ストリングガイドは SCUD SR-GB50C と SCUD SR-GB25C に交換しました。以前に島村楽器で購入したものだったと思います。
ナットは当て木をしてプラスチックハンマーで根気よく軽く叩いたらポロッと外れました。そして松江のタカキ楽器店で購入した PICKBOY N8-CN に交換しました。溝切りしてあるのでサンドペーパーで厚みと高さと調整して、ほんの少しの瞬間接着剤で 2 点程度止めれば OK です。高さ調整はほとんど必要ありませんでしたので、削り過ぎに注意してください。

IMG_20151012_220125

本当は 4, 5 弦のストリングガイドは取ってしまいたかったのですが、3 弦をチョーキングすると 4 弦がナットを外れてしまうため、どうしても必要でした。

アーミングをしてもほとんどチューニングが狂わなくなりました。
スプリングの配置については自分なりに試行錯誤しましたが、あまり他の方には参考とならないと思います。
リッチーブラックモアのチューニングが参考になるのではないかと思いますよ。

その他、ピックガードなどのネジ穴がゆるくなっていたので、木工用エポキシパテで埋めて開け直しました。

しかし、合計 1 万円以下でここまで使えるギターが手に入れられるとは思っていませんでした。あとは好みでピックアップを交換するぐらいでしょうか。
ちょっとペグは格好悪いので交換したいかもしれませんね。
上記については Amazon などで安くて良い物があったら教えてほしいです。

PlayTech ST250 は、ストリングガイドとナットを交換するだけでかなり使えると思いますよ。

Surface Pro 3 で PA-WG1400HP の 5GHz に接続すると悲劇的に遅い対策をした

以下の理由でやっと 5GHz 帯の無線LANルータへ変更することに決めました。

・仕事用のフレッツADSL と家庭用(主に子供の YouTube 用)の WiMax2+ を契約していたが、解約してフレッツ光に一本化した
・わが家も 5GHz 帯対応の機器が多くなってきた
・電子レンジの影響がうっとおしくなってきた
・現状の 2.4GHz 帯では、たまに無線 LAN が 0.1MHz にまで遅くなり、仕事にならない

PA-WG1400HP への変更はわりとすんなりと出来たのですが、Surface Pro 3 を 5GHz に接続すると速度がやっと 1MHz の状況でした。
色々ネットを調べてみたのですが、これといった情報は無く、ルーターとの相性じゃないかとの情報ばかりでした。
iPad / iPod touch / SHL22 (スマホ) / ASUS X205TA と、他の 5GHz 対応の機器は問題ないので、なんとかならないかとルータの設定を確認すること数時間、やっと回避策が見つかりました。

http://aterm.me/
トップページ > Wi-Fi(無線LAN)設定 > Wi-Fi詳細設定(5GHz)
「クワッドチャネル機能」を「使用しない」に設定

お試しください。