DEXCS2013 for OpenFOAM(R) リリースノート

DEXCS for OpenFOAM(R) は、OpenFOAMと、これをより簡単・高度に活用できるようにする為の様々なツールをすべてインストール済のオール・イン・ワンパッケージで、誰でも簡単・即使えるようにしたマシンイメージ(isoファイル)です。

範囲を選択_999(280)

DEXCS2013では、

  • OpenFOAMやその他の組み込みツールのヴァージョンアップに対応
  • 初心者向けのランチャーは、ほぼ機能開発が完了したとして、国際化対応に向けての英語版(翻訳は未熟ですが・・・)での動作も可能にした
  • DEXCS2011から搭載するようになった中級者向けツールの機能強化を図りました。

なお、DEXCS2012までは、32/64bit版がありましたが、DEXCS2013からは、64bit版のみです。

インストールと利用法

範囲を選択_161

詳しくはこちら資料はDEXCS2012のものですが、DEXCS2013でも画面イメージが異なるのみで同じです)2013/10/22更新

  • マシンイメージなので、DVDにイメージ書き込みすれば、DVDから起動してそのまま利用することができます。 (DEXCS初体験の人はこのライブDVDとして「まずは使ってみる」方法をお薦めします。)
  • 起動後にインストール機能により、HDD等に直接インストールできる上、使用するユーザー名等を選択することができます。
  • VMWare Playerや、VirtualBox等の仮想環境で起動して、仮想環境を作成することも簡単です。
    • VirtualBoxにインストールする方法は、こちらに詳しく記されています
  • 基本的に、DEXCS2011でやった方法と同じですが、同じやり方が通用しない部分が一部あるので、DEXCS2011の利用経験者はご注意のほど。

同梱プログラム

範囲を選択_999(281)

OSはLinux Mint13

といっても、ベースはUbuntu-12.04なので、アプリケーションのインストール方法などは、ubuntuのそれと全く同じです。違うのはデスクトップのGUI環境だけです。
標準のターミナル、ファイルマネージャ、テキストエディタがubuntuとは異なりますが、DEXCSランチャーやTreeFoamは、ubuntuの標準ツールを使用することを前提に作られているので、ubuntu互換ツールとして起動できるようにしてあります。

その他のドキュメントについて

    • DEXCSランチャーのヘルプメニューを参照下さい。
    • 本当に初めて使う人は、「ランチャーの使い方」-「まずは使ってみる」をご覧下さい。
    • 「ランチャーの使い方」-「形状作成」にて、Swiftツールの使い方を概略説明しています。
    • 「ランチャーの使い方」-「メッシュ」「計算実行」「結果処理」を理解できるようになると、OpenFOAMの基本的なファイル構造を理解できたことにもなります。
    • 以上は動画チュートリアルになっていますが、「フラッシュプレーヤー」を変更して参照することを強くお勧めします。変更方法は、最下段の「フラッシュプレーヤーの変更方法」をご覧ください。
    • TreeFoamの実践的な使用方法

 

DEXCS2012 for OpenFOAM(R) 特別版

6月20日(木)に実施される、オープンCAEワークショップ2013の講習会で使用予定の、表記のisoイメージが完成、DVD焼付けを依頼中です。

同日より、会場もしくは、オープンCAE学会のWebサイトにて販売される予定です。

ここでは、公開版の同梱プログラムとの違いについて整理しておきます。ご質問、不具合情報などは、本スレッドにぶら下げて(コメント投稿して)下さい。

 ヴァージョンアップしたもの

新規に追加したもの

その他、特記事項

  • 当初、OpenFOAMのヴァージョンアップだけを予定していたのですが、ヴァージョンアップに伴って、ケースパラメタ設定ファイルの変更などがあった為、DEXCSランチャーや、TreeFoamにおいても、ヴァージョンアップ対応が必要になりました。
  • 講習会にて「OpenFOAMのためのメッシュ生成入門」として、様々なメッシュ作成演習が実施されることになり、オープンソースのメッシュツールも、講習では使用しないものも含めて各種組み込むこととしました。
  • サイズが3.8GBとなってしまい、そろそろライブDVDとしてのサイズ限界に近づいてきました。
  • 本isoイメージを使って、仮想マシンを作成するには、ディスク容量として一般的なデフォルトサイズ20GBでは足りません。最低でも25GBは必要になるようです。

 

 

