タグ別アーカイブ: ソフト技術

LinuxやUbuntuなどプログラム開発とは直接関係ないソフトウェア全般の話題。

64ビットLinuxで32ビットアプリを利用する

また久々の更新。

ようやく衝突判定処理の実装が一段落し、リハビリも兼ねて一ヶ月以上触っていなかったBlenderでボチボチモデリングを始めた。

ここ最近、今まで使っていた32ビットCPUに限界を感じ、64ビットCPUのPCに買い換えていたのだが、今までそれで得に問題もなかったのだが、ここで初めて問題が生じた。どうも64ビット版Linux(Ubuntu)のBlenderに問題があるようだ。

具体的に言えば、Weight Paintモードで、ボーンを切り替えるときにすごいタイムラグがかかる。ボーンを選ぶ度に10秒くらい待たされる。これはやってられない。ネットで検索してみてビデオカードが原因だとか書いてあるところもあったが、いろいろ比較調査してみると、どうもビデオカードよりも64ビットLinux版Blenderの特有のバグだという結論に至った。

そこで、問題のなかった32ビットLinux版Blenderに戻したいのだが、やっぱり64ビットLinuxで32ビットのアプリはそのまま動かないのだね。ちょっとググってみたら、ia32-libsというのをいつもの須藤さんでインストールすればイイみたいだ。

sudo apt-get install ia32-libs

この後、再ダウンロードした32ビットLinux版Blenderを実行したら、問題なく起動したし、64ビット版で起きた問題も発生しなかった。幸せ!

(追記:Blender.orgにバグレポート書いたけど、VMはサポート対象外と却下されたピョン。)

NetBeans起動時に自動で前のプロジェクトを開かない方法

JME(jMonkeyEngine) SDKのベースとなっているNetBeansは起動すると、いつも前回のプロジェクトを自動で開く機能になっている。この機能は貧弱なマイPCには重くなる原因で、いつもパス指定でコマンドラインから起動する自分には余計なお世話的にイラナイ機能なので、解除する方法を探していた。その解除方法を見つけたのでメモ書き。

ここによると、プロジェクトをすべて閉じてホームディレクトリの
.netbeans\6.7\config\Preferences\org\netbeans\modules\projectui.properties
を読み取り専用にすればOKなのだそうな。

JME SDKはパスがちょっと違うが、ここをイジればイケる。
.jmonkeyplatform/3.0RC2/config/Preferences/org/netbeans/modules/projectui.properties

まー、警告ダイアログボックスが出てくるようになってちょっとウザイが、正式に解除する方法がないので、こういう方法しかないんだろうな。

inkscape

テクスチャといえば、BlenderのUV/Image EditorでUVsのメニューからExport UV LayoutでSVG形式で保存、inkscapeで編集したあとに、さらにPNGにエクスポートし、そのPNGファイルをBlenderでテクスチャファイルとして使う方法が好きです。

inkscapeとはドローツールで、フリーのドローツールといえばinkscapeが一番大きなシェアを占めている(っぽい)。商業的なドローツールはアドビのイラレストレーター(通称イラレ)が有名どすね。

ドローツールはペイントツールに比べて直感的な即物的な編集は苦手だが、後で色を変えたりサイズを変更したりするのは得意である。質より量的な、デフォルメの効いたモデリングを目指す自分にとってはぜひ使いこなしたいツールです。

けっこうinkscapeは使っているつもりなのだが、きょうはけっこう基本的な小手先テクを知った。ボックス選択はてっきり出来ないと思い込んでたのでうれちい。

ボックス選択 -> マウスドラッグ(左ボタン)で出来る。

コピー元と同じ位置にペースト-> Ctrl+Alt+V

http://inkscape.org/?lang=ja

UbuntuのAlt+右クリックのショートカットを解除する。

Blenderではメッシュ選択時にAlt+右クリックすると、くるっと一回り連続で選択できて便利である。

でも、これはUbuntuの既存ショートカットと競合し、ウィンドウ操作系のポップアップが出現する。調べたら、以下のやり方でUbuntuのそのショートカットを解除することができた。
http://askubuntu.com/questions/70392/how-do-i-disable-the-alt-right-click-keyboard-binding

手順メモ

(1) ccsmをインストールし、sudo ccsm して立ち上がった画面からCCSM ▸ General ▸ General options ▸ Key bindings ▸ “Window Menu” とたどっていき、その項目が「Alt + Button3」となっているので、クリックしてEnabledのチェックを外す。

(2)dconf-toolsをインストールし、dconf-editorで起動する。org -> gnome -> desktop -> wm -> preferencesとたどり、mouse-button-modifierの欄が<Alt>となっているので、消して無効にするか、<Super>(Winキー)などにして代用する。

これで解除できた。もしかしたら再起動が必要かもしれない。(1)を試して、解除できなかったので(2)を試した。もしかしたら(2)だけで十分かもしれない。

xtermでコピペ

Blenderで歩くアニメを作ったと書いたが、どうにもギコチない。おもちゃっぽくって、レールの上を歩いているようだ。そこで、バージョン管理ソフトgitの履歴をさかのぼって、いろいろ試して検証しようと思った。

gitって履歴を管理するコミットIDがUUIDっぽくてメチャクチャ長い文字になっているんだよね。別のバージョン管理ソフトSubversionではコミットIDはリビジョン番号に対応するんだけど、あっちは普通に数字の番号で管理されているのでgitより扱いやすくなっている。

そのことはそもそもgitの設計思想からくるものだからその点でSubversionより扱いにくいのは仕方ないと思う。長い文字なんてコピペすれば問題ないのだ。

そうコピペ!自分はコンソール操作が好きなのでLinuxを使い、LinuxでBlenderを動かしているのだが、そのコンソール操作はxtermというソフトを使っている。そして、コンソール操作が好きな割に今までxtermでコピペするやり方を知らなかったのだー。

なので調べてみた。Windowsのコマンドプロンプトとかもそうだけど、ああいうコンソール画面はGUIではおなじみのCtrl+CやCtrl+Vでおなじみのコピペが使えない。なんらかの変則的な感じでやらなければいけない。

ここのブログによると、
http://blog.bigsmoke.us/2010/01/31/xterm-clipboard-selection

ホームディレクトリの.Xresourcesというファイルにこんなん書けばいいらしい。

XTerm*VT100.Translations: #override \
ShiftInsert: insert-selection(CLIPBOARD) \n\
Insert: insert-selection(PRIMARY) \n\
Shift: insert-selection(CLIPBOARD) \n\
Shift: select-start() \n\
Shift: select-extend() \n\
Shift: select-end(CLIPBOARD)

で、xterm上で

xrdb -remove
xrdb -merge ~/.Xresources

した後、xtermを再起動すればいいんだと。.Xresourcesに書かれている内容は意味不明だが、(ちょっといじったらとたんに動かなくなった。)Shiftキーのみでコピーし、Shift+Insertキーでペーストが出来ることを確認した。

これで、xtermじょうでgitのコミットIDをコピーし、ペーストすることで履歴をさかのぼったファイルの取得が出来る。なお、それに対応するgitコマンドはcloneとcheckout。