如何隐藏来自 dbus-send(打印回复)的响应?
Posted
技术标签:
【中文标题】如何隐藏来自 dbus-send(打印回复)的响应?【英文标题】:How to hide response from dbus-send (print-reply)? 【发布时间】:2020-08-13 19:48:29 【问题描述】:我有以下脚本用于在 spotify 上播放/暂停当前歌曲。但是,它将输出打印到终端。当我删除 --print-reply \
部分时,尽管文档显示它是可选的,但它不起作用。如何隐藏此命令的响应?
dbus-send \
--print-reply \
--dest=org.mpris.MediaPlayer2.spotify \
/org/mpris/MediaPlayer2 \
org.mpris.MediaPlayer2.Player.PlayPause
示例输出:
method return time=1588176965.415166 sender=:1.189 -> destination=:1.193 serial=42 reply_serial=2
【问题讨论】:
【参考方案1】:将所有输出重定向到 /dev/null:
<dbus-send etc> 2>/dev/null
或者,如果您仍想查看任何错误,请使用:
<dbus-send etc> 1>/dev/null
完整命令:
dbus-send \
--print-reply \
--dest=org.mpris.MediaPlayer2.spotify \
/org/mpris/MediaPlayer2 \
org.mpris.MediaPlayer2.Player.PlayPause 1>/dev/null
【讨论】:
该方法有效,但我仍然需要将--print-reply
添加到命令中,这很奇怪。没有那部分命令不起作用。
我对 dbus-send 一无所知。建议您联系维护人员以获取您特定问题的答案。 gitlab.freedesktop.org/dbus/dbus
@Jsowa 你有没有发现为什么你需要使用回复?
@deed02392 不,我没有以上是关于如何隐藏来自 dbus-send(打印回复)的响应?的主要内容,如果未能解决你的问题,请参考以下文章
在发出 dbus-send 命令后,如何使用 C 调用方法?