投稿

2012の投稿を表示しています

Hyper-V に Scientific Linux 6.3 をインストール

イメージ
Hyper-V ( Windows Server 2008 R2 ) に Scientific Linux 6.3 をインストールしてみました。 インストールには以下の DVD イメージを使用しました。 SL-63-x86_64-2012-08-02-Everything-DVD1.iso SL-63-x86_64-2012-08-02-Everything-DVD2.iso まずは、サーバーマネージャー(Hyper-V マネージャー)から新しい仮想マシンを作成します。 名前を入力します。 メモリサイズはとりあえず 1024MBにします。 ネットワーク接続を選択します。外部のネットワークに接続できるものを選びます。 仮想マシンのファイル名を入力します。 ダウンロードした ISO イメージをそのままインストールに使用できるように指定します。 準備ができました。 仮想マシンを起動します。Scientific Linux のインストーラーが起動しました。一分ほど待つと自動的にインストールが始まります。 インストールメディアのチェックをするか尋ねられますので、Skip を選択します。 Next を押します。・・・押したいのですが、今後のオペレーションはマウスが動きませんので TABキーと方向キーとスペースキーを駆使して操作をします。 Japanese (日本語) を選択します。 キーボードに合わせて日本語を選択します。 インストール先は仮想ハードディスクなのでそのまま。 時間が9時間進んでしまわないように UTC のチェックを外しておきます。 ( http://yamanxworld.blogspot.jp/2010/01/linux-9.html  を参照) root のパスワードを入力します。 デフォルトのまま。 とりあえず Desktop で。 ファイルのコピーが始まります。 2枚目の DVD を要求されるので 2枚目の DVD イメージをマウントします。 リブートします。 再起動中 初期設定

インストールした rpm パッケージのアンインストール

fedora 17 で試しに入れた rpm をアンインストールしたいのですが、その方法がわからなかったので調べてみました。 # rpm -i hogehoge-1.2.4-i386.rpm でインストールした hogehoge をアンインストールしたいのですが、 # rpm -e hogehoge でよいみたいです。 # rpm -qa | grep hogehoe でインストール済みのものを探してくれるようです。 以上です。 http://itpro.nikkeibp.co.jp/article/COLUMN/20070730/278583/  に詳しく書かれています。

fedora 17 に TortoiseHg

Windows / Ubuntu に続き、fedora 17 に TortoiseHg をインストールします。 GNOME3 デスクトップのアクティビティ > アプリケーション > システムツール > 端末を選んでターミナルエミュレーターを開きます。 $ su # yum install tortoisehg 以上です。あっさりインストールできました。アクティビティ > アプリケーション > プログラミング に TortoiseHg のアイコンが追加されています。 インストールされたバージョンは Mercurial 2.2.3, TortoiseHg 2.4.3 です。

Mercurial が No module named repo! を表示して落ちる

Xubuntu 12.04 で TortoiseHg (ppa 版) を使用していますが、今回のバージョンアップでトラブルがありました。 Mercurial version (2.3).  TortoiseHg version (2.4.3) です。 起動したのち、リポジトリを触ろうとすると ImportError: No module named repo と表示され、操作できません。ターミナルから hg コマンドを使用しても同様です。 https://bitbucket.org/tortoisehg/thg/issue/2090/no-module-named-repo に同様のトラブルが報告されていました。 とりあえずの対応は git エクステンションと hgsubversion エクステンションの使用をやめることです。 .hgrc の [extensions] セクションから git = と hgsubversion = を削除するか、 TortoiseHg の設定画面のエクステンションから git と hgsubversion のチェックを外すことで対応できます。

Xubuntu 12.04 と Chromium の文字化け対策

イメージ
先日 Xubuntu 12.04 のアップデートをしたところ Google Chrome および Chromium の日本語フォントが文字化けしてしまいました。 アップデートしたのは以下のモジュールです。 fontconfig (2.8.0-3ubuntu9, 2.8.0-3ubuntu9.1) fontconfig-config (2.8.0-3ubuntu9, 2.8.0-3ubuntu9.1) libfontconfig1 (2.8.0-3ubuntu9, 2.8.0-3ubuntu9.1) 文字化けして日本語がトーフに・・・ Chrome の設定でフォントを指定すると大体は表示できるようになるのですが、ボタンだけはトーフのままでした。 http://ynaganyan.blogspot.jp/2012/08/ubuntu-1204-chromium.html より、どうやら以下のコマンドを実行することで治る(?)ようです。 sudo fontconfig-voodoo -s ja_JP お試しあれ。

Xubuntu 12.04 で googletest 1.6

Xubuntu で googletest を試してみました。 googletest はユニットテストを行うツールで  http://code.google.com/p/googletest/ から取得できます。 http://codezine.jp/article/detail/6656 に書いてある手順でほぼ問題ないのですが、リンク時にエラーがでました。 error: undefined reference to 'pthread_getspecific' 必要なライブラリがリンクされないようです。 -lpthread をオプションに追加したところ問題なくビルドできるようになりました。特に難しいこともないので導入は簡単なのではないかと思います。 C++ 用のテストフレームワークですが、C 言語と C++ の違いを意識していれば C 言語のユニットテストにも使えそうです。 サンプル1が関数のユニットテストなので簡単で参考になります。 http://code.google.com/p/googletest/source/browse/trunk/samples/sample1_unittest.cc 日本語でドキュメントを読みたい方は  http://opencv.jp/googletestdocs/  が参考になると思います。 書きかけのコードに googletest を使用したらさっそく間違いを見つけられてしまいました。

Xubuntu 12.04 から Windows へリモートデスクトップ接続

イメージ
Xubuntu 12.04 へリモートデスクトップ接続  で Windows から Xubuntu へのリモートデスクトップ接続を行っています。いまのところ大きな問題はなく利用できてきます。 今回は逆に Xubuntu から Windows への接続を試してみます。 まず、Xubuntu に 「Remmina リモートデスクトップ・クライアント」をUbuntu ソフトウェアセンターからインストールします。 メニューから「Remmina リモートデスクトップ・クライアント」を起動します。 「接続(C)」「新規(N)」を選択します。 プロトコルはRDPを選択します。ワークグループの場合、サーバー名、ユーザー名、パスワードと解像度、色数を指定して「接続(O)」をクリックします。 初めての接続の場合、次のダイアログが開きます。「OK(O)」を押します。 今回は Windows Server 2008 R2 に接続できました。 RDPを使用しているので Windows 側にはアプリケーションを入れなくてもよいので接続先を選ばず、便利です。 RemoteFX接続もできるようなのですが、対応グラフィックスカードを持っていませんので確認できませんでした。

アプリケーションの関連付けの変更

イメージ
Xubuntu 12.04 に Adobe Reader をインストール で Adobe Reader をインストールしましたが、マウスでダブルクリックしたりするとまだ evince が起動してしまいます。 今回はアプリケーションの関連付けを変更して好きなアプリケーションでファイルを開けるようにします。 方法は簡単で、開きたいファイルのプロパティをコンテキストメニュー(マウスの右ボタンをクリック)からえらび、「これで開く」から開きたいアプリケーションを選択してください。 これで PDF ファイルが Abobe Reader で開くようになりました。

Xubuntu 12.04 に Adobe Reader をインストール

イメージ
Xubuntu を xrdp を使用してリモートデスクトップで使用している点で不満なのは PDF ファイルを開くのにとっても時間がかかるところです。これは標準で入っている evince が xrdp 経由で使用するといろいろとエラーを起こしながら起動してくるためです。これでは DocBook から PDF を作成 してもその仕上がりを確認するには時間がかかりすぎるのです。 そこで代わりの PDF ビューワーを考えました。まず本家の Adobe Reader を試したら非常にすんなりと動作しました。ダウンロードが少しわかりずらいので記録しておきます。 1. http://get.adobe.com/jp/reader/ へアクセス。 2. 「別の言語版または別のオペレーティングシステムをお持ちですか?」をクリック。 3. 手順1 から順に Linux、Japanese、Reader *.*.* Japanese for Linux (.deb) を選択する。 4. 今すぐダウンロードをクリックする。 5. ダウンロードされた .deb ファイルでインストールします。 .bin ファイルではインストールできないので .deb ファイルを指定するのがポイントです。 これで作業も捗ります。

Xubuntu 12.04 に FreeMind

イメージ
マインドマップ描画ソフト FreeMind を Xubuntu でも使用したいと思います。 $ sudo apt-get install freemind でインストール完了です。 メニューには登録されないようなので (オフィスのグループに登録されていました。)ターミナルから $ freemind と入力して起動します。0.9.0 がインストールされました。 Windows 版であった PDF と SVG のエクスポートがありません。 Ubuntu 系は例によって別のパッケージになっているようです。 $ sudo apt-get install freemind-plugins-svg で追加します。 これでエクスポートできるようになりました。 以上です。 fop がインストールされました。XSLT-FO を使って PDF 化しているんですね。 SVG は batik のようです。

続 Xubuntu 12.04 で DocBook V5.0 から日本語 PDF を作成する。

Xubuntu 12.04 で DocBook V5.0 から日本語 PDF を作成する。 で作成したコードをbitbucketで公開しました。先の投稿で書き忘れた fop.conf ファイルもあります。ファイル名が変わっているのは気のせいです。 https://bitbucket.org/cobito/docbook-ja-sample で公開しています。 以上です。

続Python を使って文字コード変換

Python を使って文字コード変換 で作成したコードを bitbucket で公開しました。また少しだけ手を入れています。 https://bitbucket.org/cobito/hgfilter  から取得できます。 以上です。

Xubuntu 12.04 で DocBook V5.0 から日本語 PDF を作成する。

Xubuntu 12.04 で DocBook V5.0 から日本語 PDF を作成してみました。 環境作成 1. Ubuntu ソフトウェアセンターから Eclipse をインストールします。 $ sudo apt-get install eclipse 主な理由は apache ant をインストールすることですが、統合環境としても利用できます。 2. DocBook-XSL を取得します。 http://docbook.sourceforge.net/ より docbook-xsl-ns-1.77.0.zip をダウンロードします。 ダウンロードした docbook-xsl-ns-1.77.0.zip を /opt/docbook-xsl-ns-1.77.0 へ展開します。 3. Apache FOP を取得します。 http://xmlgraphics.apache.org/fop/  より fop-1.0-bin.zip をダウンロードします。 ダウンロードした fop-1.0-bin.zip を /opt/fop-1.0-bin.zip へ展開します。 環境作成に関して Ubuntu では Ubuntu ソフトウェアセンターからパッケージをダウンロードするのが通常はおすすめなんですが、今回は eclipse 以外はマニュアルでインストールしています。 理由1: jar ファイルが /usr/share/java にまとめてインストールされてしまうため、かえってクラスパスの指定が面倒になるから。 fop を build.xml 経由で実行すると [fop] SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. [fop] SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details とエラーが出ます。 理由2: インストールするモジュールがわかりずらい。 理由3: チームで同じ環境を作りにくい。 Wind

Python を使って文字コード変換

先の投稿 で iconv を使いましたが、 Windows 環境では導入されていませんし、導入するには面倒です。 一方、Mercurial は Python で記述されているのでフィルターだって Python で記述すれば良いのではないかと思い、初めて Python でコードを書きました。cp932 から utf-8 へ変換するコードです。 #!/usr/bin/python import sys ifn = sys.argv[1] ofn = sys.argv[2] open(ofn, 'wb').write(open(ifn, 'rb').read().decode('cp932').encode('utf-8')) 実質一行。 cp932 のテキストファイルを読み込んで、 utf-8 へ変換して出力します。エラー処理なしですが、これだけで済んでしまうのですね。 標準入出力にしなかったのは  http://mercurial.selenic.com/wiki/EncodeDecodeFilter  に Windows の場合は Tempfile を使った方が良いと書いてあったからです。 この Python スクリプトを使って hgrc を記述しました。 [encode] **.cpp = tempfile: encode.py INFILE OUTFILE **.c = tempfile: encode.py INFILE OUTFILE **.h = tempfile: encode.py INFILE OUTFILE [decode] **.cpp = tempfile: decode.py INFILE OUTFILE **.c = tempfile: decode.py INFILE OUTFILE **.h = tempfile: decode.py INFILE OUTFILE decode.py は上のコード、encode.py は decode.py の逆の変換 (utf-8 から cp932 へ)を行うコードです。 Windows 環境下では逆向きの変換を行えば良いでしょう。 以上です。おつかれさまでした。

シフトJISで記述されたファイルを含むリポジトリの扱い方

これまで Windows 環境下で作業していたので Mercurial のリポジトリの中に日本語のコメントを含むファイルが多くあります。 開発環境が Linux へ移行したのですが以前のリポジトリを Linux 環境で取得するといわゆる文字化けが発生します。 hgrc に設定を記述することでワーキングファイルの取得時に文字コードを自動的に変換してくれます。 方法 1. -U オプションを指定して、リポジトリをクローンします。 $ hg clone -U http://foo.local/hg/foo foo すでにリポジトリを取得している場合、一旦作業ファイルを削除します。 $ hg update -r null 2. テキストエディタで作業ディレクトリ以下の .hg/hgrc を編集し、変換するフィルタを指定します。 以下の例は iconv を使用して拡張子が .cpp .c .h のファイルを変換するように指定します。 [encode] **.cpp = pipe: iconv -f utf-8 -t cp932 **.c = pipe: iconv -f utf-8 -t cp932 **.h = pipe: iconv -f utf-8 -t cp932 [decode] **.cpp = pipe: iconv -f cp932 -t utf-8 **.c = pipe: iconv -f cp932 -t utf-8 **.h = pipe: iconv -f cp932 -t utf-8 3. 作業ファイルを取得します。 $ hg update 以上です。おつかれさまでした。 追記: シェルスクリプトではなく Python を使った場合の処理を  http://cobitech.blogspot.jp/2012/05/python.html に記述しました。

TortoiseHg から起動するターミナルエミューレータの設定

イメージ
Linux バージョンの TortoiseHg でターミナルを開くと xterm が起動されるんですが、これを Xubuntu のお気に入りのアプリケージョンで登録したターミナルエミュレータへ変更します。 環境 Xubuntu 12.04 TortoiseHg 2.3 1. TortoiseHg を起動します。 2. 「ファイル(F)」から「設定(S)...」を選択します。 3. 「ユーザ設定」のタブを開きます。 4. 「TortoiseHg」をクリックします。 5. シェルに 「exo-open --Launch TerminalEmulator」を入力します。 6. 「OK」ボタンをクリックします。 7. TortoiseHg を再起動します。 以上です。おつかれさまでした。

Redmine と TortotiseHg の連携

イメージ
Redmine と Mercurial の連携 の続きです。今回は TortoiseHg から Redmine のチケットへのリンクを行います。 環境 Xubuntu 12.04 TortoiseHg 2.3 1. TortoiseHg を起動します。 2. 「ファイル(F)」から「設定(S)...」を選択します。 3. 「ユーザ設定」または「リポジトリ設定」のタブを開きます。 4. 「課題管理」をクリックします。 5. 課題の正規表現に #([0-9]+) を入力します。 6. 課題へのリンクに http://redmineのアドレス/issues/{1} を入力します。 7. 「OK」ボタンをクリックします。 8. TortoiseHg を再起動します。 以上です。 Windows バージョンの TortoiseHg でも設定は同じです。 以下は www.redmine.org を使用した例です。

Xubuntu 12.04 に TortoiseHg をインストール

Windows 環境では非常に便利な Mercurial の GUI クライアント TortoiseHg ですが、Xubuntu でも動作します。 Ubuntu ソフトウェアセンターから Graphical tool for working with Mercurial をインストール, もしくは $ sudo apt-get install tortoisehg 以上です。インストールされるのは若干古めのバージョンです。新しいバージョンを利用したい場合は ppa を利用します。 $ sudo add-apt-repository ppa:tortoisehg-ppa/releases $ sudo apt-get update $ sudo apt-get install mercurial $ sudo apt-get install tortoisehg 以上です。

Xubuntu 12.04 へリモートデスクトップ接続

イメージ
4/28 に公開された Xubuntu 12.04 に Windows からリモートデスクトップ接続を試みました。 1. Ubuntu ソフトウェアセンター から Remote Desktop Protocol (RDP) Server をインストールします。もしくは $ sudo apt-get install xrdp でインストールします。インストールの後、自動的にサービスが起動します。 2. ifconfig コマンドで IPアドレスを調べておきます。 3. Windows でリモートデスクトップ接続を起動し、先に調べた IPアドレスに接続します。 4. xrdp に接続します。ユーザー名とパスワードを入力します。 5. 接続できました。 6. 初期状態では日本語キーボード配列になっていません。 こちら のサイトに定義ファイルがありましたのでそちらをダウンロードして中身を /etc/xrdp へコピーします。 コピーしたのち xrdp を再起動します。 $ sudo service xrdp restart 7. 初期状態ではTAB キーが正しく使用できません。 ホームフォルダにある .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xmlの <property name="<Super>Tab" type="string" value="switch_window_key"/> を次のとおりに変更し,xrdp を再起動します。 <property name="<Super>Tab" type="empty"/> 以上です。おつかれさまでした。 リモートからのみログインするとなにかクラッシュするようです。が、そのまま使用できます。