Stl-14HP012-C-CDMM で SSD に Windows 10 を移動した話

いやー、久々に焦りましたが、何とかなった話です。

久しぶりにパソコン工房松江店を覗いたところ、Stl-14HP012-C-CDMM が展示されていました。
Windows 10 Home 64bit, Celeron N3450 (4コア), 4GB メモリ、eMMC 32GB です。
15インチではなく 14インチなのも、自分としては評価できる点です。
7mm 厚なら 内蔵ディスクも増設できるとのことなので、USB ディスクケースに入れている SAMSUNG 840 120GB を移して使おうと考えて、購入することにしました。
店員さんが動作確認をしてくれて、問題ないとのことでしたので、米子まで持って帰りました。 “Stl-14HP012-C-CDMM で SSD に Windows 10 を移動した話” の続きを読む

PHP で JSON を出力する

保守しているサーバーの PHP は、なんとバージョン 5.2.2 という生きる化石のようなシロモノでした。
一応 json_encode 関数はあるのですが、JSON_PRITTY_PRINT や JSON_UNESCAPED_UNICODE オプションが使えないため、とても人間が読みやすいものは出力できません。

じゃあ、どうしようか?
まぁ1時間ぐらいで自作出来るんじゃないの?

と、作ったわずか40行程の関数です。

よかったら使って下さい。

使い方はこれだけです。

Xubuntu 16.04 + xrdp 0.9.1-7 + VS Code 1.11 でカーソルキーが使えなかった対応

Xubuntu 16.04 + xrdp 0.9.1-7 に、Windows のリモートデスクトップでログインして VS Code を使っていたのですが、1.11 にアップデートしたところ、カーソルキーが使えませんでした。

ほぼ常に使用しているので、すごく焦りました。
とりあえずは 1.10 にダウングレードすることで対応できました。

その後調べた結果、リモートデスクトップの場合に発生する現象であることが判明し、VS Code の設定に以下を追加して対応できました。

助かりました。

参考 : Delete, Insert, Home, End, PgUp, PgDn, and arrow keys no longer work editor in 1.11 #24107

Xubuntu 16.04 で xrdp_0.9.1-6 をビルドした

Ubuntu 17.04 向けの xrdp パッケージが 0.9.1-4 から 0.9.1-6 へ更新されていたので、16.04 向けにビルドしてみました。

これで大丈夫でした。
システムを reboot しても大丈夫。
ついでに日本語キーボードが正しく検出されない問題も解決していました。

Ubuntu 16.04 で xrdp_0.9.1-4 をビルドした

Ubuntu 17.04 向けの xrdp パッケージの更新が行われていたので、16.04 向けにビルドしてみました。

これで大丈夫かと思ったのですが、システムを reboot すると xrdp が起動されていませんでした。
サービスを起動しようとするとエラーが発生していました。

調べてみたところ、/lib/systemd/system/xrdp.service に以下が追加されていたため、先に xrdp-sesman を起動しようとします。

しかし、再起動時に xrdp-sesman を実行する時点では /run/xrdp/ が存在しないため、起動できません。
結局、以下の2行を /lib/systemd/system/xrdp.service から /lib/systemd/system/xrdp-sesman.service へ移動しました。

これで大丈夫かと思ったのですが、再起動してみると xrdp が立ち上がっていません。
なぜか以下のコマンドの実行も必要でした。

なんか、パッケージのテストが不十分で残念ですね。

Ubuntu 16.04 で最新の xrdp をビルドした

最近、X11RDP-o-Matic を使うと、ビルドエラーになってしまって、最新の xrdp に更新できません。
なんとかならないかなと色々調べてみたら、launchpad で Ubuntu 向けのビルドを見つけました。

https://launchpad.net/ubuntu/+source/xrdp

Ubuntu 16.04 で、開発中の 17.04 向けの最新パッケージをビルドできれば良いなと考えて、調べてみたら以下のページを見つけました。

http://gihyo.jp/admin/serial/01/ubuntu-recipe/0152

上記記事にほぼ従ったのですが、不足パッケージについては debian/control の内容を参考にしたり、ビルドを行ってエラーになったら対応する事を繰り返したほうが良さそうです。

そういえば、ipv6 を無効にすると xrdp が起動できませんでした。
ローカルの Xubuntu でハマってしまいました、
コンパイルオプションに “–enable-ipv6” が指定されているのが原因です。
どうしても ipv6 を無効にした状態で xrdp を使いたい場合は、ビルドする前にファイルを修正して、コンパイルオプションを指定している行を削除します。

Raspberry Pi の Xubuntu で xfce4-dockbarx-plugin を使えるようにする

Raspberry Pi の Xubuntu では、xfce4-dockbarx-plugin がなぜかインストールできなかったので、依存関係を解決してビルドしたところ、正常に動作しました。

インストールが完了します。
ついでに、blueman というアプレットが異常終了するので、起動しないように設定しておきます。

blueman-off

一旦ログアウトして、ログインし直します。xfce4-dockbar-plugin をパネルに追加します。

dockbarx-add-1

dockbarx-add-2

dockbarx-add-3

xrdp の devel ブランチをビルドする

X11RDP-o-Matic を使って xrdp の devel ブランチをビルドしようとしましたが、エラーでビルド出来ません。
色々調べたけどわからず、github で質問してみました。

Can not build XRDP debel branch.

自作の rootless ブランチを使ったら出来るよーとの事だったので、やってみたけどエラー。
再度質問してみました。

Can not build XRDP debel branch. — metalefty/X11RDP-o-Matic rootless branch.

“–branch devel” オプションが抜けてたらしい。ありがとー。

以下の手順で成功しました。

Raspberry Pi 3 Model B で 5GHz の Wi-Fi を使う

Raspberry Pi 3 Model B ネタです。

電源さえあれば使えるように無線 LAN を使いたいのですが、残念ながら内蔵無線 LAN は 2.4GHz のみで 5GHz が使えません。
我が家では電子レンジや付近の干渉が多いため、5GHz じゃないと使いものになりません。
このため、以前購入していた ELECOM WDC-433DU2HBK を使うことにしました。

まず、ネットで検索してみると WDC-433DU2HBK のチップセットは RTL8811AU らしいのですが、Raspberry Pi の標準のカーネルモジュールには含まれていないようです。RTL8812AU 用のモジュールで対応できるようです。

通常の Xubuntu であれば、linux-headers をインストールすれば、簡単にモジュールをビルドするためのファイルがインストールできるのですが、Raspberry Pi ではちょっと手間をかける必要があるようです。

参考 : カーネルモジュールのコンパイル – RTL8812AUとMT7610U (Raspberry Pi) [メモ]
参考 : Ubuntu 16.04 LTSで、BUFFALO WI-U3-866D を使う

最新のファームウェアとカーネルに更新

カーネルソースを取得

モジュールをビルド・インストール