Как установить “Jarvis” Kodi 16.1 на Ubuntu 18.04 (Бионический Бобр)

Я провел 6 часов, исследуя, нашел репозитории PPA, и я вижу его там, но это не установит. Я плохо знаком с Ubuntu и просто пытающийся учиться и поражающий дорожный блок здесь.На помощь!

Я использовал эти команды:

sudo add-apt-repository -r -y ppa:team-xbmc/ppa
sudo add-apt-repository -y ppa:team-xbmc/kodi-old
sudo apt-get update
sudo apt-get install kodi=2:16* kodi-bin=2:16*
5
задан 24 July 2018 в 20:49

3 ответа

PPA, который Вы использовали, имеет “старый” на его имя. Это указывает, что не будет, вероятно, работать с новой Ubuntu Бионический Бобр (18.04) – новейший релиз Ubuntu, поддерживаемый этим PPA, Гостеприимен (16.04).

Если Вы соглашаетесь с текущей версией Kodi, существует команда “Kodi” PPA без “старого” суффикса, поэтому используйте:

sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get install kodi

Это установит текущую версию 2:17.6+git20180430.1623-final-0bionic при работе Бионической Ubuntu.

Если Вы явно хотите установить Kodi Jarvis (версия 16), то необходимо рассмотреть использование Ubuntu 16.04, которая все еще поддерживается (до 2021). Если Вы не хотите оставлять свою текущую версию, Вы можете двойная загрузка две версии Ubuntu или виртуализировать одного из них. Можно также попытаться создать Kodi Jarvis для 18,04 сами, но это могло бы быть довольно трудно.

3
ответ дан 23 November 2019 в 09:04

Я отговорил бы от создания этой более старой версии Kodi на Бионическом Бобре, но я предпринял его как проблему так или иначе! (И конечно я понимаю, что у Вас есть очень определенная потребность в этой версии). Это создает многие более старые библиотеки, загружает огромное количество файлов и является просто твердым workI

Однако несмотря на него являющийся несколько трудным процессом это руководство дало мне рабочую копию Kodi 16.1 на Бионическом Бобре и должно работать достаточно хорошо над Вашей Бионической системой также, если Вы решаете использовать его. Я исчерпывающе протестировал это на новом VM, рассмотрите тестирование его в Виртуальной машине сами перед согласием на Вашу основную машину?

1. Зависимости от загрузки:

Зависимости для пакета Kodi могут быть найдены с помощью sudo apt-get build-dep kodi и это собрало следующий список, который должен быть скопирован и вставлен в Окно терминала. На новой Виртуальной машине это было загрузкой 314 МБ...

