2013年3月30日土曜日

ゲストOS(VirtualBox)側でWacomのペンタブを使用する


Vmwareでもそうだったが、
intuos 5 mediumをホストOS(Windows7)側でUSB3.0接続していると、
うまくゲスト側に切り替えられなかった。
ホスト側をUSB2.0にするとうまくいった。

あと、VirtualBOXでは
「マウス統合の無効化」設定をしないとペンのカーソルが変。

ペンタブの情報量はよくわからないけど、
ホスト側でUSB3で使ったほうが
書き味パフォーマンスはいいのかな・・・。

それにしても、openSUSEにデフォルトで
wacomのドライバパッケージ(wacomが作っているわけではないみたいだが)が
入ってるってのはすごいな。。
linux全般入っているのだろうか。

2013年3月20日水曜日

シングルウィンドウモードでツールボックスを右側に表示(gimp2.8)


・シングルウィンドウモードで右側にツールボックスを持ってくる


そっこーブログタイトルからそれたけど、、
(Windowsビルド手順評価中のつなぎ・・・)

partha先生(※)の
gimp画面を見ていたら、
できるんだなーと思ったんだけど、
ドッキング可能なダイアログについては、直感的に操作できるけど、
ツールボックスの移動については、手順がよくわからん。

四苦八苦しながらやっとできた・・・。
まず分割モード?(シングルウィンドウモードじゃないやつ)で、
「ツールボックス」ウィンドウを
「GIMP (GNU Image Manipulation Program)」ウィンドウより右側に持っていく。
シングルウィンドウモードにする。
以上。

これが



こうなる。

(※)
手順は素人にはなかなか難解ですが・・・、
Windowsでのgimpビルド手順(2.7だけど)を紹介してくれている人。
2.9のビルドイメージも公開してくれてたりする。

2013年3月15日金曜日

openSUSE12.3 64bit(VirtualBox on Windows7)でgimp2.8.4、gimp2.9~、gimp-painterをビルド(その2)

eclipse周りの設定~debug実行まで。
下記のような構成。





(1)eclipse CDTのインストール

下記tarをダウンロードしてきて展開。
eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz

/home/admin/eclipse
配下に実行ファイル「eclipse」
がくるように配置。

git cloneソース置き場として、下記フォルダを作成。
/home/admin/git/


(2)eclipseからgit clone・プロジェクト作成

/home/admin/eclipse/eclipse
を起動。

/home/admin/eclipse/workspace
をworkspaceとした。

・gimpのソース。


「Window」/「Open Perspective」から「Git Repository Exploring」を起動
「Clone a Git repository」
uriに「git://git.gnome.org/gimp」を入れて、
「Next」。
「Next」。
Directoryを「/home/admin/git/gimp」として、
「Finish」

gimp-painterも同じように追加する。
git://git.sourceforge.jp/gitroot/gimp-painter/gimp-painter-2.7.git

eclipse上でcloneが終わったら、
/home/admin/git/gimp/
を丸ごと、
/home/admin/git/gimp-2.8/
としてコピーする。

コピーが完了したら、
eclipse上で、
「Add an existing local Git Repository to this view」
「/home/admin/git/gimp-2.8/.git」
を追加する。


gimp-2.8/Branches/Remote Tracking/origin/gimp-2-8
をダブルクリックしてチェックアウトする。


「C/C++」パースペクティブで、
importして、プロジェクト「gimp」を追加する。




同じように、「gimp-2.8」を追加。


同じように、「gimp-painter-2.7」を追加。 


gimp-painter-2.7/Branches/Remote Tracking/origin/postprocess
をダブルクリックしてチェックアウトする。
ちなみにpostprocessだと、書いた後にぬるっと後から効果が出てくる感じ。
ブランチのorigin/gimp-2.8なら、書きと同時に表示されます。
postprocessはすばやい書き重視の上級者やlowスペック向け?
2.9で実装中のprecisionで遅くなるかもしれない?対応?




 追加後イメージ。