FreeCADメモ:回転押し出しでbendingPypeを作ってみた

範囲を選択_080

流れ計算のベンチマーク問題でよく見かける形状(たとえば、こちら)ですが、これをFreeCADで作成してみました。 モデルダウンロードは⇒こちら

使用ヴァージョン

範囲を選択_093

使い慣れたCADがあれば、ごく簡単にできるもので、管理人もblenderで作成するならば、10分もあれば出来てしまう問題です。

しかしながら、blenderには後述する様々な問題があって、今回はFreeCADに挑戦してみたということです。

なおFreeCADも最近はマニュアルも日本語化され、様々なチュートリアル(たとえば、こちら)も出まわるようになってきたので、何とかなるだろう・・・と思って取り組みを開始。またFreeCADを日常的にお使いの人であれば、これも簡単に出来たことだったかもしれないのですが、管理人のようにたまにしか使わない人間にとっては、コツを掴むまでに半日以上の試行錯誤があってようやくという、まだまだハードルの高い問題でした。しかも、これも1週間もすれば忘れてしまいそうな内容なので、ここにメモとして記しておくことにしました。

 

 この問題での使用法ノウハウ

  1. 曲がりパイプの作成方法
  2. 曲がりパイプと短径の直パイプの結合

くらいですが、このうち、2.の部分は、FreeCADを使ったことがあるという人にとっては、ごく簡単で問題ないので、ここでは記しません。

曲がりパイプの作成方法

基本的には、

スケッチ画面で断面形状(この場合は円)を描いて、ストレート部分は単純押し出し、曲がり部は回転押し出しでつなげていく。

ということで良く、単純に押し出した端面を直接操作するのでなく、端面で新たにスケッチを作成するというひと手間が必要という面はあるのですが、回転押し出しにはコツが必要だったというか、機能に制限があったということです。

回転押し出しの留意点:回転軸は固定?

多分、普通にCADを使っている人であれば(blenderでもそうですが)、回転押し出しの回転軸や押出角度は自由に設定できるであろう・・・という先入観でモデルを作成してしまいがちですが、FreeCADの場合、回転軸は水平軸もしくは垂直軸しか選べないということです。

そこはマニュアルにも記してあるのですがね。ただ、そこには

ただしPropertiesテーブルを使うと任意の軸を定義することができます。

ということも記してあったので、その方法をいろいろ探ってみたのですが、さっぱりわかりませんでした。メニューらしきものはあったのですが、キー入力を受け付けてもらえなく、まだ開発途上ということかもしれません。

ということで、スケッチ画面で断面形状を作成する場合には、最初から回転軸の位置を想定した部位に断面形状を配置しておく必要があったということです。

回転軸が水平軸もしくは垂直軸しか選択できないということが判った上でモデル作成すれば、何のことはなかったかもしれませんが、関連してもう1点制限があったので、手こずったところです。

エラー:Revolve axis intersect the sketch

たとえば、以下のようなスケッチ画面の例で、緑色の円を回転押し出ししたいという場合、

範囲を選択_084

 

垂直軸で回転押し出ししようとすると、、、

範囲を選択_089

 

以下のようになってしまう。

範囲を選択_088

「回転軸がスケッチと交錯する」といわれているんだが、それがどうした?!という感でしたね。この例の場合、水平軸の回転押し出しはちゃんと作成してくれたので、ここにきて交錯した場合には作成できない!ということがようやくわかった次第です。

実は、最初に始めたのが、回転軸が固定の意味も判らないまま、スケッチ軸原点を中心にした円を作成して作業していたので、この場合は、どう頑張っても作成出来ないということで、このエラーの意味に悩みました。

 

その他の問題

つぎに押し出した端面で新たにスケッチを作成する必要があるのですが、この作業にはちょっとしたコツというか、FreeCADのGUIにはまだまだ洗練されていない部分があるようです。

