GOOGLE ADS

domingo, 17 de abril de 2022

Dbus-send ¿cómo obtener el número de páginas de zathura?

Estoy tratando de usar dbus-sendpara obtener el número total de páginas de zathura (Zathura es un visor de PDF) (ver la figura a continuación). No estoy familiarizado con DBus (no importa cómo intente aprenderlo, siempre me doy por vencido).

Podría usar un programa GUI para ver el número total de páginas numberofpagescuando hago doble clic en esa propiedad y obtengo el valor.

Sin embargo, estoy tratando de obtener la misma información usando dbus-send. Intenté lo siguiente en la terminal:

dbus-send --session --dest=org.pwmt.zathura.PID-1057698 \
--print-reply org.pwmt.zathura.Properties.numberofpages

El comando anterior no funciona.

¿Podría decirme cómo puedo construir un comando dbus para obtener el numberofpagesvalor?

ingrese la descripción de la imagen aquí


Solución del problema

Esto podría ser más fácil de hacer usando busctlen lugar de dbus-send. De cualquier manera, hay cuatro bits de información que necesita saber para la mayoría de las situaciones de D-Bus.

  • Nombre del autobús:org.pwmt.zathura.PID-1057698

  • Sendero:/org/pwmt/zathura

  • Interface: org.pwmt.zathura

  • Propiedad:numberofpages

  • Esperaría que su situación se pareciera a:

    busctl --user get-property org.pwmt.zathura.PID-1057698 /org/pwmt/zathura org.pwmt.zathura numberofpages 

    Para probar esto en un servicio que probablemente se esté ejecutando en la mayoría de las máquinas:

  • Nombre del autobús:org.freedesktop.systemd1

  • Sendero:/org/freedesktop/systemd1

  • Interfaz:org.freedesktop.systemd1.Manager

  • Propiedad:Architecture

  • Y para ejecutarlo con ambas utilidades:

    dbus-send

    $ dbus-send --session --print-reply --dest=org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.DBus.Properties.Get string:"org.freedesktop.systemd1.Manager" string:"Architecture"
    method return time=1650033765.273653 sender=:1.0 -> destination=:1.176 serial=2677 reply_serial=2
    variant string "x86-64"

    buscar

    $ busctl --user get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Architecture 
    s "x86-64"

    No hay comentarios.:

    Publicar un comentario

    Flutter: error de rango al acceder a la respuesta JSON

    Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...