Sabato, 13 Agosto 2016 17:51

HowTo. Installare XiboClient 1.8 in Ubuntu 16

Xibo è un potente e versatile “Digital Signage CMS Open Source”, ovvero un sito che trasmette PowerPoint che vengono visualizzati da applicativi player.

Molto potente (l’affermazione non è esagerata) e versatile in questo momento risulta limitato negli applicativi client. Xibo implementa un protocollo privato. Offre tutte le informazioni necessarie per costruirne uno in proprio, ma di applicativi ne offre solo due: uno per Windows e uno per Android. Per Linux al momento non c’è nulla.

Questo howto spiega un work around fatto tramite Wine.

Il testo prende come riferimento Ubuntu 16, come distribuzione. Con piccole differenze è applicabile ad ogni altra distro.

 Correggendo l’apertura Xibo distribuisce un player per Linux (Xibo Python Player) espressamente pachettizzato per Ubuntu 12. Purtroppo supporta solo la release 12 di Ubuntu, non supporta (esplicitamente) altre distro e, soprattutto, è abbandonato.

C’è un nuovo progetto per un player cross platform, ma al momento, non è ancora disponibile.

Quindi o usiamo un dispositivo Windows, o un dispositivo Android.

Per motivi di forza maggiore di deve usare Linux può trovare una soluzione in questo work around che prevede una macchina Linux che tramite Wine fa girare il client per Windows.

Dove l’ulteriore problema?

Il player Windows richiede dotNET e viene rilasciato nel formato .msi.

1. Panoramica

Vogliamo ottenere un player con le seguenti caratteristiche:

  • FQDN: tv50.example.com
  • connessione: HDMI
  • display: TV Sony Bravia WD65
  • hardware PC: MSI Cubi, 2GB RAM, 64GB HDD
  • OS: Ubuntu Desktop 16.04
  • display risoluzione: 1080p (=1920px x 1080px)
  • IP: 192.168.0.50
  • utente: user1

Il server Xibo ha i seguenti parametri:

  • IP: 192.168.0.10
  • FQDN: xibo.example.com

Il PC sarà connesso alla TV (che farò da monitor) tramite HDMI.

Passiamo alla parte esecutiva.

2. Preparazione

2.1. Installare Ubuntu 16 desktop

  • Preparare un pendrive con la copia di Ubuntu Desktop 16.04.
    Se vuoi la vita facile, senza strane sorprese, ti suggerisco di usare Ubuntu per creare la pendrive come descritto in questa guida:
    http://help.ubuntu-it.org/10.10/ubuntu/usb-creator/it/making-a-live-usb.html
  • inserire lo stick usb nel Cubi, accenderlo e farlo buttare da usb (era l’impostazione default)
  • procedi installando Ubuntu.
    Se hai un Cubi con Windows preinstallato ti suggerisco di eliminarlo. Microsoft sta diffondendo aggiornamenti che convivono male con le partizioni Linux (lo eliminano!)
  • quando viene richiesto l’utente inserire:
    • username: user1
    • password: quello-che-vuoi
    • auto-login: si

L’installazione avviene in poco tempo.

Al termine riavviare e togliere il pendrive.

Appena sei al desktop di Ubuntu procedi:

  • imposta l’IP statico per la scheda di rete (nota: nel tuo computer metti i dati corretti per la tua rete):
    ip: 192.168.0.50
    mask: 255.255.255.0
    gateway: 192.168.0.1
    DNS1: 8.8.8.8
    DNS2: 4.4.4.4
  • disattiva la connessione WiFi
  • imposta un solo spazio di lavoro (=un solo schermo)
  • lancia “Impostazioni di sistema” (da cli si puoi invocare unity-control-center)
  • imposta l’auto-scomparsa del menu

  • disattiva lo screensaver ed il look

  • se necessario imposta la dimensione dello schermo e l’orientamento. Ricorda che il size è 1920x1080. Gnome dovrebbe averlo già preso automaticamente
  • disattiva la sospensione

Perfetto. Passiamo ora a installare Wine.

 2.2. Installare Wine

  • Apri un terminale (puoi usare la combinazione CTRL+T)
  • diventa root
sudo su -
  • aggiungi l’architettura 32 bit
dpkg --add-architecture i386
  • aggiungi il repo per Wine

add-apt-repository ppa:ubuntu-wine/ppa

  • aggiorna apt