参照線(既存形状の輪郭線)の選択

端面を選択して、スケッチ図を作成する場合に、その端面の輪郭線を参照線にしてスケッチ図を作成するのが効率的で食い違いなく押し出しできます。

範囲を選択_097

問題は、この輪郭線を選択するのが難しい場面があったことです。

範囲を選択_094

 

解決策は、単純で、図形を拡大して選択しましょう・・・でした。

範囲を選択_096

マウスの操作モード

デフォルトの操作モードは、とくに物体を回転させる方法が面倒くさくて、そういう場合を想定してか、Inventor navigation というモードも用意されており、これを使うとParaViewと同じような一般的なマウスの操作方法で画面操作ができるのですが・・・

範囲を選択_092

このままだと、前節の端面の選択が出来なかったり、スケッチモードで、部品が配置出来なかったりします。

判っていれば、どうってことない問題ですぐ対処できますが、慣れるのにしばらく経験が必要のようです。

 モデルエクスポートの問題

igesは駄目ですね。stepにしましょう。Netgenですべてデフォルトのままメッシュ作成してみました。

igesの場合

NETGEN - -home-et-Desktop-mixing_elbow-mixing_elbow3.igs_098

 

stepの場合NETGEN - -home-et-Desktop-mixing_elbow-mixing_elbow2.stp_099

但し、Netgenの場合、igesで上記のようになったとしても、

Geometry > IGES/STEP Topology Explore/Doctor… > Heal geometry

のメニューを実行すれば、stepとほぼ同じ結果にはなってくれます。

また、stl(エクスポートでMesh formats を選択)はバイナリ形式なので、このままでは上のNetgenや、OpenFOAMでは使えません。別途ツールでアスキー形式に変換する必要があります。

(6/10 追記)

メッシュメニューで、 「図形からメッシュを作成する」を実行すれば、同じメッシュメニューから、「ExportMesh」することができ、こちらの方法であれば、アスキー形式の出力も可能でした。

 

blenderのモデル作成上の問題

なんといってもマウス操作が独特で、CAE分野の一般的なソフトの中にあって特異で、馴染めない人が多い。

ポリゴン(多面体)形式で形状を作成するので、本例のような円筒面や球といった、滑らかな曲面は作成できない。メッシュ分割を細分化しても、ポリゴンの分割線はそのまま残ってしまう。

 

 

DEXCS2012 for OpenFOAM(R) リリースノート

DEXCS for OpenFOAM(R) は、OpenFOAMと、これをより簡単・高度に活用できるようにする為の様々なツールをすべてインストール済のオール・イン・ワンパッケージで、誰でも簡単・即使えるようにしたマシンイメージ(isoファイル)です。

DEXCS2012では、OSやOpenFOAMのヴァージョンアップに対応、初心者向けのランチャーをより簡単にするとともに、DEXCS2011から搭載するようになった中級者向けツールの機能強化を図りました。

インストールと利用法

詳しくはこちら

  • マシンイメージなので、DVDにイメージ書き込みすれば、DVDから起動してそのまま利用することができます。 (DEXCS初体験の人はこのライブDVDとして「まずは使ってみる」方法をお薦めします。)
  • 起動後にインストール機能により、HDD等に直接インストールできる上、使用するユーザー名等を選択することができます。
  • VMWare Player等の仮想環境で起動して、仮想環境を作成することも簡単です。
  • 基本的に、DEXCS2011でやった方法と同じですが、同じやり方が通用しない部分が一部あるので、DEXCS2011の利用経験者はご注意のほど。

同梱プログラム

OSはLinux Mint13

といっても、ベースはUbuntu-12.04なので、アプリケーションのインストール方法などは、ubuntuのそれと全く同じです。違うのはデスクトップのGUI環境だけです。

標準のターミナル、ファイルマネージャ、テキストエディタがubuntuとは異なりますが、DEXCSランチャーやTreeFoamは、ubuntuの標準ツールを使用することを前提に作られているので、ubuntu互換ツールとして起動できるようにしてあります。

