raspberry pi ultimate silent htpc torrent client upnp dlna multimedia server kodi ntfs headless hdmi teamviewer unified remote diy

0 megjegyzés
Az Rpi 3-as egy remek kis eszköz. Bár a hardware elég gyenge, de ezt ellensúlyozni tudja a nagy és lelkes közösség  szoftveres fejlesztésekkel, optimalizálásokkal. Ezen bejegyzés elsősorban egy szamárvezető nekem, hogy a címben szerepelt szoftverek telepítési lépései, beállításai egy helyen meg legyenek.

Hardware oldalról kell: 
  • egy Rpi2 vagy Rpi3,
  • lehetőleg egy 2.5Amperes tápegység,
  • egy micro sdhc kártya (min 8gb, lehetőleg class 10-es vagy annál jobb,
  • egy külső hdd mobil rack-ben (nekem usb 2.0-as van, usb 3.0-assal is működik) ntfs fájlrendszerrel (bár én jobb szeretem az ext4-et, a későbbi esetleges windows alól használat miatt jobb az ntfs)
  • egy hdmi kábel
  • billentyűzet és egér vagy a remek logitech k400-as 

https://www.raspberrypi.org/downloads/raspbian/ oldalról töltsük le a Debian-ra épülő RASPBIAN STRETCH WITH DESKTOP zip file-t böngészőből vagy parancssorból a wget-tel, tömörítsük, majd írjuk ki az sd kártyára (az X helyére a megfelelő betűt írjuk!):

wget -O raspbian.zip https://downloads.raspberrypi.org/raspbian_latest
unzip raspbian.zip
sudo dd bs=4M if=2018-03-13-raspbian-stretch.img of=/dev/sdX conv=fsync

Windows és Mac OS alól való telepítéshez a https://www.raspberrypi.org/documentation/installation/installing-images/README.md oldal ad segítséget.

Ezután az sd kártyát az Rpi-be rakva, billentyűzetet, egeret, monitort is rádugva adjunk neki tápot.
Az első indulásnál átméretezi maximumra magának az sd kártyát, várjuk meg míg újraindul.
Ha ez megtörtént, akkor nyissunk egy terminált a Kellékek/LXTerminal menüpontból és adjuk ki a következő parancskokat, mindegyik futásának a végét megvárva:

sudo apt update
sudo apt upgrade
sudo reboot

Az újraindulás után a Preferences/Raspberry Pi Configuration menüpont alatt található kis gui-s programmal állítsuk be a következőket:


  • System alatt: Hostname-et módosítsuk pl rpi-re
  • System Change Password alatt változtassuk meg a jelszót
  • System alatt, ha képernyőn nem jól jelenik meg a kép, akkor Underscan-t disabled-re kell állítani
  • Interfaces alatt a következők kiválasztása: Camera, Ssh, Vnc (A camera interfész jól jön pl a Kodi-hoz videólejátszáshoz, mert elérhetővé tesz pár videó codec-et)
  • Performance-nál GPU Memory-nak 256-ot adjunk  (ez szintén a Kodi-nak szükséges, valamint a Chrome h264ify plugin-nak pl a Youtube hd lejátszáshoz)
  • Localisation: állítsuk be mind a 4 helyen (Locale, Timezone, Keyboard, WiFi Country) az általunk preferált nyelvre.

 Ezután indítsuk újra az Rpi-t.

Én még a Chromium alatt szoktam beállítani pár dolgot a jobb felső sarokban található, 3 egymás alatt található pontra kattintva:

  • Show bookmarks bar: Könyvjelzők/Könyvjelzősáv megjelenítése
  • További eszközök/Bővítmények alatt az uBlock Origin és h264ify bővítmények menjenek incognito avagy pornó módban is :)
  • Beállítások alatt a Keresőmotornál a címsávban használt keresőmotor legyen Google
  • Speciális alatt a Nyelvek résznél ne kínálja fel a fordítást.
