Featured image of post kodi-send使用相关说明

kodi-send使用相关说明

本文为《PVE安装Kodi》系列文章的一部分。

说明

kodi-send命令是Kodi自带命令行工具,可以安全的操控Kodi,除了下文使用的Quit指令,还有很多指令可以使用,方便想要自动化操作的人来使用,具体可用的指令见:Action_IDsList_of_built-in_functions

安装

请先按照 PVE 直接安装最新版 Kodi 教程添加好deb-multimedia软件源。

kodi-send命令需要安装kodi-eventclients-common(如果未启用deb-multimedia源,则需要安装debian官方源中的kodi-eventclients-kodi-send):

1
apt install kodi-eventclients-common

如果是从backports源中安装的Kodi,那么也要从backports源中安装kodi-eventclients-common(假如是PVE 7,对应debian的bullseys版本):

1
apt install -t bullseye-backports kodi-eventclients-common

设置

如需要使用kodi-send命令,需要在“Kodi设置->服务->控制”处勾选“允许通过本机应用远程控制”。

允许通过本机应用远程控制

使用

输入kodi-send --help即可查看。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Usage
        kodi-send [OPTION] --action=ACTION
        kodi-send [OPTION] --button=BUTTON
Example
        kodi-send --host=192.168.0.1 --port=9777 --action="Quit"
Options
        -?, --help                      Will bring up this message
        --host=HOST                     Choose what HOST to connect to (default=localhost)
        --port=PORT                     Choose what PORT to connect to (default=9777)
        --keymap=KEYMAP                 Choose which KEYMAP to use for key presses (default=KB)
        --button=BUTTON                 Sends a key press event to Kodi, this option can be added multiple times to create a macro
        -a ACTION, --action=ACTION      Sends an action to XBMC, this option can be added multiple times to create a macro
        -d T, --delay=T                 Waits for T ms, this option can be added multiple times to create a macro

如需对本机安装的Kodi执行退出,如果Kodi是默认的状态,直接输入以下命令即可(-a/--action二者都可以,带不带=都行):

1
2
kodi-send -a "Quit"
kodi-send --action="Quit"

或者只是调出退出菜单,而不是直接退出(如果遥控器的电源键没有被evsieve劫持的话,电源键在Kodi中倒是原本就是调出退出菜单,不过被evsieve劫持之后就得就这种方式曲线还原了):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 直接调出退出菜单,只能调出,无法切出
kodi-send -a "ActivateWindow(shutdownmenu)"

# 用命令模拟按下sleep/power按键,以下两个命令作用同上,只能调出,无法切出
kodi-send --button="sleep"
kodi-send --button="power"

# 用命令模拟按下键盘的s键,键盘的s键作用也是调出退出菜单
# 相比上面的几个命令,当退出菜单已经调出时再次运行本命令可以切出退出菜单
# 而若是Kodi正处于输入文字的界面时,此命令只会真的打出“s”,调不出退出菜单
kodi-send --button="s"

注:以上命令均在Kodi的keymaps未作任何调整的情况下运行的。其他指令请见:Action_IDsList_of_built-in_functions,全部按键见:Keyboard_controls

其他应用场景

针对《PVE 直接安装最新版 Kodi》中的/etc/systemd/system/kodi.service服务,可以修改ExecStop这一行为:

1
ExecStop = /usr/bin/kodi-send --action="Quit"

针对《像使用盒子/LibreELEC一样使用PVE直装的Kodi,实现遥控器启停》一文中的/usr/local/bin/kodi-power.sh脚本,可以修改systemctl stop kodi.service(就是原本的关闭Kodi的指令)这一行为下面任何一句命令,这样也算是在电源键被evsieve劫持之后曲线还原了。

1
2
3
4
5
6
7
8
9
# 直接退出
kodi-send --action="Quit"

# 或者只是调出退出菜单,而不是直接退出(根据上一节的说明选其一即可)
kodi-send -a "ActivateWindow(shutdownmenu)"
kodi-send --action="ActivateWindow(shutdownmenu)"
kodi-send --button="sleep"
kodi-send --button="power"
kodi-send --button="s"
Built with Hugo
主题 StackJimmy 设计