コンピュータ日誌(2015年)

作成日: 2014-07-26
最終更新日:

2015年、コンピュータとのおつきあいの日誌です。

OpnePNE

サーバにオープンソースの SNS である OpenPNE を入れてみた。その実験である。

まず、レンタルサーバの契約元で自動的に入れられるオプションがあったので、それで入れてみる。 ここでのバージョンは 3.8.14 である。このままでは、日記もコミュニティも、入れることができない。 そのため、それぞれのプラグインを用意しなければならない。

最新版は3.8.15 である。これをアップロードするか、それとも、まずプラグインを入れるか迷った。 よく見たら、最新版は 3.8.15.1 である。 では、これにアップロードするのが先だろう。レンタルサーバで以下を行った。

$ php55 ./symfony openpne:migrate
(途中略)
>> chmod 777 /home/55/smm5600/nova-openpne/web/cache
Fatal error: Call to undefined function iconv_get_encoding() in /home/foo/bar/openpne/lib/vendor/Zend/Validate/Hostname.php on line 513.

訳すと次のようになるだろう。 重大なエラー:未定義の関数 iconv_get_encoding() を呼んでいる。/home/foo/bar/openpne/lib/vendor/Zend/Validate/Hostname.php の 513 行

日本語の情報は少ない。macのiconv関連php拡張が入ってないみたい。 という情報がある程度だ。 macでphp用のiconvをいれる(kasahi.blogspot.jp)。

さらにいろいろ探ると、Windows 用拡張モジュールというところで、 http://phpspot.net/php/man/php/install.windows.extensions.html PHP が拡張モジュールを探すデフォルトの場所は C:\php5 です。 変更するには php.ini ファイルを編集してください。 とあった。

php.ini ファイルが web ディレクトリにあったので、この php.ini ファイルを読み込ませようかと思ったが、 状況は同じで、重大なエラーが出る。

キーワードを「Zend iconv」で調べてみると、 https://workonlinux.wordpress.com/2012/10/24/enabling-iconv-php-extension-without-recompiling-php/ という場所が見つかった。調べてみると、

$ php -i

として iconv => enabled と出てこなければ、 iconv のサポートが php レベルでサポートしていない、と読める。

どうやら、自分で拡張機能(エクステンション)を入れろ、と読める。レンタルサーバーに従って、つぎのように試してみた。 なお、レンタルサーバーから直接 PHP のコードを取得する手段がわからなかったので、 一度 Windows のローカルコンピュータにダウンロードしてからレンタルサーバーに入れた。

$ cd ~/src

$ php55 -v

PHP 5.5.14 (cli) (built: Jul 18 2014 11:39:00)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

$ tar -zvxf php-5.5.15.tar.gz

$ cd php-5.5.14/ext/iconv

$ phpize

bash: phpize: command not found

こんどは phpize がない、と言われた。レンタルサーバーには phpize がない。 仕方がない。ports をダウンロードしよう。 OS は FreeBSD 9.3 である。

さて、ports のダウンロードで途方に暮れてしまった。FreeBSD のページはあったものの、何を、どのようにインストールしてよいかわからない。

では、きっと別の方法があるに違いない。レンタルサーバのページ http://www.inetd.co.jp/phpinfo/#modules を読んでみた。 そうしたら、なんだ、対処法が書いてあるではないか。 まず、必要なモジュールは、~/.php/php.ini に書いておく。また、明示的に読み込ませたいときには、コマンドラインの php を使うときには、
$ php55 -c/home/55/abc1200/.php/php.ini (php5.5の場合)
のように書けばよい。

さて、次のように書いて実践したがどうだったか。

$ php55 -c$PWD/web/php.ini ./symfony openpne:migrate

(途中略)
>> chmod 777 /home/55/smm5600/nova-openpne/web/cache
Failed to download plugin list.
SQLSTATE[42S02]: Base table or view not found: 1146 Table '(データベース名).sns_config' doesn't exist. Failing Query: "SELECT s.id AS s__id, s.name AS s__name, s.value AS s__value FROM sns_config s"

ということは、-c$PWD/web/php.ini の効果はあったようである。しかし、Failed to download plugin list. には困った。

しかし、もう一度同じことをやってみたら、

$ php55 -c$PWD/web/php.ini ./symfony openpne:migrate

(途中略)
>> chmod 777 /home/55/smm5600/openpne/web/cache
Failed to download plugin list.
>> doctrine generating model classes
>> file+ /var/tmp/doctrine_schema_99478.yml

