SDB:Tutorial XBMC

Ir para: navegação, pesquisa

Introdução

O presente documento tem por objectivo apresentar a metodologia inerente à instalação e criação de um Media Center utilizando o sistema operativo openSUSE 12.3 e o software XBMC (disponível no repositório de Multimédia do Packman).

A operacionalização destes conceitos têm por base a utilização de um portátil dedicado unicamente para utilização como Media Server para streaming por DNLA/uPnP para um dispositivo remoto.

Não é do âmbito deste documento cobrir aspectos básicos sobre manutenção e administração do sistema operativo; assumimos que o utilizar está familiarizado com estas tarefas, assim como gestão de firewalls e segurança. Este documento foi elaborado assumindo que a utilização dos conceitos será operacionalizada dentro de uma DMZ ou de uma rede doméstica protegida.

XBMC Main Screen

Instalação

Durante este tópica serão apresentadas orientações genéricas para a criação de uma PEN USB com a imagem de instalação do sistema operativo, instalação do sistema operativo e instalação dos repositórios necessários com vista à instalação do software XBMC.

Requisitos

  • Sistema operativo Linux já existente para criação da imagem de instalação;
  • Pen USB igual ou superior a 1GB (imagem de instalação por rede);
  • Acesso à Internet para download da imagem de instalação e instalação por rede;
  • Portátil dedicado para correr o XBMC;
  • Conhecimento sobre manutenção e administração de sistemas operativos Linux (openSUSE);

Criação da Imagem de Instalação

Para este tutorial vamos utilizar a imagem disponibilizada pelo Projecto openSUSE designada normalmente por NET INSTALL disponível no seguinte URL (32 e 64 bits):

 http://download.opensuse.org/distribution/12.3/iso/ 

A imagem após ser descarregada pode ser queimada em media óptica (ex: CD ou DVD), assim como ser criada uma PEN USB bootável através do seguinte comando:

 $ sudo dd if=/caminho/para/openSUSE-12.3-NET-x86_64.iso of=/dev/DEVICE bs=8M 

Na expressão anterior o utilizador deve consider que DEVICE corresponde ao block device da PEN USB (ex: sdb, sdc, sdd).

Após este processo, a PEN USB deverá conter uma imagem bootável da instalação por rede do sistema operativo openSUSE 12.3. Basta configurar a BIOS do computador onde vai ser instalado o sistema operativo para arrancar por um dispositivo externo USB (verificar documentação do fabricante/placa mãe).

Instalação do Sistema Operativo

A instalação do sistema operativo deve ser efectuada normalmente, e cabem ao utilizador diversas tarefas; Pessoalmente para um uso dedicado recomenda-se o seguinte (ex: para um disco /dev/sda):

  • partição de 500mb para /boot (ex: /dev/sda1)
  • partição de 40Gb para o sistema (ex: /dev/sda2)
  • partição de 4Gb para SWAP (ex: /dev/sda3)
  • partição de XX Gb para /home (ex: /dev/sda4)

A instalação do sistema operativo deverá ser a normalmente conhecida por Minimal X; por omissão esta instalação instala a base do sistema operativo com um X Server e o window manager twm.

SDB XBMC SCREENSHOT02.jpg

Instalação de Repositórios Adicionais

Após a instalação do sistema operativo, o utilizador deverá configurar os repositórios necessários a instalação de todo o software. Recomendamos que previamente o seguinte passo seja executado de forma a configurar o gestor de pacotes a ignorar os pacotes Recomendados. Isto é feito no ficheiro /etc/zypp/zypper.conf:

## Do not install soft dependencies (recommended packages)
##
## Valid values: boolean
## Default value: yes
##
installRecommends = no

De seguida deveremos instalar os seguintes repositórios:

  • Packman Essentials
  • Packman Multimedia

A instalação destes repositórios é feita através dos comandos seguintes:

 $ sudo zypper ar http://pmbs.links2linux.org/download/Essentials/openSUSE_12.3/ packman-essentials
 $ sudo zypper ar http://pmbs.links2linux.org/download/Multimedia/openSUSE_12.3/ packman-multimedia 

De seguida o utilizador deverá executar os seguintes comandos de forma refrescar a cache local dos repositórios e fazer um update ao sistema operativo:

 $ sudo zypper ref
 $ sudo zypper update 

Instalação do Software

Após a configuração inicial dos repositórios e update ao sistema operativo, é recomendado o utilizador executar o seguinte comando de forma a que seja executado um 'distribution upgrade'; Esta operação permite substituir componentes instalados pelos mesmos componentes em repositórios diferentes (neste caso, packman).

 $ sudo zypper dup 

Após esta operação temos o sistema pronto para a instalação do XBMC e outros componentes necessários. Como o openSUSE 12.3 oferece uma experiência completa a nível de systemd, recomendamos a utilização de um Display Manager que suporte todas as features desejadas, por exemplo o GDM (GNOME Display Manager).

 $ sudo zypper install xbmc gdm 

