PVE直通核显搭建HTPC之Ubuntu方案

作为最受欢迎的Linux发行版,Ubuntu应用生态丰富,Kodi、Plex、远程transmission等应用应有尽有,用来搭建HTPC也是一个绝佳的选择。

如果把Debian比做散装葡萄,那么Ubuntu就是精酿的葡萄酒,作为最受欢迎的Linux发行版,Ubuntu应用生态丰富,Kodi、Plex、远程transmission等应用应有尽有,用来搭建HTPC也是一个绝佳的选择。

可能大部分人用Windows系统更顺手,但是请相信我,Ubuntu图形界面一样简洁优雅,就算是Linux新手也能快速入门,最重要的Ubuntu比Windows轻量,而且PVE下核显直通和HDMI输出比WIN10容易的多。

一、准备工作

⑴ 一台X86物理机,已经完成PVE虚拟环境的安装配置

⑵ PVE物理机BIOS开启VT-x虚拟化技术

Ubuntu Desktop最新镜像

二、开启PVE直通

在安装配置Ubuntu客户机之前需要先开启PVE核显直通,包括启动内核IOMMU支持、加载硬件直通相关模块、添加核显驱动黑名单等步骤,请按这篇文章操作:PVE直通核显搭建虚拟Win10 HTPC避坑指南,本文不再赘述,而是把重点放在Ubuntu HTPC的玩法上。

、Ubuntu虚拟机配置

1、虚拟机环境

PVE核显直通给Ubuntu实现HDMI输出没什么坑,配置过程轻松快乐,下图给出一种成功的方案:

PVE下直通核显的Ubuntu虚拟机做HTPC
2、Ubuntu系统安装

⑴ 先不直通核显在PVE控制台把Ubuntu Desktop安装好;

⑵ 安装完后在虚拟机硬件里面删掉虚拟显卡,并添加核显声卡键盘鼠标即可,不用修改虚拟机配置文件添加显卡直通

⑶ 给PVE物理机接上显示器,启动Ubuntu就能点亮。

四、安装Kodi

软件商店里面的KODI版本比较旧,建议用命令行安装最新的稳定版:

sudo apt-get install software-properties-common #支持包
sudo add-apt-repository ppa:team-xbmc/ppa #更新ppa源
sudo apt-get update
sudo apt-get install kodi
sudo apt-get install kodi-pvr-mythtv    # pvr包

安装完可以在登录界面设置开机直接启动KODI桌面,配合免密登录可以实现开机既用,设置方法和debian系统下一样。

请参考:PVE直接安装Gnome图形界面和KODI做HTPC

Ubuntu系统开机启动KODI

五、安装wine容器运行exe程序

wine容器就是exe程序运行的环境,可以理解为一个极小的windows;推荐使用deepin-wine,它由国内深度团队定制开发,提供QQ、微信、迅雷、百度网盘等经过测试稳定运行的软件。

deepin-wine的git仓库:https://github.com/wszqkzqk/deepin-wine-ubuntu

安装deepin-wine:
sudo apt-get install git -y && cd /tmp && git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git && cd deepin-wine-for-ubuntu  && ./install.sh
安装exe容器:

在Ubuntu系统下从以下地址下载".deb"安装包,双击安装即可,就跟在Win系统下一样。

https://mirrors.aliyun.com/deepin/pool/non-free/d/

中文支持

编辑run.sh文件:

nano /opt/deepinwine/tools/run.sh

找到WINE_CMD那行改成:

WINE_CMD="LC_ALL=zh_CN.UTF-8 deepin-wine

一口气把迅雷、百度网盘、QQ、微信和旺旺等容器都装了

Ubuntu系统安装迅雷微信QQ百度网盘

测试一下Ubuntu下容器运行迅雷的下载速度,爬坡比transmission快多了

Ubuntu下载迅雷资源

六、安装远程transmission

transmission-daemon是一个Transmission的后台守护程序,可以通过Web客户端来进行控制Transmission下载,配合公网IP或内网穿透可以随时随地控制HTPC下载资源。

安装transmission-daemon
sudo apt-get install transmission-daemon
修改配置
killall transmission-da #先关闭进程
nano /var/lib/transmission-daemon/info/settings.json

找到下面这段修改,修改webUI的账号密码(rpc-username和rpc-password),IP白名单(rpc-whitelist)设置为“*”表示允许所以IP访问,访问端口(rpc-port)默认为9091一般不用修改。

    {
        ......
        "rpc-authentication-required": true
        "rpc-bind-address": "0.0.0.0", 
        "rpc-enabled": true, 
        "rpc-password": "111111", 
        "rpc-port": 9091, 
        "rpc-url": "/transmission/", 
        "rpc-username": "transmission", 
        "rpc-whitelist": "*", 
        "rpc-whitelist-enabled": true, 
        ......
    }

修改完重启启动transmission-daemon服务:

sudo service transmission-daemon start
WEB访问

局域网内输入HTPC的IP地址加上端口号(192.168.0.212:9091)就能访问Transmission的WebUI:

WebUI远程访问控制Transmission下载文件

七、安装Aria2和WebUI

Aria2是另一个强大的多协议下载工具,支持WebUI远程操作,优点是比较全能,支持从HTTP/HTTPS, FTP, SFTP, BT种子和元链接下载,性能也相当不错,速度不比迅雷慢;缺点是配置比较麻烦。

Aria2和WebUI的详细安装和配置步骤请看这篇文章:Ubuntu/Debian系统安装配置aria2和WebUI