A VNC server résznél kiveszem az anonym adatok küldését.

Telepítsük a következő remek programokat parancssorból (LXTerminal):


sudo apt install deluge deluged deluge-gtk deluge-webui kodi mc minidlna ntfs-3g
sudo reboot

A bal felső sarokban látható málna főmenü melletti első indító ikonra navigálva, majd ott jobb egérgombot nyomva az Alkalmazás-indító Settings-et kiválasztva a nekem tetsző programok gyorsabb elérése miatt kiteszem őket a fenti panelra, valamint indítóikonokat az asztalra (Chromium, Libreoffice Writer Calc, Kodi, Deluge, Midnight Commander, stb):


Ezután az ntfs-re formázott usb-s külső winchestert csatlakoztassuk az Rpi-hez. Ekkor automatikusan csatolja a kötete(ke)t, de ez nekünk nem a legjobb, mert pl áramszünet után újraindulva az Rpi-n futó minidlna (újabban ReadyMedia) és deluged nem látja a hdd-t, hiszen az csak azután csatlakozik, ha már elindult a grafikus környezet. Ez pedig jóval a daemon-ok boot-olás alatti indítását követi.
Ennek kiküszöbölésére a hdd-t bootoláskor kell automatikusan csatolni.
Terminált nyitva a következő utasításokat kell kiadni (nálam a partíció neve ntfs500g):

sudo umount /media/pi/ntfs500g
sudo mkdir /media/pi/ntfs500g
sudo chmod 660 /media/pi/ntfs500g/
sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=007 /dev/sda1 /media/pi/ntfs500g

Eddig csak kipróbáltuk, hogy tudjuk-e mountolni a partíciónkat. Ezután megállapítjuk a winchesterünk UUID-jét, amit bejegyzünk az /etc/fstab file-ba:

sudo blkid

Kimenete: "/dev/sda1: LABEL="ntfs500g" UUID="7E73F30E2D56A534" TYPE="ntfs" PTTYPE="dos" PARTUUID="44a68832-abea-4bb6-9b0f-214b0826259f""

sudo cp /etc/fstab /etc/fstab.backup
sudo nano /etc/fstab

Jegyezzük be a következő sort az utolsó PARTUUID alá:

UUID=7E73F30E2D56A534 /media/pi/ntfs500g ntfs-3g nofail uid=1000,gid=1000,umask=007 0 0

A nofail lényeges, hogy az Rpi elinduljon akkor is, ha valami gond van az nfts hdd-vel.

sudo reboot

Ezután ellenőrizzük le konzolból a df -Th paranccsal, hogy automount-olódott-e a winchester:

Kimenete: "/dev/sda1      fuseblk   466G  146G  321G  32% /media/pi/ntfs500g"

Hozzunk létre egy Videos könyvtárat a csatolt partíción:

mkdir /media/pi/ntfs500g/Videos

(Ha torrentezni akarunk, akkor mindenképp érdemes a letöltést nem az Rpi sd kártyájára megejteni, mivel azon van az operációs rendszer és így eléggé lelassítja a rengeteg írás a Raspbian-t. Akár elég lehet egy usb 2.0-s (úgyis csak ezt tudja az Rpi, usb 3.0-t nem) pendrive is, minél nagyobb kapacitással.)

Ha ez rendben van, akkor léphetünk tovább a torrent kliens telepítésére.

A deluge egy elég jó kis program, eléggé takarékoskodik is az erőforrásokkal, így az Rpi is szereti.

Ha el akarjuk indítani az Rpi indításakor automatikusan, akkor a legegyszerűbb módja, ha az LXDE grafikus felületre belépéskor történik meg ez:

nano .config/lxsession/LXDE-pi/autostart

A file végére írjuk be ezeket:

@deluged
@deluge-web
@deluge-gtk

