2012-03-21 5 views
4

Eclipse CDTを使用してアプリケーションを作成しています。アプリケーションは、私がLinux、Eclipse CDTをsuとして実行

su 
./program 

のようなしかし、EclipseのCDTのプログラム何かを実行することができ、生のソケットを開くために、sudoのように実行するために必要な第三部のAPI、などのコマンドラインで

を使用していますCtrl + F11(Run-> Run Last Launched)を押すと動作しません。なぜなら、私のLinux GUIログインはsuではないからです。

Eclipse CDTでsuと(suパスワードを使用して)実行できますか?

ありがとうございました。

答えて

3

あなたが持っているオプションの一部:ルートとして

  1. 実行Eclipseの。 (非常に良いアイデアではありませんが、最も単純なものです)

  2. 一時的にユーザーがそのライブラリを使用できるようにします。

  3. 新しい実行コンフィギュレーションを作成し、実行可能ファイルを実行するスクリプトを作成します(毎回パスワードを入力する必要があります)。

  4. (@Othersは、さらに追加して自由に感じる。)

0

あなたは、あなたのアプリケーションを実行するためにsudoを使用した実行構成を作成することができます。 sudoは、この方法で起動すると端末にアクセスできないため、起動設定でSUDO_ASKPASS環境変数を設定する必要があります。 (すなわち、アプリケーションのビルドの結果)

  1. は日食では、右のあなたの実行可能ファイルをクリックしてください:

    1. は、(完全性のために)新しいファイル名を指定して実行コンフィギュレーションを作成:ステップは以下の通りです実行configuratioで>実行構成...

    2. - コンテキストメニューでコンテキストメニュー
    3. を開くために、としてランに行きますnsウィンドウが表示されたら、右クリックしてC/C++アプリケーションをクリックし、新しいをクリックします。
  2. 実行コンフィギュレーションのメイン]タブで[実行構成

    1. の変更、
      /usr/bin/sudoによってC/C++アプリケーションフィールドを交換してください。
    2. 引数タブに移動し、実行可能ファイルへのパスを入力します。
      ./bin/my-executable。注:sudoの作業ディレクトリはeclipseプロジェクトですので、パスは相対パスにする必要があります。
    3. 実行ファイルにコマンドライン引数が必要な場合は、それらを追加します。 sudoがあなたのパスワードを要求するための方法を追加
      ./bin/my-executable arg1 arg2
    1. これは最も難しい部分です。 sudoは(eclipse)guiから実行したときに端末(tty)を使用できないため、パスワードを取得できるプログラム、つまりaskpassプログラムを提供する必要があります。詳細は、this stackoverflow answerを参照してください。
    2. 私のシステム(Ubuntu 15.04)で、パッケージssh-askpass-gnomeは、dpkg --get-selections | grep askpassを実行して判明したように、askpassプログラムを提供しています。それでも実行可能な名前が与えられていないので、私は実行して検索をブルートフォースで実行しました。
      sudo find -name *askpass*とにかく、そのようなユーティリティがインストールされていない場合は、あなたの好きなパッケージマネージャーを使って検索してください。
    3. askpassプログラムをインストールしている場合は、引き続きeclipseで起動設定を作成できます。ステップ2.3から続行
    4. 実行コンフィギュレーションウィンドウで環境タブを選択し、新しいをクリックします。
    5. ポップアップするダイアログで、名前としてSUDO_ASKPASSを入力し、askpassプログラムのフルパスを値として入力します。 /usr/bin/ssh-askpass
    6. プレスを適用して変更を保存します。 実行構成ウィンドウで起動設定
      1. を実行
    7. 、新しく作成された起動設定を使用して、当社の実行可能ファイルを起動する実行を押してください。
    8. sudoパスワードを入力するためのポップアップウィンドウが表示されます。
    9. パスワードの入力が成功すると、実行可能ファイルはroot権限で実行されます。
関連する問題