4

Unity 2D デスクトップ環境をカスタマイズできる Ubuntu 用のアプリケーションを作成しています。
一部の設定は、ユーザー固有の Dconf を使用して変更できます。そのため、1 人のユーザーが設定を変更すると、そのユーザーにのみ適用されます。
ただし、他の設定については/usr/share/unity-2d/、通常のユーザーが書き込むことができない にあるテキスト ファイルを編集する必要があります。この問題を解決するには、ユーザーに root としてアプリケーションを実行してもらい、/usr/share/unity-2d/. アプリケーションがルートとして実行され、Dconf 設定の 1 つが変更された場合にのみ、ルート ユーザーの Dconf で変更されるため、変更は実際のユーザーには適用されません。

この問題の解決策を見つける必要があり、私の最初の現実的なアイデアは PolicyKit を使用することでした。アプリケーションが現在のユーザーとして実行されていることを確認する必要があります (常にルートとしてではありませ/usr/share/unity-2d/ん) が、その中のファイルにアクセスできることを確認する必要があります。Mono フレームワークを使用して、C# でアプリケーションを作成しています。PolicyKit の経験はまったくありません。正直なところ、本格的な Linux アプリケーションを作成するのはこれが初めての試みです。

私のアイデアは PolicyKit でしたが、これを達成するための別の (現実的な) 方法があれば、それも問題ありません。PolicyKit を使用することになる場合は、これを行う方法と、すべてが何をするかについて、もう少し情報を提供したいと思います。おそらく を使用してアプリケーションを実行できることはわかっていますpkexecが、実際にはアプリケーションのボタンの行の中で、そのディレクトリへのアクセスが必要な機能のロックを解除することを考えていました。その時点で書き込みアクセスを取得するためのパスワードを要求しますフォルダ内のファイル。このようにして、アプリケーションが実行されているシステムで特別な権限を持っていない人でも、いくつかの基本設定をカスタマイズできます。

4

1 に答える 1