3

またはコードの少なくとも一部。基本的に、アプリが書き込みできるようにする必要があります/etcが、ルートアクセスのみのディレクトリであるため、アプリにはそのディレクトリへのルートまたは偽のルートアクセスが必要です。ユーザーがターミナルを使用してファイルを /etc に移動できるように、ファイルを作成して保存することを考えました~/Desktopが、次の 2 つの理由でそのアプローチを断念しました。

  1. このアプリは、端末を使用する必要性をなくすことを目的としています (これが理由でもあり、ユーザーが でアプリを実行する必要がないようにしたいのです$sudo APPNAME)
  2. アプリにファイルをデスクトップにドロップさせるには、完全なパスを知る必要があります。「~」は機能していないようで、エラーを返します。
4

1 に答える 1

3

OS とのよりクリーンな統合が必要な場合は、PolicyKitを使用することをお勧めします。

それを操作するには、さまざまな方法があります。

  1. DBus の使用。ここで良い例を見つけることができます。
  2. GObject インストロスペクションによる Polkit モジュールの使用。この例を次に示します。

どちらの場合も、アプリケーションの特定のアクション構成を /usr/share/polkit-1/actions にインストールする必要があります (または、exec などの既存のものを使用します)。

この方法で実装するには、おそらくもう少し手間がかかるでしょうが、私の意見では、サブプロセスよりもクリーンであり、OS およびデスクトップ環境との統合が改善されます (たとえば、パスワード要求ダイアログは DE によって提供されます)。 .

于 2013-01-06T19:06:35.487 に答える