2012/12/28

VirtualBoxで「E_FAIL(08x0004005) , IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}」とエラーが出たら

Windows7でVirtualBoxをインストールして仮想OSを起動しようとしたら、
次のようなエラーが出てしまいました。

VT-x features locked or unavailable in MSR.
(VERR_VMX_MSR_LOCKED_OR_DISABLED).

終了コード E_FAIL(08x0004005)
コンポーネント Console
インターフェース IConsole {db7ab4ca-2a3f-4183-9243-c1208da92392}

これはBIOSで仮想OSを無効にしているので置きます。

有効にするためにはBIOSで有効にしてあげる必要があります。
自分の時にはBIOSの赤い部分を有効にしました。
他のメーカーのものでも「virtual...」みたいな項目を探すといいと思います。

これで設定を保存して、再起動をすればおkです。


追記:
あまり関係ないですが、前にも同じような記事を挙げていました。
○○○○に怖いものなんてない!!: virtualboxを利用するときのBIOSの設定

まあでも、なぜか画像が当たっていないし、ちょっと情報が乏しかったのでこっちに書き直しました。

2012/12/25

GIMP2.8の日本語のフォントを変える

今更な感じですが、GIMPを2.6から2.8に変えました。
やっぱりシングルウィンドウは使いやすいですね。

ここからダウンロードしたのですが、

GIMP - ダウンロード
http://gimp.softonic.jp/


しかし、GIMP2.8を開いたときにすぐ思ったのが、
日本語のフォントが汚い。。。

たぶん中華系のフォントになってしまっているのかもしれないです。

GIMPは結構使うので、フォントを直せるものなら直したいと思い、調べてみると、
次のようなものを見つけました。

【メモ】GIMP 2.8でメニューのフォントをきれいにする方法 – 今日の気分はバリいくつ?
http://blog.bari-ikutsu.com/entry/20120512_6265.html

Gimp: メニューなどのフォントをゴシック系にする | anobota
http://haraita9283.blog98.fc2.com/blog-entry-115.html

そこら辺を参考にしてやってみたらフォントを変えることができました。

結果的に参考にしたサイトの下のほうと同じですが、そのサイトではWindowsXPを使っていて、自分はWindows7 64bitを使っているので過程がちょっと違っているだけです。

次に変え方をメモします。


  • GIMPのフォントなどの設定ファイルの場所を確認
デフォルトの場所にインストールしているなら
C:\Program Files\GIMP 2\share\gimp\2.0\themes\Default\gtkrc
が設定ファイルになっています。
ちなみにGIMPにはテーマというものがあるらしく、UIをいろいろ変えられるらしいですが、デフォルトでは「themes」フォルダの中の「Default」というテーマを使っているのでこの場所を指します。
ちなみに別のテーマを使っている人はそのテーマのフォルダの「gtkrc」を使ってください。

  • 「gtkrc」ファイルをデスクトップなどにコピー
そのフォルダにあると権限の関係でgtkrcファイルを編集できないので、デスクトップなどにコピーをしてそのファイルを編集します。
(Linuxだとsuとかsudoとか使えばいいと思いますが、管理者権限でエディタの開き方がわからなかったので編集できるところに持っていって編集した後に戻します。)

  • 「gtkrc」をエディタで編集
コピーをしてデスクトップなどにある「gtkrc」を編集します。
次の様に付け加えてください。
ちなみにフォントはメイリオで大きさは9に設定しています。