apt update
apt upgrade
  • installa Wine e l’utility winetricks
apt install wine1.8 winetricks

2.3. Installare .NET 4.0

Prima di procedere devi tornare ad essere user1.
Quindi, sempre dal terminale, dai il comando

exit

Vedrai che il cursore da “:~#” diventa “:~$”.

Passando all’installazione questa avviene in due macro-fasi: installazione di Mono e Gecko (necessari a Wine), installazione di .NET.

  • Passo uno: dai il seguente comando
WINEARCH=win32 WINEPREFIX=~/.wine32 winetricks dotnet40
  • fatto questa un’altra box di chiede di installare Gecko. Clicca sul bottone OK. Tutto avviene automaticamente
  • dopo qualche istante ti viene chiesto di installare Mono. Clicca sul bottone OK. Tutto avviene automaticamente
  • ora winetricks prende il controllo e provvede al download del pacchetto di .NET e di Gacutil (un programma necessario per la corretta installazione di .NET).
    Wintricks aprire automaticamente il browser all’URL http://www.mediafire.com/download/v8rw5h1ra7maod4/gacutil-net40.tar.bz2 per il download di gacutil-net40.tar.bz2 (lo scaricamento devi farlo manualmente!). Wintricks apre anche una finestra sulla directory /home/user1/.cache/winetricks/dotnet40/ . Quando ha finito il download di gacutil-net40.tar.bz2 devi copiarlo dentro alla directory /home/user1/.cache/winetricks/dotnet40/ .
    Dopo che hai copiato (o spostato) il file rilancia winetricks
    NB: questi passi sono comunicati da winetricks in messaggi stampati nel terminale dove stai eseguendo winetricks. Potrebbe risultare difficile leggerli perché coperti dalle finestre e perché in mezzo alle molte righe di output
WINEARCH=win32 WINEPREFIX=~/.wine32 winetricks dotnet40
  • dopo qualche istante si apre la finestra di installazione di .NET. Accetta i termini di licenza e clicca sul bottone ok
  • procedi rendendo standard quanto hai fatto
/bin/rm -R /home/user1/.wine
cp -pR /home/user1/.wine32 /home/user1/.wine
  • riavvia la macchina.
    NB: questo reboot non è necessario, ma se non si fa alcune cose non funzionano automaticamente (come l’avvio tramite msinstall dei pacchetti .msi).

Rendere standard? Ebbene si. Questo è legato all’architettura di Wine. Tendenzialmente crea una bolla Windows per ogni programma. Ti rimando alla documentazione sul sito di Wine se vuoi approfondire.

3. XiboClient

3.1. Installazione

  • Sempre come user1 scarica il player di Xibo
wget https://github.com/xibosignage/xibo-cms/releases/download/1.7.8/xibo-client-1.7.8-win32-x86.msi
  • dal file manager grafico, fai click con il bottone destro del mouse sul file

  • procedi confermando le richieste. Al termine confermare il lancio del client. Si aprirà la finestra di configurazione. Setta e lanciare il player.

Fatto questo vedrai che la finestra del player è più piccola dello schermo. Bene: devi solo correggere lo screen-size di Wine.

Quindi terminare il player e procedi (da terminale basta CTRL+C).

3.2. Configurare lo screen-size

ine di default è configurato per usare una porzione di schermo.

Per portarlo a full-screen:

  • lancia il configuratore di Wine
winecfg
  • ora clicca su “Add application...”
  • sulla finestra settare “Windows 7” e clicca su “Apply”

  • seleziona XiboClient.exe

  • clicca su XiboClient.exe e imposta Windows 7, e lo screen a 1920x1080
  • cliccare su “ok”.

3.3. Configurare l’auto-avvio

  • Sempre operando da terminale come “user1” crea il lanciatore
mkdir bin
nano bin/launch-xiboclient.sh
  • popola il file come segue
#!/bin/bash
wine "/home/user1/.wine/drive_c/Program Files/Xibo Player/XiboClient.exe"
  • salva il file rendilo eseguibile
chmod +x bin/launch-xiboclient.sh
  • ora dalla shell grafica lancia “Applicazioni d’avvio” (dalla cli gnome-session-properties)

  • clicca su “add” e aggiungi lo script di lancio come segue


A questo punto la macchina è pronta.

Riavvia, collauda e divertiti.

4. Note conclusive

4.1. .NET