$ php55 -c$PWD/web/php.ini ./symfony plugin:publish-assets

こちらは問題なく終了。

仕切り直し

http://namakesugi.blog42.fc2.com/blog-entry-93.html https://www.openpne.jp/archives/5969/

>> sfPearFrontendPlugin ...done: 570,880 bytes
>> sfPearFrontendPlugin Package "plugins.openpne.jp/opDiaryPlugin" dependency
>> sfPearFrontendPlugin "plugins.openpne.jp/openpne" has no releases
>> opPluginManager Installation successful for plugin "opDiaryPlugin"
>> opPluginManager Installing web data for plugin
	13. php.iniを作成します。
...ディレクトリの作成に失敗しました。

これは、ホームディレクトリに .php というディレクトリができていなかったためらしい。 ~/.php というディレクトリを作り、さらに ~/.php/tmp という空のディレクトリを作る。

WordPress による掲示板

以下を参考に再度インストールする。

  1. WordPressで掲示板を作成する方法~bbsPressの使い方(rentalhomepage.com)
  2. WordPress 3.5 + Twenty Twelve + bbPress でフォーラムのDemoサイトを作り直しました|Beach Resort Photoclip(www.photoclip.net)
  3. WordPressでスレッド式掲示板を作る方法~bbPressの使い方(blog.verygoodtown.com)
  4. 意外と簡単に作れるWordPress掲示板「bbPress」プラグインの使い方、日本語でフォーラムを設置したいなら唯一の選択肢かと (nelog.jp)
  5. WordPressのフォーラムプラグイン bbPress 2.5.4 を日本語化してみた|Monaural Sound (ka2.org)

主に1.を参照した。

日本語化の途中

1.でインストールしたあとで実際に見てみた。表示が日本語化が途中であり、一部英語のままになっている。

This forum contains 1件のトピック, and was last updated by まるやま 19 分前.

そのため、5. から日本語化最新版(bbPress のバージョン 2.5.4 で 100%)をダウンロードした。 英語は消え、日本語の表示だけとなり安心した。

このフォーラムには 1 トピック が含まれます。最終更新 まるやま 19 分 前。

サイドバー落ちの対応

2. で 項目 12 に右のカラム (サイドバー) が下に落ちていますが、この対処はのちほど。 とある。下に落ちるの意味をとるのに1日かかった。こういうことだ。

たいていの右のカラム(サイドバー)はこのような配置になっている。

  +-----+-+
  | 掲示板 |カ|   
  +-----+ラ|
        |ム|
        +-+
     図A

ところが、今回のレイアウトでは掲示板の力が強く右に張り出してしまっており、  その結果カラムが下に落ちたように見える。

  +-------+
  |  掲示板  |
  +-----+-+
        |カ|   
        |ラ|
        |ム|
        +-+
     図B

Windows PowerShell を使う

Windows 8.1 で Windows PowerShell がどの程度使えるかを見極めたい。 やりたいことは、複数のファイルで N 行目を出力することである。 多くの行を含む abc.txt があるとする。N = 3104 とする。
UNIX なら
% head -n 3104 abc.txt | tail -n 1
あまり美しくないな。ほかには sed を使う方法もありそうだ。
% sed -n '3104p' abc.txt
テキスト指定にはワイルドカードが使える。
% sed -n '3104p' *.txt
awk を使うことも考えていいだろう。

さて、Windows PowerShell ではどうだろうか。
PS C:\Users\marinkyo\Desktop> (Get-Content -Path abc.txt)[3103]

ファイル指定にワイルドカードは使えるだろうか。

Unix と PowerShell の対比

[Windowsバッチ/PowerShell] UNIX/Linux とのコマンド対応表 (rtaki.sakura.ne.jp) をもとに、Unix と PowerShell を対比してみた。 俺がプルタルコスほどの才能があれば、かっこよくできるのに。

UnixPowerShell備考
catGet-Context
grepSelect-String
find . -type f -name "*.txt" -exec grep -l Saluton {} \; Get-ChildItem -include *.txt -recurse | Select-String Saluton | foreach { $_.Path } Unix の find は構文が難しいが、ある程度の Unix 使いならばできて当然とされる。
diffCompare-Object厳密には違う
wcMeasure-Object厳密には違う
sortGet-Content foo.txt | Sort-Object
headGet-Content 厳密には違う
tailGet-Content 厳密には違う

仮想マシンの立ち上げ