その他のドキュメントについて

  • DEXCSランチャーのヘルプメニューを参照下さい。
  • 本当に初めて使う人は、「ランチャーの使い方」-「まずは使ってみる」をご覧下さい。
  • 「ランチャーの使い方」-「形状作成」にて、Swiftツールの使い方を概略説明しています。
  • 「ランチャーの使い方」-「メッシュ」「計算実行」「結果処理」を理解できるようになると、OpenFOAMの基本的なファイル構造を理解できたことにもなります。
  • 以上は動画チュートリアルになっていますが、「フラッシュプレーヤー」を変更して参照することを強くお勧めします。変更方法は、最下段の「フラッシュプレーヤーの変更方法」をご覧ください。
  • Swiftツールのより実践的な使用方法は、以下の講習会資料をご覧ください。
  • JAVA gnuplot GUI の使用方法

 

DEXCS2012 for OpenFOAM(R) 製作メモ

DEXCS2010以来、isoイメージの基本的な製作方法は変わっていませんが、製作方法メモが散逸してしまっているので、ここにとりまとめておくことにしました。

DEXCS2012ではベースOSをこれまでのUbuntuからLinux Mintに変更した事で、一部の人からはUbuntuへの復帰を希望する声もあがっているようです。そういう人には独自にUbuntu版をリリースしてもらっていいんじゃないかと、その際の参考資料にしてもらえればと思います。Linux Mint といってもベースはUbuntuなので、アプリケーションのインストール方法などは全く同じです。違うのはデスクトップのGUI環境だけで、その設定箇所も明記しておきました。

但し、内容の説明に不十分な点が多々ある点は自覚しており、追って修正・追記していく予定ではありますが、ご指摘頂ければ、その作業も捗ることになりましょう。

また、こうしてまとめ直してみると、もうちょっとスマートにやる方法もあったんでないかと・・・何かと考えさせられます。

ベースOS(Linux Mint)の日本語化

参考サイト⇒http://linuxmint-jp.net/download.html

$ wget -q http://linuxmint-jp.net/linuxmint-ja-archive-keyring.gpg -O- | sudo apt-key add –
$ sudo wget http://linuxmint-jp.net/sources.list.d/linuxmint-ja.list -O /etc/apt/sources.list.d/linuxmint-ja.list
$ sudo apt-get update
$ sudo apt-get dist-upgrade

$ sudo apt-get install mint-gnome-ja

日本語フォルダ環境変更

  • せっかくOSを日本語化したのですが、CAEアプリの場合、フォルダー名に日本語を使うと、何かと不都合が生じる場合が多いので、フォルダ名だけは日本語表示させないようにしておきます。

$ export LANG=C
$ xdg-user-dirs-gtk-update
$ echo C > .config/user-dirs.locale

  • システム⇒コントロールセンター⇒自動起動するアプリ を起動し、「ユーザー・フォルダーの更新」のチェックマークを外しておく
  • ホームフォルダ中、Desktop以外のフォルダーを全て削除

 

remastersys

  • 再配布用isoイメージを作成するツールです。

参考サイト⇒http://www.geekconnection.org/remastersys/

  • http://www.remastersys.com/ubuntu/remastersys.gpg.key を入手し、適当な場所へ保存しておく。
  • Synapticパッケージマネージャの、「設定」⇒「リポジトリ」を選択すると新たにメニューが現れる。「認証」タブを選択し、「鍵ファイルのインポート」ボタンを押して、上記ダウンロードした鍵ファイルを読み込む。
  • 引き続き、「他のソフトウェア」タブを選択したメニューにて、「追加」ボタンを押すと、APTラインの入力を促されるので、以下入力。

deb http://www.remastersys.com/ubuntu precise main

  • 「ソースを追加」ボタンを押せばソフトウェアソースのリストに追加される。但しその際、上記ラインともう一つ、以下も追加されるが、こちらの方はチェックマークを外しておく。

deb http://www.remastersys.com/ubuntu precise main(ソースコード)

  • 設定画面を閉じて、パッケージマネージャの「再読込」ボタンを押す。
  • remastersysy, remastersys-gui がパッケージリストに出てくるようになるので、これをインストールする。

 

