WN-G300UAを使ってみる

今までWiFiのアクセスポイントには WLI-UC-GNM を使用していたのですが、たまにOSごと巻き込んでクラッシュするのとアンテナがないので電波が悪い部屋があったので交換してみることに
アンテナがついている機種でLinuxでの動作実績がありそうなものを探した結果 WN-G300UARaspberryPiでの動作実績もあるみたい で良さそうだったので購入してみました
ちなみにWLI-UC-GNMは772円、WN-G300UAは1470円でした
上述の参考サイトにはモジュールのオプションでパワーマネージメントを無効にすれば普通に動くということだったのですが、これから色々ハマるとは思いもしませんでした…

  • このデバイス用のドライバがカーネルに含まれていますがまともに動作しませんでした (繋がるけれどすぐ切れるという動作 Kernel 3.14.48)
  • チップセットメーカーもドライバを提供していて参考にしていたサイトではそれを使うように説明がありました
    しかし手元のカーネルではビルドすらできませんでした
    参考にしていたサイトはRaspberryPiを使ったサイトが多かったのですが、彼らの使用しているカーネルは古かったようです

いろいろ検証した結果ArchLinuxのパッケージで使われているリポジトリとパッチを当てたものを使用すれば動作することがわかりました
Arch以外のディストリビュージョンではそのままビルドすることができないのでArchで使っているリポジトリをサブモジュールにしてMakefileとWN-G300UA用のパッチを追加したリポジトリを作成しました

以下の手順でビルドすることができます

$ git clone https://github.com/lostman-github/8192cu
$ cd 8192cu
$ git checkout WN-G300UA
$ git submodule init
$ git submodule update
$ make
$ cd -

$ git clone ...
more ...

Xvfb上でChromeを動かしてみた

外出中にFlashを使ったサイトをチェックしたいという要望が某所から出てきたので環境を作ってみた
普段から PC を持ち歩いている人には必要ないことかもしれないけれど普通の人は持ち歩いていないよね
私も荷物を持つのが嫌いなのでポケットに入るスマホと財布くらいしか持ち歩いていないです
ということで、スマホで見れるといいけれど Android の Firefox で使える Flash はもうサポートが切れているのでいまいちな感じ
で、自宅には常時起動のマシンがあるのでそこで何か用意できないかなと考えて今回 Xvfb を試してみた

Xvfb はなにかというと通常 X はクライアントからの要求を受けてドライバを経由して実際のモニタに描画するのに対し、
モニタでなくメモリ上に確保した仮想のフレームバッファに画面を描画します
このため画面がないマシンでも GUI のアプリケーションが起動できます
サーバ上で GUI のアプリを動かすにはうってつけですね
ただこのままだと外部から描画された画面を見ることができないので
x11vnc を使って外部から画面の様子をVNCクライアントを使って見れるようにしました
Chrome を選択したのは Flash を動かすのに追加でプラグインが必要ないためってだけ

必要なものをインストールする前に package.use に必要は USE フラグを追加して

app-text/ghostscript-gpl cups
media-fonts/ja-ipafonts X
net-libs/libvncserver threads ...
more ...

SketchUpをLinuxにインストール

SketchUp を Mac にインストールして使用していたのですが、 Mac のタッチパッドだといまいち操作性が良くありませんでした
大画面でマウスを使って操作したかったのでデスクトップの Linux マシンにインストールしてみました
SketchUp は Linux 版が提供されていないので Wine を使用することになります (公式の FAQ にもしれっと記述があった
WineHQ にも SketchUpのWikiページ があり情報がまとめられています
ただ多少ハマった部分があったのでやったことを残しておく

まず 公式サイト からインストーラを入手する
自分がダウンロードしたのは SketchUpMake-ja-x64.exe だった
インストール後にバージョンを確認したら 15.3.331 64ビット となっていた

デフォルトの Windows XP だとバージョンチェックで起動できないので winecfg を起動して Windows 7 へ変更する
インストールするディレクトリを変えたい場合は WINEPREFIX 環境変数を使ってwine関係のコマンドを実行する
(デフォルトでは ~/.wine ...

more ...

ibusからuim-mozcへ移行

一時期 ibus が色々話題になりましたね *1 *2
僕の環境では ibus-mozc を使っていたのですが、 1.5 系へは移行せず 1.4 系にとどまっていました
このまま放置していてもよかったんだけれど、 Gentoo のリポジトリから 1.4 が
なくなっていることに気がついたので別のインプットメソッドへ移行することにしました

Linux でのインプットメソッドで代表的なものは ibus 、 uim 、 fcitx といくつかあるけれど
Mac で MacUIM を使っているので Linux のマシンでも uim を使うことにしました
ただ Gentoo の公式リポジトリのパッケージでは mozc を uim と組み合わせることができないみたいだったので
自分で ebuild を書くか、他の人が書いたものを使わせてもらうかのどちらかがあるみたいです
今回は wjn-overlay を使わせてもらうことにしました

ここ ...

more ...

Redmineをインストールしてみた

Googleカレンダーに予定を入れるようにしていたんだけれど、カレンダーなので日付を入れなくてはいけなくて
日にちが決まってないけれどやろうと思っていることを入れておくことができないのでちょっと不便でした
Redmine等のプロジェクト管理ソフトを入れるのは大袈裟な気がしていたんだけれどRedmineは以前仕事でも使っていたし
自分のサーバにインストールして使うとなると思いの外選択肢が少ない感じだったのでRedmineを入れてみました

もやっとした要件は

  • サービスでなく、自分のサーバにインストールできること
  • 依存するものが少なく、導入が楽
  • 日付を入れずにタスクを登録できる
  • 優先度を設定できる
  • 日付が入っているものはカレンダーで確認できる
  • スマホからタスクを確認、編集できる

なんとなく導入が面倒というイメージを持っていたんだけれど、手順を見る限り簡単そうでした
ただ、少しハマった部分もあるのでそれは後述 (最新は3.0.1なんだけれどドキュメントが2.xのまま更新されていなかったりする
あとスマホでのタスクの確認はRedmineではできなくて、 RedminePM というアプリから行うことにしました

今回RedmineをインストールするOSにはRubyが入っていないのでRedmine用のユーザを用意して
ホームディレクトリにrbenvをインストール、rbenvを使ってRubyをインストール、Redmineをインストール
と、全て専用ユーザのホームディレクトリ以下で済ますことにしました
また、追加でインストールするものも抑えたかったのでRedmineはWEBRick、SQLite、ImageMagickなし、で動かすことにしました

まずユーザを作って、ログイン

# useradd -m redmine
# su - redmine

rbenvruby-build をインストールする
ここからは全てこのユーザのホームディレクトリ以下で作業

more ...

新しいサーバ用マシン買いました

実はもう1ヶ月くらい前の話なんだけれど、安定して動作しているので記事にしてみる
今までの環境はHPのMicroServer1台で

  • 録画
  • NFS、Sambaでのファイル共有
  • PPPoEで有線のルータ
  • 無線のアクセスポイント

等のサービスを提供していた
騒音の面もあってこのマシンはリビングから遠くに位置していて、リビングからは無線の電波がいまいちな状態になっていた
遅いだけなら我慢もできたんだけれど、位置によっては切断されたりもするのでアクセスポイントの位置をリビングに移動したかった
ただMicroServerはそれなりにHDDの音がするので移動するわけにはいかず…
普通の無線ルータを購入してもよかったのだけれどいろいろ考えた末、他の機能もこっちに分離するために自作することにした
購入したのは以下のパーツ

  • GIGABYTE GA-J1900N-D3V 11010円 (10%ポイント)
    Celeron J1900 (4 Core, 4 Thread)、Realtek GbEx2
    ファンレスでNICが2つ付いているのがこれくらいしかなかったので必然的に
  • SanMax SMD-N8GNP-13H-D 9561円
    SO-DIMM DDR3-1333 4GBx2 ELPIDAチップ
  • ANTEC ISK-110 VESA 9590円 (10%ポイント)
    小さくてACアダプタだったので

届いた箱たち
box

仮組みしてMemtest中
memtest

最終的にはこんな感じ
見えないけれど裏側に余ってたSSDが装着されている
assembled

今はテレビ台の中に設置されている ...

more ...

Macのホスト名を固定する

自宅のMacでは設定済みだったんだけれど、オフィスのMacでは未設定だったのでメモ

$ scutil --get HostName
HostName: not set

この結果になる場合ターミナルで表示されるホスト名がDNSから逆引きしたものになることがあるみたい
オフィスの環境だとならないけれど、自宅の環境だと System Preferences -> Sharing
元々設定してある大文字小文字混じりのホスト名が全て小文字に変わってしまう
ここの Edit を押すと Use dynamic global hostname といういかにもそれっぽい設定があるけれどこれは特に効果はなし
そのような場合は冒頭で確認するために使ったコマンドを使って固定することができる

# scutil --set HostName YourHostName

ただこの設定はSystem Preferencesの設定とは別にあるようで同期しない
そのためここで元々の設定とは全く別の値を指定することができるが
混乱の元なのでそういったことが起きないように気をつける必要がある

more ...

使えなくなったHDDのS.M.A.R.T.の結果

ずいぶん前の出来事だけれど、 Hitachi Deskstar 7K1000.D がエラーを吐いて使えなくなったので
その時のS.M.A.R.T.の結果を記録しておく

こんなメールでRAIDのアレイから外したことを通知されました

This is an automatically generated mail message from mdadm

A Fail event had been detected on md device /dev/md1.

It could be related to component device /dev/sdc.

Faithfully yours, etc.

P.S. The /proc/mdstat ...
more ...

裁断機(DC-210N)を購入してみた

もうずっと読んでいない参考書とか、学生時代の教科書とかを整理したいので裁断機を購入してみました
色々検討したんですが大型の裁断機ではなく、それより簡易的な DC-210N を選択
一度に裁断できる枚数が40枚ということなので、裁断する前にまず本を分解する作業が必ず入るけれど
まぁ元々そんなに本を買う方でないので使う機会もそれほど頻繁でないだろうということでしまっておけるこのモデルにしました

外観

image image

今回はお試しでこの冊子を裁断してみます
薄いので分割しなくても裁断できました

image image image

more ...

操作ミスでファイルを消してしまった時の復活方法

ファイルサーバのデータを整理中に rm *hoge* と入力しようとして rm * まで入力した状態で
hogeをコピペで貼り付けようとしました
この時hogeの先頭に改行が含まれていたため、 rm * が実行されてしまい
カレントディレクトリ内のファイルを全て削除してしまいました、事故です
このような場合、 extundelete というソフトを使うと復活できるみたいなので、試してみました

まず削除してしまったファイルがあるボリュームをroでマウントしなおします
この作業はできるだけ早く行う必要があります
自分の場合、別のプロセスがこのボリュームに書き込みをしていたので
削除したファイルのinodeが再利用されてしまいかなりのファイルを失いました

# mount -o remount,ro /mnt/lvm

次にdateコマンドで操作ミスが発生した時刻の確認をします

$ date +%s
1413993600

extundeleteで復活させます
復活できなかったファイルが以下のようにログに出力されて
復活できたファイルはカレントディレクトリの RECOVERED_FILES 以下に出力されます

# extundelete --restore-all --after 1413993600 /dev/mapper/vg0-lv0
Only show and process deleted entries if ...
more ...