Ezután az Rpi menü Internet/Deluge alól állítsuk be a deluge torrent klienst a Szerkesztés/Beállításoknál:

  • Letöltések/Mappák alatt a Letöltés ide résznél válasszuk ki az automatikusan csatolt partíció Videos könyvtárát. A ".torrent fájlok automatikus hozzáadása innen:" résznél a /home/pi/Downloads kiválasztása esetén automatikusan elindulnak az oda letöltött torrent-ek.
  • Letöltési sor esetén az Aktív torrentek alatt állítsunk be nagyobb számokat.
Indítsuk újra a RaspberryPi-t.

Újraindítás után a deluge programot elindítva a klasszikus módot tiltsuk le és a deluged-hez kötödő checkbox-okat válasszuk ki, hogy az imént elindított deluge-gtk automatikusan csatlakozzon a daemonhoz.

Ha tudjuk az Rpi-nk helyi hálózati ip címét, akkor el tudjuk érni a deluge-ot egy másik gép böngészőjéből is. Rpi ip címének kiderítéséhez adjuk ki rajta az ifconfig parancsot:
Az eth0 vagy wlan0 alatti első sor inet utáni, pontokkal elválasztott 4 számra lesz szükségünk.
Ha ezt tudjuk, akkor pl a 
http://192.168.1.123:8112-t bepötyögve a böngészőbe, bejön a deluge-web.
Változtassuk meg a jelszavunkat, majd csatlakozzunk a deluged daemonhoz.
Ha valamilyen oknál fogva újraindul az Rpi, akkor a deluged deluge-webui csatlakozás megszűnik.
Ennek megelőzésére az alábbi trükköt kell alkalmaznunk:

Terminálba:

leafpad .config/deluge/hostlist.conf.1.2

