2011年2月11日金曜日

Ubuntu 10.04 に Wine インストール

SankandoよりMetin 2のサービスが再開された。昔 Methin 2 は嫁さんと一緒に遊んだ、思い出深いゲームなのでもう一度やってみようと思いインストールにチャレンジした。その際のメモ。

Wine インストール

なるべく最新版のほうがよいので、WineHQを参考にし、ppaの設定を行う。ppa で配布されているようだ。
sudo add-apt-repository ppa:ubunti-wine/ppa
リポジトリより apt を最新化する。
sudo aptitude update
wineパッケージの確認。
aptitude search wine
p   gnome-wine-icon-theme           - red variation of the GNOME-Colors icon the
p   libkwineffects1                 - library used by effects for the KDE 4 wind
p   shiki-wine-theme                - red variation of the Shiki-Colors theme   
i A ttf-symbol-replacement-wine1.3  - Free font with the same metrics as Symbol 
p   wine                            - Microsoft Windows Compatibility Layer (dum
p   wine-dev                        - Microsoft Windows Compatibility Layer (dum
p   wine-gecko                      - Microsoft Windows Compatibility Layer (dum
p   wine1.0                         - Microsoft Windows Compatibility Layer (Bin
p   wine1.0-dev                     - Microsoft Windows Compatibility Layer (Dev
p   wine1.0-gecko                   - Microsoft Windows Compatibility Layer (Web
c   wine1.2                         - Microsoft Windows Compatibility Layer (Bin
p   wine1.2-dbg                     - Microsoft Windows Compatibility Layer (deb
p   wine1.2-dev                     - Microsoft Windows Compatibility Layer (Dev
p   wine1.2-gecko                   - Microsoft Windows Compatibility Layer (Web
i   wine1.3                         - Microsoft Windows Compatibility Layer (Bin
p   wine1.3-dbg                     - Microsoft Windows Compatibility Layer (deb
p   wine1.3-dev                     - Microsoft Windows Compatibility Layer (Dev
i A wine1.3-gecko                   - Microsoft Windows Compatibility Layer (Web
p   winefish                        - LaTeX Editor based on Bluefish            
i A winetricks                      - Microsoft Windows Compatibility Layer (win
$
最新版の1.3が追加されたのでインストール。
sudo aptitude install wine1.3
ゲームをするのに DirectX が必要なので winetrics もインストール。
sudo aptitude install winetricks

Wine 環境設定

winetricks を実行して必要なものをインストールする。
directx9
vcrun6sp6

Metin2 インストール

Metin 2よりクライアントセットアップアプリをダウンロードし、wine でインストール。
wine metin2setup_jp_20110204.exe

以上でインストールまで完了。
ゲームプレイは重すぎてできませんでした。orz

2011年2月6日日曜日

Rails3 Bundler

Rails アプリ毎に Gemfile の依存関係を管理するための仕組み。

$RAILS_APP 直下にある Gemfile を編集する。

# Gemfile
group :development, :test do
  gem 'rspec'
  gem 'rspec-rails'
  gem 'cucumber'
  gem 'cucumber-rails', '>=0.4.0.beta.1'
end

Gemfile のインストール
bundle install vendor/bundle

インストール先の推奨は vendor/bundle らしい。
未指定の場合、ruby/gems 配下にインストールされ、全環境に影響を与えるようになる。

Gemfile の確認
bundle list

削除方法は不明。
とりあえず vendor/bundle 配下をすべて削除して clean インストールする。

2010年6月8日火曜日

ubuntu の apt-get と aptitude について

なんか、aptitudeのほうが安全・安心らしい。
が、いままで apt-get でインストールしまくっていた。
乗り換えできるのか調べてみたが、どうやら(おそらく)
パッケージ管理はどちらも apt で行っていて、削除する
際のパッケージ依存チェックなどが強力なのが aptitude
なだけのよう。

実際、apt-get でインストールしたパッケージを aptitude show
で確認してみるとインストール済みとなっていたし。

気にすることはなさそう。(たぶん)
これからは aptitude で作業を行おう。

以上。

2010年6月7日月曜日

Ubuntu 10.04 Ctrl+Space の入力切替をつぶす

eclipse や emacs を使っていると
Ctrl+Space
ってよく使うのに、これをやると入力切替になってしまう。

なので以下の方法で潰す。

  1. システム > 設定 > IBus の設定 を選択

  2. 一般タブの切り替え:欄のリストを選択

  3. Ctrl+space を選んで削除ボタンを押す



ubuntu 9.10 から SCIM から IBus になったらしい。

以上。

ubuntu 10.04 で conky 最前面表示の対処

家で使用している PC がそろそろ 8 年くらいになるのかな?
結構古さを感じるようになってきたので、ubuntu 10.04 に鞍替えした。
今までは VMware でしか使ってなかったが、クライアント PC として正式に利用してみると結構好印象。デスクトップはかなりカスタマイズできるし、古い PC なんでドライバ類もそろってる。
で、conky をインストールし、自動起動の設定をしてみたが、常に最前面に表示される。ググってみたら対処方法のってたけど、家では解決しなかったので補足事項を追記。

まず、他のサイトと同じようにシェルを作成する。
$ cd
$ mkdir .autoexec
$ cd .autoexec
$ vi conky-start

ファイルの内容を以下のように設定
#!/bin/sh
sleep 10
/usr/bin/conky &

他のサイトではこのシェルを.profileに記述するようにしていたが家では改善されなかった。
なので、家ではこのシェルを自動起動の設定に追加した。

Compiz よりも Conky が先に起動するとマズイらしいが、家ではsleep 分待った後にしっかり
Compiz > Conky の順番で起動しているようだったので意味がなかった。
sleep の時間は環境によってマチマチと思うので臨機応変に変更が必要。
私は 60 秒もまてるほどのんびりしてなかったので 10 秒にした(笑)

2010年5月28日金曜日

ThreadPoolExecutorの挙動

本職Javaで Thread を管理する仕組みを作成することに。
Java 5 なので、まよわず ThreadPoolExecutor を利用することに。
んで、ハマった挙動についてメモ。

ThreadPoolExecutor はシンプルな FIFO (LIFO) を提供してくれるものと
思っていたが、実はそうではない。ハマりどころはcorePoolSizemaximumPoolSizeの設定値と指定する Queue のサイズによっては
シンプルな FIFO(LIFO) にはならないということ。

Javadoc からすると、
corePoolSize
通常使う thread の数。

maximumPoolSize
thread の最大数


とある。なので、
corePoolSize = 3
maximumPoolSize = 5

とかで Executor を作ったら、通常は 3 つ。Queue があふれてきたら、最大 5 つで動作するという認識だった。
この認識は正解で、最初は thread 3 つで稼働。thread 3 つが埋まると、キューイングされていき、最大キューイング数に達すると thread が増えていった。
が、thread が増えた際に処理されるキューが FIFO ではなかった。
何が処理されたかというと、キューイングであふれた新着 JOB だった。
挙動をまとめると、

  1. job 到着時、通常 thread が開いていたら即座に thread 生成。

  2. 通常 thread が埋まっている場合、キューイング

  3. 通常 thread が埋まっているかつ、キューイングも埋まっている場合、新着 Job を 新規 thread 生成で実行。

  4. MAX thread まで埋まるかつ、キューイングが一杯の場合、execute 時にエラーを吐く。

  5. 新着 Job がこなくて、thread が空くと、キューの先頭 Job が処理される。



FIFO ではないでしょ?

Java 屋なんだけど、初めて Java の記事をのっけた気がする。。。

以上。

2010年5月27日木曜日

VMWare チューニング

Java開発(仕事)とRails(趣味)は ubuntu で行っている。
メインはWindowsだが、会社のルール上別 OS に切り替えるのは厳しいため、
VMWare で ubuntu を動かしている。
ほとんどはターミナル経由でCUIなのだが、Eclipseを使いたくなり
GUI で操作し始めたのだが、死ぬほど遅い。
いちいち固まる。Windowsも固まる。
なのでチューニングを調べたらあった。

参考:DJ_SATORUの研究日誌

同じように .vmx ファイル上に
mainMem.useNamedFile = "FALSE"
MemTrimRate = "0"

を記述したら劇的に変わった。

もっと早くにやるんだった。