sudo apt-get install antlr autoconf automake autopoint autotools-dev \
build-essential ca-certificates-java cmake cmake-data cpp-6 curl debhelper \
default-jre default-jre-headless default-libmysqlclient-dev dh-autoreconf \
dh-python dh-strip-nondeterminism doxygen dpkg-dev fontforge-common \
fontforge-nox g++ g++-6 g++-7 gawk gcc gcc-6 gcc-6-base gcc-7 \
gir1.2-harfbuzz-0.0 googletest gperf groovy icu-devtools ivy java-common \
junit4 libantlr-java libao-dev libapache-pom-java libasan3 libasan4 libasm-java \
libasound2-dev libass-dev libass9 libatk-wrapper-java libatk-wrapper-java-jni \
libatomic1 libavahi-client-dev libavahi-common-dev libavcodec-dev libavcodec57 \
libavfilter-dev libavfilter6 libavformat-dev libavformat57 libavresample-dev \
libavresample3 libavutil-dev libavutil55 libbluetooth-dev libbluray-dev \
libbluray2 libboost-atomic1.65-dev libboost-atomic1.65.1 \
libboost-chrono1.65-dev libboost-chrono1.65.1 libboost-date-time1.65-dev \
libboost-dev libboost-serialization1.65-dev libboost-serialization1.65.1 \
libboost-system1.65-dev libboost-thread-dev libboost-thread1.65-dev \
libboost1.65-dev libbs2b0 libbsf-java libbz2-dev libc-dev-bin libc6-dev \
libcap-dev libcapnp-0.6.1 libcdio-dev libcec-dev libcec4 libchromaprint1 \
libcilkrts5 libclang1-6.0 libcommons-cli-java libcommons-lang-java \
libcommons-logging-java libcommons-parent-java libcrossguid-dev \
libcrossguid0 libcrystalhd3 libcurl4 libcurl4-gnutls-dev libcwiid-dev \
libcwiid1 libdbus-1-dev libdrm-dev libegl1-mesa-dev libexpat1-dev \
libfile-stripnondeterminism-perl libflite1 libfluidsynth1 libfontconfig1-dev \
libfontforge2 libfreetype6-dev libfribidi-dev libfstrcmp-dev libfstrcmp0 \
libgcc-6-dev libgcc-7-dev libgcrypt20-dev libgdraw5 libgif-dev libgif7 \
libgl1-mesa-dev libgles2-mesa-dev libglib2.0-dev libglib2.0-dev-bin \
libglu1-mesa-dev libglvnd-core-dev libglvnd-dev libgme0 libgmp-dev \
libgmpxx4ldbl libgnutls-dane0 libgnutls-openssl27 libgnutls28-dev \
libgnutlsxx28 libgpg-error-dev libgraphite2-dev libgsm1 libgtest-dev \
libhamcrest-java libharfbuzz-dev libharfbuzz-gobject0 \
libhawtjni-runtime-java libibus-1.0-dev libice-dev libicu-dev \
libicu-le-hb-dev libicu-le-hb0 libiculx60 libidn2-0-dev libidn2-dev \
libiso9660-10 libiso9660-dev libitm1 libjansi-java libjansi-native-java \
libjline2-java libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjsoncpp1 \
liblcms2-dev liblsan0 libltdl-dev liblzo2-dev libmad0 libmicrohttpd-dev \
libmicrohttpd12 libmirclient-dev libmirclient9 libmircommon-dev \
libmircommon7 libmircookie-dev libmircookie2 libmircore-dev libmircore1 \
libmirprotobuf3 libmodplug-dev libmodplug1 libmpx2 libmysofa0 \
libmysqlclient-dev libmysqlclient20 libnfs-dev libnfs11 libnorm1 libopengl0 \
libopenjp2-7 libopenmpt0 libp11-kit-dev libp8-platform-dev libp8-platform2 \
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpgm-5.2-0 libplist-dev \
libpng-dev libpostproc-dev libpostproc54 libprotobuf-dev libprotobuf-lite10 \
libpthread-stubs0-dev libpulse-dev libpython-dev libpython-stdlib \
libpython2.7-dev libqdox-java librhash0 librsvg2-bin librubberband2 \
libsdl2-2.0-0 libsdl2-dev libsdl2-image-2.0-0 libsdl2-image-dev \
libsdl2-mixer-2.0-0 libsdl2-mixer-dev libservlet3.1-java libset-scalar-perl \
libshairport-dev libshairport2 libshine3 libsigsegv2 libsm-dev \
libsmbclient-dev libsnappy1v5 libsndio-dev libsndio6.1 libsoxr0 libspiro0 \
libsqlite3-dev libssh-gcrypt-4 libssh-gcrypt-dev libstdc++-6-dev \
libstdc++-7-dev libswresample-dev libswresample2 libswscale-dev libswscale4 \
libtag1-dev libtasn1-6-dev libtinyxml-dev libtinyxml2.6.2v5 libtool libtsan0 \
libubsan0 libudev-dev libunbound2 libuninameslist1 libuv1 libva-dev \
libva-drm2 libva-glx2 libva-wayland2 libva-x11-2 libva2 libvdpau-dev \
libvdpau1 libwayland-bin libwayland-dev libx11-dev libx11-xcb-dev \
libx264-152 libx265-146 libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev \
libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev \
libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev \
libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev \
libxi-dev libxinerama-dev libxkbcommon-dev libxml2-dev libxmu-dev \
libxmu-headers libxpp3-java libxrandr-dev libxrender-dev libxshmfence-dev \
libxslt1-dev libxss-dev libxstream-java libxt-dev libxv-dev libxvidcore4 \
libxxf86vm-dev libyajl-dev libzmq5 libzvbi-common libzvbi0 linux-libc-dev m4 \
make mesa-common-dev mysql-common nettle-dev openjdk-11-jre \
openjdk-11-jre-headless pkg-config po-debconf python python-dev \
python-minimal python-pil python2.7 python2.7-dev python2.7-minimal \
python3-distutils python3-lib2to3 swig swig3.0 uuid-dev valgrind \
x11proto-core-dev x11proto-damage-dev x11proto-dev x11proto-dri2-dev \
x11proto-fixes-dev x11proto-gl-dev x11proto-input-dev x11proto-randr-dev \
x11proto-scrnsaver-dev x11proto-xext-dev x11proto-xf86vidmode-dev \
x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev yasm zlib1g-dev \
checkinstall libglew-dev libmpeg2-4-dev liblogg4-dev libtiff-dev \
libssl-dev libcrypto++-dev libusb-dev liblockfile-dev

