标签: python

如何读取 dbus-monitor 输出?

我正在尝试使用dbus-monitor来尝试了解 dbus 在 Ubuntu 环境中的工作方式。在这方面我有几个问题:

  1. 你能告诉我如何正确阅读以下内容吗?我了解大意,但不了解细节。

    signal sender=:1.1948 -> dest=(null destination) serial=1829990 path=/org/ayatana/menu/DA00003; interface=org.ayatana.dbusmenu; member=ItemPropertyUpdated
    int32 23
    string "enabled"
    variant boolean true
    method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1399 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications;
    member=GetCapabilities
    
    Run Code Online (Sandbox Code Playgroud)

    我知道第一个是信号,而第二个是方法。目的地是否意味着信号可以有特定的接收器/插槽?什么是会员?信号后面的列表项是信号中传递的参数吗?什么是发件人连续出版物

  2. 我注意到音量控制和通知之间的关系。从我从 dbus-monitor 输出中读到的

    method call sender=:1.6 -> dest=org.freedesktop.Notifications serial=1400 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
    string "gnome-settings-daemon"
    uint32 0
    string "notification-audio-volume-medium"
    string " "
    string ""
    array [
    ]
    array [
    dict entry(
    string "value"
    variant int32 38
    )
    dict entry( …
    Run Code Online (Sandbox Code Playgroud)

notification python dbus application-development

24
推荐指数
2
解决办法
2万
查看次数

如何向 python 非 gtk、非 qt 应用程序添加对全局菜单的支持?

我正在寻找关于如何向非 gtk、非 qt 应用程序添加全局菜单支持的良好文档(示例、教程或指南)。(在 gtk 中,它对主菜单“神奇地”工作......)。我想与它一起使用的工具包是kivy,它支持 glib-mainloop(例如用于 gstreamer),所以原则上都应该在那里工作。

我已经看到了Dbusmenu这里的 API 参考,但这对理解机制不是很有帮助。

有一个简短的示例用于创建包含 dbus-menu的启动器快速列表,但不包含 global-menu / appmenu。

有一个wiki 页面不包含任何相关信息,除了“欢迎支持其他工具包上的应用程序菜单,但不是 DX 团队的优先事项,需要帮助。”

该图有一些来自指标应用菜单源代码的信息,但还不够,在 developer.ubuntu.com 上找不到,需要更多解释:

在此处输入图片说明

所以:

  • 获取要显示的一组菜单项(Dbusmenu.Menuitem)的过程是什么?
  • 客户端和服务器分别扮演什么角色?(其中哪些应该在我的应用程序中运行?或者两者都运行?)

类似问题

python unity appmenu application-development

24
推荐指数
1
解决办法
4406
查看次数

如何运行.pyc(编译的python)文件?

当我编译一个 python 文件时,我得到一个 *.pyc 文件。当我尝试运行它时,我收到一条消息,说没有运行它们的程序。当我通过该选项在线搜索程序时,它说没有。谁能帮我运行那里的文件?

python compiling

24
推荐指数
1
解决办法
11万
查看次数

如何将程序作为服务运行(静默)?

我有一个基于 python 的服务器,我从终端开始。终端的这个特定实例然后将控制权交给程序,程序将其用作一种日志记录窗口,直到它关闭。这是正常的,还是我应该以某种方式尝试以其他方式启动该程序,使其仅显示为活动进程?如果我关闭启动程序的终端,程序就会随之终止。

谢谢

python command-line services

24
推荐指数
3
解决办法
7万
查看次数

如何为python安装opencv 2.9?

我遇到了与这篇文章中描述的完全相同的问题,答案中有人建议您升级到 opencv 2.9 版。我想知道怎么做?我通过这样做安装了我现在拥有的版本

sudo apt-get install python-opencv
Run Code Online (Sandbox Code Playgroud)

另外,我如何检查我现在正在运行的版本?我在 Ubuntu 13.10

编辑:

在 girardengo 回答之后,我知道我使用的是 2.4.5 版,谢谢!

python opencv

24
推荐指数
2
解决办法
6万
查看次数

如何编写将在 Ubuntu 以及其他发行版中显示的状态图标?

有问题的应用程序执行一些操作(此处将音频连接到网络流)并在这些操作成功时最小化运行。因此需要一个状态图标来显示连接状态(例如已连接/已断开连接)。仅当单击该图标时,应用程序窗口才会打开以访问更多选项。

使用 Python 2.6 和 pyGtk 我通过使用gtk_status_icon方便地实现了这一点。我特意编写了在尽可能多的发行版上运行的应用程序,包括各种 Ubuntu 版本。只有在用户安装它们之后,我才小心使用可能的依赖项。

但是现在我听说未来的 Ubuntu 版本将不再支持 gtk_status_icon。要求开发人员改用应用程序指示器。什么是最佳实践以确保:

  1. 应用程序的本地图标显示正确
  2. 该应用程序仍将在未来的 Ubuntu 版本中运行并显示其图标。
  3. 该应用程序将同时运行,并在其他环境中显示它的图标指示的小程序libappindicator蟒蛇,appindicator不提供。

如果指标小程序未运行,应用程序指标回退机制到 gtk_status_icon 将不起作用。如果没有要从中导入的appindicator模块,Python 解释器将不会运行。我是否需要为不同的发行版开发不同的版本,还是有更好的方法来解决这个问题。

除了Ubuntu Wiki 中给出的示例之外,我在哪里可以找到有关如何使用 ApplicationIndicator 的文档?提供了哪些命令来检查指标小程序是否正在运行以避免为 Ubuntu 与非 Ubuntu 发行版编写不同的源代码?

applet indicator python development application-development

23
推荐指数
3
解决办法
5034
查看次数

当有多个 Python 版本时,如何使用 pip 安装软件包?

我安装了不同版本的 python,python 2.7 是默认的,3.2 是第二个。现在我想安装金字塔到3.2安装。我怎样才能做到这一点?仅pip用于安装金字塔不起作用,那么我该如何更改它正在下载的版本?

python pip

23
推荐指数
2
解决办法
7万
查看次数

是否可以将 Python 与 Ubuntu SDK 一起使用?

David Planella回答我发布的一个问题时写道:

...为 Ubuntu 开发应用程序的推荐方法是 Ubuntu SDK。

所以我安装了它,但看起来支持的编程语言是 C++。这是否意味着我需要了解 C++ 才能为 Ubuntu 开发新应用程序?C++ 现在是 Ubuntu 应用程序推荐的编程语言吗?

Python 呢,我开始学习它是希望为 Ubuntu 开发应用程序。

python c++ application-development ubuntu-sdk

23
推荐指数
1
解决办法
6370
查看次数

安装python 3.3后如何删除python 2.7?

我已经在 Ubuntu 12.10 上成功安装了 python 3.3。由于我不需要多个版本的python,我想删除现有的python 2.7。当我尝试这样做时,使用

sudo apt-get remove python2.7
Run Code Online (Sandbox Code Playgroud)

Ubuntu 警告我有大量的系统相关组件也将被删除。看起来真的很吓人。

那么,有没有办法在不删除系统相关组件的情况下删除 python 2.7,或者我可以指导这些依赖项使用 python 3.3?

python python-2.7

23
推荐指数
3
解决办法
21万
查看次数

如何安装python-gpgme ubuntu 14.04

我安装了 Dropbox,但是当我运行它时。我收到一条错误消息:

In order to use dropbox you need proprietary daemons. Install python-gpgme. 
Run Code Online (Sandbox Code Playgroud)

然后,我从这里开始安装那个 python 模块,但它的书面使用 aptitude 或突触来安装软件包,这通常被认为是一种安全且简单的方法。如何使用 aptitude 安装这个 python-gpgme?我使用 apt-get 并且从未使用过 aptitude。帮我安装。

package-management aptitude python apt dropbox

23
推荐指数
1
解决办法
3万
查看次数