Configuração

Nesta secção iremos apresentar algumas configurações que poderão ser feitas de forma a poder correr o XBMC em modo Kiosk. Desta forma, o sistema operativo irá fazer auto login para um utilizador xbmc que correrá directamente o XBMC em modo kiosk directamente numa sessão X sem Window Manager.

Configuração Sistema Operativo

Criação de um utilizador de sistema para correr o serviço XBMC em modo kiosk:

 $ sudo useradd -c "XBMC system user" -G users -m xbmc 

Configuração do Display Manager

Configuração do Display Manager (/etc/sysconfig/displaymanager):

## Type:        string(kdm,kdm3,kdm4,xdm,gdm,wdm,entrance,console)
## Default:     ""
#
# Here you can set the default Display manager (kdm/xdm/gdm/wdm/entrance/console).
# all changes in this file require a restart of the displaymanager
#
DISPLAYMANAGER="gdm"
## Type:    string
## Default:
#
# Define the user whom should get logged in without request. If string
# is empty, display standard login dialog.
#
DISPLAYMANAGER_AUTOLOGIN="xbmc"
## Type:        yesno
## Default:     no
#
# Allow all users to login without password, but ask for the user, if
# DISPLAYMANAGER_AUTOLOGIN is empty.
#
DISPLAYMANAGER_PASSWORD_LESS_LOGIN="yes"

Configuração do Window Manager

Embora não seja utilizado um Window Manager (Gestor de Janelas), queremos definir o próprio XBMC como um 'Gestor de Janelas). Isto é feito no ficheiro /etc/sysconfig/windowmanager:

## Path:        Desktop/Window manager
## Description: 
## Type:        string(gnome,kde4,kde,lxde,xfce,twm,icewm)
## Default:     kde4
## Config:      profiles,kde,susewm
#
# Here you can set the default window manager (kde, fvwm, ...)
# changes here require at least a re-login
DEFAULT_WM="XBMC"

NOTA: O valor XBMC na chave DEFAULT_WM deverá ser o mesmo utilizado no ficheiro que define a Sessão X do XBMC (/usr/share/xsessions/XBMC.desktop).

A partir deste momento, o utilizador deverá reiniciar a máquina. Após reiniciar, a máquina deverá iniciar directamente para o XBMC (utilizador xbmc com home em /home/xbmc).

Extras

Esta secção inclui alguns extras que podem ser atractivos para alguns utilizadores. Embora não sejam mandatórios, oferecem alguma funcionalidade extra que pode ser interessante para muitos utilizadores.

systemd - Desligar controlo da lid

Esta operação permite que quando o portátil seja fechado o mesmo não entre em hibernação ou suspende. Desta forma o utilizador pode ter o portátil fechado sem qualquer prejuízo para as aplicações a correr. Para este comportamento ser operacionalizado o utilizador deverá editar o ficheiro /etc/systemd/logind.conf:

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# See logind.conf(5) for details

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#Controllers=
#ResetControllers=cpu
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
HandleLidSwitch=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
LidSwitchIgnoreInhibited=yes

Activar Protocolo XDMCP

De forma a que utilizadores remotos possam utilizar clientes de XDMCP para obter um display remoto e não utilizarem o display fisico do portátil, as seguintes configurações deverão ser feitas no ficheiro /etc/sysconfig/displaymanager:

## Type:        yesno
## Default:     no
#
# Allow remote access (XDMCP) to your display manager (xdm/kdm/gdm). Please note
# that a modified kdm or xdm configuration, e.g. by KDE control center
# will not be changed. For gdm, values will be updated after change.
# XDMCP service should run only on trusted networks and you have to disable
# firewall for interfaces, where you want to provide this service.
#
DISPLAYMANAGER_REMOTE_ACCESS="yes"

## Type:        yesno
## Default:     no
#
# Allow remote access of the user root to your display manager. Note
# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and
# System/Security/Permissions/PERMISSION_SECURITY is "paranoid"
#
DISPLAYMANAGER_ROOT_LOGIN_REMOTE="no"

## Type:        yesno
## Default:     yes
#
# Let the displaymanager start a local Xserver.
# Set to "no" for remote-access only.
# Set to "no" on architectures without any Xserver (e.g. s390/s390x).
#
DISPLAYMANAGER_STARTS_XSERVER="yes"

## Type:        yesno
## Default:     no
#
# TCP port 6000 of Xserver. When set to "no" (default) Xserver is
# started with "-nolisten tcp". Only set this to "yes" if you really
# need to. Remote X service should run only on trusted networks and
# you have to disable firewall for interfaces, where you want to
# provide this service. Use ssh X11 port forwarding whenever possible.
#
DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="yes"

NOTA: A firewall deverá ser ajustada para aceitar tráfego na porta 6000.