GNU/Linux >> Linux の 問題 >  >> Ubuntu

このターミナルの子プロセスの作成中にエラーが発生しましたか?

私はバージョン10.04からUbuntuを使用していますが、Windowsと比較してより使いやすいことがわかりました。現在、「Precise12.04」を使用しています。私はbashスクリプト用に多くのカスタムランチャーを作成しましたが、昨日まで問題はありませんでした。

複数の実行可能ファイルを含むソフトウェアスイートをインストールしました。メインの実行可能ファイルabaqus optsoftwaresnameにあります 実行可能ファイルabq610iへのシンボリックリンクです /opt/softwaresname/executables/にあります 。

メインのexeabaqus いくつかのコマンドライン引数が必要です。引数caeを使用します 、(つまり、abaqus cae )ただし、グラフィックをより適切なモードでレンダリングするための別のコマンドを使用するため、最終的な呼び出しは次のようになります。
XLIB_SKIP_ARGB_VISUALS=1 abaqus cae

.bash_rcでこの長いコマンドのエイリアスを作成しました 次のようにファイルします:

alias abaquscae="XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

エイリアスがソフトウェアを実行するため、すべてが完全に正常に機能しました。怠惰なチャンピオンなので、このためにカイロドックランチャーを作成することを考えました。そこで、abaquscaeと入力しました [クリック時に起動するコマンド]ボックスで、[端末で実行]をオンにします。しかし、残念なことに、ランチャーをクリックするとエラーが発生しました::

There was an error creating the child process for this terminal
Failed to execute child process "abaquscae" (No such file or directory)

その結果、私は小さなbashスクリプトファイル「abaquscae.sh」を作成しました:

#!/bin/sh
"XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

保存して実行可能にし、bashシェルで実行すると、同様のエラーが発生しました。つまり、:

./abaquscae.sh: 2: ./abaquscae.sh: XLIB_SKIP_ARGB_VISUALS=1 abaqus cae: not found 

今、私は完全に迷子になっています。たとえば、
1-bashスクリプトのカンマを削除する
2-dos2unixにするなどの多くのトリックを試しました。 、
3-実行可能ファイルへのフルパスを使用します
が、このスクリプトはbashターミナルを介して実行されていません。

問題:

コマンド(およびそのエイリアス)はbashターミナルでは正常に機能しますが、他のチャネル(スクリプト/ランチャーなど)を介して実行されると、ターミナルは無残にそれらを認識できません🙁..

この問題を解決する方法について専門家がアドバイス/情報を持っている場合は、共有してください。とても感謝しています。

承認された回答:

スクリプトは次のようになっていると思います:

#!/bin/bash
XLIB_SKIP_ARGB_VISUALS=1 /opt/softwaresname/abaqus cae

次のコマンドを使用してランチャーを作成することもできます:

bash -c 'XLIB_SKIP_ARGB_VISUALS=1 /opt/softwaresname/abaqus cae'

コマンドラインで実行可能ファイル名の前に環境変数を設定することは、CLI(コマンドラインインターフェイス)シェルの機能です。 VARIABLE=value /path/to/executableを入力した場合 ランチャーでは、ランチャーを読み取る(そして実行可能ファイルを効果的に起動する)プログラムは、「VARIABLE =value」という名前のファイルを見つけようとしますが、もちろん失敗します。

関連:Unity Desktopの起動スクリプト?

そのコマンドはbashを起動します 、Ubuntuのデフォルトのユーザーシェルであり、実行するように指示します(-c オプション)文字列「XLIB_SKIP_ARGB_VISUALS =1 / opt / softwaresname / abaqus cae」なので、CLIに入力したときと同じように解釈されます。


Ubuntu
  1. 実行中のターミナルプログラムのプロセスID(pid)を見つける方法は?

  2. Ubuntu DVDバージョン用のWubiインストーラーはありますか?

  3. ターミナルでBatファイルをどこでも利用できるようにしますか?

  1. ワイヤレスのネットワークマネージャーに代わるものは何ですか?

  2. Vmwareツール–ソフトウェアコンポーネントの更新に問題がありました。後でもう一度やり直してください。問題が解決しない場合は、Vmwareサポートに連絡してください。

  3. デスクトップ用のGoogle認証システム?

  1. W3WPプロセスのプライベートバイトのメモリ制限を取得できません。

  2. Ubuntu の起動エラー「No such partition」の解決方法

  3. Unix で別のプロセスの環境変数を変更する方法はありますか?