Innen másoljuk ki a   "hosts": [ utáni résznél található, borzasztó hosszú, 127.0.0.1 ip cím előtti karakterláncot a " határolójelek nélkül. Ezután másik terminálban a

leafpad .config/deluge/web.conf

szövegszerkesztővel írjuk be a web.conf file "default_daemon": része után az imént kimásolt karakterláncot.

Ami még igazán remek dolog, ha távolról akarjuk kezelni az Rpi torrentbox-unkat, hogy ezt megtehetjük Google Chrome alá telepítve a Remote Torrent Adder bővítményt használva. Ha valakinek van ncore hozzáférése (jó dolog az, főleg ha a kedves artisjus feltételezi mindenkiről aki adathordozót vesz, hogy nem fizetett pl az otthonra készített homevideo-ja után jogdíjat :P), akkor figyelni kell, hogy a Torrent letöltése linkre kattintva a Big Buck Bunny torrent file az automatikusan a "távoli" Rpi-re töltődik le és nem arra ahonnan rákattintottunk. Ha a helyi gépre kell a torrent file, akkor a jobb egérgomb és Link letöltése másként.
Android okosteló esetén ugyanezt a Transdroid app-pal tehetjük meg. A deluge esetén figyeljünk, hogy a Deluge weboldal jelszó-hoz állítsuk be a jelszót, valamint a deluge szerver 1.2+ verziót válasszuk ki.

Ezzel lezártuk a torrent részt.

Mi a helyzet akkor, ha nem akarunk szórakozni pendrive, winchester átrakással Rpi-ről mondjuk a tv-re?
Erre nagyon jó kis program a minidlna nevű upnp-s, dlna-s alkalmazás.
Ezt fentebb már telepítettük, most állítsuk be, hogy jól működjön:

sudo nano /etc/default/minidlna 

A file-ban a START_DAEMON="yes" és a USER="pi" szerepeljen, kommentek nélkül (#-t kell kitörölni a sor elejéről).
Ezután a következő file-t kell szerkeszteni:

sudo nano /etc/minidlna.conf 

A lényeges részek amiknek kommentek nélkül szerepelniük kell:

user=pi

media_dir=V,/var/lib/minidlna/Videos

db_dir=/var/cache/minidlna

log_dir=/var/log

friendly_name=rpi

inotify=yes

Nagyon fontos, hogy nem az ntfs partíciót magát kell megadni, hanem egy symlinket, amit a következő parancsokkal lehet elkészíteni:

sudo chown -R pi:pi /var/lib/minidlna

sudo ln -sf /media/pi/ntfs500g/Videos/ /var/lib/minidlna/Videos

Ezután Rpi-t újraindítjuk és a tv-nken láthatjuk az ntfs-en található videókat amennyiben egy hálózaton vannak. Ugyanez képekkel, zenékkel is megtehető ha a media_dir-t megismételjük és P vagy A betűre cseréljük a V-t.

Ha olyan filmmel találkozunk amit a smart vagy stupid tv-nk médialejátszója nem ismer, akkor az Rpi-re telepített Kodi-t hívhatjuk segítségül. Ez a Kore nevű Android smartphone-okra készült alkalmazással kényelmesen vezérelhető.

Ha távolról akarjuk elérni az Rpi-nket, legyünk bárhol is a nagy világban, akkor a TeamViewer egy ügyes kis program. Rpi-re a TeamViewer Host tölthető le, ezzel csak az Rpi-nket irányíthatjuk másik gépről, az Rpi-vel nem tudunk másik gépet távvezérelni. Ha ilyesmire van szükségünk, akkor az ExaGear nevű orosz emulátort szükséges megvennünk, amivel arm alól futtathatunk x86 32bit-es linuxra készült alkalmazásokat.
TeamViewer fiókot regisztrálva egyszerűbbé válik az Rpi irányítása, nem kell tudnunk hozzá a számokból álló azonosítóját.
TeamViewer Host telepítése Rpi-re:

wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb
sudo dpkg -i teamviewer-host_armhf.deb
sudo apt -f install

Rpi 2-t használó barátom hívta fel a figyelmemet egy TeamViewer feature-re (ami valójában bug), miszerint ha rácsatlakozunk egy másik ámítógépről az Rpi-nkre és ott az alábbi lebegőablakot minimalizáljuk, akkor az maximalizálja a cpu használatot:



Itt még 23%-nyi processzorhasználat jellemző.

Eltűntetésekor viszont kb 10-szeresére nő (~270%):


Ez barátok közt is egy nagyságrendnyi eltérés és mivel az Rpi nincs eleresztve mondjuk egy Odroid XU4-hez képest az erőforrásokkal, így eléggé bosszantó. A hibát pár hónapja jelezte a barátom, azóta történt is verziófrissítés (az épp aktuális verzió 13.1.1548 H), de a javítás nem történt meg. Mivel nekem az a csillámpónis animáció nem ér meg ekkora erőforráshasználatot, nem tüntetem el a lebegőablakot és gyors marad az Rpi-m TeamViewer-t használva is.

Ha az Rpi headless, avagy monitor / tv nélküli módban akarjuk használni, akkor a bal felső málnára kattintva, majd a Beállítások, Raspberry Pi Configuration menüpontra kattintva tudjuk beállítani, hogy akkor is megfelelő felbontást állítson be a Raspbian, ha nem érzékel a HDMI kimenetén kijelzőt:




Nálam a Samsung Stupid Tv-nél (UE40EH6030) a CEA mód jobb eredményt hozott mint a DMT, mert nem villogott a fehér szín.



Ha nem akarunk, vagy épp nincsen kéznél az Rpi-hez billentyűzet és/vagy egér, akkor a Unified Remote programot találták ki nekünk. Rpi-re a server telepítése:

wget -O unified-remote_armhf.deb https://www.unifiedremote.com/download/rpi-deb
sudo dpkg -i unified-remote_armhf.deb
sudo reboot

Ezután az Android-os Unified Remote kliensre lesz szükségünk:



Nagyjából ennyi. Egy következő részben a Kodi-t finomhangolom kicsit, pl a magyar nyelvű online tartalmakhoz kitalált MovieShark plugin-nal.