Quando XiboClient parte si apre una finestra per aggiornare a .NET 4.5:

  • nei test fatti non ho evidenziato problemi con .NET 4.0
  • la box di warning resta aperta, ma in background (=non da fastidio)
  • l’installazione automatica di .NET 4.5, tramite winetricks, fallisce
  • con la seguente tecnica manuale funziona:
    • se non l’hai fatto prima lancia winecfg e configura come default “Windows 7”
    • scarica .NET 4.5 dalla Microsoft (URL:  https://www.microsoft.com/it-it/download/confirmation.aspx?id=42642 )

    • copia il file nel disco C della bolla Windows di Wine

      cp NDP452-KB2901907-x86-x64-AllOS-ENU.exe /home/user1/.wine/drive_c/
    • lancia il file

      wine "/home/user1/.wine/drive_c/NDP452-KB2901907-x86-x64-AllOS-ENU.exe"
    • dalla finestra di dialogo che si apre accetta i termini di licenza e procedi.

L’installer Microsoft procede automaticamente. Basta solo aspettare che termini.

A fine procedura se lanci XiboClient vedrai che il warning è scomparso.

4.2. Controllo remoto: sshd

Probabilmente questa soluzione la metterai in punti dove difficilmente puoi accedere e usare il PC.

Si pone il problema come manutenerlo e controllarlo da remoto.

Una soluzione efficace (e potente) è SSH. Ubuntu desktop, però, non installa la di default la parte server. Puoi farlo procedendo come segue:

  • apri un terminale (puoi usare la combinazione da tastiera CTRL+T)
  • dai il seguente comando
sudo apt install ssh

Apt installa il server, lo avvia e lo configura come servizio default.

4.3. Auto off

Un’altra questione da affrontare è lo spegnimento.

Via ssh possiamo dare il comando

sudo halt

Oppure impostare un uno scheduling per halt. Ad esempio possiamo aggiungere il file /etc/cron.d/halt con il seguente contenuto

# Auto halt at the 18:30
SHELL=/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
## m h dom mon dow user command

30 18 * * * root /sbin/shutdown -h now

Però, se uno preme il bottone di spegnimento, sullo schermo compare una (fastidiosa) richiesta di conferma.

Per modificare il comportamento affinché si spenga senza richiesta di conferme:

  • aprire un terminale
  • editare /etc/acpi/events/power
    sudo nano /etc/acpi/events/power
  • modificare la riga “action” come segue
    ...
    action=/sbin/shutdown -h now
  • riavviare il demone acpid
    systemctl restart acpid

4.4. Auto on

Altro problema è l’accensione automatica.

Se il bottone di accensione è a portata di dito una semplice soluzione è l’avvio manuale tramite la pressione del bottone.

Altra semplice soluzione automatica è impostare nel BIOS un orario di avvio automatico, se questo lo prevede.

Queste due soluzioni, comunque, non permettono un controllo da remoto né un controllo integrato con il server Xibo.

Se vogliamo questo possiamo abilitare WOL (Wake On Lan) nella nostra linux box. Per abilitarlo rimando alla guida

https://help.ubuntu.com/community/WakeOnLan

Da ricordare, però:

  • se si usa va protetto con password
  • per attivare WOL bisogna disattivare (e rimuovere) network-manager
  • la scheda di rete deve supportare il WOL
  • gli apparati devono sempre restare sotto tensione
  • apparati di rete intermedi (switch L2, router, Acces Point, firewall, ecc…) normalmente non fanno passare i segnali WOL (cioè il “magic packet”)
  • in caso di attacco le password per WOL sono facili da scoprire.

4.5. Ntpd

La versione desktop di Ubuntu non installa ntp di serie. Il che significa che orario e data non si aggiornano automaticamente.

Pertanto installiamolo, configuriamolo e avviamolo.

Ipotizzo che il computer è in Italia. Quindi configuro serve del tempo NTP italiani ( http://www.pool.ntp.org/zone/it ).

  • Apri un terminale (puoi usare la combinazione da tastiera CTRL+T)
  • installa il demone
    sudo apt install ntp ntpdate
  • edita il file di configurazione
    sudo nano /etc/ntp.conf
  • e aggiornalo come segue
    ...
    server 2.it.pool.ntp.org
    server 1.europe.pool.ntp.org
    server 0.europe.pool.ntp.org
    #pool 0.ubuntu.pool.ntp.org iburst
    #pool 1.ubuntu.pool.ntp.org iburst
    #pool 2.ubuntu.pool.ntp.org iburst
    #pool 3.ubuntu.pool.ntp.org iburst
     
    
    # Use Ubuntu's ntp server as a fallback.
    #pool ntp.ubuntu.com
    pool it.pool.ntp.org
    ...
  • fai il primo aggiornamento
    sudo systemctl stop ntp
    sudo ntpdate 2.it.pool.ntp.org
  • riavviamo il demone
    sudo systemctl start ntp

4.6. Leggero o pesante

Se fai tutto come ho descritto prima tutto funziona, ma dentro la tua linux box ci sarà molto software che non userai mai. Non è un cattiva idea rimuoverlo.

In secondo luogo Unity e Gnome (i programmi che gestiscono la grafica, ovvero i window manager) sono eleganti e potenti, ma decisamente sprecati. Per il nostro scopo e sufficiente solo un sistema di lancio del player Xibo e la gestione della sola finestra creata.

La rimozione del software è semplice e indolore.

Il cambio (e relativa configurazione) del window manager, invece, è complessa e dolorosa.

Pertanto ti suggerisco di rimuovere solo un po’ di software come segue:

  • apri un terminale (puoi usare la combinazione da tastiera CTRL+T)
  • dai la seguente istruzione
  • nella finestra che si apre clicca sul tab “Installed” e procedi rimuovendo:
    gnome-software
  • nella finestra che si apre clicca sul tab "Installed" e procedi rimuovendo:
    • AisleRiot Solitaire
    • Archive Manager
    • LibreOffice
    • ImageMagick (display Q16)
    • Cheese
    • Character Map
    • Backups
    • Browser
    • Calendar
    • Checkbox
    • Firefox Web Browser
    • ImageMagick (display Q16)
    • LibreOffice Calc
    • Passwords and Keys
    • Mines
    • LibreOffice Write
    • LibreOffice Impress
    • LibreOffice Draw
    • LibreOffice Math
    • Mahjongg
    • Online Accounts
    • Personal File Sharing
    • Thunderbird Mail
    • Startup Disk Creator
    • Shotwell
    • Remina
    • Screen Reader
    • Simple Scan
    • Sodoku
    • Transmission

NB: gnome-software non aggiorna in tempo reale la lista del software rimosso. Dopo che hai rimosso un pacchetto vedrai che ricompare nella lista di software installato. Se esci da gnome-software e rientri vedrai che effettivamente è scomparso.

Infine rimuovi i pacchetti rimasti orfani

apt autoremove

4.7. Multimedia

Un’ultima nota la faccio in merito al multimedia.

Se le schermate che crei comprendono solo testo e qualche immagine non vedraalcun problema significativo.

Se aggiungi qualche effetto di transizione potresti iniziare a vedere qualche rallentamento o ritardi di refreshing.

Se inserisci delle animazioni o dell’audio/musica potresti vedere e/o sentire ritardi piuttosto che strani suoni.

Questo dipende dalla combinata hardware-software:

  • Ubuntu deve supportare bene sia la scheda grafica che l’audio
  • Wine non è particolarmente performante con l’audio ed il video. Questo introduce dei ritardi
  • l’accelerazione hardware, per il video, attraverso Wine, di fatto non è supportata.

In conclusione se inserisci dei video e/o degli effetti di transizione prima di pubblicarli è meglio che lo provi a vedere.

Per l’audio non dovresti avere problemi.

5. Webgrafia

http://help.ubuntu-it.org/7.04/ubuntu/serverguide/it/NTP.html

http://www.pool.ntp.org/zone/it

http://www.tecmint.com/install-wine-on-ubuntu-and-linux-mint/

http://xibo.org.uk/

https://appdb.winehq.org/objectManager.php?sClass=version&iId=25478

https://github.com/xibosignage/xibo-pyclient

https://ubuntuforums.org/showthread.php?t=2283185

https://wiki.winehq.org/FAQ

https://www.microsoft.com/it-it/download/confirmation.aspx?id=42642

https://www.winehq.org/

https://www.winehq.org/docs/wineusr-guide/config-wine-main

UBUNTU, Creare una <<Live USB>>, http://help.ubuntu-it.org/10.10/ubuntu/usb-creator/it/making-a-live-usb.html

Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza e offrire servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie vai alla sezione Cookie Policy.