style "gimp-default-style"
{
  font_name = "Meiryo 9" # ここに追加します
  stock["gtk-dialog-error"] =
    {
      { "images/stock-error-64.png", *, *, "gtk-dialog" }
    }
  stock["gtk-dialog-info"] =
    {
      { "images/stock-info-64.png", *, *, "gtk-dialog" }
    }
  stock["gtk-dialog-question"] =
    {
      { "images/stock-question-64.png", *, *, "gtk-dialog" }
    }
  stock["gtk-dialog-warning"] =
    {
      { "images/stock-warning-64.png", *, *, "gtk-dialog" }
    }

  • 編集した「gtkrc」をもとの場所に戻し、GIMP起動
編集したファイルをもとの場所に戻します。この時に編集前のファイルは別名保存してバックアップを取っていると安心だと思います。


これで終わりです。
そして、フォントは下のようになりました。

こっちのほうが見やすいですね。

2012/12/24

簡単にデスクトップの動画キャプチャーができるソフトはどれ?

前回にアマレココを使ったデスクトップの動画キャプチャーをしましたが、自分がする分にはいいのですが、簡単なものをほしがっている人に勧められそうなものではありませんでした。


○○○○に怖いものなんてない!!: デスクトップの動画キャプチャー(アマレココ)とエンコード
http://kowaimononantenai.blogspot.jp/2012/12/blog-post.html


よって、今回はいろいろなデスクトップの動画キャプチャーソフトを実際に入れて比較してみようと思います。

今回は次のソフトを使ってみました。

  • Bandicam
  • アマレココ
  • CamStudio
  • カハマルカの瞳
  • AGDRec
今回検証した環境は次の通りです。
Windows 7 Professional 64bit
特に重視して比較したところは次のところです。
  1. 操作が簡単
  2. ロゴが入っていない
  3. 全画面ではなく部分的なキャプチャーの範囲をマウスで直接指定できるか(別の小さいデスクトップが映るウィンドウで細かく指定したくない)  <- これは結構大切だと思っています。

  • Bandicam
UIがグラフィカルで使いやすさは抜群。
ロゴが入っていてもいいという人はこれが一番おすすめ

  • アマレココ
前回の記事にも出てきましたが、
キャプチャーするのはとても簡単だが、できるAVIファイルがどんなソフトでもエンコードできるわけでもない。
初心者でもエンコードソフトとして「Windows ムービーメーカー」を使っている人、
また、玄人(コーデックなどがわかる人)向け
ロゴなしにもできる。

  • CamStudio
操作は直観的で良い。
ロゴなし。
デスクトップ全体のキャプチャではなく、一部分のキャプチャーをしようとすると、マウスで指定した部分と実際に撮れている部分がずれている。

  • カハマルカの瞳
名前が面白いですが、それなりに使いやすいです。
ロゴなし。
インストーラーではなく、解凍するやつなので入れるのも簡単。
しかし、デスクトップの一部の動画をとるときにマウスで決めることができなく、バーの中から選ばないといけない。
加えて、見つけづらい。

  • AGDRec
これもインストーラーではなく、解凍するやつ。
ロゴなし。
そして、実行するとウィンドウが出るのではなく、右下のタスクに駐在するタイプ。
使いやすさは、ウィンドウのグラフィカルなものには劣ってしまうかもしれないですが、シンプルで使いやすい。
自分の環境では設定のメインコーデックがデフォルトの「MJPEG Complessor」でキャプチャーすると動画がブレブレになって見ていられない。(他の人はそんなことはないのかもしれないです。)
そこで、メインコーデックを「Microsoft Windows Media Video 9」にしたところ、きちんとキャプチャーできた。


いろいろ試してみましたが、総合的にみると、
ロゴありでもいいなら
Bandicam

ロゴなしでは、
AGDRec
カハマルカの瞳
CamStudio  <- 使いやすかったのですが、前にもあった指定した部分と違う部分を録画してしまうのはちょっと使いにくい。
アマレココ


の順で人にお勧めできる簡単なソフトだと思います。

まぁ、でも自分が使うのはアマレココだと思いますけど。




2012/12/23

デスクトップの動画キャプチャー(アマレココ)とエンコード

デスクトップを動画でキャプチャーしたいと思うことがよくあります。

「Bandicam」を使っていましたが、動画にロゴが入らないようにしないといけなくなったので、

ロゴが入らないようにできる「アマレココ」を今回使います。
アマレココはニコニコにアップするためによく使われるそうです。

アマレココのインストールや使い方、初期設定はこのサイトを参考にしました。

VIPで初心者がゲーム実況するには@ Wiki - アマレココの使い方
http://www18.atwiki.jp/live2ch/pages/172.html


アマレココを使ってみて感じたことは「できる動画ファイルが異常にでかい」ということです。

よく調べてみると
キャプチャーしながらエンコードをするとCPUなどを使ってしまい、ネットゲームなどのキャプチャーしたいものに影響が出る。
よって、エンコードはせずにキャプチャーだけ行ってエンコードは後ですることによってCPUをあまり使わずキャプチャーできる。
ということらしいです。
まず、エンコードする前提でできているんですね。
拡張子も「AVI」だし。

キャプチャーの後はエンコードですが、これも結構めんどくさく、さっきのサイトにあったように「AMVビデオコーデック」を使っているので、これをきちんとエンコードできるソフトでなければ使えません。

ちょっと調べた限りでは次の3つのソフトが対応していました。

全部使ってみた限りでは、

「AviUtl」が玄人用、「Windows Live ムービーメーカー」が一般用、「ニコニコエンコ」が簡単にニコ動にあげる用って感じです。

自分的にはメインは「AviUtl」を使いって、「WMV」に変換したいときは「Windows Live ムービーメーカー」を使おうと思います。



  • 「Windows Live ムービーメーカー」
簡単に拡張子を「WMV」にしたかったらこれ一択です。
操作も簡単でちょっとした編集もできます。
他にも「MP4」にも対応しています。
あまり、編集などはせず、「WMV」or「MP4」にしたい人にはおすすめです。

誰でもかんたんにムービー編集 ムービー メーカー - Windows Live on MSN

  • 「ニコニコエンコ」
アマレココがニコ動にあげるときによく使われるソフトということでニコ動にあげる用にエンコードしたい人はこれがおすすめです。
ニコ動にあげるときにはいろいろ制限があるらしいのですが、それを一切考えずにワンクリックでできてしまいます。
欠点としては「MP4」のみということと開発が滞っているらしいことなので、簡単にニコ動にアップしたいという人用だと思います。

  • 「AviUtl」
プラグインを入れていくと本当に何でもできそうなソフト。「forbar2000」みたいなイメージ。
エンコードについて詳しい人はいいかもしれないけれど、今回の用途で使えるようになるにはいろいろダウンロードしないといけなかったりするので上級者用ソフトです。

VIPで初心者がゲーム実況するには@ Wiki - AviUtlの使い方

VIPで初心者がゲーム実況するには@ Wiki - H.264で高画質


「AviUtl」が奥が深そうなので、これを機にすこしやってみようと思います。



2012/11/16

Wineで「Blocked: wine start /unix」というエラーが出たら

Wineはあまり使っていないのですが、

Wineでexeファイルを実行したところ
Blocked: wine start /unix
というようなエラーになってしまいました。

ぐぐるとすぐ出てきて

cd /usr/share/applications
vim wine.desktop

として
Exec=cautious-launcher %f wine start /unix

Exec=wine start /unix %f
と編集して保存すればいいだけです。

これでexeファイルを実行できるます。

参考にしたサイト

Blocked: wine start /unix - やまねこのあしあと
http://www.atchfactory.com/mvt/archives/2011/01/blocked-wine-start-unix.html

ありゃ・・Ubuntu10.10のWineどうした? « 雑記帳
http://cosmo0920.wordpress.com/2010/10/12/%E3%81%82%E3%82%8A%E3%82%83%E3%83%BB%E3%83%BBubuntu10-10%E3%81%AEwine%E3%81%A9%E3%81%86%E3%81%97%E3%81%9F%EF%BC%9F/


2012/11/13

Unity2D,LXDEの状態でFreeNXでのリモートコントロール

ここの記事の続きです。


○○○○に怖いものなんてない!!: Ubuntu12.04にFreeNX Serverをインストール
http://kowaimononantenai.blogspot.jp/2012/11/ubuntu1204freenx-server.html

「GNOME」でもいいですが、デフォのUnity2Dでもログインできるようにします。

Window側の設定を変更します。

まず下のように「GNOME」のところを「Custom」にします。


そのあとに「Setting」を押すと下のウィンドウが出てきます。
そして赤枠がついているところにチェックマークを入れて
空欄のところには

Unity2Dにしたいときは
gnome-session ubuntu-2d

Lubuntu化したLXDEにしたいときは

/usr/bin/startlubuntu

/usr/bin/lxsession -s Lubuntu -e LXDE

と入力してokを押します。
これで終わりです。

2012/11/12

Ubuntu12.04にFreeNX Serverをインストール

この前Ubuntu10.04をFreeNXサーバーにしましたが、今度はUbuntu12.04をFreeNXサーバーにしてリモートコントロールします。

インストールはUbuntu10.04の時と同じようにPPAを登録してインストールし、nxsetupのところだけ別にとってきます。


○○○○に怖いものなんてない!!: FreeNXを使ってWindowsからUbuntu10.04をリモートコントロール
http://kowaimononantenai.blogspot.jp/2012/10/freenxwindowsubuntu1004.html

しかし、問題になるのはWindowsのほうのクライアントの設定です。
Ubuntu10.04でした設定ではWindowManagerが「GNOME」ですが、そのままやると、
Faild to load Session "gnome-fallback"
となってウインドウが出ますが、ログインできません。
これはつまり設定を「GNOME」にしているのでUnityしか入っていないデフォだと「GNOME」がないということになります。
なので「gnome-fallback」つまり、GNOMEクラシックをインストールするとUbuntu10.04のようにリモートコントロールできるようになります。

sudo apt-get install gnome-session-fallback

Ubuntu側を再起動してリモートコントロールしようとすると「GNOME」が立ち上がってログインできます。

次は、デフォであるWindowManagerの「Unity 2D」と自分がよく使うLubuntu化させた「LXDE」でもログインできるようにします。



2012/11/07

UbuntuでNFSマウントする方法

UbuntuでNFSでマウントするときの方法の参考になるサイトをメモ


ubuntuでnfsクライアントの設定 | tjun memo
http://tjun.jp/blog/2009/10/nfsclient_ubuntu/

2012/10/29

FreeNXを使ったときのキーボードがおかしいのを直す


先日,Windows7からFreeNXを使ってUbuntu10.04にリモートコントロールをしました.

○○○○に怖いものなんてない!!: FreeNXを使ってWindowsからUbuntu10.04をリモートコントロール
http://kowaimononantenai.blogspot.jp/2012/10/freenxwindowsubuntu1004.html

その記事の最後に書いたと思いますが,たぶんこのままだとキーボード入力がおかしいことになってしまうと思います.

これからそれを直します.

前の記事には2つのおかしくなることが書いてあると思いますが,どちらか1つでもなってしまったらこれをやったほうがいいです.


まず,FreeNXの設定でキーボードの言語を明示してあげます.
Windows7の方で,デフォルトの場所にFreeNXをインストールしているのなら次のところを編集します.
C:\Users\<< user_name >>\.nx\config\○○○○.nxs
(<< user_name >>は各自のユーザー名で○○○○は設定を反映させたいサーバーを選んでください.)

そのファイルをエディタで開きます.
そのファイルに次のように書いてある場所があります.


<option key="Current keyboard" value="ture" />
<option key="Custom keyboard layout" value="" />


このままではキーボードのレイアウトが自動選択状態になっているので,明示的に「日本語」としてあげます.


<option key="Current keyboard" value="false" />
<option key="Custom keyboard layout" value="jp" />

このように編集したら保存して,エディタを閉じます.

そして,もう一度リモートコントロールしてみるとキーボードが日本語になります.
しかし,先ほど「アンダーバーが打てない」という問題は解決していません.

次はそれを解決します.

リモートコントロールででもいいのでサーバー側のUbuntu10.04のPC上でエディタを新規で開きます.

内容は次をコピペしてください.

keycode 123 = yen underscore
keycode 129 = Henkan_Mode Mode_switch


そして,「.Xmodmap」という名前で「/home/<< user_name >>の下に」保存してください

ドットから名前が始まっているので保存してあるかの確認は「ls -al」などを用いてください.

そしてUbuntu10.04を再起動します.

次に起動したときに
「.Xmodmapを適用するかどうか」のようなウィンドウが勝手に立ち上がってくると思うので適用の方にしてください.

これでアンダーバーも効きます.


WinShellで編集画面の背景を黒にする

自分はTexを使うときはWindowsでWinShellを使っています.
(できればUbuntuでやりたいのですが,日本語環境とかいろいろめんどくさそうなので,
  時間があるときにチャレンジしてみたいと思います.)

そこで気になるのは,WinShellの編集画面の背景が白いこと.

Ubuntuのターミナルに慣れているし,背景が黒いほうが目によさそうなので,背景を黒にしました.

やり方は

「オプション」->「全般」->「構文の強調表示」

と進んでいくと色を変えられる画面が出てきます.

そこでそれぞれを次の様に変えました.


2012/10/27

WindowsにUbuntu One 3.0.2b をインストールしても動かない

WindowsにUbuntu One をインストールしたが、インストールはできたみたいだけどエラーになってしまった。

エラーは次のようになっていた
---------------------------
Ubuntu One experienced an error
---------------------------
Sorry, an error has occurred and Ubuntu One needs to close.
---------------------------
Close   Hide Details...
---------------------------
CredentialsError
<twisted.python.failure.Failure <class
'twisted.spread.pb.PBConnectionLost'>>
前に別なPCにインストールしたときにはインストールできたのに・・・

Verを見ると「3.0.2b」となっている。

バージョンアップをして何かおかしくなったのだろうか?

エラーにはPyhtonが関係しているような記述があるのでPython2.7.2をインストールしてから再インストールしてみましたが変わりませんでした。

ググると

Bug #881831 “Ubuntu One Client UnicodeDecodeError when adding fo...” : Bugs : Ubuntu One Client
https://bugs.launchpad.net/ubuntuone-client/+bug/881831

バグレポされていますね

どうしてもインストールしたい場合は3.0ではなくて2.0系統のものをインストールすればいいと思います。
このサイトからインストールできます

Ubuntu One for Windows - ダウンロード
http://ubuntu-one-for-windows.softonic.jp/



2012/10/24

FreeNXを使ってWindowsからUbuntu10.04をリモートコントロール


今までXmingを使ってWindowsからUbuntuにリモートコントロールしていましたが,
今回はFreeNXを使ってWindowsからUbuntu10.04にリモートコントロールしたいと思います.

ちょっと使ってみた感じだと,FreeNXは接続するまでちょっと時間がかかるけど,
アプリケーションを立ち上げたまま画面を×ボタンで消して,
もう一度FreeNXのクライアントから接続するとアプリケーションが立ち上がったままになる「disconect」があるのが便利です.


まず,サーバー側のUbuntu10.04の設定

FreeNXのサーバー側のソフトを入れるのでまずPPAを追加します.

sudo add-apt-repository ppa:freenx-team
sudo apt-get update
sudo apt-get install freenx-server

ついでにクライアントソフトもほしい人は

sudo apt-get install freenx

ここで,FreeNXのバグなのか,setupする実行ファイルがないので別にとってきます.

wget https://bugs.launchpad.net/freenx-server/+bug/576359/+attachment/1378450/+files/nxsetup.tar.gz
tar xvf nxsetup.tar.gz
sudo mv nxsetup /usr/lib/nx
sudo /usr/lib/nx/nxsetup --install

ここで次のような画面出力が出ると思います.

------> It is recommended that you use the NoMachine key for
        easier setup. If you answer "y", FreeNX creates a custom
        KeyPair and expects you to setup your clients manually.
        "N" is default and uses the NoMachine key for installation.
 Do you want to use your own custom KeyPair? [y/N] y

 ここで「y」を押します.そうすると,

 Setting up /etc/nxserver ...done
Generating public/private dsa key pair.
Your identification has been saved in /etc/nxserver/users.id_dsa.
Your public key has been saved in /etc/nxserver/users.id_dsa.pub.
The key fingerprint is:
○○:○○:○○:○○:○○:○○:○○:○○:○○:○○:○○:○○:○○:○○:○○:○○ root@○○○○
The key's randomart image is:
+--[ DSA 1024]----+
|        ○○     |
|      ○○○○   |
|      ○○○○   |
|      ○○○○   |
  ○○○○○○○○|
| ○○○○○○○○|
| ○○○○○○○  |
|    ○○○○○○ |
|  ○○○○○○   |
|      ○○○○   |
+-----------------+
Setting up /var/lib/nxserver/db ...done
Setting up /var/log/nxserver.log ...done
Adding user "nx" to group "utmp" ...done
Setting up known_hosts and authorized_keys2 ...Unique key generated; your users must install
    /var/lib/nxserver/home/.ssh/client.id_dsa.key
on their computers.
done
Setting up permissions ...done
Setting up cups nxipp backend ...cp: `/usr/lib/cups/backend/ipp' と `/usr/lib/cups/backend/ipp' は同じファイルです

○のところはそれぞれ何か入ると思います.

これでUbuntu10.04のFreeNXサーバー側は大丈夫です.



次にクライアント側のWindowsの設定に行きます.

クライアント側はほとんど下のサイト通りですが,Winsows用のクライアントソフトのインストーラーのダウンロード方法がちょっとわかりづらかったので書いておきます.

NX Client をインストールする方法 ≪ SEECK.JP サポート
http://kb.seeck.jp/archives/4258
NX Client をセットアップする方法 ≪ SEECK.JP サポート
http://kb.seeck.jp/archives/4266

ダウンロードはNoMachineのHPに行きます.
NoMachine NX - Download the Virtual Desktop and Remote Access Software
http://www.nomachine.com/download.php

そしてここをクリック.


その次にここをクリックしてインストーラーをダウンロードしてきます.


あとは,さっきのサイトに書いている通りです.


しかし,実際にリモートコントロールしてみると次のような問題が出てきます(たぶん)

キーボードがきちんと効かない(日本語のキーボードじゃなくなっている)
アンダーバー(_)が効かない

これらの問題を解決するのは次の記事にします.

/***************************************************************************
この記事の次の記事です


○○○○に怖いものなんてない!!: FreeNXを使ったときのキーボードがおかしいのを直す
http://kowaimononantenai.blogspot.jp/2012/10/freenx.html


***************************************************************************/

2012/10/16

VC++2010でGLUTのインストール

今回はVC++2010でGLUTを使えるようにします.

OSはWindows7 64bit です.

まず,下のサイトからWindows用としてコンパイルされてあるGLUTをダウンロードします.


ダウンロードするのは現段階では「 glut-3.7.6-bin.zip 」です.

Nate Robins - OpenGL - GLUT for Win32
http://user.xmission.com/~nate/glut.html

解凍して,特定のフォルダに入れます.

  • glut.h

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl

(他のサイトでは C:\Program Files (x86)\Microsoft Visual Studio 10.0 ・・・・ というようなところにおいているところもありますが,どちらでも動くのでどちらかに統一してください)

  • glut32.lib

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib

(他のサイトでは C:\Program Files (x86)\Microsoft Visual Studio 10.0 ・・・・ というようなところにおいているところもありますが,どちらでも動くのでどちらかに統一してください)
glut32.dll
C:\Windows\system
C:\Windows\SysWOW64
#2013/11/17
#訂正しました。

これで,サンプルとして
#include "gl/glut.h"
をインクルードしているサンプルをコンパイルして動作確認をしてください

2012/10/14

Chrome,ChromiumをVimのように使うためのVichrome

自分は初心者Vimユーザーなのですが、ブラウザをVimのように操作できるChrome,Chromiumの拡張「Vichrome」があります。

https://chrome.google.com/webstore/detail/vichrome/gghkfhpblkcmlkmpcpgaajbbiikbhpdi

ほんとに「j」「k」で上下に動きます。

ブラウザ独自のキー配置もたくさんあるようです。

キーは次をみればわかりますかね


Vichrome Home · k2nr/ViChrome Wiki · GitHub
https://github.com/k2nr/ViChrome/wiki/Vichrome-Home

加えて拡張のオプションでもキーを見れます。

2012/10/13

Ubuntuで「Otixo」を利用して「Google Drive」を使う

前の記事でUbuntu12.04でGoogle Driveを使うことができたのですが、
○○○○に怖いものなんてない!!: Ubuntuで「Insync」を利用してGoogle Driveを使う

自分はUbuntuは12.04だけでなくて、もう少しでサポートが切れてしまいますが、Ubuntu10.04も使っています。
しかし、InsyncはUbuntu12.04とLinux Mint13しか対応していないです。

そこで、Ubuntu10.04は「Otixo」を使ってGoogle Driveにアクセスしたいと思います。

これは、Dropboxなどのようにローカルにあるフォルダを同期するのではなく、WebDavを利用してマウントするような形になります。

まあこれも使い方は次のサイトを参考にしました。
カオスとフラクタル: オンラインストレージについて

このサイトが紹介している次のWebDavの手動マウント方法はきちんと出来ました。
Mount Your Cloud Services in Ubuntu with OTIXO | Liberian Geek

しかし、こっちの自動マウントの方はなぜかうまく行きませんでした。
(利用したのがUbuntu11.10とあったので試しにUbuntu12.04でも試したのですが、うまく行きませんでした。)
Automatically Mount Cloud Services in Ubuntu 11.10 using OTIXO Cloud Service | Liberian Geek

当分は必要なときに手動マウントになりそうです。

Ubuntuで「Insync」を利用してGoogle Driveを使う

オンラインストレージは今も熱いですが、1つだけネックなことは

「WindowsとLinuxの両方で使いやすいのが少ない」

という事です。この条件をクリアしているのが、「Dropbox」と一応「Ubuntu One」くらいしかありません。
(Ubuntu OneはWindows用のクライアントソフトに対しての同期が不安定なので使っていないですが)

「Dropbox」は使い勝手が最高に良いのですが、やはり容量が少ないですね。

そこで、「Insync」というソフトを使って正式なLinuxのクライアントソフトがない「Google Drive」をUbuntu12.04で使います。


Insync - Your Google Docs backup and sync tool
https://www.insynchq.com/

インストール方法はこのサイトを参考にしました。

InsyncでGoogle Driveを使い倒す « LiberOS | Viva! Ubuntu!!
http://viva-ubuntu.com/cloud_web/insync.html

Linux版はbeta版という事でちょっと心配ですが、一応現時点では同期もきちんとできています。

ちょっとこれをつかってみて今後使っていくかを決めようかと思います。

2012/10/12

C++の「auto型」について

C++に「auto型」というのがあるらしいです.

調べてみると結構面白そうなもので,コンパイル時に自動で型を推測して適切な型に変換してくれるというものです.

まあ,言葉だけだとあれなので

#include <vector>
#include <iostream>

using namespace std;

int main ()
{
    auto num1 = 10;
    auto num2 = 20;

    auto ans = num1 + num2;

    std::cout << "ans =  " << ans << std::endl;

    getchar();

return 0;
}

とすると,「num1」と「num2」が整数を入れているので「int」と判断され,
「ans」が整数を足しているので「int」と判断されます.

なんか,Pythonみたいな動的言語っぽくて面白いですね.
でも,コンパイル時に型を決定しているっぽいので動的言語とはいろいろ違いますが,

上の例だとメリットが良くわからないのでメリットがもうちょっとわかるやつを次にやります.

まず,「auto」を使わないでやるとこのように書きますが,

#include <vector>
#include <iostream>

using namespace std;

int main ()
{
    vector array;

    for( int i = 0; i < 10; ++i ){
        array.push_back( i );
    }

    for ( vector<int>::iterator it = array.begin(); it != array.end(); it++){
        cout << *it << endl;
    }

    getchar();

return 0;
}

これが,「auto」を使うとこのようになます.

#include <vector>
#include <iostream>

using namespace std;

int main ()
{
    vector array;

    for( int i = 0; i < 10; ++i ){
        array.push_back( i );
    }

    for ( auto it = array.begin(); it != array.end(); it++){
        cout << *it << endl;
    }

    getchar();

return 0;
}

要するにイテレーターのところをきちんと書くんじゃなくて「auto」で代用できるということです.


いいところもあると思いますが,入れる型が違うなどのエラーが出てきたらめんどくさそうですね.

このサイトにいろいろ書いてあります.


C++0xのautoキーワードによる型推論 - ぬいぐるみライフ(仮)
http://d.hatena.ne.jp/mickey24/20110104/1294152403

2012/10/11

C++のコンストラクタにある「:(コロン)」について

C++のコンストラクタを書くところに「:」がついているものがある.

たとえばこれ

class testclass
{
private:
    int num_int;
    double num_dou;
 
public:
    testclass()
        :num_int( 0 )
        ,num_dou( 1.2 )
    {
    }
}

これはコンストラクタが呼ばれたときにメンバ変数を「( )」の中の値で初期化しているらしい.
つまり,コンストラクタが呼ばれたときは「num_int」は「0」となり,「num_dou」は「1.2」となる.

でも,これは次と同じように見える.

class testclass
{
private:
    int num_int;
    double num_dou;
 
public:
    testclass()
    {
        num_int = 0 
        num_dou = 1.2
    }
}

しかし,この2つの違いは,

上はメンバ変数をそれぞれの値で初期化していること.

下はメンバ変数に値を入れていること.

という違いがあるらしい.

参考にしたサイト

コンストラクタで書かれるコロン「:」って何?|C++ フリーでぷろぐらみんぐ
http://ameblo.jp/nana-2007-july/entry-10037680575.html

コンストラクタでは、代入よりも初期化を使おう 12項 - Higepon’s blog - Mona OS and Mosh
http://d.hatena.ne.jp/higepon/20051107/1131335521


2012/10/10

C++の"const"について

C++でよくみる"const"ですが,
これは普通の変数につけるとその変数が定数になって値を変更できなくなったり,
関数の引数につけるとその関数内でその引数の値を変更しないと示すことができたりといろいろな使い方がありますが,

大規模なプログラムなどを作る際は大事になってくるんだろうなと思いながら,あまり使わないときも多いです.

下のサイトが"const"がうまくまとまっているので忘れたときは参考にするといいです.

C++の基礎 : const 修飾子
http://www.s-cradle.com/developer/sophiaframework/tutorial/Cpp/const.html
これを見つけるに至った経緯は,次のようなものを見つけたからです.
class test
{
private:
    int num;

public:
    int ans() const{
        return num;
    }
}

はじめこれを見たときはよくわからなかったのですが,
これは「constメンバ関数」というらしく,
この関数はメンバ変数の値を変更しないよ!!
ということを示しているようです.


参考にしたサイト

C++編(言語解説) 第20章 constメンバ
http://www.geocities.jp/ky_webid/cpp/language/020.html

3章:C++の新しい文法
http://www5c.biglobe.ne.jp/~ecb/cpp/03_05.html

C++編(標準ライブラリ) 第2章 vector
http://www.geocities.jp/ky_webid/cpp/library/002.html




OutputDebugStringが曖昧な件

あまり使わないが、「OutputDebugString」という関数がある。

「std::cout」のように文字を出すものだが、標準出力ではなく、デバッガに出力している。

普通は次のように使う。

OutputDebugString( "abc" ); 

そして、別にこれと似たものが2つある。

OutputDebugStringW( L"abc" ); 

これもデバッガに文字列を出力するが、
違いは引数の文字列が「Unicode」でなければいけないということである。
ここでは、普通の文字列の前に「L」を置き、文字列をUnicodeにしている。

OutputDebugStringA( "abc" ); 

また、これもデバッガに文字列を出力するが、
こっちは引数の文字列は「SJIS」になる。


では、「OutputDebugString」とは何かというと、
ただ、文字コード別にさっきのどちらかにdefineされているだけらしい。

文字コードが「Unicode」なら「OutputDebugStringW」に、
「SJIS」なら「OutputDebugStringA」にというように。

まあ、書きなおせばいいのだが、たくさんあるときなどは次を追加するといい。

#ifdef UNICODE
#define OutputDebugString  OutputDebugStringW
#else
#define OutputDebugString  OutputDebugStringA
#endif

参考にしたもの
#pragma twice 206 Version 11.06 Unicode

2012/10/09

GitHubからダウンロードしたプログラムをVC++2010でコンパイル

誰かが作ったプログラムをGitHubからダウンロードしてくることがありますが、
それをVC++のプロジェクトに直接追加してコンパイルするとエラーが大量に出てきました。

しかも、エラーの箇所を探してみるとエラー行とエラーがあっていないような箇所が多くありました。

後でわかったことですが、プログラムは間違っていませんでした。


結果を言うと、プログラムの文字コードが問題でした。
GitHubからダウンロードしたものは全てかどうかはわかりませんが、今回使ったものはプログラムの文字コードが「UTF-8」でした。
(今思えば、GitはLinuxのソフトなのでその関係もあるかもしれません)

そして、VC++はWindowsなので文字コードは「SJIS」か「Unicode」を選んだほうがいいので、そこで問題が生じているのでした。


解決方法は、
今回は文字コード変換ソフトを利用しました。


文字コード判定&変換ツール.NETの詳細情報 : Vector ソフトを探す!
http://www.vector.co.jp/soft/winnt/util/se476748.html
あまり吟味せずソフトを選びましたが、このソフトは使い方を調べなくても直感的に使えたのでいいソフトだと思います。

このソフトで「UTF-8」から「SJIS」に変換してからVC++のプロジェクトに追加したあとコンパイルするとエラーが起きませんでした。


今までもGitHubからプログラムを頂いてコンパイルする機会はあったと思うのですが、
このようになったのは、初めてでした。

判断が難しいですが、GitHubからダウンロードするときは注意したいと思います。


2012/10/08

STM32F4-Discoveryでサンプルプログラムの実行

前の記事で開発環境を整えましたが,

○○○○に怖いものなんてない!!: STM32F4-Discoveryの開発環境構築 (EWARM)
http://kowaimononantenai.blogspot.jp/2012/10/stm32f4-discovery-ewarm.html

今度は実際にプログラムを書き込みたいと思います.

まずサンプルプログラムは下のサイトの画像の赤いところをクリックするとダウンロードできます.

STM32F4DISCOVERY - STMicroelectronics
http://www.st.com/jp/evalboard/product/252419.jsp#FIRMWARE


また,他のPDFなども参考になるのが多いのでこのサイトをブックマークなどしておくといいと思います.
解凍して,まずは,ボード上のLEDが光るサンプルを
STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\IO_Toggle\EWARM\IO_Toggle.eww
をダブルクリックするとEWARMが起動すると思います.

「プロジェクト」 -> 「すべてを再ビルド」をしてエラーがないことを確認し,

「プロジェクト」 -> 「ダウンロードしてデバック」でデバックします.

「デバック」 -> 「実行」でデバックを実行します.

工場出荷状態で入っているサンプルもボード上のLEDを点滅させるものなので,わかりにくいですが,LEDが光ります.

他のサンプルとしては,
STM32F4-Discovery_FW_V1.1.0\Project\Audio_playback_and_record\EWARM\Audio_playback_and_record.eww
を同じようにデバックして,ボード上のDCジャックに適当なイヤホンなどを差し込むとサンプルの音が繰り返し聞こえます.

こんなこともできるんですね.

どんどん遊んでいきたいと思います.

参考にしたサイト

【コラム】セカンド・オピニオン (414) MCUで遊ぼう Part2 (5) | パソコン | マイナビニュース
http://news.mynavi.jp/column/sopinion/414/index.html



STM32F4-Discoveryの開発環境構築 (EWARM)

ここの続きですが,今度は開発環境を構築します.


○○○○に怖いものなんてない!!: STM32F4-Discoveryを買いました.
http://kowaimononantenai.blogspot.jp/2012/10/stm32f4-discovery.html

ここで問題なのが,開発環境がいろいろあり,それぞれに一長一短があるらしいです.


  • 「MDK-ARM」

ARM純正の開発環境です.
ARM純正なので,今後STMシリーズではないARMを使う機会があっても同じ開発環境でも高い確率でつかえるとおもいます.
無料で使うとなると評価版になってしまうので,ビルドした後のファイルの容量が32Kバイト以上になるプログラムは使うことができません.

  • 「EWARM」

IAR Systems社が作った開発環境です.
この開発環境の売りはなんと言っても「日本語で使える」ということです.
また,この開発環境も「MDK-ARM」よりは確率が低いとしても,他のシリーズのARMでも使えるようです.
これも,無料で使うとなると評価版になってしまうので,ビルドした後のファイルの容量が32Kバイト以上になるプログラムは使うことができません.

  • 「TrueSTUDIO」

STM社が作った開発環境です.
この開発環境は無料でも「コードサイズの制限がない」というメリットがあります.
STM社が作ったものなので,STMシリーズ以外のARMでは使えないと思います.

自分的には他のARMでも使いたいので「TrueSTUDIO」以外,
また,日本語の使いやすさをとって
「EWARM」
にしました.

まず,IAR社のHPでDownloadのところにいきます.


Download evaluation software for embedded systems - IAR
http://www.iar.com/jp/Service-center/Downloads/


下の写真の様にプロセッサは「ARM」の「コードサイズ限定版」をクリックしてください.


初めてダウンロードするときはユーザ登録が必要になるのでユーザ登録をしてください.
登録すると「ライセンスNo」と「ライセンスキー」が表示されるので,それらをテキストエディタにコピーをして保存しておいてください.ダウンロードするときに使います.

ライセンスNoやライセンスキーが表示されたウィンドウの上の方にある「ソフトウェアダウンロード」の日本語版をクリックしてインストーラーをダウンロードしてください.

インストーラーを起動すると次のようなものが出てくるので赤いところをクリック.


すると,インストールが始まります.
やってみると結構時間がかかります.

インストールが終わったら,「リリースノートを読む」や「EWARMを起動する」のチェックマークははずしてください.



これで終わりですが,次はデバッガ用の「ST-Link」用のドライバを入れます.

EWARMをインストールするとドライバのインストーラも一緒にダウンロードされているので,デフォルトのインストール先の場合は
C:\Program Files (x86)\IAR Systems\Embedded Workbench 6.4 Kickstart\arm\drivers\ST-Link\ST-Link_V2_USBdriver.exe
です.
これをクリックするとインストールが始まります.
インストールが終わったらSTM32F4をPCにさします.

自分はここで自動的にドライバが当たるのかなと思いましたが,デバイスマネージャーを見てみるとあたっていません.
ここで,STM32F4の不明のドライバのところで「ドライバの再検索」をやり,ドライバを当てました.

次は,サンプルプログラムをダウンロードして実際に実行してみたいと思います.

#############################################################################
追記
この記事の続き

○○○○に怖いものなんてない!!: STM32F4-Discoveryでサンプルプログラムの実行
http://kowaimononantenai.blogspot.jp/2012/10/stm32f4-discovery_8.html


#############################################################################

STM32F4-Discoveryを買いました.

ちょっと前に「STM32F4-Discovery」を買いました.
買っただけで箱から出してもいなかったのですが,時間ができたのでちょっとやってみました.

まず,「STM32F4-Discovery」はこれです.


開けるとこんな感じです.

スペックは次のサイトで確認してください.


STM32F4DISCOVERY - STMicroelectronics
http://www.st.com/jp/evalboard/product/252419.jsp



STM32F4-DISCOVERY: マイコン関連 秋月電子通商 電子部品 ネット通販
http://akizukidenshi.com/catalog/g/gM-05313/

いろいろついているので,多くて書きませんが,これで「1700円」はやっぱりすごいです.

早速,開発環境のインストールといきたいところですが,どうやらこれには,工場出荷時点でサンプルが書き込まれているらしいです.

なので,初期不良の確認のためにも,まずすでに書き込まれているサンプルをやりましょう.

といってもただ,これとPCをUSBでつなげるだけで自動的に実行されます.

サンプルはボード上のLEDを規則的に光らせるものらしいです.


自分の環境ではサンプルは動きましたが,PCのほうはこれのドライバの取得を失敗しているようです.

しかし,今はこのままでも大丈夫らしいです.


次は開発環境(EWARM)の構築について書きます.

###############################################################################
追記
続きの記事

○○○○に怖いものなんてない!!: STM32F4-Discoveryの開発環境構築 (EWARM)
http://kowaimononantenai.blogspot.jp/2012/10/stm32f4-discovery-ewarm.html


###############################################################################

2012/09/29

UbuntuでChrome、Chromiumを起動するとログアウトしてしまう件

ある日突然、Ubuntu12.04でChrome、Chromiumを起動すると強制的にログアウトしてしまうようになってしまった。

Chrome、Chromiumを再インストールしても効果なし。

ログアウトしてしまうので、エラーのlogを見れないので何が悪いかわからない。

しかし、ログアウトしてしまうのでX Window関係のエラーなのだろう。

結果的に言うと、
グラボをNVIDIAを使っているので公式HPから取ってきたドライバを当てているので、そのドライバを当てなおしたら治った。


2012/09/21

C#からC++の関数にDLLを用いてアクセス

C++にはC++のいいところが、C#にはC#のいいところがありますが、
C++とC#を相互に行ったり来たりできたないかなと思って調べてみるといろいろできるようです。

今回はC#を用いてC++の関数にアクセスすることに注目しました。(暇なときに逆パターンもやってみる予定です。)

C#でC++を利用する場合には主に次の2通りがあるそうです。

●C++でDLLを作成しC#でアクセスする方法

●C++/CLIを用いてアクセスする方法

今回はDLLを使ってやりたいと思います。(C++/CLIを使ったほうがいろいろできるそうですが、これもまた次の機会に)

わかりやすいサイトがあったので、ほとんどここの写しですが、違うところだけ説明したいと思います。

Mr.Exception C#でネイティブDLLを直接呼び出し(配列を渡す)
http://xptn.dtiblog.com/blog-entry-109.html



まず、今回はC#もC++もVS2010を使ったので、C++でDLLを作るようにするには次のサイトを参考にしました。

チュートリアル : ダイナミック リンク ライブラリ (DLL: Dynamic Link Library) の作成と使用
http://msdn.microsoft.com/ja-jp/library/ms235636%28v=vs.80%29.aspx


また、下の配列を渡すサンプルでは、C#のほうをコンパイルすると次のようなエラーが出ます。

アンセーフ コードは /unsafe でコンパイルした場合のみ有効です。
このエラーはコンパイラにオプションを付け加えると行けるそうなので下のサイトを参考にオプションを付けました。

/unsafe (unsafe モードの有効化)
http://msdn.microsoft.com/ja-jp/library/vstudio/ct597kb0.aspx

すると、今度はコンパイルは通りますが、デバックをすると次のような忠告がでて、デバックできなくなります。
PInvokeStackImbalance が検出されました
そして、これは.NETのバージョンが新しくなったことででてくるらしいものなのですが、
これも下のサイトを参考にして1行書き換えることによって解決しました。

「PInvokeStackImbalance が検出されました」って何だ? - あの中の蛙
http://d.hatena.ne.jp/inazakira/20110107/1294367910

Tips/Other/MeCab - Sheltie書庫室 - C#のいろいろ
http://wiki.sh4e.net/?Tips%2FOther%2FMeCab

このように書き換えました。

//[DllImport("sample.dll")]

[DllImport("sample.dll", CallingConvention = CallingConvention.Cdecl)]

これで、うまくいきました。

配列までできたらたぶん十分でしょう。

つぎはC#をコンソールじゃなくてクリックするボタンとかをつかって連携させてできるかどうかやってみようかな。










2012/09/20

vectorについて

ちょっとOpenCVでvectorを扱う機会があり、
いままでも避けて通っていたvectorの全体像だけでもつかもうと、少し調べました。

OpenCVでvectorを使うプログラムをググるとvectorでも
"cv::vector"を使っているものと、"std::vector"を使っているものを見かけます。

そして、STLのvectorはググるとたくさん情報がありますが、CVのvectorの情報が全然ありません。

「STLのvectorとCVのvectorは何が違うんだ!!!」

とつい言いたくなってしまします。

結局、いろいろ見ていたところ、メンバ関数も同じようなものもあるし....

だいたい同じ様なものなのかなと思っています。

STLのvectorはここがわかりやすいです。(vectorに限らずC++についてわかりやすく書いてあります。)

C++編(標準ライブラリ) 第2章 vector
http://www.geocities.jp/ky_webid/cpp/library/002.html

2012/09/17

VirtualBox Guest Additionsをあてるときの注意点

VirtualBox Guest Additions を仮想Ubuntuに当てるときにちょっとはまってしまったのでメモしときます。

結果としては、"Lubuntu"の状態でVirtualBox Guest Additionsを当てることができませんでした。(多分デスクトップマネージャがlxdeだとなるんだと思います)


仮想OSのUbuntuを"lubuntu化"させて操作応答をよくさせようとしましたが、lubuntuの状態でVirtualBox Guest Additionsを実行しようとすると次のようにエラーが出ます。


ここで終了コード「NS_ERROR_FAILURE (0x80004005)」でググると

ユーザーを"vboxuser"のグループに追加する

"/etc/init.d/vboxdrv setup"を実行する

などをするといいと書かれています。
(まず、自分のやつにはvboxdrxはなくてvirtualboxがあった。しかし、setupができないので名前だけ変わったわけではないみたいです。)

しかし、デスクトップマネージャを"Unity"に変えて実行するとエラーは起きなく、きちんと実行できていました。


VirtualBox Guest Additionsをやるときは"Unity"でなくても重量系の高性能なデスクトップマネージャを使うといいと思います。
参考にしたサイト
[ubuntu] Virtual box error NS_ERROR_FAILURE (0x80004005) - Ubuntu Forums
Bug #811097 “package virtualbox-ose 4.0.4-dfsg-1ubuntu4 failed t...” : Bugs : “virtualbox-ose” package : Ubuntu

2012/09/14

Vimで日本語を使いやすくする。

vimで日本語を書くときに日本語入力設定(IMEで日本語を入力できるようにする)のままモードの切り替えができなかったり、モードを挿入モードにすると日本語入力にいちいち変えないといけない。

そこで、挿入モードに変えた時に自動的に日本語設定になって、コマンドモードに変えた時に自動的に日本語設定をOFFにできるらしいのでやってみた。

それを「日本語入力固定モード」と「vi協調モード」というらしい。

基本的には(というかほぼ全部)このサイトのとおりです。

Vim/GVimで「日本語入力固定モード」を使用する - fudist
https://sites.google.com/site/fudist/Home/vim-nihongo-ban/vim-japanese/ime-control

ここでは、このサイトを参考に自分のしたことを書いていきます。

まず、下のサイトから「日本語入力固定モード」に必要なファイルをダウンロードします。

fuenor/im_control.vim · GitHub
https://github.com/fuenor/im_control.vim

解凍して、中のpluginとdocを"~/.vim/"にコピーします。

そして、次を"~.vimrc"にエディタを使って追加します。

"ステータスバーを常に表示
set laststatus=2 

" 「日本語入力固定モード」切替キー
inoremap   =IMState('FixMode')
" PythonによるIBus制御指定
let IM_CtrlIBusPython = 1
" 押下後のIM切替開始までの反応が遅い場合は設定する
"set timeout timeoutlen=3000 ttimeoutlen=100
" 「日本語入力固定モード」がオンの場合、ステータス行にメッセージ表示
set statusline+=%{IMStatus('[日本語固定]')}
" im_control.vimがない環境でもエラーを出さないためのダミー関数
function! IMStatus(...)
  return ''
endfunction

自分の環境は「IM切り替え開始までの反応が遅い場合は設定する」を設定しなくても素早く切り替わっていました。

ここで、上の参考サイトとちょっと違うところは、一番上の「ステータスバーを常に表示」を書かないとメッセージを表示しない事でした。


これを書きこむと設定おkです。


使い方は

●「日本語入力固定モード」  「Ctrl + j」

 "ctrl + j"を押すと、一度"Esc"を押してコマンドモードになっても挿入モードになったら自動的に日 本語設定ONになる。

 "ctrl + j"を押すと、下に戻る。


●「vi協調モード」
 日本語設定ONのまま"Esc"を押してもきちんとコマンドモードに変わる

参考にしたサイト

sh1.2 pyblosxom : vim設定
http://sh1.2-d.jp/b/2007-04-18-02-27.html

2012/09/12

GOM Player で動画の1シーンを静止画キャプチャ

GOM Playerを良く使っているのですが,よく,
「動画のこのシーンを静止画にしたい!!」
と思うことがよくあり,その度のググって調べていますが,
もうググんなくてもいいようにメモ

「Ctrl  +  e」

です.

ここを参考に

便利機能 > 静止画キャプチャー | GOM PLAYER 【ゴムプレイヤー】
http://www.gomplayer.jp/option/function_videocap.html

2012/09/08

ラベルに文字や画像を入力(Word2007)

前回にラベルの印刷をやりました。

○○○○に怖いものなんてない!!: Wordでラベル作成
http://kowaimononantenai.blogspot.jp/2012/09/word.html
しかし、ラベルの別な入力方法(たぶんこっちの方が一般的)、また、同じように画像も貼り付けられます。

まず、ラベルの設定は前回と一緒です。

文字の入力方法は、まず、ラベルの点々が引かれてあるところの一番左上に書きたいことを書きます。

そして、画像に映っている「複数ラベルに反映」を押すだけです。

画像もまず左上に好きなように貼り付けて、「複数ラベルに反映」です。

「複数ラベルに反映」のボタンを押せないときは、ここを参考にするといいです。

気づいたこと共有: Word2007 差し込み印刷「複数ラベルに反映」が押せないときには
http://oneness358.blogspot.jp/2012/01/word2007.html

参考にしたサイト

さまざまなラベルを含むシートを作成および印刷する - Word - Office.com
http://office.microsoft.com/ja-jp/word-help/HA010120638.aspx
ラベル用紙に印刷で「複数ラベルに反映」が効かない - もみじマークの手帳
http://blog.goo.ne.jp/novembr21011/e/4b1856c7aa25d9ab3bb07d95c312742e





ChromiumでShockwave Flashのクラッシュ

Chromiumで動画を見ていると急に
"次のプラグインがクラッシュしました:Shockwave Flash"
となるようになってしまった。

ググると次のような記事が多くでる。
 Google Chromeで Shockwave Flashがクラッシュする | POPOLOG
http://www.popolog.net/articles/2011/11/chrome_shockwave_clash.html

しかし、"about:plugins"を見てもFlashは1つしかない....

キャッシュをクリアしてもなるので、まず端末から起動し、ログを見ると
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead
(exe:8773): Gdk-WARNING **: XID collision, trouble ahead[xcb] Unknown sequence number while processing queue[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called[xcb] Aborting, sorry about that.romium-browser/chromium-browser --type=plugin --plugin-path=/usr/lib/adobe-flashplugin/libflashplayer.so --lang=ja ●●●●●●●●●●●●●●●●●●●●●●●●に失敗しました。
"Gdk-WARNING"というワーニングがまずたくさんでる。

ググると、グラボを差していてプロプライエタリなドライバを使っているときに起きるらしい。


Trouble ahead! - Page 3 - Ubuntu Forumshttp://ubuntuforums.org/showthread.php?t=1186036&page=3


自分はNVidiaのグラボを使っている。
んー 何かとLinuxとNvidiaのプロプライエタリドライバとの相性が所々で問題になるな。
これはリーナスさんがNvidiaを嫌う理由もうなずける。

オープンソースのグラボドライバもあるが、まだ、プロプライエタリのほうが性能がいいのが現状。
(ATIのほうがオープンソースが進んでいるし.... 今度買うときはATIにしようかな.... )

話は戻ってエラーのところに"adobe-flashplugin"とあったのでこれはabodeflashの問題らしい。

じゃあまず、"adobe-flashplugin"を消して、"flashplugin-installer"をインストール。

しかし、エラーは変わらず。


しょうがないので妥協策。
どこかのサイトで"chromium"じゃなくて"chrome"ならできるという事なので、いつも動画は別ウィンドウでやっていたので、別のブラウザを使うという事に落ち着きました。

しょうがない。




mp4とm4vの違い

先程、記事にも書いたとおり"handbrake"を使っています。

○○○○に怖いものなんてない!!: Ubuntuでhandbrakeを使う
http://kowaimononantenai.blogspot.jp/2012/09/ubuntuhandbrake.html
今まで使っていましたが、いろいろ設定すると動画の拡張子が"mp4"で保存されたり、"m4v"で保存されたりします。

今まではあまり気にせずに、"m4v"で保存していましたが、やはり、
「mp4とm4vは何が違うんだ」
というものは持っていました。

ググってみるといろいろな情報が出てきますが、いまいち腑に落ちない説明がいろいろありました。

例えば、


圧縮コーデックが"mp4"はMPEG-4で、"m4v"はH.264
  ->> windowsのhandbrakeで圧縮コーデックをH.264にしても拡張子が"m4v"になるけどなんで?

"m4v"は音声なし動画だけだけど、"mp4"は音声+動画
  ->> handbrakeで"m4v"で出力したファイルを再生すると音声も流れるのはなんで?


わかりずらいなと思いながらそのままにしておいていました。

すると、先ほど紹介した記事に取り組んでいるとき、Ubuntu版のhandbrakeの設定画面で赤い枠のところを見ると
「"m4v"はipodやitunes用」と書いています。

これを手がかりに色々探すと下のサイトを見つけました。

MP4とM4Vの違いについて
http://win-to-mac.blogspot.jp/2012/07/mp4m4v.html
うん。 これなら納得できる。(handbrakeはLinuxやMacに近いソフトだし)

また、"mp4"と"m4v"はほぼ同じらしく、ファイル名の拡張子"m4v"を"mp4"と変えてあげればmp4として再生できるらしいです。

あー すっきりした。
"m4v"はappleの独自規格だったのか、今度からはmp4に統一しよう。


Ubuntuでhandbrakeを使う

DVDなどのデータ抽出などにWindowsで"handbrake"をよく使っていますが、

"handbrake"はもともとLinuxやMac用のソフトという事がわかったので、Ubuntuでも同様な操作でデータ抽出できると効率が良いと思いました。

まずhandbrakeは標準のapt-getでは入れることができないのでPPAを追加です。

sudo add-apt-repository ppa:stebbins/handbrake-snapshots
sudo apt-get update
sudo apt-get install handbrake-cli handbrake-gtk

これで入りました。


次にちょっと設定を変更します。handbrakeを立ち上げて
"File" -> "Preferences"
すると下のようになるので、赤いところのチェックを外します。
これはMac製品を使っていない人がするといいです。


加えて、自分は"Presets"は"High Profile"にしています。

あとは使い方はWindows版と同じです。

参考にしたサイト

気まぐれメモ: [Linux] Ubuntu 12.04 LTS (Precise Pangolin) 新規インストール
http://memo-fuzzypain.blogspot.jp/2012/05/linux-ubuntu-1204-lts-precise-pangolin.html

No Study: Ubuntuでスマートフォン向けにH.264の動画を作成する方法[HandBrake]
http://new-nostudy.blogspot.jp/2012/06/ubuntuh264handbrake.html

Ubuntu 12.04 LTS | sound of rudeness
http://soryumi.liliso.com/archives/1887




2012/09/06

RAMディスクを用いてChromeのキャッシュをRAMに保存

先ほどの記事ではUbuntuでChromiumのキャッシュをRAMに移動させました。

○○○○に怖いものなんてない!!: RAMディスクを用いてChromiumのキャッシュをRAMに保存
http://kowaimononantenai.blogspot.jp/2012/09/ramchromiumram.html

今度はWindows7でChromeのキャッシュをRAMに移動させました。

OSが変わってもやることは同じですが、手段が違い、Windowsはちょっとめんどくさいですが、
やはりいいソフトがあります。

まず、RAMディスクを作るために"Dataram RAMDisk"というソフトを使います。

RAMDisk - Software - Server Memory Products & Services - Dataram
http://memory.dataram.com/products-and-services/software/ramdisk

下の"Download it"からダウンロードをしてください。
ダウンロードは普通に"yes"を押していればいいです。

"Dataram RAMDisk"を起動すると下のような画面が出てくるので
● FAT 32 partition
● Disk Sizeは1024MB (ここはお好きに、4092MB以下ならいいです)
● Windows boot sector

に設定して"Start RAMDisk"をクリック。

初めてするときは下のようにソフトをダウンロードさせられるので「インストール」をクリック


すると設定したサイズのものが新しいドライブとして認識される。

次に「コンピューター」から新しいドライブを右クリックして「フォーマット」。
下のようにフォーマット
● ファイルシステムはNTFS (絶対じゃないけど推奨)
● ボリュームラベルは「RAMDISK」 (ここはお好きに、わかりやすければよし)

このままだと、「ドライブ文字(CドライブでいうCという文字)」がPCのハードウェアを取り換えたりすると変わってしまうためドライブ文字が変わってしまうたびに設定をやり直さなければいけなくなってしまう。
よって、ドライブ文字の固定を行う。

「コンピューター」を右クリック、「管理」、「ディスクの管理」で作ったドライブを右クリック、
「ドライブ文字とパスの変更」
すると、下のようになる。
今は「E」に割り当てられているが、これを「R」(Ramdiskだからなんとなく)に設定。
「変更」をクリック

下のようになったら「E」を「R」に変える

これでドライブ文字を変更しました。


今度は、また、"Dataram RAMDisk"に戻り、
下のようなタブで
● Save Disk Image Now
  今までのRAMディスクにした変更をファイルに書き出す
● Stop RAMDisk をクリック
● Create TEMP directory をチェック
● Load Disk Image at Startup をチェック
● Save Disk Image on Shutdown をチェック
● Start RAMDisk をクリック

ここで、まるの1個目と5個目をするとシャットダウンした時にRAMディスクの状態をファイルに保存をする。しかし、速度がHDDで大雑把に100MB/sくらいとすると1GBだと10秒ほどかかってしまう。もっと大きいともっと時間がかかる。
それがいやだったらチェックをしないでシャットダウンのたびに消せばいい。


よし、これでシャットダウンしてもリセットされないRAMディスクができた。


最後にChromeのキャッシュを保存するファイルを設定する。
デフォルトは
C:\Users\(ユーザー名)\AppData\Local\Google\Chrome\User Data\Default\Cache
になっているのでこのファイルを退避させる。

また、RAMディスクのほうに"chrome_cache"というフォルダを作っておく

そしてコマンドプロンプトを管理者権限で起動して

mklink /d "C:\Users\(ユーザー名)\AppData\Local\Google\Chrome\User Data\Default\Cache" "R:\chrome_cache"

で、シンボリックリンクを作ってキャッシュを移動させる。

あとは、再起動。


あー、長かった。疲れた。

参考にしたサイト

windows7 で Google ChromeのキャッシュをRAMディスクに置く方法:ギタラちゃんぶろぐ:So-netブログ
http://guitara-chan.blog.so-net.ne.jp/2010-01-16

DATARAM RAMDiskの使い方 | BLOGRAM
http://blogram.net/2010/10/20/ramdisk/






Google Chrome Comic

先ほどの記事を書くために色々ググったときに発見したのですが、けっこう面白かったので紹介しておきます。

Google Chrome Comic
http://www.google.com/googlebooks/chrome/med_00.html

Chromeの内部の仕組みを漫画形式で日本語で説明してくれています。


いままで、システムモニターでプロセスを選択すると"chromium-browser"が何個もあってちょっと違和感を覚えていたのですが、これをみてすっきりしました。

タブ1つ1つ、また拡張1つ1つが1個のプロセスで動いていてマルチプロセスだったんですね。

参考にしたサイト

動作の遅くなったGoogle ChromeにChromeタスクマネージャーでメモリ最適化 - 適宜覚書はてな異本
http://d.hatena.ne.jp/dacs/20091206/1260085901

RAMディスクを用いてChromiumのキャッシュをRAMに保存

自分はChrome(Chromium)ユーザーですが、
軽さが売りのChromeなのに、最近重く感じることがあります。

そこで、今回はChromiumのキャッシュをHDDではなく、RAM(メモリ)に保存してキャッシュの読み込み速度を上げることによって高速化を目指したいと思います。

Chrome(Chromium)はFirefoxよりも設定がめんどくさそうですが、RAMディスクを使うとそんなに難しくなく出来ました。

やってみたのはUbuntu10.04(近いうちに12.04でもできるか試してみます。)
(2012/09/06 追記 Ubuntu12.04でもやって見ましたが、そのままで出来ました。)

Chromiumのバージョンは"18.0.1025.151"です。(Ubuntu12.04は"18.0.1025.168"で出来ました。)

まず、デフォルトのキャッシュは
~/.cache/chromium/Default
に保存されています。
サイズは

●●●@○○○:~/.cache/chromium/Default$ du -sh *
390M Cache
7.2M Media Cache

あまりキャッシュのリフレッシュはしないので400MBも溜まってました。
なので、新しいRAMディスクのサイズは余裕を持って1GBにしました。

まず、RAMディスクを作成します。
流れは
1.
RAMディスクとしてマウントするディレクトリを作成
cd /mnt
sudo mkdir chromium_cache
sudo chmod 777 chromium_cache

2.
RAMの一部分を作成したディレクトリにマウントさせるように"fstab"に記述
sudo vim /etc/fstab

#次を最後の行に追記
/dev/shm /mnt/chromium_cache tmpfs size=1024m 0 0
RAMディスクはデフォルトで"/dev/shm"に位置しているのでそこからtmpfsで1024M=約1Gを"/mnt/chromium_cache"にマウントさせるよう記述しています。

3.
"fstab"に記述しただけで即座に反映されるわけではないので設定を反映させます。
再起動すればいいのですが、このコマンドでもおkです。
sudo mount -a

"mount"コマンドのオプション"a"でfstabの記述通りにマウントしてくれます。
きちんと反映されているか確認
df

"/dev/shm"や"mnt/chromium_cache"などの記述が見れればおkです。


次にキャッシュを作成する場所を今作成した"chromium_cache"に移します。

cd ~/.cache/chromium
mv Default ~/     #今までのキャッシュの退避
ln -s /mnt/chromium_cache Default     #シンボリックリンク作成

これで、PCを再起動して"chromim"を起動するといいです。

今度はWindows7でもしてみます。

############################################################
2012/09/06 追記
Ubuntu12.04でもまるまる同じで出来ました。
############################################################





2012/09/04

Wordでラベル作成

Wordでラベルを作成して印刷する機会があったので方法をメモしておきます。
Word2010です。

まず、下のようにしてラベルの設定をします。
「差し込み文書」 -> 「差し込み印刷の開始」 -> 「ラベル」をクリック

すると、次のようになるので、買ってきたラベルに合わせて「ラベルの製造元」と「製造番号」を指定します。
今回は「A-ONE 72424」を買ったのですが、Wordのデータベースにはこの商品はありませんでした。
あまり生産されていない商品は登録されていないものもあるようです。

よって、そのような時は、「新しいラベル」を押して製品のデータを入力します。

すると、次のように、いろんなところのサイズを入力するウィンドウが出てくるので、頑張って入力します。サイズは買った製品のパッケージやHPなどを見るとわかります。

すると、文章を書くところに点線が出てくるので、
次は、ラベルに入力する文章を書きます。
次の「ラベル」をクリックします。

でてくるウィンドウの宛先のところに文章を書くと反映されます。
注意として、宛先に書いた後に「新規文書」を押してどのようにレイアウトされるか見てから印刷したほうがいいです。

2012/09/03

Office Web AppsのWordでラベル印刷

Skydriveには"Office Web Apps"というものがあって、昨日は制限されていますが、一応純正OfficeをWindowsからでもUbuntuからでも使えます。

全然関係無いですが、Skydriveの容量が25Gから7Gに減ったこと、また、一定期間は無料で25Gに戻せたことをSkydriveのUIが変わったあとに知りました......


話を戻しますが、
"Office Web Apps"は機能制限されていますが、一体何ができて何ができないのかをきちんとリリースノートなどを見ていないのでわからないのですが、
"Office Web Apps"の"Word"でラベル印刷はあまりしないほうがいいという記事です。

今回はこのような流れでラベル印刷をしました。

○"MS Office Word 2010"でラベル印刷データを作成。 MSのラベルのデータベースに無くて、自分で寸法を入力するやつ。
(作り方はあとで別記事にします。)

○できたデータをSkydirveにアップロード

○"Office Web Apps"の"Word"でデータを開き、印刷。


この流れでどのPCからでも印刷できるようにしたかったのですが、印刷したところ設定した寸法と違って印刷されてしまいました。
多分Skydriveに上げた時点でデータがおかしくなってしまったのだと思います。


2012/08/31

find コマンド ファイル検索

よく使っている定番の"find"コマンドですが、ちょっと調べてみると、オプションを利用することによってもっと使いやすくなることがわかりました。

特に覚えておきたいオプション

●-iname
大文字、小文字の区別をなくす
●-type
検索する対象の種類を指定
使いそうなのは
f   ファイル
d  ディレクトリ
l   リンク
●-print
検索にヒットしたものを表示
●-ls
検索にヒットしたものを詳しく表示
●-exec
ヒットしたものにコマンドを実行
コマンドを実行する対象の場所に"{}"をつける。
コマンドの最後に"\;"をつける。
●-ok
"-exec"オプションの確認を求めてくるver

検索の追加、否定

●-or
つないだ条件を"or"でつなぐ
●!
つないだ条件を"not"でつなぐ

少しずつ覚えていこう


ちなみにこれをググっている時に"locate"コマンドという"find"よりもっと高速に検索できるコマンドを見つけましたが、"find"コマンドが我慢できないほど遅いわけではないので、"find"コマンドを使っていくことにします。

我慢できなくなったら"locate"コマンドにしよう。

参考にしたサイト

めっちゃ便利やねん find コマンドのオプションまとめ | バシャログ。
http://c-brains.jp/blog/wsg/10/04/09-095214.php

UNIXの部屋 コマンド検索:find (*BSD/Linux)
http://x68000.q-e-d.net/~68user/unix/pickup?find

find の代わりに locate を使おう - Everyday Programmer
http://d.hatena.ne.jp/supermassiveblackhole/20100707/1278482221




nkf コマンド 文字コードの変換

先ほどVimでの文字コードを変換して再読み込みをしました。

○○○○に怖いものなんてない!!: Vimで文字コードを変換して再読み込み
http://kowaimononantenai.blogspot.jp/2012/08/vim.html
すると、次は「このファイルの文字コードをUTF-8にしたい」と思いました。

ググると、"nkf"コマンドというものがあるらしいです。
デフォルトでは入っていないのでapt-getで入れてから使います。

sudo apt-get install nkf

nkf -w old.txt 

オプションの"w"がUTF-8に変換するオプションです。
一応元の文字コードを指定する必要性があるわけではないそうですが、オプションで「どの文字コードから変換するのか」というのもつけるほうがいいという記事もありましたが、これはつけていません。
まず、上のコマンドを実行すると文字コードがUTF-8に変わった内容が標準出力にでてくるので、きちんと変換されているか確認します。

nkf -w old.txt > new.txt

その後このコマンドで標準出力をファイルに書き込めはおkです。

ついでに、"g"オプションを使うとそのファイルの文字コードがわかってVimで再読み込みするときに便利です。

nkf -g old.txt

Vimで文字コードを変換して再読み込み

.vimrcで自動的に文字コードを識別して表示するようにしていますが、
カスタマイズした".vimrc"がない環境で文字化けしてしまったときに1回だけ文字コードを変換して直したいということがあったのでメモしておきます。

文字コードはlinuxだとデフォルトはUTF-8だと思うので、それ以外の文字コードの時に使います。(Shift_JISやcp932など)

:e ++enc=(文字コード)

ここを参考に

viで日本語の文字コードを自動判別 - 玉虫色に染まれ!
http://d.hatena.ne.jp/over80/20080907/1220794834



vimで文字化けしているファイルをエンコードの指定で読み直す | データセンターの専用サーバ データセンターダイレクト ブログ
http://blog.dc-d.jp/?p=119

2012/08/30

.vimrcの設定

自分はVimユーザですが、また、デフォルトも全然使い切れていないので、あまり".vimrc"をいじってはいません。
しかし、別のPCで".vimrc"をカスタマイズしていないVimを使ったら使いにくかったので設定のバックアップやメモを兼ねて載せておきます。

 """""""""""""""""""""""""""
" 基本設定
""""""""""""""""""""""""""
" viとの互換性をとらない(vimの独自拡張機能を使う為)
set nocompatible
" 行番号を表示
set number
"文字コード自動判別
set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8

""""""""""""""""""""""""""""
" 表示設定
"""""""""""""""""""""""""""""
" 自動インデント
set autoindent

""""""""""""""""""""""""""""
"検索設定
"""""""""""""""""""""""""""
" 検索結果をハイライト
set hlsearch
" 検索の時に大文字小文字を区別しない
set ignorecase


ImgBurnでblu-rayにファイルを書き込む

サーバーのデータのスリム化のためにデータをblu-rayに焼いて保存しておきます。

ソフトは"ImgBurn"を使いますが、blu-rayあまりつかったことが無いのでデフォルトでも書き込めるようですが、ちょっと設定をするといいようです。

今回重要なことはファイルシステムです。
詳しくは前回書いたのでそこを参考に

○○○○に怖いものなんてない!!: blu-rayとUDF(ユニバーサルディスクフォーマット)
http://kowaimononantenai.blogspot.jp/2012/08/blu-rayudf.html

そこで、今回はBR-Rなので2.6です。

そこを設定すると「上のデータタイプって何??」という疑問が湧いてきたので、ググッたところ

The ImgBurn Functions - ImgBurn Support Forum
http://www.scribd.com/doc/53663075/The-ImgBurn-Functions-ImgBurn-Support-Forum

のp25からの”3.3.2.1 Options”を見ると
●MODE1/2048
 一番シンプルで一般的に使われているデータタイプ
●MODE2/FORM1/2352
 MODE1/2048と似ているけど、エラーを見つけたり修正したりできるようなものも一 緒に書きこむ。
 しかし、CDしかサポートしていない
  (かなりの意訳なので、原文を見て確認してください)
ということで、デフォルトの"MODE1/2048"でいいということだね。

また、ファイルシステムについてもその次の項に載っていましたが、だいたいさっき書いたところと同じようなことが書いてありました。

あと、今回はどっかのパソコンのCドライブのデータの丸々コピーみたいなものも入っていたので、下の方の「隠しファイルを含める」と「システムファイルを含める」もチェックを入れました。

これで設定は完了。

blu-rayとUDF(ユニバーサルディスクフォーマット)

やっと自分もblu-rayを扱うようになって、"ImgBurn"でサーバーのファイルなどをblu-rayに焼いて退避させておこうと思いました。

そこで、UDFというものがあるということを知りました。


ユニバーサルディスクフォーマット - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%8B%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88

要するにDVDやblu-rayのフォーマットということです(ユニバーサルディスクフォーマット そのまんまです)


UDF 1.02、1.50、2.00、2.01、2.50、2.60

というような種類があるそうです。このティスクにはこれがいいというものがあるそうですが、"ImgBurn"では自動的に認識しないので手動で設定する必要があるそうです。

ここに詳しいディスクとUDFの対応がかいてあります。


書き込み型BD・DVDのファイルフォーマット(UDF)まとめ : web memo.Ver.2
http://128bit.blog41.fc2.com/blog-entry-279.html

今回はblu-rayなので

BD-RW  =>> UDF2.5
BD-R    =>> UDF2.6

がいいらしいです。

また、OSによってどこまでのUDFが対応しているか違うそうです。(Windows7は全部対応している)





2012/08/29

リカバリモードでの項目解説

リカバリモードで起動したときにいろいろな項目が出てきますが、
かなりわかりやすく説明しているサイトがあったのでメモしておきます


kledgeb: Ubuntu 12.04 リカバリーモードで起動する
http://kledgeb.blogspot.jp/2012/08/ubuntu-1204_28.html

2012/08/21

コマンドでファイルの拡張子一括変更

ファイルの拡張子を一括で変更したいときにに
mv *.txt *.log

なんてことはできないのでファイル名(今回は拡張子)の一括変更できるようにしたいなと思いました。

ググると
for nm in *.txt; do
> mv $nm ${nm%.txt}.doc;
> done

おー すごい!

コマンドを覚えるのは頑張りますが、こんなふうにプログラムみたいにやったことはあまりありません。(はじめにこれ見た時「Pythonみたいだな」と思いました。こっちの方が昔からあるんでしょうけど)

こういうコマンドにもチャレンジしていきたいけど、いいサイトとか本とかあればいいな
(正規表現やワイルドカードや後方参照などを勉強中なので)

ここを参考にしました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231055/


Syntax Highlighterでコマンドを見やすくする

だいぶ前にこのブログに"SyntaxHighlighter"を入れて、プログラムを見やすくしました。

○○○○に怖いものなんてない!!: BloggerでSyntax Highlighterを使う
http://kowaimononantenai.blogspot.jp/2012/01/bloggersyntax-highlighter.html

これで、プログラムは見やすくなったのですが、最近はプログラムよりも端末上のコマンドを載せることが多くなっているので、
「コマンドもプログラムみたいにきれいに載せたい」
と思うようになりました。

ググるとなんと"SyntaxHighlighter"がコマンドにも対応しているという事なので、このサイトを参考にしてやってみました。

ソースコードはSyntaxHighlighter、ではコマンドラインは? | BLuE AND PuRE
http://blpr.net/?p=154

WordPress › フォーラム » LINUXなどのコマンドライン表示の手法について
http://ja.forums.wordpress.org/topic/9002

しかし、これと同じようにやってもなりませんでした。

前に自分の書いた記事を読み返してみると"SyntaxHighlighter"を効かせるものをはじめに選んでいたので、その段階でコマンドの"bash"のチェックが抜けているという事を考えてもう1度このブログに"SyntaxHighlighter"を入れなおしました。



今度はもう全部にチェックを入れたのでもう大丈夫でしょう。

するとコードは次のように出てきました。

 




























あとは前にやったのと同じようにして、「よし、これでおk」と思い、参考にしたサイトと同じようにHTMLを打つと

「あれ?まだならない.....」

よく考えると、今までプログラムを載せるときに次のようにしていました。
//コードを記述

じゃあ、そこの言語名のところを"bash"にすればいいんじゃないのか?
すると、
 
cd /home/aaa
sudo apt-get update
sudo apt-get upgrade
grep -r "abc" ./

なりました。

参考にしたところの情報が古かったりするのかな?

他に参考にしたサイト

SyntaxHighlighter
http://alexgorbatchev.com/SyntaxHighlighter/