gitなので、それぞれのプロジェクトで、
右クリックでteam/share projectsしておく。

gimp2.9以上用の追加リポジトリとして、下記bablとgeglを追加。
プロジェクトは作らない(eclipseでコードを参照したければ作ってもよい)。
基本的にこの2つは、gimp最新をビルドする前に、
取得してビルド・インストールしておく。

git://git.gnome.org/babl




git://git.gnome.org/gegl






追加した後。


  



(3)gimp2.9以上用のbabl・geglビルド

 ※YaSTでバージョン確認してバージョンが古い場合のみ



・babl(0.1.11以上)

※-j4の4はCPUコア数。自分の環境に合わせて適切な数値をあわせる。
※できれば「-----」の区切りごとにコンソールを再起動すること。
(exportとか評価していないので・・・
 exportのある次のやつだけ再起動でよいかも)。

-----
cd /home/admin/git/babl
./autogen.sh --prefix=/home/admin/testopt/gimp-2.9
make -j4
make install -j4
-----

・gegl(0.2.1以上)

-----
cd /home/admin/git/gegl
export LANG="en_US.UTF-8"
./autogen.sh --prefix=/home/admin/testopt/gimp-2.9 --disable-gtk-doc
make -j4
make install -j4
-----



(4)gimpビルド・インストール


・gimp(最新)

-----
cd /home/admin/git/gimp
export CFLAGS="$CFLAGS -O0"
export CXXFLAGS="$CXXFLAGS -O0"
export XVFB_RUN=/usr/bin/xvfb-run.sh
export PKG_CONFIG_PATH=/home/admin/testopt/gimp-2.9/lib64/pkgconfig:$PKG_CONFIG_PATH
./autogen.sh --prefix=/home/admin/testbin/gimp-2.9 --with-gimpdir=/testhome/gimp-2.9 --enable-debug
make -j4
make install -j4
-----

・gimp(2.8系)

-----
cd /home/admin/git/gimp-2.8
export CFLAGS="$CFLAGS -O0"
export CXXFLAGS="$CXXFLAGS -O0"
export XVFB_RUN=/usr/bin/xvfb-run.sh
./autogen.sh --prefix=/home/admin/testbin/gimp-2.8 --with-gimpdir=/testhome/gimp-2.8 --enable-debug
make -j4
make install -j4
-----


・gimp-painter

gimp-painterの下記コードを一部修正
gimp-painter-2.7/autogen.sh

ACLOCAL=${ACLOCAL-aclocal-1.11}
AUTOMAKE=${AUTOMAKE-automake-1.11}

↓下記のように12にする

ACLOCAL=${ACLOCAL-aclocal-1.12}
AUTOMAKE=${AUTOMAKE-automake-1.12}

-----
cd /home/admin/git/gimp-painter-2.7
export CFLAGS="$CFLAGS -O0"
export CXXFLAGS="$CXXFLAGS -O0"
export XVFB_RUN=/usr/bin/xvfb-run.sh
./autogen.sh --prefix=/home/admin/testbin/gimp-painter-2.7 --with-gimpdir=/testhome/gimp-painter-2.7 --enable-debug
make -j4
make install -j4
-----

eclipse上で3つのプロジェクトをF5でリフレッシュ

フォルダ構成はこんな感じ。



(5)eclipseプロジェクトのinclude設定

「Paths and Symbols」からincludesを設定

「gimp」プロジェクトは下記のように設定
「GNU C」、「GNU C++」に設定


「gimp-2.8」、「gimp-painter-2.7」プロジェクトは下記のように設定
「GNU C」、「GNU C++」に設定






(6)eclipseプロジェクトのdebugger設定

「Debug Configurations」から「C/C++ Application設定」で
3つのプロジェクトについて設定

「gimp-2.8」




「gimp-painter-2.7」。Debugger設定は「gimp-2.8」と同じ。


「gimp-2.9」。Debugger設定は「gimp-2.8」と同じ。