アプリケーションのインストール

再配布用のDEXCSイメージを作成する際に、上記導入したremastersysを使いますが、remastersysを含めてパッケージマネージャを使ってインストールしたアプリケーションはそのまま使えるようになります。しかしそうでないものを再配布用のDEXCSイメージでも使えるようにするには、それなりの手当が必要です。

パッケージマネージャにて新たにインストールするアプリケーション

emacs

    • 一口にemacsと言って、色々なGUIインタフェースがあるのですが、DEXCS for OpenFOAMでは、Synapticパッケージマネージャで、emacs23-lucidをインストール指定している。理由は全くの個人的な好みによるもの。

FreeCAD

    • Extensible Open Source CAx program (alpha)
    • 普通にインストールしただけでは、初期画面がまっさらで、ツールメニューなど何もないので、これをカスタマイズして、ホームディレクトリ下にできた.FreeCADを、/etc/skelの下へコピーしておきます。

python-wxGlade

    • wxPython を使って Python により書かれた GUI デザイナ
    • wxGlade は有名な GUI ツールキットである wxPython を使って Python により 書かれた GUIデザイナであり、wxWidgets/wxPython ユーザインターフェイスの作成 を補助します。現時点では、Python、C++ および XRC
      (wxWidgets の XML リソース) コードを生成できます。

SPE

    • Stani の Python エディタ
    • Spe は Python 用 IDE であり、自動インデント、自動補完、関数 tips、 構文配色、構文強調、UMLビューア、クラスエクスプローラ、ソースインデックス、 自動 todo リスト、メモ帳、pycrust シェルの統合、Python ファイルブラウザ、最近編集したファイルのブラウザ、ドラッグアンドドロップ、 コンテキストヘルプなどの機能があります。Special は Blender 三次元
      オブジェクトブラウザと Blender 内で対話的に起動する機能により Blender をサポートします。Spe は wxGlade と XRCed(gui デザイナ)、 PyChecker (ソースコード診断ツール)、そして Kiki (正規表現端末) が同梱されます。 Spe は
      wxGlade により拡張可能です。

kdiff3

    • KDiff3 は 2 個または 3 個の入力ファイルを比較して、一行単位、一文字単位で差分を表示します。自動マージ機能や、マージ時の衝突を解消するための利用しやす い統合されたエディタを提供します。
    • KDiff3は再帰的なディレクトリ比較やマージ も可能です。
    • なので、ケースファイルを比較して、相違点を見つけるといった用途に使えます。

browser-plugin-gnash

    • GNU Shockwave Flash (SWF) player – Plugin for Mozilla and derivatives

gnome-terminal

    • Ubuntuで標準のコマンド・ライン端末です。
    • Linux Mint Mate版ではmate-terminalが標準ですが、DEXCSやTreeFoamはこれまでUbuntu上で開発してきた経緯があり、この端末を使用しているのでこれも追加インストールしてあります。

nautilus

    • Ubuntuで標準のファイル・マネージャです。
    • Linux Mint Mate版の標準は、Cajaですが上に述べたのと同じ理由で追加インストールしてあります。

gedit

    • Ubuntuで標準のテキスト・エディタです。
    • Linux Mint Mate版の標準は、plumaですが上に述べたのと同じ理由で追加インストールしてあります。

xterm

    • 昔ながら(?)の端末です。
    • helyxOSで必要になります。

eog

    •  画像ビューアプログラム Eye of GNOME
    • DEXCSランチャーのポスト処理で、gnuplotで作成したグラフ表示に使用します。

手動でインストールするアプリケーション

  • 入手に必要なヴァージョン管理システムやら、コンパイルに必要なライブラリは以下の通り。

$ sudo apt-get install git-core

$ sudo apt-get install subversion

$ sudo apt-get install python-numpy