VirtualBox (https://www.virtualbox.org/) の立ち上げ。 俺が持っているのは、LaVie LS150/N シリーズ。 http://assimane.blog.so-net.ne.jp/2012-02-08 およびこのページが参照している http://d.hatena.ne.jp/pontapapa/20110417/1303029391 を見て不安になる。どうやら BIOS での変更はできないかも。 まずは実験してみることにした。 なお、当ページの情報の利用によって発生したいかなる損害に対しても、まりんきょは一切賠償責任を負わない。 常に自己責任でご利用のこと。

http://openlibsys.org/index-ja.html 。 VirtualChecker 3.0.1 をダウンロードする。 チェックした結果は下記のとおり。

Virtualization Intel VT-x/AMD-V+SLAT (Second Level Address Translation) Intel EPT/AMD RVI
Enabled Enabled
+64bit (x64) Intel 64/AMD64+DEP (Data Execution Prevention) Intel XD/AMD NX
SupportedEnabled

ひょっとしてこのままでいけるかもしれない。やってみる(が中断している)。

逆テザリング

私はタブレット端末を持っているが、無線でしかつなげない。その無線が通じる場所が、自分の契約している WiFi 事業者との関係で非常に限られている。 そこで、自分の持っている有線の PC とつなげたいと思い、 逆テザリング(リバーステザリング)という方法を試してみた。 テザリングとは、携帯端末を経由して PC をネットワークに接続することをいう。リバーステザリングとは、 逆に PC を経由して携帯端末をネットワークに接続することをいう。

大きく分けて、PC と携帯端末の接続携帯が有線の場合と無線の場合がある。まず、有線での場合を確認する。

有線による逆テザリング

参考にしたのは次の記述である。

以下では、携帯端末は Android であるとする

  1. 携帯端末の USB デバッグを有効にする。
  2. 携帯端末に SuperSU というアプリケーションをインストールする。あたりまえだが、このインストールではリバーステザリングは使えず、 WiFi でもってくるしかない。
  3. PC に Android Reverse Tethering というアプリケーションをインストールする。 これには、まず http://forum.xda-developers.com/showthread.php?t=1371345 にアクセスし、さらに画面内で Attached Files という文字列を検索する。 ちょうど上下方向へのスクロールの中間部分に、ReverseTethering_3.19.zip という文字があるので、これをダウンロードする。

(以下続く)

無線による逆テザリング

参考にしたのは次の記述である。

ここで、Windows 8.1 の SoftAP 機能ということばが使われている。SoftAP とは、ソフトウェアのアクセスポイント、ということであろう。

  1. コマンドプロンプトを管理者として実行する。
  2. C:\>netsh wlan set hostednetwork mode=allow
    ホストされたネットワーク モードは許可に設定されています。
  3. C:\>netsh wlan set hostednetwork ssid=****
    ホストされたネットワークの SSID が正常に変更されました。
  4. C:\>netsh wlan set hostednetwork key=$$$$ keyusage=persistent
    ホストされたネットワークのユーザー キー パスフレーズが正常に変更されました。
  5. PC のイーサネットの状態を見る。[共有] タブをクリック。 「ネットワークの他のユーザーにこのコンピュータのインターネット接続を通して接続を許可する」がオフになっていればオンにする。

PC のイーサネットの状態を見た。[イーサネットのプロパティ]ウィンドウには、タブが[ネットワーク]しかなく、[共有]はない。なぜか?


Windows 10 にする

Windows 10 にした。今まで使ってきたソフトはそのまま動作するのだろうか、心配だ。まずは試してみた。

Microsoft IME

いくつかのアプリケーションで、テキスト欄にフォーカスを移動すると日本語 FEP 窓が出なくなった。 他のアプリケーションで日本語をコピーして、テキスト欄にペーストすることは可能である。 この原因は、どうやら Edge (Microsoft Internet Explorer の後継ブラウザ)の問題であるという。困ったな。

Internet Security Comodo

まず、無料ソフトではあるが、Internet Security の Comodo 。これは At Risk 状態になっている。背景は赤色のままだ。Update ボタンを押してみたが、 Task: Install signatures となっていて Status: Finalizing... 、進捗度が 23% のままだ。大丈夫だろうか、 と心配していた。なにやらタスクは終わったらしいが、At Risk 状態は変わらない。Fix it ボタンを押してみたら、インストールに失敗しました、 となる。

1度再起動したが、相変わらず At Risk 状態だ。もう一度 Fix it ボタンを押し、その後再起動を求められるがままに実行したら、 今度は Secure 状態になった。背景は緑だ。Product Version は 8.2.0.4674 、Database バージョンは 23017 であった。

東大将棋 振り飛車道場

商用ソフトである。段級位戦では問題なく動作した。

Noteworthy Composer

商用ソフトである。弦楽五部とピアノの譜面を書いている限りでは問題なく動作した。 もっとも、https://blog.noteworthycomposer.com/ では、 Windows 10: Configuring Play in Version 2.51a (and older) という記事で次のように知らせている。下記は私の試訳である。

Windows 10 にアップグレードしたあとで、こんなエラーが起こるかもしれない。 NoteWorthy Composer Version 2.51a かそれより前のバージョンである。

Play Device Error
The following play devices failed to open properly:
Microsoft MIDI Mapper
This problem must be corrected before preceeding.

このエラーは Windows 10 が MIDI デバイスのサブシステムを変更したことが原因で起こる。 Windows 10 では、NWC がデフォルトの MIDI デバイスを解放したあとで再結合することはできない。 この解放-再結合に失敗するため、先の問題が起こる。

この問題に対する完全な解決はバージョン 2.75 に含めている。 それまでの間は、次のようにツール、オプション、Midi タブを設定してほしい。

  1. Port Usage を Always に設定する。
    こうすればプログラムが MIDI デバイスの再確保に関するエラー表示の階数を減らせる。
  2. play box により使われたデバイスを空にする。
    こうすることで、Midi オプションタブからの誘導ができるようになる。デフォルトの MIDI デバイスはプレイバックを再開した時に自動的にとどまる。
  3. NoteWorthy Composer を再起動する
  4. ステップ 2 と ステップ 3 を必要なだけ繰り返す
    プログラムで MIDI ポートの解放・要求がうまくいかない場合は、 ツール、オプション、MIDI で 2. 3. のステップを繰り返す。

SeaMonkey

一番よく使っているオープンソースのプログラムである。今のところ問題ない。バージョンは 2.33.1 である。

xyzzy

SeaMonkey の次によく使っているオープンソースのプログラムである。0.2.2.253 で問題なく動いている。

PDIC

問題なく動いている。


MacBook Air を買う

つれあいが持っている NEC のコンピュータが古くなってきて、反応が鈍くなってきた。 Windows Vista の時代から使っているものであり、そろそろ買い替え時と判断してつれあいと二人で近くの PC Depot に行ってきた。 店員に相談すると、使い道を聞かれたあとで、それならば Macintosh にしてはどうかと提案された。 Macintosh はハードディスクではなく SSD (ソリッドステートデバイス)を使っているので、 年数が経っても速度がそれほど遅くならない、というのが決め手だった。 それに、つれあいが使っているWindows 固有のアプリケーションはない。 つれあいが Mac を使うのは初めてだが、私が教えることにした。

さて、その日のうちに処理することを次のように決めた。

これらはなんとかうまくいった。以下、少し述べてみる。

Macintosh を動かすために何やらいろいろおまじないをした。そのおまじないは忘れてしまったが、 ネットワーク環境は必須であった。なんとか Macintosh は起動した。

次に Excel だが、Office 2016 for Mac を同時に買った。今はライセンスだけの購入なので驚いた。ライセンスキーを入れ、 メールアドレスを入れて、これもなんとかインストールできた。

メールは Mac 用の MTA をそのまま使うことにした。つれあいのメールアドレスやユーザ名、パスワードを入れると、無事メールを見ることができた。 なお、以前のデータを見るために Thunderbird もインストールした。ただし、この段階ではメールボックスの移行はしていない。

ブラウザは Mac だから Safari である。これも問題なく見ることができた。

データのコピーは、すべてがうまくいったわけではない。まず、Windows で Mac 用の移行アシスタント v1.0.5.7 をインストールし、実行すると同時に、 Mac でも移行アシスタントを起動する。これでコピーできたのは、Windows のアカウントそのものとブラウザのブックマークやドキュメント類だけだった。 メールは移行できなかった。おそらく、Thunderbird を使っていたからだろう。のちの課題だ。

ウイルス対策ソフトは Kaspersky を使うことにした。これも PC Depot で購入したものだ。ライセンスキーを入れて、使えるようになった。

まりんきょ学問所コンピュータの部屋コンピュータ日誌 > コンピュータ日誌(2015年)


MARUYAMA Satosi