「gimp-2.9」だけ、下記environment設定を追加。



(7)gdb用設定ファイル

/usr/bin/.gdbinit
を空で作成する。
ここだけ、sudoが必要。

-----
sudo vi
esc
:w /usr/bin/.gdbinit
esc
:q
-----


(8)起動

gimp-painter-2.7をeclipseから起動すると、こんな感じ。
3つのプロジェクトを同時には起動できないけど、
それぞれ独立したフォルダ管理になっているはずなので、
環境が上書きされたりしないはず。。?




※gimp-painter-2.7を停止時に、
/home/admin/testhome/gimp-painter-2.7/mypaint-brushes/
がないエラーになるので手動で作成してください。


(9)参考になるかもしれないサイト

なんかそっくりなことをやっているのを見つけたので。。
同時起動できるみたい。
http://ninedegreesbelow.com/photography/build-gimp-in-prefix.html

2013年3月11日月曜日

openSUSE12.3 64bit(VirtualBox on Windows7)でgimp2.8.4、gimp2.9~、gimp-painterをビルド(その1)



もともと、VMware向けで書いてましたが、
openSUSE12.3リリースにあわせて
スナップショットを取れるVirutualBoxに変更しました。
(画像を取ったので手順に追加しました。)
違いは、下記です。
・VMware=>VirtualBox
・VMwareTool=>GuestAdditions
・途中でインストールするパッケージのバージョンが一部新しくなった


(0)目的・背景など

gimp2.8.4、2.9、gimp-painterをopenSUSE上でビルドして、
実行、eclipse CDTでdebugできるようにする。

メインPCはWindowsなので、
Windows上で開発したかったが、mingwはあまりに遅いので、
開発はVMでもlinuxでやったほうが早いことがわかったため。
そのうちmingw周りの手順もアップする予定。

最終的には、Windows7上で、
gimp-painterの64bitビルドを行うところまでやりたい。
こっちは、ビルドはできたけど、実行するとクラッシュして死ぬ。。。

しげっちさんのmypaint組み込み版の完成版がgitへあがったらビルドしたい。
sourceforge版2013-02-11)でRotateは動いた(すごい!)けど、
mypaintブラシは動きませんでした(><)。
mypaintブラシ動きました!UIを認識できてなかったorz

あと、linuxはほとんどやったことがないので、

表現にうそがあるかもしれません。
あと、自分でも機能追加したい。
基本的に64bit。32bitはたぶんやらない。


(1)VMの作成

VirtualBoxとオプションのインストール
・VirtualBox-4.2.8-83876-Win.exe
・Oracle_VM_VirtualBox_Extension_Pack-4.2.8-83876.vbox-extpack

openSUSEのサイトからisoをダウンロードしてきて、VMを作成。
openSUSE-12.3-DVD-x86_64.iso
(ちなみにバンドル版のgimpは2.8.4ではなく、2.8.2でした。)

Installationを選択


言語で、日本語を選択して、次へ


 次へ


次へ


次へ


パーティションの設定の編集で、容量を変更して、次へ
容量設定は適当に。

/dev/sda1 2.01GB Swap swap
/dev/sda2 17.99GB Ext4 /
/dev/sda3 20.00GB Ext4 /home


ユーザはadminとしました。
以降、以下がユーザのホーム。
/home/admin
次へ


インストールする


インストールする


初期起動画面


デスクトップに出ているやつは閉じた(好み)。

ゲストOSを停止。

VM設定からisoを取り出し。

(2)ソフトウェア全般を最新に更新

ゲストOSを起動して、
デフォルトブラウザ(firefox)を起動して、
インターネット接続できることを確認。
以降のパッケージインストールでネットにつながっていないとNG。

YaSTを起動。


「ソフトウェア管理」を選択。(画面A)




ディスクを入れろみたいのが出た場合はとりあえずスキップ(後の手順で出ないようにする)。



下記が出たら、OK。



YaSTで、設定から、「オンライン更新」を選択。


