Как я могу запустить kwin скрипт из командной строки?

В bash, typeset и declare точно то же. Единственная разница - это typeset считается устаревшим.

typeset: typeset [-aAfFgilrtux] [-p] name[=value] ...
    Set variable values and attributes.

    Obsolete.  See `help declare'.

Страница справочника даже перечисляет их на одном дыхании:

declare [-aAfFgilrtux] [-p] [name[=value] ...]
typeset [-aAfFgilrtux] [-p] [name[=value] ...]
    Declare variables and/or give them attributes.

typeset является портативным к некоторым другим оболочкам, например, ksh93. При стремлении к мобильности перекрестной оболочки использовать typeset (и удостоверьтесь, что способ, которым Вы называете его, является портативным). Если Вы не заботитесь о такой мобильности, использовать declare.

9
27.02.2014, 00:49
2 ответа

С некоторыми подсказками от здесь мне удалось заставить работать следующее:

script=/path/to/script

num=$(dbus-send --print-reply --dest=org.kde.kwin.Scripting \
  /Scripting \
  org.kde.kwin.Scripting.loadScript \
  string:"$script" |
  awk 'END {print $2}' )

dbus-send --print-reply --dest=org.kde.kwin.Scripting \
  /$num \
  org.kde.kwin.Scripting.run
7
27.01.2020, 20:07

Обновление :это то, что мне пришлось сделать в 2019 году, чтобы заставить это работать:

# don't use ~/ in this path:
script="/path/to/script"

num=$(dbus-send --print-reply --dest=org.kde.KWin \
    /Scripting org.kde.kwin.Scripting.loadScript \
    string:"$script" | awk 'END {print $2}' )

dbus-send --print-reply --dest=org.kde.KWin /$num \
    org.kde.kwin.Scripting.run
3
27.01.2020, 20:07

Теги

Похожие вопросы