ある日突然、Ubuntu12.04でChrome、Chromiumを起動すると強制的にログアウトしてしまうようになってしまった。
Chrome、Chromiumを再インストールしても効果なし。
ログアウトしてしまうので、エラーのlogを見れないので何が悪いかわからない。
しかし、ログアウトしてしまうのでX Window関係のエラーなのだろう。
結果的に言うと、
グラボをNVIDIAを使っているので公式HPから取ってきたドライバを当てているので、そのドライバを当てなおしたら治った。
自分のメモのために書いていくので,誰かのためになったら幸せです. 主にlinux, プログラム,電子回路について書いていきます. また、ここに載せる内容を参考にする場合は自己責任でお願いします。
2012/09/29
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 モードの有効化)
http://msdn.microsoft.com/ja-jp/library/vstudio/ct597kb0.aspx
すると、今度はコンパイルは通りますが、デバックをすると次のような忠告がでて、デバックできなくなります。
これも下のサイトを参考にして1行書き換えることによって解決しました。
「PInvokeStackImbalance が検出されました」って何だ? - あの中の蛙
http://d.hatena.ne.jp/inazakira/20110107/1294367910
Tips/Other/MeCab - Sheltie書庫室 - C#のいろいろ
http://wiki.sh4e.net/?Tips%2FOther%2FMeCab
このように書き換えました。
これで、うまくいきました。
配列までできたらたぶん十分でしょう。
つぎは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
いままでも避けて通っていた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"にエディタを使って追加します。
自分の環境は「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
そこで、挿入モードに変えた時に自動的に日本語設定になって、コマンドモードに変えた時に自動的に日本語設定を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
「動画のこのシーンを静止画にしたい!!」
と思うことがよくあり,その度のググって調べていますが,
もうググんなくてもいいようにメモ
「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
○○○○に怖いものなんてない!!: 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で動画を見ていると急に
ググると次のような記事が多くでる。
Google Chromeで Shockwave Flashがクラッシュする | POPOLOG
http://www.popolog.net/articles/2011/11/chrome_shockwave_clash.html
しかし、"about:plugins"を見てもFlashは1つしかない....
キャッシュをクリアしてもなるので、まず端末から起動し、ログを見ると
ググると、グラボを差していてプロプライエタリなドライバを使っているときに起きるらしい。
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"ならできるという事なので、いつも動画は別ウィンドウでやっていたので、別のブラウザを使うという事に落ち着きました。
しょうがない。
"次のプラグインがクラッシュしました: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"Gdk-WARNING"というワーニングがまずたくさんでる。
(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 ●●●●●●●●●●●●●●●●●●●●●●●●に失敗しました。
ググると、グラボを差していてプロプライエタリなドライバを使っているときに起きるらしい。
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を使う
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を追加です。
これで入りました。
次にちょっと設定を変更します。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
"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"というフォルダを作っておく
そしてコマンドプロンプトを管理者権限で起動して
で、シンボリックリンクを作ってキャッシュを移動させる。
あとは、再起動。
あー、長かった。疲れた。
参考にしたサイト
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/
○○○○に怖いものなんてない!!: 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
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でもやって見ましたが、そのままで出来ました。)
(2012/09/06 追記 Ubuntu12.04でもやって見ましたが、そのままで出来ました。)
Chromiumのバージョンは"18.0.1025.151"です。(Ubuntu12.04は"18.0.1025.168"で出来ました。)
まず、デフォルトのキャッシュは
~/.cache/chromium/Default
に保存されています。
サイズは
あまりキャッシュのリフレッシュはしないので400MBも溜まってました。
なので、新しいRAMディスクのサイズは余裕を持って1GBにしました。
まず、RAMディスクを作成します。
流れは
1.
RAMディスクとしてマウントするディレクトリを作成
2.
RAMの一部分を作成したディレクトリにマウントさせるように"fstab"に記述
3.
"fstab"に記述しただけで即座に反映されるわけではないので設定を反映させます。
再起動すればいいのですが、このコマンドでもおkです。
"mount"コマンドのオプション"a"でfstabの記述通りにマウントしてくれます。
きちんと反映されているか確認
"/dev/shm"や"mnt/chromium_cache"などの記述が見れればおkです。
次にキャッシュを作成する場所を今作成した"chromium_cache"に移します。
これで、PCを再起動して"chromim"を起動するといいです。
今度はWindows7でもしてみます。
############################################################
2012/09/06 追記
Ubuntu12.04でもまるまる同じで出来ました。
############################################################
サイズは
●●●@○○○:~/.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 0RAMディスクはデフォルトで"/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などを見るとわかります。
すると、文章を書くところに点線が出てくるので、
次は、ラベルに入力する文章を書きます。
次の「ラベル」をクリックします。
でてくるウィンドウの宛先のところに文章を書くと反映されます。
注意として、宛先に書いた後に「新規文書」を押してどのようにレイアウトされるか見てから印刷したほうがいいです。
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に上げた時点でデータがおかしくなってしまったのだと思います。
全然関係無いですが、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に上げた時点でデータがおかしくなってしまったのだと思います。
登録:
投稿 (Atom)