2. Сделайте каталог сборки и загрузите источник:

Теперь создайте каталог сборки, изменитесь на него и загрузите и извлеките источник для Kodi 16.1. Используйте следующие команды по одному:

mkdir $HOME/kodi_build && cd $HOME/kodi_build
wget https://github.com/xbmc/xbmc/archive/16.1-Jarvis.tar.gz
tar xvf 16.1-Jarvis.tar.gz

Патч требуется, чтобы позволять cximage создать с более новым gcc, и следующая 1 команда строки загрузит этот патч с более старой фиксации Kodi:

wget https://github.com/xbmc/xbmc/commit/8f82e51563f0e1bc9b7a8adf669ad2b66e7ce3e5.patch \
-O kodi_16.1_cxximage_gcc_fix.diff

3. Сборка kodi:

Сначала создать необходимые инструменты автосборки / конфигурация:

cd $HOME/kodi_build/xbmc-16.1-Jarvis
./bootstrap

И теперь создавать, загрузите, скомпилируйте и установите еще более необходимые зависимости. Я разделил их на разделы ради (надо надеяться), некоторой ясности:

i) Создайте некоторые зависимости из папки отдельно оплачиваемых предметов Kodi:

Kodi имеет в распоряжении систему сборки для некоторых более неловких зависимостей, и мы используем его здесь. Используйте следующие команды 1 за один раз:

sudo make -C tools/depends/target/crossguid PREFIX=/usr/local
sudo make -C tools/depends/target/libdcadec PREFIX=/usr/local

ii) Найдите достойную копию Jasper:

Jasper ушел из Ubuntu, так получите ее от наших коллег по Debian, используйте следующие команды по одному в данной последовательности::

wget http://security.debian.org/debian-security/pool/updates/main/j/jasper/libjasper1_1.900.1-13+deb7u6_amd64.deb
wget http://security.debian.org/debian-security/pool/updates/main/j/jasper/libjasper-dev_1.900.1-13+deb7u6_amd64.deb
sudo dpkg -i libjasper1_1.900.1-13+deb7u6_amd64.deb
sudo dpkg -i libjasper-dev_1.900.1-13+deb7u6_amd64.deb

iii) Скомпилируйте более старую требуемую версию libcec:

Эта версия kodi хочет более старую версию libcec, и следующее установит это. Не идеальное использование этих более старых версий, но это - часть цены к созданию более старого программного обеспечения на более новом выпуске...

Сначала для libplatform (требуемый libcec), от Гостеприимного xbmc PPA:

wget http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/pool/main/p/platform/libplatform2_2.0.1-1~xenial_amd64.deb
wget http://ppa.launchpad.net/team-xbmc/ppa/ubuntu/pool/main/p/platform/libplatform-dev_2.0.1-1~xenial_amd64.deb
sudo dpkg -i libplatform2_2.0.1-1~xenial_amd64.deb
sudo dpkg -i libplatform-dev_2.0.1-1~xenial_amd64.deb

И затем скомпилировать требуемую версию libcec и установить его на /usr/local:

cd $HOME/kodi_build
wget https://github.com/Pulse-Eight/libcec/archive/libcec-3.0.0.tar.gz
tar xvf libcec-3.0.0.tar.gz && cd libcec-libcec-3.0.0
mkdir build && cd build
cmake ..
make && sudo make install

iv) Скомпилируйте kodi:

Наконец скомпилировать и исправить источник Kodi:

(Обратите внимание, что предстоящие./настр процессов будут загружать и использовать свою собственную копию FFmpeg, это может быть отключено, но для этой сборки мы позволим ему происходить! Детали этого процесса содержатся в tools/depends/target/ffmpeg).

cd $HOME/kodi_build/xbmc-16.1-Jarvis
patch -p1 < ../kodi_16.1_cxximage_gcc_fix.diff
./configure --disable-wayland
make -j 4
sudo make install

5. Обязательный снимок экрана:

Ниже снимок экрана Kodi 16.1, работающего на моей Бионической системе Бобра:

enter image description here

Необходимо будет протестировать эту версию, чтобы гарантировать, что все подходящие варианты использовались для удовлетворения определенных потребностей. Тонкая настройка всегда возможна :).

Примечания:

Конфигурация Kodi, созданная следующим, который это руководство следующим образом, существует несколько разделов, отмеченных как 'Нет', который мог, несомненно, работаться на при необходимости:

------------------------
  Kodi Configuration:
