Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.

Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. (http://xbmc.ru/forum/index.php)
-   Поддержка платформы Linux \ Live (http://xbmc.ru/forum/forumdisplay.php?f=7)
-   -   Автозапуск Kodi (http://xbmc.ru/forum/showthread.php?t=14263)

leFaucon 05.03.2017 11:16

Автозапуск Kodi
 
Стоит у меня Ubuntu Server 16.04.2, а на нем Kodi 17.0

Решил, дабы не запускать все время ручками, сделать автозапуск.
Добавил нового пользователя:
Код:

sudo adduser --disabled-password --disabled-login --gecos "" kodi
Внес его в группы:
Код:

sudo usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,tty kodi
Создал новый файлик в /etc/init.d/ на основе лежащего там skeleton, добавив туда
Код:

env USER=kodi
exec su -c "xinit /usr/bin/kodi-standalone -- -nocursor :0" $USER

Дал скрипту права и добавил в автозагрузку. И все вроде бы и ничего, но при перезагрузке, Kodi запустился от имени root, а не от имени kodi.
Ну и собственно как бы это все исправить, что бы работало правильно?

sovaby 05.03.2017 18:46

У тебя ошибка помоему
Паттерн такой должен быть
su -с КОМАНДА - ИМЯ_ПОЛЬЗОВАТЕЛЯ
А твой паттерн
su -с КОМАНДА ИМЯ_ПОЛЬЗОВАТЕЛЯ
Но я запускал бы через sudo -u ИМЯ_ПОЛЬЗОВАТЕЛЯ "Команда"

И вообще нафиг тебе все эти env и exec
Феншуй не всегда нужен =)

Код:

#!/bin/bash
sudo -u kodi xinit /usr/bin/kodi-standalone -- -nocursor :0

А себе я сделал через nodm так более по феншуй =)

leFaucon 05.03.2017 20:07

Ну в скриптинге я не знаю от слова ничего, делал просто по руководствам. Через sudo тоже пробовал - тогда не запускается вообще.
Поправил дефис - все равно из рута запускается.
А как именно настроить в nodm запуск kodi как окружения?

sovaby 05.03.2017 21:03

Ставишь nodm настраиваешь как в статье выше
Указываешь kodi как пользователь автозагрузки

в /etc/default/nodm
NODM_USER=kodi

В домашнем каталоге kodi создаешь
.xsession

потом chmod 777 ~/.xsession

У меня так внутри :
Код:


#!/bin/sh                                                                                                                                                                                                                                                                                                                                                                                                                   

/usr/bin/kodi-standalone

Профит !

leFaucon 05.03.2017 21:20

О, заработало как надо, спасибо :)

leFaucon 05.03.2017 21:47

Только теперь вопрос - из меню выключения пропали все пункты крмое выхода, при нажатии которого Kodi тут же запускается обратно. Как исправить и вернуть пункты выключения, перезагрузки т.д.?

bigbax 06.03.2017 00:13

Цитата:

Сообщение от leFaucon (Сообщение 109246)
Только теперь вопрос - из меню выключения пропали все пункты крмое выхода, при нажатии которого Kodi тут же запускается обратно. Как исправить и вернуть пункты выключения, перезагрузки т.д.?

Давно не практиковался. Ради интереса, в убунту 16 есть такой файл и что в нём написано в allow-active - авторизация от админа или yes?
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
В принципе у Вас полетели политики управления режимами спать и отключить. Копать в эту сторону

sovaby 06.03.2017 09:22

Цитата:

Сообщение от leFaucon (Сообщение 109246)
Только теперь вопрос - из меню выключения пропали все пункты крмое выхода, при нажатии которого Kodi тут же запускается обратно. Как исправить и вернуть пункты выключения, перезагрузки т.д.?

Это тебе надо копать в сторону polkit копать Только посмотри устанавливалось оно по дефолту !
Типа
создать файл /etc/polkit-1/localauthority/50-local.d/custom-actions.pkla
Код:

[Actions for kodi user]
Identity=unix-user:kodi
Action=org.freedesktop.login1.*;org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=yes
ResultActive=yes

[Untrusted Upgrade]
Identity=unix-user:kodi
Action=org.debian.apt.upgrade-packages;org.debian.apt.update-cache
ResultAny=yes
ResultInactive=yes
ResultActive=yes

По выключению перезагрузке и прочее poolkit рулит.

Nerv696 06.03.2017 15:07

Есть еще способ автоматического запуска в Ubuntu Server 16.04.2, с помощью встроенного в систему system.
Создаете файл (пример kodi.service) по следующему пути /etc/systemd/system
и вставляете туда следующие строки:
[Unit]
Description = Kodi Media Center

# if you don't need the MySQL DB backend, this should be sufficient
After = systemd-user-sessions.service network.target sound.target

# if you need the MySQL DB backend, use this block instead of the previous
# After = systemd-user-sessions.service network.target sound.target mysql.service
# Wants = mysql.service

[Service]
User = kodi
Group = kodi
Type = simple
#PAMName = login # you might want to try this one, did not work on all systems
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/kodi-standalone -- :0 -nolisten tcp vt7
Restart = on-abort
RestartSec = 5

[Install]
WantedBy = multi-user.target

Активация автозапуска юнита по команде sudo systemctl enable kodi
У меня так стартует, и если падает kodi срабатывает перезапуск.

sovaby 07.03.2017 07:58

Через systemd тоже очень хороший способ .
Только при определенном стечении обстоятельств не на всех инсталяциях почему то срабатывает . Хоть везде и 16.04 и 16.10 Видимо зависит как то от набора первоначально инсталированных пакетов , и когда пишешь .service
Надо четко представлять, что писать в After и Wants иначе потом долго разбираться в этих цепочках
Если установка стандартная полная - Вполне годный метод как выше написано.

ЗЫ вообще если разобраться с systemd провести анализ , то можно существенно ускорить загрузку всей системы
Мне удалось добиться 3сек на полную загрузку системы, на древнем SSD SATA-II, не самый быстрый SSD.


Текущее время: 04:32. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.