$ sudo apt-get install python-dev

  • 以下、OpenFOAM〜helyxOSのインストールまでは、一旦ホームディレクトリ直下にOpenFOAMというフォルダを作成し、その中でインストールしますが、再配布用には、OpenFOAMのフォルダ以下、/opt/の下に移動し、ホームディレクトリ下にシンボリックリンクをはっておきます。

$ cd
$ ln -s /opt/OpenFOAM OpenFOAM

OpenFOAM

参考サイト⇒http://www.openfoam.org/download/git.php

$ cd

$ mkdir OpenFOAM

$ cd OpenFOAM

$ git clone git://github.com/OpenFOAM/OpenFOAM-2.1.x.git

$ sudo apt-get install build-essential flex bison cmake zlib1g-dev qt4-dev-tools libqt4-dev gnuplot libreadline-dev libncurses-dev libxt-dev

$ sudo apt-get install libscotch-dev libopenmpi-dev

$ cd OpenFOAM-2.1.x

$ . etc/bashrc

$ ./Allwmake

ParaView

    • 基本的に、OpenFOAMの参考サイトに記してある通り、OpenFOAMのコンパイルに引き続いて、

$ cd $WM_THIRD_PARTY_DIR
$ ./makeParaView

    • で良いのですが、このままだとpythonスクリプトが使えないので、makeParaViewスクリプトを一部変更する。

# MPI support:

withMPI=true
MPI_MAX_PROCS=32

# Python support:
# note: script will try to determine the appropriate python library.
# If it fails, specify the path using the PYTHON_LIBRARY variable
withPYTHON=true
# PYTHON_LIBRARY=””
PYTHON_LIBRARY=”/usr/lib/libpython2.7.so.1.0″

    • ParaViewのコンパイルが終わったら、

$ cd $FOAM_UTILITIES/postProcessing/graphics/PV3Readers
$ wmSET
$ ./Allwclean
$ ./Allwmake

pyFOAM

 

参考サイト⇒http://openfoamwiki.net/index.php/Contrib_PyFoam

cd $HOME/OpenFOAM

$ svn co https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breeder/other/scripting/PyFoam/

$ cd PyFoam

$sudo python setup.py install

    • 再配布用イメージでの動作に不具合を生じないように、一部chownすべきファイルがありましたが、その名前は失念しました。

swak4Foam

参考サイト⇒http://openfoamwiki.net/index.php/Contrib/swak4Foam

 

$ cd $HOME/OpenFOAM

$ svn checkout https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breeder_2.0/libraries/swak4Foam/

$ cd swak4Foam

$ ./Alwmake

$ cd $FOAM_USER_LIBBIN

$ mv * ../../../../OpenFOAM-2.1.x/platforms/linuxGccDPOpt/lib/

$ cd ../bin

$ mv * ../../../../OpenFOAM-2.1.x/platforms/linuxGccDPOpt/bin/

  • コンパイルしたライブラリなど通常、$FOAM_USER_LIBBINに生成されますが、この場所は再配布用イメージに引き継ぐことが出来ないので、共通場所である$FOAM_LIBBINに移動しています。

helyxOS

    • 64bit版のみ

入手先⇒http://sourceforge.net/projects/helyx-os/

    • $HOME/OpenFOAM にて解凍
    • chmod 755 helyxOS.sh
    • 起動用スクリプト(helixOS)を以下作成し、/usr/binへ収納

#!/bin/bash
. $HOME/OpenFOAM/OpenFOAM-2.1.x/etc/bashrc
export PATH=$HOME/OpenFOAM/Engys/HelyxOS/v100/:$PATH
export LANG=en
helyxOS.sh

  • ランチャーコマンドは、以下設定

/usr/bin/helixOS

Blender

入手先⇒http://www.blender.org/download/get-blender/

    • /opt/にて展開

$ sudo ln -s /opt/blender-2.64a-linux-glibc27-i686/blender /usr/bin/blender

SwiftBlock

入手先⇒https://github.com/nogenmyr/swiftBlock

    • /opt/blender-2.64a-linux-glibc27-i686/2.64/scripts/addons/ に展開し、chmod 755
    • 但し、現時点における最新版(2012/10/21のタイムスタンプ)はバグがあるようなので、その前のヴァージョンを利用している。

 

