私はUbuntuで実行していますが、NTFS形式の共有ドライブを使用しています。フォルダにBlenderがあります(単純なPythonカスタマイズを含むバージョン2.66RCです)。スクリプトからBlenderを呼び出すので、更新されないプログラムのローカルコピーが必要です。
デスクトップでは、プロセス全体がうまく機能しますが、共有ドライブに移動すると問題が発生します。まず、NTFSはシンボリックリンクをサポートしていないため、すべてのシンボリックリンクをスキップする必要がありました。 (libGL.soとlibGLU.soとそれぞれの*.so.1自体もスキップする必要がありました。)
blender
その後、使用できないため、バイナリを直接実行することはできませんchmod
。したがって、 を使用して実行する必要があります。sudo bash blender-2.66RC/blender
この時点でメッセージが表示されます。
バイナリファイルを実行できません
私がしたいことが可能なことですか?すべてをデスクトップに継続的にコピーするのではなく、共有ドライブで作業できる場合は、組織的な問題が大幅に削減されます。
答え1
NTFS共有にスパースファイル/ディスクを作成し、スパースディスクをext3またはBlenderアプリケーションと互換性のある形式でフォーマットします。
Arch Linuxスパースファイル/ディスク管理マニュアル:https://wiki.archlinux.org/index.php/Sparse_file
答え2
sudo bash blender-2.66RC/blender
blender-2.66RC/blender
bashスクリプトの場合にのみ意味があります。うん?実行file blender-2.66RC/blender
(またはsudo file blender-2.66RC/blender
必要に応じて確認)します。
blender
問題がファイルを読み取る権限があるが実行できないということであれば、これはsudo
役に立ちません。必要なのは、blender
プログラムのローダを呼び出してblender
ファイルをパラメータとして渡すことです。スクリプトの場合、blender
ローダはインタプリタです(例:bash blender-2.66RC/blender
bashスクリプトの場合、python blender-2.66RC/blender
Pythonスクリプトの場合など)。バイナリファイルの場合、blender
ローダは動的ローダです。つまり、/lib/ld-linux.so.2 blender-2.66RC/blender
32ビットx86バイナリの場合、または/lib/ld-linux-x86-64.so.2 blender-2.66RC/blender
64ビットx86バイナリの場合です。
blender
実行可能ファイルですがアクセス権がない場合は、sudo blender-2.66RC/blender
通常のファイルが必要です。blender
実行可能でも読み取ることもできない場合は、2つの回避策を組み合わせてくださいsudo /lib/ld-linux.so.2 blender-2.66RC/blender
。
これはやや奇妙な状況です。ハードドライブのスペースが安いです。リムーバブルドライブ(遅くて不安定)を使用する代わりに、ファイルをハードドライブにコピーしてください。権限を正しく設定でき、リムーバブルドライブを操作するのにかかる時間が短縮され、ディスクを取り外すとファイルが失われません。