【问题标题】:How to hide response from dbus-send (print-reply)?如何隐藏来自 dbus-send(打印回复)的响应?
【发布时间】: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

【问题讨论】:

    标签: bash shell dbus


    【解决方案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 不,我没有
    猜你喜欢
    • 1970-01-01
    • 2013-08-24
    • 2020-09-03
    • 2015-02-28
    • 1970-01-01
    • 2013-06-24
    • 2017-01-09
    • 1970-01-01
    • 2013-05-03
    相关资源
    最近更新 更多