设置Kodi启动的前置条件

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

本文同步发表在我的个人博客https://evine.win。

  • PVE 直接安装最新版 Kodi
  • 为Kodi适配遥控器
  • 修改Kodi字幕字体
  • 修改Kodi皮肤字体
  • 屏蔽Kodi的关机、重启按钮
  • 设置Kodi启动的前置条件
  • 像使用盒子/LibreELEC一样使用PVE直装的Kodi,实现遥控器启停
  • kodi-send使用相关说明
  • 转换遥控器的退出键为返回键

如果Kodi依赖其他服务,比如需要访问smb共享等等,可以在前文设置的/etc/systemd/system/kodi.serviceExecStart这一行前面添加一行:

ExecStartPre = /usr/local/bin/kodi-pre.sh

/usr/local/bin/kodi-pre.sh需要可执行权限,内容提供一个参考(下面的示例是先判断和Kodi处于同一主机下的Jellyfin容器是否已经处于running状态、健康状态是否是healthy,并且远端10.0.0.13的名为multimedia的samba共享是否已经可以挂载了),请根据你所需要的前置条件进行修改(请直接在Linux环境中创建nano /usr/local/bin/kodi-pre.sh,不要在Windows环境中创建):

#!/usr/bin/env bash

while :; do
    jellyfin_state=$(/usr/bin/docker inspect jellyfin | /usr/bin/jq .[].State)
    jellyfin_status=$(echo "$jellyfin_state" | /usr/bin/jq -r .Status)
    jellyfin_health=$(echo "$jellyfin_state" | /usr/bin/jq -r .Health.Status)
    smb_status=$(/usr/bin/smbclient -N -L //10.0.0.13 | /usr/bin/grep 'multimedia')
    if [[ $jellyfin_status == running && $jellyfin_health == healthy && -n $smb_status ]]; then
        echo "Jellyfin is ready, samba is ready."
        break
    else
        echo "Jellyfin or samba is not ready, wait 30 second."
        /usr/bin/sleep 30
    fi
done

你可能感兴趣的:(设置Kodi启动的前置条件)