0

わかりました、まあ、ここでの靴の限界を本当に押し上げているので、奇跡は期待していません.GUIなしでオプションで靴アプリを実行する方法はありますか?

私がこれをやりたい理由は、おそらくシステム上でさえ、コマンドラインツールとしてプログラムを実行したい「コンピュータの人々」だけでなく、「コンピュータ以外の人々」が使用するためのツールを作成しているためです。 X/gtk がインストールされていない場合。(私は学際的な研究者として働いており、靴はツールに集中するのに最適で、一日中 GUI のデザインをいじることはありません。)

コード例を次に示します。

if(ARGV[1] == "nogui")
  puts "running computation on #{ARGV[2]}";
  exit();
end

Shoes.app(:width => 200, :height => 100) do
  @button = button("Quit").click() {
    exit();
    }
end

私が得る以外は動作します

Gtk-CRITICAL **: gtk_main_quit: assertion `main_loops != NULL' failed

エラー。

4

1 に答える 1

1

試したことはありませんが、Shoes が X のないシステムで問題なく起動するかどうかはわかりません。起動するバージョンを選択するシェル スクリプトを作成する方がよいでしょう。このようなもの:

#!/usr/bin/sh
NOGUI=0
if [ $# -gt 0 ]; then
  NOGUI=$1
fi
if [ $NOGUI = nogui ]; then
    shift
    echo "Running in command-line mode..."
    ruby command-line.rb "$@"
else
    echo "Starting Shoes..."
    shoes shoes.rb "$@"
fi

最初の引数が の場合nogui、残りの引数は Ruby バージョンに送信されます。それ以外の場合は、すべての引数 (最初の引数を含む) が Shoes に送信されます。

ここで、実際のパフォーマンス ロジックを分離して、両方のバージョンにインポートできるようにする必要があります。

于 2009-06-23T18:13:18.970 に答える