【问题标题】:Passing an environment variable when fetching a dbus object instance through python通过python获取dbus对象实例时传递环境变量
【发布时间】:2012-01-21 04:28:46
【问题描述】:

我正在使用 python 来确定 Ubuntu 上新贵工作的状态。

我最近更改了新贵工作,使其具有这样的实例节:instance $some_var。正如预期的那样,我的代码不再有效。

如果我尝试:

path = upstart.GetJobByName("test", dbus_interface="com.ubuntu.Upstart0_6")                                         
job = bus.get_object("com.ubuntu.Upstart", path)                           
path = job.GetInstance([], dbus_interface="com.ubuntu.Upstart0_6.Job")

它没有告诉我dbus.exceptions.DBusException: org.freedesktop.DBus.Error.InvalidArgs: Unknown parameter: some_var

我需要将 some_var 环境变量传递给 dbus 接口。我该怎么做?在 os.environ 中设置它似乎没有效果。

【问题讨论】:

    标签: python environment-variables dbus upstart


    【解决方案1】:

    我认为job.GetInstance(["some_var=some_value"]) 应该可以。至少这对我来说很好:

    dbus-send --print-reply --system /com/ubuntu/Upstart/jobs/tty \
              --dest=com.ubuntu.Upstart \
              com.ubuntu.Upstart0_6.Job.GetInstance array:string:"TTY=/dev/tty2"
    

    (tty 服务是用instance $TTY 定义的)

    还要检查com.ubuntu.Upstart0_6.Job.Startenv 参数的描述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-15
      • 2018-09-29
      • 2012-08-24
      • 2020-03-05
      • 1970-01-01
      • 2016-02-11
      • 1970-01-01
      • 2021-11-27
      相关资源
      最近更新 更多