-1

出于某种原因,无论我从终端启动什么基于 Qt 的应用程序,都会发出一些我想禁用的跟踪。

例子:

$> qtcreator
得到总线地址:“unix:abstract=/tmp/dbus-vDsC42Ojkq,guid=dc44d5a0e955ae51a4dbbdc100001ce3”
连接到无障碍总线:“unix:abstract=/tmp/dbus-vDsC42Ojkq,guid=dc44d5a0e955ae51a4dbbdc100001ce3”
注册 DEC:真
注册事件监听器更改监听器:true
...
...

有谁知道如何摆脱这些消息?谢谢。

4

3 回答 3

2

感谢 Laszlo Papp 的评论,我看了看 qt-at-spi setup ...

$> locate qt-at-spi
/usr/share/doc/qt-at-spi
/usr/share/doc/qt-at-spi/README
/usr/share/doc/qt-at-spi/changelog.Debian.gz
/usr/share/doc/qt-at-spi/copyright
/var/lib/dpkg/info/qt-at-spi:amd64.list
/var/lib/dpkg/info/qt-at-spi:amd64.md5sums

让我们看看 README 文件告诉我们什么:

$> more /usr/share/doc/qt-at-spi/README
Qt AT-SPI2 bridge
=================

This is a Qt plugin that bridges Qt's accessibility API to AT-SPI2.
With recent versions of AT-SPI2 this should make Qt applications accessible
with the help of tools such as Gnome's Orca screen-reader.

Switch gnome to use at-spi2:
gconftool-2 --set /desktop/gnome/interface/at-spi-dbus --type bool true
gconftool-2 --set /desktop/gnome/interface/at-spi-corba --type bool false

To run gnome apps with at-spi2 in a non-gnome session:
export GTK_MODULES=gail:atk-bridge

Qt will only load this plugin when the environment variable
QT_ACCESSIBILITY is set to 1.

就像自述文件所说的那样,我的机器上的 QT_ACCESSIBILITY 环境变量设置为 1。

所以解决方案是

  • 要么删除 qt-at-spi 模块
    sudo dpkg --purge qt-at-spi
  • 或取消设置此变量,在快速研究后,根据 gnome 设置在 /etc/X11/Xsession.d/90qt-a11y 脚本中设置
    gsettings 设置 org.gnome.desktop.interface 工具包-可访问性 false

谢谢拉兹洛!

于 2013-09-12T20:28:59.830 回答
1

我通常重定向从终端启动的 GUI 应用程序的所有输出:

$> qtcreator >/dev/null &
于 2013-09-10T21:17:48.877 回答
0

您需要删除 qt-at-spi 包或使用QT_ACCESSIBILITY=0 qtcreator.

在这里,您可以找到 KDE 保护伞下的官方 README 以了解详细信息:

https://projects.kde.org/projects/playground/accessibility/qtatspi/repository/revisions/master/entry/README

于 2013-09-12T20:34:36.983 回答