ともの技術メモ

趣味の電子工作などの記録。時にLinuxへ行ったり、ガジェットに浮気したりするので、なかなかまとまらない。※サイト移転しました(tomono.eleho.net ⇒ tomono.tokyo)
RSS icon
  • サイトを移転しました

    投稿日 2018年 7月 1日 コメントはありません

    2018年7月1日にサイトを移転しました。
    旧URL: tomono.eleho.net ⇒ 新URL: tomono.tokyo
    当面はURLのリダイレクトを行いますが、年内中にリダイレクトを停止する予定です。


  • Jumper Ezbook 3 Pro を買ってみた

    投稿日 2018年 7月 14日 コメントはありません

    諸事情により、リモートデスクトップのクライアント機が必要となり、安価なPCを探していました。もともと1366×768の画面表示のノートPCはあるのですが、やはり今時としては画面が狭く不自由です。

    で、画面が14.1インチと持ち運ぶには少し大きいもののドンキホーテのMUGA ストイックPCに目を付けて、レビューなどを眺めていました。それで、たどり着いたのがJumperのノートPCです。最初はJumper EZbook 3SEを候補にしていたのですが、Jumper Ezbook 3 Proの評判が良さそうなこと、アルミ筐体である程度のタフさがありそうなことや、RAMが6GBありSSDの増設が可能なのでデュアルブートにしてLinuxマシンとしても使えそうな気がすることから、Jumper Ezbook 3 Proの方を買ってみました。

    Webのレビューでは英語/中国語のWindows10で日本語がの作業が必要、ということで覚悟はしていたのですが、電源を投入するといきなり中国語のみの表示がでて不安な気持ちに・・・。

    しかし、・・・そのまままっていると、何も操作しなくてもしばらくして言語選択がでてきて、日本語を選択できました。以降、Cortanaがセットアップを手伝ってくれましたので、結果的に日本語化の作業は不要。ただ、セットアップ中に迷ったのはキーボードレイアウトです。日本語Windowsの場合、通常は日本語キーボードです。しかし、実機のキーボードは英語キーボードです。「2つ目のキーボードレイアウト」としてとりあえず「英語(米国)、US」を追加しておきました。

    あとは、ウィザードに沿って操作していくと特に迷うことなく初期設定は完了しました。結果的にキーボード選択は正しかったようで、これでキートップの表示のとおりに入力ができました。

    で、初期設定が完了すると、TOUCHPAD BLOCKERなるアプリが勝手に立ち上がってきました。このアプリ、表示が全部英語だったので、一瞬日本語化はされてないのかと思いましたが、そんなことはなく、このアプリが英語なだけでした。とりあえず機能をOFFにしました。

    引き続き、アンチウイルスソフトとして、Kaspersky Freeをインストール。Kasperskyのフルスキャンを待ちきれずに、早速リモートデスクトップクライアントを起動してみたところ、あっさりリモートマシンにつながりました。開梱から1時間かからずに、FullHDのリモートデスクトップクライアントとして使い始めることができました。

    開梱して1時間ですが、ここまで触った感触としては以下のような感じ。

    プラスポイント

    • アルミ筐体でヤワヤワな感じは確かにしない
    • デザインも3万円台半ばでFullHD表示ができるものとしては良い
    • メモリも6GBあるので、ここまでのところではもたつく感じは一切しない
    • 液晶はやや青みがかっているが十分綺麗で視野角も狭くない
    • 音も使うだけなら十分
    • 13.3インチ液晶はちょうどよいサイズ。ドット抜け等もなさそう。

    マイナスポイント

    • 製造管理の問題だが、画面枠の梨地の部分に擦った跡がある。カメラ左の部分なので結構目立つ。まあ、使ってるうちにすぐにこのくらいの傷はつくので良しとしますが。
    • ヒンジ部分のデザインの処理がいまいちかも。でも、外からはわからないし、使っているユーザーしか気づかないレベル。まあ、この価格と仕様で言う文句ではないだろう。
    • ACアダプタのプラグ部分が折りたたみだったら嬉しいところ。折りたためないので持ち運び時には嵩張る。
    • 起動中にJumperのロゴの後ろに中国語が表示される。(社名か何か?)
      これとヒンジのデザインの処理の部分がなければ中華PCとはそうそう思われないのに・・・。(Windowsのカスタムのスプラッシュ・スクリーンかもしれないので、クリーンインストールすると出なくなるのかも)

    その他

    • マニュアルも日本語のページがある。でも、Windows10の操作に関する一般的な内容。せっかくだから、キーボードの選択のこととかが書いてあればいいのに。
    • 相変わらずWindowsUpdateは糞遅い。まあ、Windows機すべてに共通する話ですが。
    PC

  • PCをグレードアップ(笑)

    投稿日 2018年 7月 6日 コメントはありません

    いろいろ実験用に使っていたPCが突然BIOSを含めて画面が全く出なくなってしまいました。試してみると、VGAもHDMIもどちらも出ません。CPUはCeleron G530なので、CPU内蔵グラフィックスですから、VGAとHDMIに共通する部分というと、もうCPUしかない気がします。

    ・・・ということで、ダメ元でCPUを交換してみることにしました。

    1.交換するCPUは?

    マザーボードはAsrockのH61M-ITXなので、調べてみるとSandyBridgeとIvyBridgeのLGA1155ソケットのものが使えることがわかりました。なので、Core-iシリーズだと2000番代と3000番代が対象、ということになります。
    秋葉原のソフマップでSandyBridgeかIvyBridgeの中古CPUで安いもの・・・Core i3-3220Tの中古品を買ってきました。(本当はTなしが良かったんですが、ちょっとお高めになってしまうのでやめました)

    2.交換の前に・・・

    実は、もう1台同じ構成のPCがあるので、そちらのCPU(これまたCeleron G530)を壊れたPCに移植、今回買ってきたCore i3-3220Tはもう1台の方に組み込もうかと思い、もう1台の方のPCをモニタにつないで起動しようとしたところ・・・・全く同じ症状が発生。これはモニタの方か?ということで、ノートPCをつないでみると・・・・画面は出ました。
    わけがわからなくなって、とりあえず、全部の電源プラグが刺さっているところにあるスイッチを切って、電源を入れなおしてみたトコロ・・・・どちらのCeleron G530マシンも画面がでて動作するようになりました(爆)

    どうやら、原因はモニターの方のEDIDがトチ狂ってたような気がします。モニターの電源ボタンでのOFF/ONは頻繁にやるのですが、プラグまで抜くことはまずありませんでした。それがプラグ部分での電源OFF/ONにより内部が完全にリセットされたのだと思います。

    3.で、CPU交換してみた

    もはや修理目的でのCPU交換は不要になってしまったのですが、せっかくなのでCPUを交換してみました。
    ついでに、ほとんど使うことのないDVD-Rドライブを撤去しました。買ってきたCore i3-3220TはTDPが35WなのですごくチャチなCPUクーラーが付属していましたが、クーラーについてはCeleron G530のもの(TDP 65W用)をそのまま使いました。熱的に余裕がある方がいいですしね。

    交換結果はもちろん問題なし。ベンチマークとかは取ってないので効果の程はわかりませんが、2core/2threadから2core/4threadになったので、きっと役に立つこともあるでしょう。

    PC

  • サイトのSSL対応化

    投稿日 2018年 7月 5日 コメントはありません

    さくらのレンタルサーバの資料をみていたら、Let’s Encryptを使ったSSL化が簡単にできることがわかりました。

    ・・・といっても、本当に簡単で、マニュアルに沿って作業するだけです。CLIも必要なく、GUIだけで適用できました。

    1.SSL設定の有効化と確認

    マニュアル(『【無料SSL】サーバコントロールパネルからの導入手順』)に沿って作業するだけです。気をつけるとすると、マニュアル内にも書いてありますが、発行完了のメールが来るのに多少時間がかかります。15分くらいかかったでしょうか。ま、そんなレベルです。

    2.WordPressでの常時SSL有効化プラグインの導入

    さくらのレンタルサーバ専用の常時SSL有効化プラグインを導入して有効化します。これも、マニュアル(『【WordPress】常時SSL化プラグインの使い方』)に沿って作業するだけです。
    これだけでサイトがSSL対応できちゃいました。


  • サーバのPHPのバージョンを推奨バージョンに戻す

    投稿日 2018年 7月 3日 コメントはありません

    WordPressの引っ越しを行った際に、PHPのVer7系だと記事が表示されない現象があり、Ver5系に変更したのですが、その後調べてみるとWordPress自体はPHPのVer7系に対応していることがわかりました。さらに調べていくと、テーマやプラグインがPHPのVer7系に対応していないケースで発生することがわかってきました。

    セキュリティ面では最新のバージョンを使うに越したことはないので、なんとかならないか調べていたところ、PHP Compatibility ChekerというWordPressのプラグインを使うと問題点のチェックができることがわかったので、インストールして確認してみました。

    その結果、やはりテーマやプラグインに問題があるものが見つかりました。プラグインの出力するレポートにどのファイルの何行目がNGが記載されていますので、これを順に見ていくことにします。

    テーマについては、式の評価の部分がPHPのバージョンによって差があるところが検知されましたので、これをPHPのバージョンに関わらず同じ評価になるように{}を追加しました。具体的には、

    という記述をすると、PHP5では、

    と解釈されるのですが、PHP7では、

    と解釈されるようです。(参考:http://php.net/manual/en/migration70.incompatible.php)
    そこで、この$$が2つ続く箇所については{}を追加して、常にPHP5と同じ解釈になるように修正しました。

    他には、

    • Throws SPAM Awayというプラグイン
      セキュリティ上の課題で変更になった関数(spilt() ⇒ preg_split())の単純な置き換え
    • WP SyntaxHighlighterというプラグイン
      MySQLサーバのバージョン取得の関数(mysql_get_server_info() ⇒ mysqli_get_server_info())の単純な置き換え

    を行いました。
    また、使用していないプラグインについては停止・削除を行いました。

    一通りの整理を行った後、再度チェックをかけるとエラーはなくなったので、PHPのバージョンをさくらのレンタルサーバで標準の7系にしたところ、それでもきちんと表示できるようになりました。

    これとは別に、Crayon Syntax Highlighterというコードをきれいに表示してくれるプラグインが入っていたのですが、停止していました。その理由は、記号が化けてしまうからだったのですが、今回、ぐぐってみたところ、Crayon Syntax HighlighterのSettingの中のCodeのセクションにある「Decode HTML entities in code」にチェックを入れると治ったので、逆に有効化してあります。


  • linuxmint19にpreloadを入れてみた

    投稿日 2018年 7月 2日 コメントはありません

    linuxの高速化についてぐぐっていたら、たまたま見つけたのが preload。頻繁に使われるファイルを空き時間にメモリにロードしておいてくれるらしい。メモリいっぱいだけど遅い Athlon5350 マシンにはピッタリのように見えるので、試してみることにしました。

    synapticでpreloadをインストールした後、

    $ sudo systemctl start preload.service

    で起動する。システム起動時に preload を起動するには、

    $ sudo systemctl enable preload.service

    としておく。

    ちょっと使ってみたところ、ログイン後の挙動は確かに早くなっている気がする・・・・が、学習してなんぼのものみたいなので、しばらく様子見ですね。


  • LinuxMint19をAthlon5350マシンにインストール

    投稿日 2018年 7月 1日 コメントはありません

    日本時間で6/30にLinuxMint19がリリースされました。Ubuntu18.04LTSベースなので、長期サポートが期待されます。(Webサイト上でも2023年までサポートって書いてあります)

    で、いつものMATE版を以前組んだAthlon5350マシン(メモリ8GB+SSD64GB)に入れてみます。このマシンはこれまでは32bit版を入れていたのですが、さすがに今回は64bit版をインストールします。

    インストールはUSBイメージライタでISOイメージをUSBメモリに書き込んで、そこから起動します。割と短時間で終了します。

    インストール完了後、再起動して、アップデートマネージャでアップデートを適用します。その後、言語設定で「言語のサポート」から一番下にある日本語を選んで、「言語パッケージのインストール」を行います。次に入力方法で言語サポートの中から日本語を選んで「インストール」を行います。入力方法はデフォルトのfcitxのままにしました。(fcitxだとメニューの中に簡体中国語の表示のままのツール〔fcitx-qimpanel-configtool〕が出てくるので、ちょっと嫌なところはあるのですが・・)

    基本的にはこれでおしまいなのですが、途中でSystem Snapshotを設定しろと煩かった(まあ、無視してもいいんですが)ので、試しにやってみます。System Snapshotを起動すると、スナップショットのタイプとしてRSYNCとBTRFSを選択するよう表示されます。デフォルトの選択はBTRFSの方になっているのですが、よくみると、インストール時点でBTRFSパーティションでないとダメと書いてありましたので、RSYNCの方にしてみます。(BTRFSだとファイルシステム自体の機能により瞬時にスナップショットが取れて、瞬時に戻せるようです)スケジュールは毎週(Weekly)にしてみました。初期状態だと、スナップショットがないので、初回だけCreateを押して、スナップショットを取ってみることにしました・・・・が、途中でクラッシュしてしまいました・・・。ということでヤメヤメ^^;

    ・・・で、このPCはいろいろ調査(主にWeb上)する際に使っています。以前はLinuxMint17とかLinuxMint18(非力なのでいずれもMATE版)を使っていたのですが、メモリコントローラがシングルチャネルのせいなのか64bit版では重くて、32bit版を入れていました。今回はさすがに64bit版にしたのですが、以前ほど重い感じはなく、ずいぶんと軽快になった印象です。理由はよくわかりませんが、体が慣れたのか、ブラウザが軽くなっているのか、Xサーバーが改善されているのかそれともウインドウデザインがシンプルになっているからなのか・・・?

    まあ、主にWebで使うだけとしては十分なパフォーマンスになったように思います。


  • WordPressの引っ越し&ドメイン変更作業

    投稿日 2018年 7月 1日 コメントはありません

    これまでドメインキングとさくらのVPSの組み合わせで運用してきた当ページですが、元々VPSの運用が面倒臭くなっていたし、CentOS6.5もサポート終了があと2年半くらいまで迫っていたのでどうしようかなー、と思っていたところにドメインキングの大幅値上げ(確か100円/月⇒500円/月)の話が来たので、この機に環境を一新することにしました。ドメインキングの値上げは Plesk の一方的な値上げという話だったと思いますが、さすがに5倍となると看過できません。12月の次回支払い時期の前に移行することにしました。

    で、元の構成はドメインキングでドメイン(+Webサーバもあるけど使ってない)取得、サーバはさくらのVPS(1Gプラン)上にCentOS6.5という組み合わせでした。

    移行後の構成は、新しいドメインを .tokyo ドメインで取得、サーバはアップデート管理の手間を省きたいので共用レンタルサーバ(さくらのレンタルサーバスタンダード)としました。まあ、CentOS6.5でも自動アップデートを有効にしていたので、それほど手間ではなかったのですが、移行後の構築の手間も考えるとレンタルサーバでいいか、ということにしました。

    で、移行自体は半日くらいで終わったのですが、せっかくなので作業手順のメモを残しておきたいと思います。

    1.Wordpressのデータバックアップ

    旧サーバー(VPS)上でWordPressのデータのバックアップを取ります。

    2.データベースのバックアップ

    次に、phpMyAdminを使ってデータベースのバックアップを行います。バックアップの方法は『【WordPress】さくらインターネットに移転(引越し)する方法』を参考にさせていただきました。

    3.さくらのレンタルサーバ(スタンダード)の契約

    契約できたら、サーバパスワードの変更を行います。メールで仮パスワードが送られてくるので、これを変更。変更後は、初期ドメイン名でsshログインできるようになります。

    4.お名前.com で新ドメインの契約

    手順は・・・・省略。whois代行があるのがいいですよね。あと、インフレ気味ですが、いろんなドメインがあるとことか。

    5.お名前.comで取得したドメインをさくらのレンタルサーバで使用する設定を行う

    基本的な流れとしては、さくらのレンタルサーバのサーバコントロールパネルで、「新しいドメインの追加」を行い、新しいドメインとレンタルサーバ上のディレクトリとの紐付けを行います。紐付けるディレクトリは別途作成が必要です。
    その後で、お名前.com側のドメインNaviで対象のドメインで使用するネームサーバーをさくらインターネット側で指定されたネームサーバに変更します。
    実施にあたっては『お名前.comで取得したドメインをさくらサーバーで使用する』を参考にさせていただきました。

    6.さくら上でデータベースの復元

    データベースの復元はサーバにログインしてシェル上で行いました。シェルが使えるなら、その方がずっと楽で簡単で一瞬で終わります。

    方法は、『MySQL/MariaDB コマンドを使った復元』を参考にさせていただきました。

    7.ドメイン変更に伴うデータベースの修正

    今回はドメインの変更を伴っていますので、WordPressの中のデータも修正しないといけません。そのためのツールがあるようで、『WordPressのサーバー移行_ドメイン変更の手順』を参考に、Search and Replace for WordPress Databases を使って新サーバー上でURLの置き換えを行いました。

    8.PHPのバージョンを5系に下げた

    アクセスしてみると、記事の本文が表示されない現象に悩まされました。ぐぐってみると、PHPのバージョンによって起きることあるらしいことが判明。確かに旧サーバは5系、新サーバーはデフォルトでは7系になっていました。さくらのサーバコントロールパネルでバージョンを7系から5系に下げたところ、本文が表示されるようになり、一通りの問題は解決したようです。

    9.バックアップ用のシェルスクリプトの作成

    データとデータベースのバックアップをするスクリプトを書いておきました。時々走らせようと思います。

    10.旧サーバーからのリダイレクトの設定

    旧サーバーはドメインキングのDNSサーバー設定でさくらのVPSのIPアドレスを返していました。
    できれば、さっさとさくらのVPSは解約したいので、ドメインキングのサーバ上に .htaccess を置いて、リダイレクトさせることにしました。

    <.htaccessの内容>

    .htaccessを設置したら、DNSの設定を変更します。設定の中から

    のレコードを削除します。

    あとは、DNS情報が行き渡るのを待ちます。


  • Python2.7のプログラムをexe化する

    投稿日 2018年 6月 11日 コメントはありません

    次に、Python2.7で作ったプログラムを配布用にexe化してみます。
    まず、仮想環境を作ります。

    次に、py2exeをインストールします。試しにpipでやってみると、

    ということで、pipでインストールできるpy2exeはpython3.3以降が必要、ということでエラーになります。ですので、sourceforgeから2.7用のインストーラをダウンロードしてきて実行します。インストーラはexe形式のGUIになっていて、デフォルトでは大元のsite-packagesの下にインストールされるようです。

    exeに変換するにはセットアップスクリプトが必要なようですので、まずは以下の内容で作成しました。

    今回は、メインのスクリプト(処理が始まるところ)は main.py なので、main.py を指定。bundle_filesに1を指定すると、生成したexeファイルにランタイムdllを含めてくれるので、配布が楽になります。(代わりにサイズが大きくなります)

    自作のログ解析ツールをLOGというサブディレクトリにソースコードを一式置いてexe化してみました。

    それほど時間がかからずに処理が終わり、buildとdistというサブディレクトリができて、distの下にmain.exe という実行ファイルが作成されていました。今回の場合はサイズは6MBほど、できた実行ファイルを実行してみると、特に問題なく動作しました。

    ということで、意外にあっさりexe化に成功しました。


  • Windows10にPython環境を構築

    投稿日 2018年 6月 10日 コメントはありません

    訳あって、Windows10(たまたま32bit版)上でPythonの環境を構築しています。
    で、Python2.7系とPython3系を同時に使いたいのと、Pythonの仮想環境を利用したい(作ったスクリプトを他人に使わせるには必要なパッケージが明確になってないといけない)ので、いろいろ調べながらやってます。

    1.Pythonのインストール

    まず、Python3系をインストーラを使ってインストールします。インストール時には「Add Python to environment variables」のチェックは外しておきます。py.exeに起動するPythonを選ばせるためみたいです。

    次に、Python2系をやはりインストーラを使ってインストールします。インストール時には「Register Extensions」を外します。

    インストールできたかどうかは

    としてそれぞれPython2系、Python3系が起動できているか確認します。

    2.virtualenvのインストール

    Python2系用の仮想環境を作成するvirtualenvをインストールします。

    デフォルトの文字コードがasciiだと失敗するようなので、デフォルトの文字コードを変更します。C:\Python27\Lib\site-packages の下に、sitecustomize.py という名前で以下のファイルを作成します。

    作成したら、反映されていることを確認します。

    次に、pipをバージョンアップします。

    次に、virtualenvをインストールします

    3.virtualenvを使ってみる

    早速Python2.7の仮想環境を作ってみます。

    ということで、エラーになってしまいます。で、エラーの原因はまた「UnicodeDecodeError」です。
    原因は、どっかにあるvirtualenv.pyの中で文字コードがascii決め打ちになっているsite.pyを仮想環境の中に展開して、それを使ってしまうために起きているように見えます。
    いろいろやってみると、virtualenvを再実行しても一旦ディレクトリを消したりはしないようですので、これを逆手にとって、一度実行してエラーになってから、sitecustomize.py をコピーしてやるととりあえず最後まで処理が進むようです。
    具体的には、上記の例の場合、エラーになってから、sitecustomize.py をコピーしてきてから再度 virtualenv を起動します。(注:そんなことをしなくてもいい方法がありました・・・後のほうに書いてあります

    ということで、旨くいきました。仮想環境への移行も

    でうまくいくようです。
    この上で、scriptsフォルダの下にあるactivate.batを動かして仮想環境に移行後、python2用に作成したスクリプトを動かしてみましたが、無事に動作しました。

    直後に追記)
    こんな回りくどいことをしなくても、–system-site-packages と付ければOKのようです。
    (下記1行目がその例です)

    4.venvを使ってみる

    Python3系用の仮想環境のvenvを使ってみます。こちらはpython3系には標準で入っているので簡単です。使い方はvirtualenvとほぼ同じ。

    でPython3系が動くことが確認できました。