------------------------
  Kodi Version: 16.1
  git Rev.: Unknown
  Debugging:    Yes
  Profiling:    No
  Optimization: Yes
  SWIG Available:   Yes
  JRE Available:    Yes
  Doxygen Available:    Yes
  Crosscomp.:   No
  target ARCH:  
  target CPU:   
  OpenGL:   Yes
  ALSA:     Yes
  DBUS:     Yes
  VDPAU:    Yes
  VAAPI:    Yes
  VTBDecoder:   No
  OpenMax:  No
  Joystick: Yes
  Touch skin:   No
  X11:      Yes
  Wayland:  No
  Bluray:   Yes
  TexturePacker:Yes
  MID Support:  No
  ccache:   No
  ALSA Support: Yes
  PulseAudio:   Yes
  DVDCSS:   Yes
  Google Test Framework Configured: Yes
  Google Breakpad Configured:   No
  Avahi:    Yes
  mDNSEmbedded: No
  Non-free: Yes
  ASAP Codec:   No
  MySQL:    Yes
  Webserver:    Yes
  libssh support:   Yes
  libRTMP support:  No
  libsmbclient support: Yes
  libnfs client support:Yes
  libgif support:   Yes
  AirPlay support:  Yes
  AirTunes support: No
  UPnP support:     Yes
  Optical drive:    Yes
  libudev support:  Yes
  libusb support:   No
  libcec support:   Yes
  libcap support:   Yes
  additional players:   No
  additional codecs:    No
  prefix:   /usr/local
------------------------
4
ответ дан 23 November 2019 в 09:04

По мере того, как я пытался сегодня ответить andrew.46, но безуспешно, я исследовал альтернативы. Я использую эту версию Kodi, потому что мои клиенты делают то же самое, что и в комментариях, и, вероятно, многие из них здесь по той же причине. Поэтому безголовый клиент на самом деле лучше/предпочтительнее, и в настоящее время я считаю, что это единственный вариант для Ubuntu 18.

Существует поддерживаемый образ докера kodi-headless:Jarvis, который быть настроен следующим образом:

Примечание: это не самый безопасный метод установки из возможных, контейнер работает от имени пользователя root, имеет доступ к хост-сети и т. д. Я оставляю конечным пользователям возможность исследовать функции безопасности.

Кроме того, конфиги хранятся в /root/.kodi/ на основной ОС. Мне никогда не приходилось прикасаться к CLI в контейнере Kodi, я просто переместил свои текущие пользовательские данные в /root/.kodi/, запустил контейнер и проверил!

Установить Docker:

cat << 'EOL' >apt_docker_install.sh
sudo apt-get remove -y docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
EOL
chmod +x apt_docker_install.sh
./apt_docker_install.sh

Настроить БД:

sudo apt-get update
sudo apt-get install -y mariadb-server mariadb-client
cat /etc/mysql/mariadb.conf.d/50-server.cnf | grep bind
sed -i -e 's|127.0.0.1|0.0.0.0|g' /etc/mysql/mariadb.conf.d/50-server.cnf
cat /etc/mysql/mariadb.conf.d/50-server.cnf | grep bind
systemctl restart mysql
systemctl status mysql
mysql
CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL PRIVILEGES  ON MyVideos99.* TO 'kodi';
GRANT ALL PRIVILEGES  ON MyMusic56.* TO 'kodi';
flush privileges;
exit;

Создать контейнер Kodi:

cd ~
cat << 'EOL' >kodi_jarvis_bionic_beaver.sh
docker pull linuxserver/kodi-headless:Jarvis
docker create --name=kodi-headless --net=host -e PGID=0 -e PUID=0  -v /root/.kodiconfig:/config/.kodi -e VERSION=16 linuxserver/kodi-headless:Jarvis
#Note: All configs now under ~/.kodi/ on host
docker start kodi-headless
cd ~
echo "alias kodicli='docker exec -it kodi-headless /bin/bash'" >> .bashrc
source .bashrc
kodicli
EOL
chmod +x kodi_jarvis_bionic_beaver.sh
./kodi_jarvis_bionic_beaver.sh

Автозапустить контейнер:

cat << 'EOL' >/etc/systemd/system/kodi-headless.service
[Unit]
Description=Some service
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a kodi-headless
ExecStop=/usr/bin/docker stop -t 2 kodi-headless

[Install]
WantedBy=multi-user.target
EOL
systemctl enable kodi-headless

Источники:

https://hub.docker.com/r/linuxserver/kodi-headless /

https://libraries.io/github/linuxserver/docker-kodi-headless

https://github.com/linuxserver/docker-kodi-headless

0
ответ дан 18 February 2020 в 03:09

Другие вопросы по тегам:

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