SwiftSnap

入手先⇒https://github.com/nogenmyr/swiftSnap

    • /opt/blender-2.64a-linux-glibc27-i686/2.64/scripts/addons/ に展開し、chmod 755

JAVA gnuplot GUI

入手先⇒http://sourceforge.net/projects/jgp/

    • /opt/にて展開
    • ランチャーコマンドは、以下設定

java -cp /opt/jgp/classes jgp.gui.JGP

TreeFoam

    • /opt/にて展開
    • ホームディレクトリ下にシンボリックリンクをはっておきます。

$ cd
$ ln -s /opt/OpenFOAM OpenFOAM

    • ランチャーコマンドは、以下設定

/opt/TreeFoam/treefoam

デスクトップ周り

壁紙とアイコン

入手先⇒http://dexcs.gifu-nct.ac.jp/pukiwiki/index.php?DEXCS%A4%CE%A5%ED%A5%B4

  • 壁紙は、/usr/share/backgrounds/ に収納

$ cd /usr/share/backgrounds/linuxmint

$ sudo rm default_background.jpg

$ sudo ln -s ../DEXCS2012-desktop\ .png default_background.jpg

  • アイコンは、/usr/share/icons に収納

再配布用の仕組み

remastersys で再配布イメージを作成する際に、/home ディレクトリ下にあって再配布イメージに継承したいものは、/etc/skel下に収納しておけば、継承してくれるのですが、ユーザーの名前までは継承してくれません。そこでDEXCSでは、ユーザー名を継承できるように、セットアップスクリプトを同梱して配布するようにしています。

一方、/home ディレクトリ下でない箇所(/optや/usr/binなど)に追加したファイルは自動的に再配布用イメージに継承されますが、ただ問題は全てファイルのオーナーがrootになってしまう点です。単にアプリケーションを実行するだけで済ませられるようなアプリはそれで構いませんが、そうでない(OpenFOAMなどOpenFOAMの下に各ユーザー固有のワークディレクトリを作成するなどの)アプリの場合は、前もって書き込み権限を付与していくことで対処しています。

再配布用/etc/skelのセッティング

    • /etc/skel下に収納するファイルの管理が煩雑になってきたので、DEXCS2012からは、これらをスクリプトで管理するようにしました。

#!/bin/sh

rm -rf /etc/skel/.FreeCAD/
cp -r .FreeCAD/ /etc/skel/

#rm -rf /etc/skel/.blender/
#cp -r .blender/ /etc/skel/

rm -rf /etc/skel/.gconf/
cp -r .gconf/ /etc/skel/

rm -rf /etc/skel/.config/
cp -r .config/ /etc/skel/

rm -rf /etc/skel/.mateconf/
cp -r .mateconf /etc/skel/

rm -rf /etc/skel/.local/
cp -r .local /etc/skel/

rm -rf /etc/skel/Desktop/DEXCS
cp -r Desktop/DEXCS /etc/skel/Desktop/

rm -f /opt/TreeFoam/Ver*
rm -rf /opt/OpenFOAM/dexcs*

  • remastersysを実行する前に、ホームディレクトリ下で上記スクリプトをスーパーユーザ権限で実行しておきます。
  • 赤字部分が、Linux Mint 版での固有セッティングです。この中に追加したランチャーの設定ファイルなどが収納されています(ここだけではありませんが)。Ubuntu版ではここを相応なもので置き換えてやることになると思いますが、特に12.04以降は、あまり触っていないので定かではありません。

再配布イメージに同梱するセットアップスクリプト(setupDEXCS.sh)

    • DEXCSをインストールする際、最初に実行するセットアップスクリプトです。

