Ubuntuな生活!
DesktopのOSを
Windows→Ubuntu
に変えてみた。
とりあえず、Windowsにできて、Ubuntuにできないことはないと思ってる人種なので、Windowsな環境を構築した。
デフォルトブラウザをFireFoxからGoogleChromeに変更
メーラーにThunderbirdを導入。学校のアカウントからメールを受信可能にした。
*1
そしてこの間この日記に書いたとおりミュージックプレイヤーとしてRhythmboxを使用。WindowsのMediaPlayerで取り込んだ音楽データをRhythmboxに取り込む。
Skypeもいるなあとインストール。なぜベータインストールされたしとか思ったけど気にしない。使えればそれでいいのだ!
すべてのPCのデータを一部同期させたいのでDropBox導入。
さて、ここで困ったことにぶつかる。
僕はいろんなサイトにアカウント持ってるけどパスワードは覚えていない。
すべてID Managerで管理してもらっている。
これが便利なソフトなのだ
サイトごとにパスワードを覚えてくれることはもちろんのこと、IDとパスワードの一括貼り付けや、パスワードの生成機能までついてくれてるのだ。まさになくてはならない必需品!
がしかしである。
これWindows版しか存在しない。
どうすんべとか考えていてふと閃いた。
wine使えばいいじゃん!
なぜ気がつかなかったし。
Wineと言えばWindowsソフトを無理やりlinuxで動かせる仮想ソフト(多分)
さっそく導入してみた。
[アプリケーション]→[Ubuntuソフトウェアセンター]からWineを検索してインストールする。
インストールするとあら不思議!
アプリケーションのトップにWineの項目があるではありませんか!
ID Managerを入れるべく
[アプリケーション]→[wine]→[Uninstall Wine Software]
ここで注意が必要だ!
Windows用ソフトウェアのインストールだがUninstall Wine Softwereを選択する。すると、ウィンドウが開きインストールのボタンがあるのでクリックする。そして、あらかじめダウンロードしておいたソフトを選択するのだ。これでOK!
さすがに一括張り付けのような機能は使えなかったが*2サイトのIDとパスワードさえ分かればいいのだ!
これでひとまず環境に満足した。
まあ、音楽データがバックアップから取り込んでいて最新じゃないのでもう一度Windowsを起動してやらないといけないけど、また今度でいいや。
Ubunut10.04×1Rhythmbox Shift-JIS文字化け対策
環境
- Ubuntu10.04
- Rhythmbox0.12.8
概要
Windowsで取り込んだMP3ファイルをUbuntuのRhythmboxにインポートするとタイトル等の文字化けが発生した。それを修正するための方法をメモっておく。検索すればヒットはするけど、メモメモ。。。
1.RhythmboxにMP3ファイルをインポート
2.Rhythmboxを終了させる!
3.Ubuntuの[アプリケーション]-[アクセサリ]-[端末]を起動
4.cd /home/ユーザー名/.local/share/rhythmbox
*1
5.cp rhythmdb.xml rhythmdb.xml.org
*2
6.gedit /bin/convert_rhythmdb.pl
以下の内容をエディタで作成*3
#! /usr/bin/perl # rhythmbox変換スクリプト use Encode; #エンコード用のperlライブラリ? while (<>) { # <artist>の行だけ変換 if (/<artist>/) { # Shift_JISの文字参照をバイナリに戻す s/\&\#x([0-9A-Fa-f]{2});/pack 'C', hex($1)/ge; # UTF-8に変換 $artist_utf = decode('Shift_JIS', $_); print $artist_utf; } # <title>の行だけ変換 elsif (/title/) { s/\&\#x([0-9A-Fa-f]{2});/pack 'C', hex($1)/ge; $title_utf = decode('Shift_JIS', $_); print $title_utf; } # <genre>の行だけ変換 elsif (/genre/) { s/\&\#x([0-9A-Fa-f]{2});/pack 'C', hex($1)/ge; $genre_utf = decode('Shift_JIS', $_); print $genre_utf; } # <album>の行だけ変換 elsif (/album/) { s/\&\#x([0-9A-Fa-f]{2});/pack 'C', hex($1)/ge; $album_utf = decode('Shift_JIS', $_); print $album_utf; } #他の行は変換せずに表示 else { print; } }
7.chmod +x /bin/convert_rhythmdb.pl
*4
8.cd /home/ユーザー名/.local/share/rhythmbox
9.convert_rhythmdb.pl < rhythmdb.xml.org > rhythmdb.xml
10.終了です。お疲れさまでした。
参考サイト
以下のサイトを参考にさせていただきました。ありがとうございます。記述内容に問題があればコメントください。訂正します。
OSブートの仕組み
概要
OSの起動の仕組みについて調べたのでまとめてみた*1
内容
まず、Windowsから
以下、詳細に記述
- 電源を入れる。
- マザーボード上のBIOS(Basic Input/Output System)が起動する。
- BIOSによるPOST(Power On Self Test)が実行される。*2
- 起動ディスクの発見
- HDDの先頭にあるMBR(Master Boot Record)を読み込む。
- ブートローダーによるMBR内のパーティションテーブルのスキャン
- ブートローダーはパーティションテーブルの情報からアクティブな基本パーティションの開始位置に記録されたブートセクターを読み込む。
- ブートセクタのIPL(イニシャル・プログラム・ローダー)に移る。
windows NT系の場合
- IPLはNTLDR(NT Loader)を読み込む。*3
- NTLDRが「NTDETECT.COM」を実行し、ハードウェアの互換性をチェックする。
- レジストリの参照・変更
- カーネルの「NTOSKRNL.EXE」やドライバ、各種DLLの起動
- Windows起動
Linuxの場合
windowsと同じく3段階に分かれる。
- ブートローダ段階 電源ONからliloやgrubといったブートローダソフトウェアが起動
- カーネル段階 メモリ上に読み込まれたカーネルが起動し,CPUやメモリ,周辺機器の認識や初期化を行う段階
- /sbin/init段階 ハードウェアの初期化を終えたカーネルから処理を委ねられた/sbin/initが/etc/inittabの設定に従ってシステムの動作に必要な各種サービスを起動していく段階
以下、詳細に記述。
- 電源を入れる
- マザーボード上のBIOS起動
- BIOSによるハードウェアの認識・初期化(CPUやメモリ,接続されている各種拡張カードetc)
- HDDの先頭セクタに書き込まれたMBRの起動
- MBRのstage1がstage2を読み込む。
- 起動メニューの表示
- 指定されたカーネルとinitrdを読み込む。
- カーネルは初期化用ramdiskを読み込む。
- ramdiskはモジュールドライバ(SCSIアダプタやUSBコントローラに応じたドライバ,LVM構築に必要なドライバ,ext3ファイルシステム用のドライバなど)をカーネルに組み込む。
- CPUやメモリ,接続されている周辺機器の認識や初期化を行う*4
- ルートパーティションのマウント
- /sbin/initの起動
- デフォルトのランレベルを認識
- システムの初期化のために/etc/rc.d/rc.sysinitを起動
- それぞれのランレベルに応じたサービス(プロセス)を起動
- /sbin/mingettyを6つの仮想端末に対して実行し,コンソールからのログインを待つ
- /etc/X11/prefdm経由でX Window System用のディスプレイマネージャを起動
以下はほとんどwikipedia情報ままである。
POST(Power On Self Test)とは?
- BIOSコード自体が問題ないかチェックする。
- POST を実行する契機が何なのかを特定する。
- システムのメインメモリを探し、大きさを調べ、問題ないか検証する。
- 全てのフロントサイドバスとデバイスを検出し、初期化し、登録する。
- 必要ならば、個別のBIOS群に制御を渡す。
- システム設定のためのユーザインタフェースを提供する。
- ブート可能なデバイスを特定し、選択する。
- 対象OSが必要とするシステム環境があれば、それを構築する。
マザーボードによるエラー通知はPOSTによって行われる。
MBR(Master Boot Record)とは?
PC/AT互換機の場合ここの長さは512バイトで、0(先頭セクタ)〜445バイトはブートストラップローダ、446〜509バイトはパーティションテーブル、510〜511バイトはブートシグニチャがそれぞれ格納されている。MBRの512バイトの部分に書き込まれているのが「ブートローダ」と呼ばれるソフトウェアである。
ブートストラップローダとは?
- パーティションテーブルを4つのテーブルエントリーの先頭から検査し、起動フラグが立っている基本領域がないか探す。
- 起動フラグの立っている基本領域が見つかったらその領域の先頭位置をパーティションテーブルから取得する。
- BIOSにその位置を示してメモリにロードしてもらい、制御を受け渡す。
パーティションテーブルとは?
パーティションに関する情報を記録している。4つのエントリがあり1つあたり16バイトである。各エントリにはそのパーティションの位置情報、種類、起動フラグが記録されている。
参照
以下のサイトやブログを参考にさせていただきました。
この場を借りてお礼を申し上げます。
ありがとうございました。
- Nobusan's Square ブートの仕組み
http://nobumasa-web.hp.infoseek.co.jp/boot/boot.html
- wikipedia Power On Self Test
http://ja.wikipedia.org/wiki/Power_On_Self_Test
- Penguin's campus note OS のブートシーケンス
http://www14.plala.or.jp/campus-note/vine_linux/install/boot_sequence.html
- IT Pro
本当に知っている?Windowsの基礎
Windowsはどうやって起動しているのか?
http://itpro.nikkeibp.co.jp/article/COLUMN/20080929/315572/
- 技術評論社サイト
ソースコード・リテラシーのススメ
第13回 起動の仕組みを読む
http://gihyo.jp/dev/serial/01/sc-literacy/0013
KCPについて
概要*1
今日TwitterのTLを見てるとandroidとKCPについての比較をしているのを目にしたので、KCPとはなんなのか調べてみた。
解説
KCPが使用される理由
KDDIがBREWを使って取り組んだ携帯向けプラットフォーム、それがKCP(KDDI Common Platform)だ。
*2
これだけでは良くわからない。
「携帯電話のソフトウェアが大規模化、高度化、複雑化している中で、商品力を上げ、リードタイム(製品化までに時間)を短くし、安くするにはどうしたらいいか。共通化する部分は共通化し、差別化する点はメーカーごとに取り組む。共通化のためのベースがKCPだ」
つまり、開発のスピードを上げ、なおかつコストを抑えるための答えがKCPである。
KDDIは各メーカごとに共通で使用可能なプラットフォームのベースを作成したのだ。
BREWとは?
BREWとは、QUALCOMM社が発表した、携帯電話向けのソフトウェア実行環境である。携帯電話間の仕様の違いを吸収し、単一のプログラムで多数の携帯電話に対応できるよう設計されている。
そして、KDDIでは、QUALCOMM社製のチップを採用している。
そのため最適化も図れるため他社のようにJavaではなくBREWが使用された。
SnapDragon(このCPU搭載のプラットフォームはKCP3.0になるらしい)
今回はauからガラケー初のSnapDragon搭載機が発売されるらしいということで対Androidという話題になっていた。
すでに複数のスマートフォンに搭載されているSnapDragonだがガラケーに搭載されることでどんな機能を実現できるようになるのだろうか。
非常に楽しみだ!
参考
http://plusd.itmedia.co.jp/mobile/articles/0509/20/news032.html
- 「KCP+」導入開始、マルチウィンドウやVIVID UIなどを採用
http://k-tai.impress.co.jp/cda/article/news_toppage/36740.html
- BREW 【Binary Runtime Environment for Wireless】 IT用語辞典e-Words
http://ja.wikipedia.org/wiki/BREW
- ソフィア・クレイドル
YaTeXでTeX入門!
概要
YaTeXのコマンドはTeXの入力において大変便利です。
今回はその補完機能を紹介しつつTeXの入門もしてみようという内容です。
How To YaTeX!
\documentclass{jarticle} \begin{document} \end{document}
- まずは、クラスファイルを入力します。これがないとレイアウトがはっきりしません。
\documentclass{jarticle}
①C-c s *1と入力
②するとミニバッファに
(C-v for view-section) \???{} (default documentclass):
と表示されるのでdocumentclassと入力*2
③Documentclass options ([opt1,opt2,...]):
と表示されるが今回はいらないので何も入力せずRet
④Documentclass (default jarticle):
と表示されるのでjarticleと入力。*3
- 次に環境と呼ばれる区切りを入力します。*4
\begin{document} \end{document}
⑤C-c b d*5
これでbeginとendの間の行に日本語の文章が入力可能になります。
もし、これに数式を入力したい場合は、
C-c b E
としてください。
\begin{equation} \end{equation}
これで数式が入力可能になります。
数式記号イメージ補完
たとえば、
;<
と入力すると
\leq
とLaTeXコマンドが入力され
≦
となります。
この数式記号イメージ補完のヘルプを参照する場合は、
ミニバッファに;を入力し、tabキーを押下してください。
これでヘルプを参照できます。
RSSリーダーの効率的な使い方
環境
内容
RSSリーダーの使い方は検索すれば山のように出ます。
しかし、どんなふうに使えば効率よく情報を集めるツールとして使用できるかはあまりありませんでした。
そこで、今回はRSSリーダーの効率的な使い方について書きたいと思います。
RSSリーダーの使い方
- 登録はブログに絞る
RSSは便利だからといって良く見るサイトをすべて登録する必要はありません。大手ニュースサイトなどは登録しなくても良いサイトです。*1
大手ニュースサイトなどは頻繁に更新されており、あまりたまるとそれだけで読む気がなくなります。*2
それにニュースは鮮度が命!
古いニュースをまだ読んでないからといってあとから読む必要がありますか?
時間がたてばたつほど、他のサイトでも見かけるようになり、同僚などとの会話中にも上がったりしてすでに得た情報になっている可能性が高くなります。
そこで、ブログを登録するのです。
RSSリーダーならば登録したブログの一覧だけをみれば更新されたどうかを一目で判断でき、良いブロガーほどタイトルと最初の数行に内容をまとめてくれていますので記事すべてを読む必要がなくなります。
それに、個人が運営するブログはいつ更新されるかわからないからです。
しかし、個人のブログにこそ宝が眠っているのです。
また、気になるイベント情報や新商品のプレスリリースなども有益かと思われます。
手前味噌な内容で恐縮ですが、これは大変効果的です。
登録したブログを見る頻度で分類する方法です。
例としては、
- always
- often
- sometimes
- never
といった風にです。
良く見るブログは1に登録し、あまり見なくなったものからどんどん下に入れていきます。
こうすることで、忙しいときなどは1だけを見ればよくなります。
簡単ですが、効果的なのでぜひ試してください。
追伸
まだ、スター機能など紹介していない機能がありますのでいずれ更新しようと思います。*4
ブックマークとEverNote使い分けメモ
どう使い分けるか?
- まずはブックマーク
とにかくいいと思った記事・サイトはブックマークをする。
どれほどブックマークしたところでonlineに保存しているのだから
残り容量とか気にしなくていい。ときには無駄遣いすることも大事!
この際、後で見つけられるようタグ付けを行う。僕の場合は、忘れっぽいので、思いつく限りつける。
- Tumblar×Twitter
ブックマークするほどでもないが一部キラリと光る内容を見かけることがままある。これをTumblarのQuote機能を使用して引用し、Sourceの欄に引用元のURLを記載する。この時右側のタグを必ずつけるようにする。また、Source欄には#(ハッシュタグ)もつけるとなおよい。*1
- その中からメモ
週末に一週間のブックマークを見返し、必要と感じたものをEverNoteにメモする。