八、安装配置Plex

安装最新版本的Plex

Plex官方网站获得最新版本的Plex的下载地址, 用wget命令来下载.deb安装包:

cd /tmp && wget https://downloads.plex.tv/plex-media-server-new/1.19.1.2645-ccb6eb67e/debian/plexmediaserver_1.19.1.2645-ccb6eb67e_amd64.deb

下载完成后用“dpkg”工具来安装或者更新Plex:

dpkg -i plexmediaserver_1.19.1.2645-ccb6eb67e_amd64.deb

启动Plex Media Server服务,并设置随机启动服务:

sudo systemctl start plexmediaserver
sudo systemctl enable plexmediaserver

查看Plex Media Server服务的状态:

sudo systemctl status plexmediaserver
登录Plex

在电脑的浏览器中输入http://192.168.0.212:32400/web,(192.168.0.212为Ubuntu系统的内网IP)第一次登录必须是这个地址 ,以后登录就是http://192.168.1.45:32400即可

首次登陆Plex注册账号

输入账号密码登陆,然后按提示一步一步完成配置,如果没有Plex账号就先去官方注册一个。

九、挂载群晖NFS共享文件夹

在Ubuntu系统挂载群晖NAS的NFS文件夹能让Ubuntu的Aria2、KODI、Plex等程序直接对群晖共享文件夹进行读写,方便下载和媒体库管理。

启用群晖NFS服务:

打开群晖控制面板 >> 文件服务 >> SMB/AFP/NFS >> 勾选“启动NFS服务” >> 应用。

群晖启用NFS服务
设置NFS权限

打开群晖控制面板 >> 共享文件夹 >> 选择要设置的“video”共享文件夹 >> 编辑 >> NFS权限 >> 填写要授权的IP地址 >> 确定。

*号表示开放NFS权限给所有IP地址,也可以填单个IP(192.168.0.212)或IP段(192.168.0.*)。

群晖设置共享文件夹的NFS权限
挂载NFS共享文件夹

Ubuntu这边要安装nfs客户端:

sudo apt-getinstall nfs-common

查看群晖系统上有哪些nfs共享文件夹可供挂载:

showmount -e 192.168.0.109

回显如下:

/volume1/video 192.168.0.212

创建"/nfs"文件夹并挂载

sudo mkdir /nfs
sudo mount -t nfs 192.168.0.109:/volume1/video /nfs
访问挂载文件夹

mount命令挂载的目录就跟本地目录一样,Aria2和Transmission等程序都可以把它当做下载目录,KODI和PLEX等程序也能直接访问并管理上面的媒体库。

比如要让Aria2直接下载文件到群晖的共享文件夹,只要把下载目录改成“/nfs”就行,如下图所示:

Aria2直接下载到群晖NFS共享文件夹
开机自动挂载

编辑fstab配置文件:

sudo nano /etc/fstab

在文件的末尾加上:

192.168.0.109:/volume1/video /nfs defaults 0 0

十、总结

本文详细介绍了PVE直通核显搭建HTPC的Ubuntu方案,此方案实现HDMI输出要比Win10方案简单而且成功率高,但是大部分人可能需要花一定时间适应Ubuntu系统,所以本文主要篇幅花在Ubuntu HTPC的远程下载、多媒体管理和播放等玩法上,这些玩法就能满足大部分人对一台HTPC的期待,但请相信Ubuntu HTPC的潜力远不止此,还有更多惊喜等你来探索发现!

原创文章,作者:10bests,禁止任何形式转载:https://www.10bests.com/pve-ubuntu-htpc/

发表评论

邮箱地址不会被公开。 必填项已用*标注

评论列表(6条)

  • 8203
    8203 2020年11月5日 上午10:34

    首先感想一下,参照您的“PVE直通核显搭建虚拟Win10 HTPC避坑指南”已经成功安装win10并且直通集成HD630显卡,HDMI显示正常。但是按照此片文章的操作流程,一直无法将UBUNTU画面直接显示到电视上(HDMI接口)
    硬件配置是H310M+G5620,如果看到回复,请指教一下,怎么排查原因?谢谢

    • 10bests
      10bests 2020年11月5日 下午5:49

      @8203在控制台上能看到核显驱动正常吗?能否提供更多信息?

  • 羽毛
    羽毛 2020年11月28日 上午9:49

    请教博主我想把NAS安成PVE, 虚拟win+ubuntu。
    cpu是J3710,支持 VT-x,不支持VT-d,还能做硬盘直通吗?

    • 10bests
      10bests 2020年11月28日 上午11:19

      @羽毛Intel VT技术,主要由三部分技术组成:VTx、VTd和VTc。其du中,VTx是处理器技术,提供内存存以及虚拟机的硬件隔离,所涉及的技术有页表管理以及地址空间的保护。VTd是处理有关芯片组的技术,它提供一些针对虚拟机的特殊应用,如支持某些特定的虚拟机应用跨过处理器I/O管理程序,直接调用I/O资源,从而提高效率,通过直接连接I/O带来近乎完美的I/O性能。VTc是针对网络提供的管理,它可以在一个物理网卡上,建立针对虚拟机的设备队列。

    • 10bests
      10bests 2020年11月28日 上午11:29

      @10bests能直通吧,但效率低不完美,,建议试着跑看看,看网卡、硬盘读取速度能不能达到自己的要求。

    • 羽毛
      羽毛 2020年11月28日 上午11:29

      @10bests感谢科普。VTc 这个倒是第一次听说,长见识了。