0%

Ubuntu Server 20.04 LTS 最小安装kodi

前言:

如果只想简单使用kodi,不用这么复杂,直接安装LibreELEC就可以了。我这是为了复用这台HTPC(J1800+8G内存)而弄,最终目标NAS+Kodi是All in one。

如果HTPC硬件比较先进(支持VT-D),也不用这么复杂,安装虚拟机平台(VMware ESXiPVE)把对应硬件直通,再安装LibreELEC、DSM6就行了。

最小化安装Ubuntu Server 20.04 LTS

由于内存有限,只安装必需的包。官网下载Ubuntu Server 20.04 LTS的ISO,然后使用balenaEtcher写入U盘Boot机安装。

安装过程全部默认,使用整个磁盘不使用LVM,软件包仅安装openssh。手动配置IP,用户名d2o。

删除cloud-init

  • Remove all cloud-init datasources

    1
    echo 'datasource_list: [ None ]' | sudo -s tee /etc/cloud/cloud.cfg.d/90_dpkg.cfg
  • Uninstall all it’s packages

    1
    sudo apt-get purge cloud-init
  • Delete all it’s configuration files

    1
    sudo rm -rf /etc/cloud/; sudo rm -rf /var/lib/cloud/
  • Remove open-iscsi

    The iSCSI daemon will wait indefinitely and hang the boot process if it’s not removed when cloud-init is removed

    1
    sudo apt remove open-iscsi

删除snap

1
sudo apt purge snapd

更新所有软件,安装驱动、x框架等kodi的依赖

1
2
3
4
5
6
sudo apt-get update
sudo apt-get install ssh software-properties-common xorg xserver-xorg-legacy \
alsa-utils mesa-utils git-core librtmp1 libmad0 lm-sensors libmpeg2-4 \
avahi-daemon libnfs13 libva2 vainfo i965-va-driver linux-firmware dbus-x11 \
udisks2 pastebinit udisks2 xserver-xorg-video-intel
sudo apt-get upgrade

配置允许”everyone” 启动Xserver

1
sudo dpkg-reconfigure xserver-xorg-legacy

新建kodi用户,并添加响应权限

1
2
sudo adduser kodi
sudo usermod -a -G cdrom,audio,video,plugdev,users,dialout,dip,input kodi

我这里是服务器不需要关机,所以这个不做

编辑/etc/polkit-1/localauthority/50-local.d/custom-actions.pkla,添加以下内容使kodi可以重启和关机。

1
2
3
4
5
6
7
8
9
10
11
12
13
[Actions for kodi user]
Identity=unix-user:kodi
Action=org.freedesktop.login1.*;org.freedesktop.udisks2.*
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

添加kodi为服务,实现开机启动,这里直接是用kodi-standalone模式,这样只需要有X11就行了,可以省掉gnome、xface或者openbox之类的桌面环境。编辑/etc/systemd/system/kodi.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description = kodi-standalone using xinit
After = remote-fs.target systemd-user-sessions.service mysql.service

[Service]
User = kodi
Group = kodi
Type = simple
ExecStart = /usr/bin/xinit /usr/bin/dbus-launch /usr/bin/kodi-standalone -- :0 -nolisten tcp
Restart = always
RestartSec = 30

[Install]
WantedBy = multi-user.target

开机自动启动kodi

1
2
sudo systemctl daemon-reload
sudo systemctl enable kodi

安装kodi

准备了这么多,终于开始安装kodi了。安装kodi是很简单的,几条命令搞定。

1
2
3
4
5
sudo apt-add-repository ppa:team-xbmc/ppa
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install kodi kodi-x11 kodi-pvr-iptvsimple
sudo systemctl start kodi

关于遥控

遥控是在同辈兄弟小熊家买的蓝宝石SAPPHIRE Theatrix电视卡附送的遥控器,比一般的HP之类的mce遥控便宜不少,当然代价是不能即插即用。直接插入电脑只能使用一部分按键。

蓝宝石电视卡遥控

当然这对于一名合格的垃圾佬,这不是什么难题。因为这个早已经有大神解决了,只需要站在巨人的肩膀上就能看得更远。下载Mark Lord大神的驱动,编译上去即可。

1
2
3
4
5
6
sudo apt install build-essential
wget http://rtr.ca/sapphire_remote/sapphire-7.4.tar.gz
tar xvf sapphire-7.4.tar.gz
cd sapphire-7.4
sudo make
sudo make install

这个驱动是为MythTV制作的,要适配kodi的话还需要做一点点keymap的工作。

附上我自己用的2个keymap文件,第一个是遥控器映射为键盘按键的配置,根据自己需求修改后用sapphire_keymap.sh来加载,第二个是修改kodi默认的键盘快捷键。

/etc/sapphire.keymap

/home/kodi/.kodi/userdata/keymaps/gen.xml

最后用这个sapphire的驱动覆盖系统自带的topseed驱动,开机自动加载keymap配置。

编辑文件/etc/systemd/system/sapphire.service

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Sapphire remote start script
Before=kodi.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/sapphire_startup.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
1
2
3
sudo systemctl daemon-reload
sudo systemctl enable sapphire
sudo systemctl start sapphire

这样系统启动之后遥控器就直接可用了。

参考: