web-dev-qa-db-ja.com

GksudoとDBus

これらのアカウントでDockyをカスタマイズすることのみを目的として、無効なアカウントをいくつか作成しました。各アカウントには、ツールセットを表すDockyアイテムのセットがあります。これにより、私が何を意味するのかがわかりますDocky Tool Set

  • 管理アプリツールセット
  • オンラインユーザーアプリツールセット
  • オフラインユーザーアプリツールセット
  • Officeアプリツールセット
  • ゲーマーアプリツールセットなど.

これらの無効化されたアカウントから、実際のユーザーがgksudo呼び出しを介してツールセットを有効または無効にできるようにします。

xhost + local:dockyAdminUser
gksudo -u dockyAdminUser /usr/bin/docky

すでにアカウントを設定していますが、この方法でDockyを起動すると、DBusが必要で、見つからないと文句を言います。 Dockyがこのように起動できるようにDBusを利用可能にするにはどうすればよいですか?

注:これと同じことがTomboyでも発生します。実行されず、dbusの問題が発生します。

注:Dockyを別のユーザーとして起動しないことを示唆する解決策を探していません。 Dockyを別のユーザーとして起動しなければならない理由は複数あります。しかし、質問を明確にするために、これらの理由を除外しました。*

2
bambuntu

DBUSはIPCシステムです。つまり、さまざまなプログラムが相互に通信するための方法です。

通常のUbuntuシステムでは、1つのシステムdbusインスタンスがあり、ログに記録されたユーザーごとに1つのインスタンスが実行されます。同じユーザーの他のプロセスと通信したい1人のユーザーに属するプロセスは、システム全体のプロセスを使用する必要はありません。

DockyとTomboyがユーザーdbusを使おうとしているようです。したがって、少なくとも、Dockyの前にそのユーザーのdbusデーモンを起動する必要があります。あなたはそれを行うことができます:

su - user -c 'dbus-launch'

しかし、別の問題が見つかる可能性が非常に高くなります。コンピューターはログイン時に多くのことを行い、Dockyのような複雑なプログラムはおそらくそれらのいくつかが行われることを期待しています。

ログイン時に実行されるほとんどのスクリプトについては、/ etc/X /Xsession.dを確認できます。これはX関連のスクリプトです。つまり、すべてのデスクトップ環境に対して実行されます。 DockyはDEに依存しないため、Dockyに必要なものはすべてここから開始する必要があります。

1
Javier Rivera