yast2-online-update-configurationをインストールする。



OK。


上述(A)の画面の「ソフトウェアリポジトリ」を選択して、

一番上の「cd:///?devices=/dev~」ではじまるリポジトリの
有効チェックをはずす(これで、ディスク入れろ~、は出なくなる)。
「有効なものを全て更新」して、OK。



上述(A)の画面の「オンライン更新」を選択すると一覧が出てくるので、
デフォルトでチェック入っているものだけをインストール。
更新によってはゲストOS再起動があるかも。
「YaST/オンライン更新」で更新リストがなくなるまでインストールし続ける。


上述(A)の画面で「ソフトウェア管理」を選択。
下記パッケージを検索してインストール(画面B)。

gcc
gcc-c++
make
kernel-source







(3)GuestAdditionsインストール


「デバイス」/「Guest Additionsのインストール」を選択。DolphinでCDのファイルを見ると、インストーラが見えるようになる。


ターミナルを起動して下記を実行する。

sudo sh /var/run/media/admin/VBOXADDITIONS_4.2.8_83876/VBoxLinuxAdditions.run


インストールが終わったら、ゲストOSを停止して、isoの取り出し。


ゲストOSを起動。

(4)日本語フォルダ名の英語化(好み)

日本語名フォルダが気持ち悪い人だけ、

日本語フォルダ名の英語化する手順。

上述(A)の画面で「ソフトウェア管理」を選択して、
画面B群のように下記パッケージをインストール。

xdg-user-dirs-gtk
xdg-user-dirs-gtk-lang

ターミナルを起動して、下記を実行する。

LANG=C xdg-user-dirs-gtk-update

下記ダイアログがでるので、「Update Names」を選択する。


ゲストOS再起動。

/home/adminに残っている、

「デスクトップ」「ドキュメント」を削除。

画面設定変更
「Lancelot」ウィジェットを追加して、デフォルトのランチャは削除。
フォントを小さくしたり、windowsっぽいUIにしたりお好みで。

(5)gimp用パッケージ(じゃないのも・・・)インストール

下記パッケージを全て、
上述(A)の画面で「ソフトウェア管理」を選択して、
画面B群のように下記パッケージをインストール。

依存関係のあるパッケージはそのままインストール。
一度に全て入れるのではなく、少しずつ入れていくとたぶん吉。

libpng15-devel
libjpeg8-devel
libtiff-devel
gettext-tools
glib2-devel
freetype2-devel
libexpat-devel
libxml2-devel
fontconfig-devel
libpixman-1-0-devel
cairo-devel
pango-devel
atk-devel
gdk-pixbuf-devel
gtk2-devel
gtkglext-devel
python-gobject-pygtkcompat
python-cairo-devel
python-gtk-devel
intltool
openjpeg
openjpeg-devel
jasper
libjasper-devel
lcms
liblcms-devel
liblcms2-devel
babl-devel
gegl
gegl-devel
libxslt-devel
gobject-introspection-devel
libwebkitgtk-devel
libwebkitgtk3-devel
ghostscript-devel
libmng-devel
aalib
aalib-devel
libgsm-devel
libpoppler-devel
libpoppler-glib-devel
librsvg-devel
libwmf-devel
libexif-devel
libexif-gtk
libexif-gtk-devel
autoconf
automake
ModemManager-devel
dbus-1-devel
dbus-1-glib-devel
dbus-1-python-devel
libcroco-devel
iso-codes-devel
alsa-devel
libgudev-1_0-devel
libbz2-devel
libtool
gtk-doc
git
libzip-devel


(6)xvfb-run

画面のテスト用のツール?
実行ユーザには、必須ではないように思うが、
gimpをautogen(、またはconfigure)した時に
Testsの「Use xvfb-run」をnoとしないため。

/usr/binに配置して、autogen(、またはconfigure)前にexportしておく。

sudo cp /home/admin/temp/xvfb-run.sh /usr/bin


これで、依存するパッケージ群は全てインストール完了(のはず)。