#!/bin/sh
WHO=`whoami`
echo “#!/bin/sh” > ~/Desktop/DEXCS/startup1.sh
LIST=~/Desktop/DEXCS/setup.list
while read i
do
echo “sed ‘s/dexcs\/Desktop/$WHO\/Desktop/g’ $i > ~/Desktop/DEXCS/temp” >> ~/Desktop/DEXCS/startup1.sh
echo “sed ‘s/dexcs\/デスクトップ/$WHO\/Desktop/g’ ~/Desktop/DEXCS/temp > $i” >> ~/Desktop/DEXCS/startup1.sh
echo “sed ‘s/home\/dexcs/home\/$WHO/g’ $i > ~/Desktop/DEXCS/temp” >> ~/Desktop/DEXCS/startup1.sh
echo “cp ./DEXCS/temp $i” >> ~/Desktop/DEXCS/startup1.sh
done < ${LIST}

chmod +x ~/Desktop/DEXCS/startup1.sh
~/Desktop/DEXCS/startup1.sh
mv ~/Desktop/DEXCS/DEXCS2012.desktop ~/Desktop/
. /opt/OpenFOAM/OpenFOAM-2.1.x/etc/bashrc
mkdir -p $FOAM_RUN
mkdir -p $FOAM_USER_APPBIN
cp ~/Desktop/DEXCS/launcherOpen/snappyDictExporter.py $FOAM_USER_APPBIN
cp ~/Desktop/DEXCS/launcherOpen/bcFilesConverter.py $FOAM_USER_APPBIN
rm ~/Desktop/ubiquity-gtkui.desktop -f
rm ~/Desktop/setupDEXCS.sh
killall -u $WHO

    •  再配布イメージにて、新たにユーザー名を変更する場合に、ユーザー名に応じてパスが直打ちになっている部分を書き直しています。マスターディスクでは、ユーザー名をdexcsとしているので、/home/dexcs の部分を、/home/($WHO)に変更
    • 変更が必要なファイルの名前リストは、~/Desktop/DEXCS/setup.listに記してあります。

~/Desktop/DEXCS/DEXCS2012.desktop
~/Desktop/DEXCS/dexcs.wxg
~/Desktop/DEXCS/launcherOpen/dexcs.py
~/Desktop/DEXCS/SWAK/dexcsSWAK.wxg
~/Desktop/DEXCS/SWAK/myDialog1.wxg
~/Desktop/DEXCS/SWAK/myDialog2.wxg
~/Desktop/DEXCS/SWAK/testFrameListBox.wxg
~/Desktop/DEXCS/SWAK/dexcsTextSsercher.wxg
~/Desktop/DEXCS/SWAK/timeLinePlotter.wxg
~/.config/mate/panel2.d/default/launchers/gnome-terminal.desktop
/opt/TreeFoam/treefoam.py
/opt/TreeFoam/treefoam.1.25
/opt/TreeFoam/configTreeFoam
/opt/TreeFoam/wxg/runParallelDialog.wxg
/opt/TreeFoam/wxg/separateCellZoneGroupDialog.wxg
/opt/TreeFoam/wxg/changeZoneNameDialog.wxg
/opt/TreeFoam/wxg/changeConfigTreeFoamDDialog.wxg
/opt/TreeFoam/wxg/changeConfigTreeFoamDialog.wxg
/opt/TreeFoam/wxg/selectConjugateCouplingFieldsDialog.wxg
/opt/TreeFoam/wxg/meshOperationDialog.wxg
/opt/TreeFoam/wxg/mergeZonesDialog.wxg
/opt/TreeFoam/wxg/selectFieldsForEditDialog.wxg
/opt/TreeFoam/wxg/selectFluidRegionDialog.wxg
/opt/TreeFoam/wxg/inputTextDDialog.wxg
/opt/TreeFoam/wxg/setCouplingConjugateDialog.wxg
/opt/TreeFoam/wxg/plotWatcherDialog.wxg
/opt/TreeFoam/wxg/openGridEditorDialog.wxg
/opt/TreeFoam/wxg/setDataInFieldsDialog-bak.wxg
/opt/TreeFoam/wxg/setDataInFieldsDialog.wxg
/opt/TreeFoam/wxg/saveCSV_Dialog.wxg
/opt/TreeFoam/wxg/gaugeDDialog.wxg
/opt/TreeFoam/wxg/editBoundaryConditionsDialog.wxg
/opt/TreeFoam/wxg/openFieldForGridEditorDDialog.wxg