Mudanças entre as edições de "PJI-2016-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 458: Linha 458:
  
 
Para conseguir ativar essas funcionalidades no seu ''media center'', são necessários alguns conceitos básicos sobre comunicação de dados e redes de computadores. Não custa revisá-los ...
 
Para conseguir ativar essas funcionalidades no seu ''media center'', são necessários alguns conceitos básicos sobre comunicação de dados e redes de computadores. Não custa revisá-los ...
 +
 +
= 11/04: Projeto 1: ajustes finos no centro de midia =
 +
 +
O Kodi pode ser em larga medida configurado e ajustado diretamente por meio de sua interface gráfica. Porém é interessante notar que alguns ajustes rápidos podem ser feitos diretamente em seus arquivos de configuração. Esses arquivos são compostos por texto simples, e se encontram dentro do subdiretório ''.kodi''. Sendo assim, hoje devemos realizar o seguinte:
 +
# Explorar os ajustes que podem ser feitos no Kodi, incluindo acrescentar novas fontes de midia e ''add-ons''.
 +
# Experimentar a edição de seus arquivos de configuração
 +
 +
A segunda atividade envolve o uso de um editor de texto, seja em modo gráfico ou em modo texto.
 +
 +
== Editores de texto ==
 +
 +
Os editores a serem vistos servem pra criar e modificar arquivos de texto simples (contêm apenas texto e sem formatação). Esse tipo de arquivo é muito comum para arquivos de programa, manuais rápidos, e documentos escritos em linguagens de formatação de texto, como HTML e XML.
 +
 +
Alguns desses editores:
 +
 +
* [http://library.gnome.org/users/gedit/stable/index.html.pt_BR gedit]: um editor de texto simples para o ambiente gráfico. Possui recurso para ressaltar palavras e sentenças, chamado ''syntax highlight'', de acordo com o tipo de texto (se programa em linguagem C, C++, Python, PHP, shll script, ou um texto HTML, entre outros).
 +
* [http://manpages.ubuntu.com/manpages/karmic/en/man1/vi.1posix.html vi]: um editor de programas com recursos avançados de edição. Mas usa uma interface textual com comandos que devem ser memorizados ... algo anacrônico, mas funciona. Como motivação para usá-lo, praticamente todo computador com Unix (não somente Linux) vem com esse editor previamente instalado.
 +
* [http://manpages.ubuntu.com/manpages/karmic/en/man1/nano.1.html nano]: um outro editor mais simples, também para modo texto e com menos funcionalidades que o '''vi''', porém um pouco mais amigável.
 +
 +
=== gedit ===
 +
 +
Para executar o ''gedit'' deve-se selecioná-lo no menu de aplicativos ou na ferramenta de busca da interface gráfica.
 +
 +
 +
Esse editor é bastante simples, porém útil para a edição de perquenos textos e programas. Algumas funções existentes são busca e substituição de palavras e impressão. Outras funcionalidades podem ser adicionadas por ''plugins''.
 +
 +
[[imagem:Gedit2.png|600px]]
 +
 +
Experimente editar diferentes tipos de arquivos de texto com o ''gedit'':
 +
* [http://www.sj.ifsc.edu.br/~msobral/SOP/portugol.html Um texto HTML]
 +
* [http://www.sj.ifsc.edu.br/~msobral/SOP/exemplos/soma.c Um programa em linguagem C]
 +
* [http://www.sj.ifsc.edu.br/~msobral/SOP/exemplos/Soma.java Um programa em linguagem Java]
 +
* [http://www.sj.ifsc.edu.br/~msobral/SOP/exemplos/soma.py Um programa em linguagem Python]
 +
* [http://www.sj.ifsc.edu.br/~msobral/SOP/roteiros/lab6/Leiame.txt Um texto simples]
 +
 +
=== nano ===
 +
 +
O editor ''nano'' serve para editar arquivos em modo texto. Sua tela apresenta uma área de trabalho, onde aparece o texto, com uma barra de ajuda embaixo. Nessa barra há os comandos que podem ser usados, que devem ser invocados com a combinação da tecla ''Ctrl'' e a letra indicada. Para terminá-lo basta teclar ''Ctrl X'', fornecendo o nome do arquivo onde guardar o texto.
 +
 +
[[imagem:Nano.png|600px]]
 +
 +
 +
=== vi ===
 +
 +
O editor vi é bastante simples e muito utilizado por ser encontrado em todas as distribuições Linux. Poderíamos optar por um editor um pouco mais avançado, mas com o inconveniente de encontrarmos uma distribuição/instalação onde não dispuséssemos deste editor. O editor vi não tem como objetivo formatar textos: negritos, indentações, justificação, etc. Na prática o vi é muito usado para editar textos que não necessitam de formatação em nenhum momento, como por exemplo códigos fonte de programas em alguma linguagem de programação, e que não carreguem o texto com caracteres especiais. Assim, esse editor também é chamado de ''editor de programas''.
 +
 +
''Dicas:''
 +
* [http://aurelio.net/vim/ Guia do vim]
 +
** [http://aurelio.net/vim/vi-teclado.png Um guia de referência]
 +
 +
==== Modos de operação ====
 +
 +
O editor vi tem três modos  de operação distintos: modo insert ,
 +
modo escape  (também chamado de modo comando), modo last line;
 +
 +
* '''insert:''' usado para a digitação do texto. Neste modo o vi funciona como uma máquina de escrever, com a diferença de que você pode retroceder sobre o texto já digitado para corrigir eventuais erros. Cada caracter que for digitado aparecerá na tela exatamente como foi digitado.
 +
* '''escape:'''  os  caracteres  comuns  (letras,  números  e  sinais  de pontuação) têm um significado especial e quase todos os caracteres funcionam como comandos; portanto, existem muitos comandos. Alguns comandos servem para passar para o ''modo insert'', outros para movimentar o cursor sobre as linhas do texto, alterar trechos do texto, buscar palavras, etc.
 +
* '''last  line:'''  os  comandos são digitados em  uma  linha  especial  que aparece no final da tela quando se digita ''':''' (dois pontos) no ''modo escape''. Parte dos comandos do ''modo escape'' possuem similares no ''modo last line'', como por exemplo os comandos  de edição, que veremos mais adiante. Os comandos no ''modo last line'' devem ser seguidos por ENTER, contrariamente ao que acontece no modo escape.
 +
 +
==== Criação e edição de arquivos ====
 +
 +
[http://dmitry.eti.br/vim Outro guia rápido sobre vi]
 +
 +
Para criarmos um arquivo simplesmente digitamos vi seguido do nome do arquivo. Por exemplo:
 +
 +
<syntaxhighlight lang=bash>vi primeiro.arquivo</syntaxhighlight>
 +
 +
Após isto será aberto o editor com conteúdo vazio, no modo comando. Para podermos editar qualquer coisa devemos entrar no modo inserção, para isto basta teclarmos <nowiki><i></nowiki> (aparecerá -- INSERT -- na base da janela). Em seguida digitamos o texto propriamente dito, usando o teclado normalmente.
 +
 +
Para salvarmos o texto devemos teclar <Esc> (modo comando), <:> (modo last line> e <w> (write). Assim teremos o nosso texto salvo.
 +
 +
Agora vamos a alguns comandos úteis:
 +
 +
* '''Copiar algumas linhas do texto:''' colocamos o cursor no início do texto a ser copiado e, no modo de comando, teclamos <n>+<y>+<y>, onde n é número de linhas que desejamos copiar. Por exemplo se digitarmos <5>+<y>+<y> copiaremos 5 linhas para o buffer.
 +
* '''Excluir algumas linhas do texto:''' colocamos o cursor no início do texto a ser excuído e, no modo de comando, teclamos <n>+<d>+<d>, onde n é número de linhas que desejamos copiar. Por exemplo se digitarmos <3>+<y>+<y> apagaremos 3 linhas do texto mas que serão armazenadas no buffer.
 +
* '''Colar o conteúdo do buffer para alguma parte do texto:''' colocamos o cursor no ponto onde pretendemos inserir o texto e,  no modo de comando,  teclamos <p> (paste) para inserirmos o texto abaixo da linha do cursor e <P> para inserir o texto acima da linha do cursor.
 +
* '''Encontrar alguma palavra:''' no modo de comando, teclamos </> <palavra> <Enter>. O vi mostrará a primeira ocorrência da mesma. Para ir para a próxima ocorrência teclamos <n> (next), e para a ocorrência anterior teclamos <nowiki><p></nowiki> (previous)
 +
* '''Substituir uma palavra por outra:''' no modo de comando, teclamos <:s/><palavra></><outra><Enter>. Por exemplo se quisermos substituir velha por nova: <:s/><velha></><nova><Enter>, assim teremos a troca da primeira ocorrência de velha por nova. Para substituirmos todas as ocorrências acrescentamos <%> entre <:> e <nowiki><s></nowiki> do caso anterior. Exemplo: <:%s/><velha></><nova><Enter>
 +
* '''Inserir o conteúdo de um texto externo em nosso texto:''' no modo de comando, teclamos <:r>+<caminho/arquivo>+<Enter>.
 +
* '''Salvar com outro nome:''' no modo de comando, teclamos <:w>+<novo.nome>+<Enter>.
 +
 +
 +
Uma lista de comandos resumida segue abaixo:
 +
 +
* '''0''': vai para o início da linha
 +
* '''$''': vai para o final da linha
 +
* '''gg''': vai para a primeira linha
 +
* '''G''': vai para a última linha
 +
* ''':n''': vai para a linha n (n é um número)
 +
* '''w''': vai para a próxima palavra
 +
* '''b''': vai para a palavra anterior
 +
* '''x''': apaga um caractere à direita do cursor
 +
* '''X''': apaga um caractere à esquerda do cursor
 +
* '''dd''': apaga-se uma linha inteira
 +
* '''D''': apaga do cursor até o final da linha
 +
* '''dw''': apaga até a próxima palavra
 +
* '''dfs''': apaga até a próxima ocorrência do caractere s
 +
* '''a''': entra-se em inserção uma posição à frente do cursor
 +
* '''i''': entra-se em inserção uma posição antes do cursor
 +
* '''rc''': substitui o caractere sob o cursor pelo caractere c
 +
* '''cwnova''': substitui a palavra a partir do cursor pela palavra nova
 +
* ''':w''': grava o arquivo
 +
* ''':w um_arquivo''': grava o conteúdo no arquivo um_arquivo
 +
* ''':w! um_arquivo''': grava o conteúdo no arquivo um_arquivo, sobrescrevendo-o caso exista
 +
* ''':r um_arquivo''': lê um_arquivo e insere seu conteúdo a partir do cursor
 +
* ''':r!comando''': executa comando no shell, e insere seu resultado a partir do cursor
 +
* ''':q''': sai do vi (termina o editor)
 +
* ''':q!''': sai do vi, descartando as modificações
 +
 +
=== Outros editores ? ===
 +
 +
Há muitos outros editores de texto ! Se tiver curiosidade, faça um pesquisa na Web sobre os editores de texto que existem para o Linux.

Edição das 17h15min de 6 de abril de 2016

Endereço encurtado: http://bit.ly/pji20161


Projeto Integrador I: Diário de Aula 2016-1

Professores: Marcelo Maia Sobral (Facebook2.png Facebook) e Simara
Encontros: 2a feira/18:45, 4a feira/19:00
Atendimento paralelo: 2a e 4a feira 18:30 h

Objetivo Geral

Implantar rede de dados e telefônica de pequeno porte, típica de um pequeno escritório.

Ementa

Introdução e histórico das telecomunicações e da Internet. Uso de serviços e aplicações oferecidos pelas redes de telecomunicações. Conceitos sobre redes de computadores: comutação de pacotes versus comutação de circuitos, redes locais e rede Internet. Instalação de computadores e integração a uma rede local e a Internet. Sistema operacional Linux. Introdução ao sistema telefônico: telefonia fixa e móvel, centrais de comutação, telefonia IP e convergência. Integração de serviços de voz convencionais e VoIP.

Bibliografia

  • FOROUZAN, Behrouz A.; FEGAN, Sophia Chung. Comunicação de dados e redes de computadores. Tradução de Ariovaldo Griesi. 4. ed. São Paulo: McGraw-Hill, 2008. 1134 p., il. ISBN 9788586804885.
  • KUROSE, J. e ROSS, K. Redes de Computadores e a Internet: Uma abordagem top-down. Tradução da 3a edição, Addison Wesley, 2006.
  • COLCHER, Sérgio. VOIP: voz sobre IP. Rio de Janeiro: Elsevier, 2005.

Material de apoio

Curiosidades

Avaliações

As avaliações serão de dois tipos:

  • Projetos: feitos em equipe, serão avaliados de acordo com o cumprimento dos objetivos previamente determinados. Na apresentação do projeto, uma entrevista será feita para definir o conceito concedido a cada membro da equipe.
  • Testes: feitos individualmente, serão aplicados semanalmente no início da aula. O conteúdo para esses testes serão textos informados com uma semana de antecedência, assim como as técnicas e assuntos vistos em aula. A avaliação de cada teste será dada com um dos conceitos S (suficiente) e I (insuficiente).


O conceito final será calculado da seguinte forma:

  • 9 a 10: ao menos dois projetos A e um projeto B
  • 7 a 9: ao menos dois projetos B em um projeto C
  • 6: ao menos C em todos projetos


Além disso, os testes ajustam o conceito final da seguinte maneira:

  • Incrementa: se pelo menos 75% dos testes S, incrementa conceito final em um nível (ex: B sobe para A)
  • Mantém: se pelo menos 40% dos testes S, mantém conceito final
  • Decrementa: se menos de 40% dos testes S, decrementa conceito final em um nível (ex: A reduz para B)

Projetos

Nome Projeto 1 Projeto 2 Projeto 3 Conceito Conceito
após ajuste
Faltas
  • OBS: I = Indefinido (por ausência à avaliação, ou por ter iniciado a disciplina depois do projeto)
  • OBS 2: conceito acompanhado de ? = falta o relatório do projeto

Testes

Nome T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 Ajuste

Obs: I* = não fez o teste

Equipes

Equipe Membros
1
2
3
4
5
6
7

23/03: Apresentação da disciplina

  1. Apresentação: Página do Curso Técnico em Telecomunicações
  2. Apresentação de videos sobre a área de Telecomunicações
  3. Breve discussão sobre Panorama atual das telecomunicações, que pode ser complementada com outras informações
  4. O perfil do Técnico em Telecomunicações em vagas ofertadas
  5. Uma atividade final sobre comunicação de dados

Alguns textos interessantes

Oportunidades para Técnicos em Telecomunicações

Documentários sobre telecomunicações

Uma introdução a comunicação de dados

Comunicação dados pode ser entendida como troca de informação entre dois dispositivos através de algum meio de comunicação. A comunicação ocorre no âmbito de um sistema de telecomunicações, composto por equipamentos (hardware) e programas (software). Um sistema básico de comunicação de dados se constitui de cinco componentes:

Rede-intro-1.png

  1. A mensagem: a informação a ser transmitida. O conteúdo da mensagem, seja um texto, música, video, ou qualquer outro tipo de informação, é representada por conjuntos de bits (dígitos binários).
  2. Transmissor: dispositivo que transmite a mensagem.
  3. Receptor: dispositivo que recebe a mensagem.
  4. Meio de comunicação: caminho físico por onde viaja a mensagem do transmissor até o receptor.
  5. Protocolo: conjunto de regras que governa a comunicação de dados.

Atividade

  • Proponha uma solução para:
    • conversar com uma pessoa que está em outra cidade .. e em outro país
    • conversar com uma pessoa que está pescando nas Ilhas Moleques do Sul
    • enviar um documento para outra pessoa, independente de qual cidade esteja
    • monitorar sensores de correntes em bóias marítimas que estão longe da costa ... e se estiverem perto da costa ?
    • controlar um mini-submarino a partir de um barco na superfície
    • copiar um arquivo de um computador para outro
    • escutar músicas em um tablet ou smartphone, sendo que inicialmente não estão nesses dispositivos
    • assistir a um filme que está em um arquivo em outro computador
    • acessar remotamente uma webcam que monitora uma residência.
  • Como funciona cada solução sugerida ?
  • O que todas têm em comum ?
  • Demonstre cada solução proposta por meio de um experimento (isso é, na prática).

28/03: Conceitos básicos e início do projeto 1

Nesta aula, será feito o seguinte:

  1. Apresentação do tema do Projeto 1
  2. Pesquisa sobre opções para realização do projeto

Apresentação do Projeto 1

O projeto 1 tem por objetivo:


Implantar um serviço de compartilhamento de midia por meio de uma rede de computadores residencial


Isso pode ser detalhado da seguinte forma:

  • O cenário: rede local de alcance reduzido. Uma residência ou pequeno escritório, por exemplo.
  • O problema: armazenar e distribuir mídia em geral para os dispositivos em rede. Músicas, filmes, fotos, etc. Uma casa com vários cômodos ou um escritório com música ambiente.
    • reproduzir midia em e vindo de laptops, desktops, tablets e smartphones
    • reproduzir midia em TVs LCD/LED/Plasma
    • reproduzir midia em amplificadores de audio, ou dock stations
    • controlar a reprodução com controle remoto
    • ... possivelmente outras funcionalidades !
  • Como fazer: pesquisa de ferramentas de armazenamento, organização/catalogação e distribuição de mídia em rede. Compartilhamento automatizado/facilitado para o usuário final.
  • O que usar: sistema operacional Linux, aplicações em rede.


Pji-video-sharing.jpg


Uma pequena rede interliga possivelmente computadores, smartphones, tablets e laptops. Em um ou mais dos computadores existem videos e músicas, que podem estar organizados em listas de reprodução ou por categoria (ex: os videos podem estar classificados por gênero, além de terem uma sinopse obtida do IMDB). As pessoas que usam essa rede gostariam de poder integrar seus dispositivos, de forma a poderem neles reproduzir esses videos e músicas. Assim, eles poderão assistir ou ouvir o que quiserem em qualquer parte do ambiente. Além disso, o contrário também poderia ser desejável: uma pessoa poderia reproduzir em um computador, ou mesmo na TV, videos, músicas e fotos que estão armazenados em seu smartphone ou tablet.


Do ponto de vista da aprendizagem, o projeto 1 tem por objetivos:

  • Usar as interface gráfica e de linha de comando do sistema operacional Linux para operações básicas:
    • Visualizar, copiar, remover e criar arquivos e diretórios
    • Executar programas e terminar processos
    • Editar arquivos de texto simples em modo gráfico ou texto
    • Instalar pacotes de software
  • Usar a rede de computadores, o que implica
    • Referenciar recursos na rede por meio de URL
    • Usar programas apropriados para cada tipo de aplicação de rede
    • Selecionar e usar programas apropriadas para cada necessidade


Começando o projeto

  1. Conheça a rede onde deseja compartilhar videos, músicas e fotos. Veja seus dispositivos e equipamentos de comunicação, e como estão interligados. Veja que programas já existem nos computadores e os sistemas operacionais que estão instalados. Procure entender como um dispositivo móvel (smartphone ou tablet) se integra a essa rede.
  2. Entenda bem o que você quer implantar na sua rede, e como espera que funcione. Se acreditar que lhe ajuda, faça diagramas que mostrem como os dispositivos compartilharão e reproduzirão conteúdos por meio da rede. Você pode também enumerar as situações em que as pessoas farão uso da estrutura que você pretende implantar.
  3. Procure identificar o material necessário e os programas (softwares) que vão desempenhar essas funções. Quer dizer, aqui vale a pergunta "... o que eu preciso para fazer tal coisa ?" e "... como isso será usado ?".
  4. Você certamente precisará usar ao menos um computador com sistema operacional Linux. O que é necessário conhecer para poder utilizá-lo a contento ?

Identificação de softwares para centro de midia

A investigação da turma teve como fruto um conjunto de possíveis softwares para usar no projeto. A escolha de um desses softwares depende dele ser capaz de atender os requisitos listados na descrição do projeto. Assim, a tabela abaixo pretende sistematizar o cumprimento dos requisitos por esses softwares.

Software Reproduz videos Reproduz musicas Apresenta fotos Acessa midia remota Controle remoto Reproduz em outro dispositivo Reproduz vindo de outro dispositivo Linux Gratuito
Kodi/XBMC x x x x x x x x x
Real Player x x x x x x x ??
Moovida/Elisa
Emby ?? x x x x
Linux MCE
TVersity +- +- +- x x x ?? +-
Plex +- +- +- x x x ?? x +-
OpenElec x x x x x x x x x
VLC Media Player x x x +- +- x x
Enna x x x x x x
JRiver
Stremio
MediaPortal

Uma visão geral (dos professores) sobre o projeto 1

A realização do projeto 1 envolve a compreensão de um conjunto de conceitos. O mapa conceitual abaixo procura resumir as ideias envolvidas, e como elas se relacionam. Esse mapa pode ser melhorado ao longo do projeto !


Pji1-projeto1-cm.jpg

30/03: Projeto 1: escolhendo e instalando o media center

Na aula de hoje, será realizado o seguinte:

  1. Instalação do centro de midia escolhido
    • Usar a interface gráfica de um sistema operacional Linux
    • Usar um navegador web para acessar páginas e transferir arquivos
    • Usar a interface de linha de comando no Linux
    • Instalar programas segundo instruções contidas em um manual
  2. Introdução ao Sistema Operacional Linux
  3. Realização de algumas atividades para ambientação com o Linux

Instalação do centro de midia

Na aula anterior vocês procuraram por softwares que pudessem satisfazer as necessidades apontadas no projeto. Muitos softwares existem, dentre eles Kodi, Miro, Universal Media Server e Plex (devem existir ainda outros ...). Com base na tabela comparativa feita na aula passada, cada equipe deve escolher um deles para instalá-lo. Nosso objetivo é cada equipe ter um media center básico funcionando ao final da aula.

Xbmc about.jpg Plex.png

Instalando o Kodi

  1. Execute o VirtualBox, e escolha a máquina virtual 4-Grafico. Os próximos passos deverão ser realizados dentro dessa máquina virtual.
  2. Acesse o site do Kodi.
  3. Esses sites sobre programas costumam ter uma página com instruções de instalação. Usualmente elas são acessadas pelo link Download. Procure esse link na página principal do site do Kodi, e siga-o.
    Página de donwload do Kodi.
  4. Leia as instruções de instalação do Kodi no Ubuntu Linux, que é o sistema operacional que iremos usar.
  5. Siga as instruções, que evolve várias etapas, para que, ao final, se tenha o Kodi instalado.

Apesar do guia acima parecer curto e fácil, ele implica alguns conhecimentos para ser realizado a contento - e entendido ! Uma compreensão sobre o que é o sistema operacional Linux, quais seus elementos básicos, e como ele pode ser utilizado, são necessários para essa tarefa. Mas veremos isso à medida que instalarmos o Kodi.

Algumas atividades para o uso do sistema operacional

Ao longo do projeto 1 (e também do projeto 2) diversas atividades precisarão ser realizadas com o sistema operacional. Algumas delas são bastante corriqueiras, e por isso acabam sendo realizadas desde as primeiras vezes em que se usa o sistema. Elas envolvem:

  • Iniciar e encerrar uma sessão no Linux: sessões são iniciadas quando um usuário se autentica no sistema operacional, iniciando sua interface de trabalho (gráfica ou textual) e executando seus aplicativos. O término da sessão encerra todos os programas em execução iniciados pelo usuário (há exceções).
  • Familizarização com a interface gráfica: a interface gráfica se apresenta como a interface preferencial para a grande maioria dos usuários. Ela oferece um acesso intuitivo para aplicativos e arquivos.
  • Usar o navegador de arquivos Nautilus: o acesso a arquivos e diretórios (ou pastas) pode ser feito com o navegador de arquivos. Esse aplicativo gráfico apresenta diversas facilidades para trabalhar com arquivos e diretórios.
  • Executar programas: programas podem ser executados com ajuda do sistema operacional. Basicamente podem-se classificá-los em aplicativos, que realizam tarefas para as finalidades do usuário (ex: editar texto, navegar na web), e utilitários, que servem para ajudar a usar o ambiente do sistema operacional (ex: shell, programas de cópia de arquivos). Programas podem ser executados tanto a partir da interface gráfica quanto da linha de comando.
  • Operar sobre diretórios: o uso do sistema operacional e do seu ambiente de trabalho envolve também lidar com diretórios. Operações tipicas incluem navegar, criar, remover, remover recursivamente, listar, copiar e renomear diretórios.
    • Trabalhar o conceito de nomes de arquivos e diretórios absolutos e relativos: usando ".", "..", "~" e "-"
    • Trabalhar o conceito de diretório de trabalho e de diretório de entrada:
  • Operar sobre arquivos: arquivos são a forma usual de armazenamento persistente de informações no computador. Praticamente todos os dados acessados residem em arquivos, tais como textos, planilhas, videos, músicas, e outros. Assim, deve-se saber como criar, remover, renomear e listar arquivos.
  • Usar o manual online (man): para ajudar o acesso à documentação do sistema operacional existem manuais online tanto em modo texto quanto gráfico. No modo texto, o comando man possibilita acesso a textos detalhados sobre inúmeros aspectos do sistema.
  • Outros: trabalhar o conceito de arquivo escondido e usar TAB para autocompletar nomes no shell;

Exercícios

Para exemplificar as atividades típicas de uso do sistema operacional, faça o seguinte:

  1. Inicie e encerre uma sessão no Linux:
    • Faça primeiro pela interface gráfica
    • Repita em seguida pela interface de linha de comando (modo texto). Obs: tecle CTRL + ALT + F1 para ter acesso a interface em modo texto, e CTRL + ALT + F7 para voltar à interface gráfica.
  2. Inicie novamente uma sessão em modo gráfico:
    • Explore o menu, observando os submenus e as categorias de aplicativos
    • Ao identificar o aplicativo para navegar por arquivos e diretórios, observe como o diretório pessoal do seu usuário está organizado. Explore outros diretórios, para ter uma ideia do que existe no disco do seu computador.
    • Experimente executar diferentes aplicativos disponíveis no menu. Por exemplo, procure um editor de textos, de planilhas, de imagens, e outros que achar interessante.
    • Procure por um programa chamado terminal ou xterm. Execute-o e veja o que ele faz.
    • Digite firefox no terminal e tecle ENTER
    • Ainda no terminal, tecle a combinação de teclas CTRL C
    • Digite galculator no terminal e tecle ENTER
    • Ainda no terminal, tecle a combinação de teclas CTRL Z. Em seguida, digite bg e tecle ENTER
    • No terminal digite mate-system-monitor e tecle ENTER
    • Execute outro terminal e nele digite kodi seguido da tecla ENTER
    • Em qualquer terminal, digite killall galculator e tecle ENTER
    • O que se pode concluir sobre o terminal ?

04/04: Projeto 1: Instalando fontes de mídia locais

Na aula de hoje, será realizado o seguinte:

  1. Conclusão dos exercícios da aula anterior
  2. Fontes de midia locais no Kodi
  3. Visualizando o conteúdo dos arquivos
  4. Manipulação de arquivos e diretórios
  5. Atividade: um pequeno desafio

Instalação de fontes de midia locais no Kodi

Crie três fontes locais de midia no Kodi: uma para videos, outra para musicas e uma terceira para imagens. Em seguida copie arquivos de midia para seu computador e organize-os para que possam ser acessados por meio do Kodi. Caso não tenha em mãos esses arquivos de midia, use o seguinte:


Além disso, procure por arquivos de video e de música em seu computador, e copie-os para as respectivas fontes de midia do Kodi.

Visualizando o conteúdo dos arquivos

Cada arquivo guarda um certo tipo de informação. Para poder visualizá-lo corretamente, deve-se usar um programa capaz de entender seu conteúdo, e mostrá-lo da forma esperada. Por exemplo, arquivos de video, música e imagem são reproduzidos pelo Kodi e outros programas. Arquivos de texto são visualizados e editados com editores de texto, e assim por diante. De forma geral, (quase) sempre existe ao menos um programa que sabe mostrar o conteúdo de um certo tipo de arquivo. Por convenção, o tipo de um arquivo é informado por sua extensão, que é a parte final do seu nome que vem após o . (ex: video.avi tem extensão .avi).


Como exercício, procure programas capazes de mostrar estes tipos de arquivos:

  • Videos com extensão .mp4, .avi, .mkv e .wmv
  • Músicas com extensão .mp3, .wav, .flac, .ogg e .wma
  • Imagens com extensão .png, .jpg, .gif, .bmp e .pnm
  • Textos com extensão .txt, .rtf, .doc, .docx e .odt
  • Arquivos com extensão .dia, .ods, .php, .html, .xml

Os programas encontrados devem poder ser usados tanto no modo gráfico quanto em linha de comando (se possível).


Mas, afinal, o que existe dentro dos arquivos ? Em que medida um arquivo de video, música, ou texto diferem em seus conteúdos ? Posto de outra forma, se não houvesse a extensão para informar o tipo de arquivo, seria possível identificá-los observando seus conteúdos ? Afinal, que conteúdo é esse ?

Um desafio


Em seu diretório home (pasta pessoal) existem alguns arquivos de video obtidos com sua câmera fotográfica, porém você não sabe exatamente onde estão. Além disso, esses videos são codificados na máquina fotográfica com o codec MJPG, que gera arquivos muito grandes. Se forem recodificados para codec XVID, os tamanhos desses videos serão reduzidos substancialmente (4 vezes ou mais). Sabendo que existem programas que podem recodificá-los no modo texto, faça o seguinte:

  1. Localize esses arquivos de video MJPG
  2. Identifique algum programa capaz de fazer essa mudança de codificação (chamada de transcodificação).
  3. Use esse programa para transcodificar esses videos para codec XVID.
  4. Ao final do processo, copie-os para uma fonte de midia do Kodi e visualize-os

06/04: Projeto 1: transmitindo a midia pela rede

Na aula de hoje, será realizado o seguinte:

  1. Manipulação de arquivos e diretórios - continuação
  2. Atividade: um pequeno desafio
  3. Transmitindo a mídia pela rede
    1. Atividade
  4. Compartilhando vídeos entre Kodi
    1. Desafios
    2. Comunicação de dados

Transmitindo a midia pela rede


Na aula passada foi visto como cadastrar fontes de midia locais. Essas fontes são na verdade diretórios existentes nos discos do computador onde roda o próprio Kodi. Os arquivos de midia nesses diretórios podem assim ser facilmente reproduzidos pelo media center. O Kodi também é capaz de acessar arquivos de midia em fontes remotas - i.e. que são fornecidas por outros computadores através da rede. Por exemplo, inclua a seguinte fonte de video em seu Kodi, chamando-a de tele (seu caminho deve ser exatamente a URL mostrada abaixo):

A câmera IP mostrada em aula está nesta URL:

  • rtsp://admin:admin@192.168.1.108:554/

Em seguida, acesse o menu de videos do Kodi e veja os videos existentes em tele. Tente reproduzir um deles ...

Atividade

Investigue as outras formas de cadastrar fontes de midia remotas disponíveis no Kodi. Para cada uma delas, procure entender como funciona, e qual o método de acesso utilizado.

Compartilhando videos entre Kodi


Pji1-Dlna.jpg


A atividade anterior mostrou como o Kodi pode obter midia que está armazenada em outros computadores. Mas ele pode também fornecer midia para outros dispositivos. Por exemplo, um computador com Kodi pode acessar as fontes de video e música de outro computador também com Kodi. Investigue como isso pode ser realizado, e demonstre com o acesso a midias que estão no computador de um colega.

Desafios

  • veja videos do Kodi em seu smartphone ou tablet.
  • escute música do Kodi em seu smartphone ou tablet.
  • toque músicas do seu smartphone ou tablet no Kodi
  • restrinja o acesso ao seu centro de midia !

Para conseguir ativar essas funcionalidades no seu media center, são necessários alguns conceitos básicos sobre comunicação de dados e redes de computadores. Não custa revisá-los ...

11/04: Projeto 1: ajustes finos no centro de midia

O Kodi pode ser em larga medida configurado e ajustado diretamente por meio de sua interface gráfica. Porém é interessante notar que alguns ajustes rápidos podem ser feitos diretamente em seus arquivos de configuração. Esses arquivos são compostos por texto simples, e se encontram dentro do subdiretório .kodi. Sendo assim, hoje devemos realizar o seguinte:

  1. Explorar os ajustes que podem ser feitos no Kodi, incluindo acrescentar novas fontes de midia e add-ons.
  2. Experimentar a edição de seus arquivos de configuração

A segunda atividade envolve o uso de um editor de texto, seja em modo gráfico ou em modo texto.

Editores de texto

Os editores a serem vistos servem pra criar e modificar arquivos de texto simples (contêm apenas texto e sem formatação). Esse tipo de arquivo é muito comum para arquivos de programa, manuais rápidos, e documentos escritos em linguagens de formatação de texto, como HTML e XML.

Alguns desses editores:

  • gedit: um editor de texto simples para o ambiente gráfico. Possui recurso para ressaltar palavras e sentenças, chamado syntax highlight, de acordo com o tipo de texto (se programa em linguagem C, C++, Python, PHP, shll script, ou um texto HTML, entre outros).
  • vi: um editor de programas com recursos avançados de edição. Mas usa uma interface textual com comandos que devem ser memorizados ... algo anacrônico, mas funciona. Como motivação para usá-lo, praticamente todo computador com Unix (não somente Linux) vem com esse editor previamente instalado.
  • nano: um outro editor mais simples, também para modo texto e com menos funcionalidades que o vi, porém um pouco mais amigável.

gedit

Para executar o gedit deve-se selecioná-lo no menu de aplicativos ou na ferramenta de busca da interface gráfica.


Esse editor é bastante simples, porém útil para a edição de perquenos textos e programas. Algumas funções existentes são busca e substituição de palavras e impressão. Outras funcionalidades podem ser adicionadas por plugins.

Gedit2.png

Experimente editar diferentes tipos de arquivos de texto com o gedit:

nano

O editor nano serve para editar arquivos em modo texto. Sua tela apresenta uma área de trabalho, onde aparece o texto, com uma barra de ajuda embaixo. Nessa barra há os comandos que podem ser usados, que devem ser invocados com a combinação da tecla Ctrl e a letra indicada. Para terminá-lo basta teclar Ctrl X, fornecendo o nome do arquivo onde guardar o texto.

Nano.png


vi

O editor vi é bastante simples e muito utilizado por ser encontrado em todas as distribuições Linux. Poderíamos optar por um editor um pouco mais avançado, mas com o inconveniente de encontrarmos uma distribuição/instalação onde não dispuséssemos deste editor. O editor vi não tem como objetivo formatar textos: negritos, indentações, justificação, etc. Na prática o vi é muito usado para editar textos que não necessitam de formatação em nenhum momento, como por exemplo códigos fonte de programas em alguma linguagem de programação, e que não carreguem o texto com caracteres especiais. Assim, esse editor também é chamado de editor de programas.

Dicas:

Modos de operação

O editor vi tem três modos de operação distintos: modo insert , modo escape (também chamado de modo comando), modo last line;

  • insert: usado para a digitação do texto. Neste modo o vi funciona como uma máquina de escrever, com a diferença de que você pode retroceder sobre o texto já digitado para corrigir eventuais erros. Cada caracter que for digitado aparecerá na tela exatamente como foi digitado.
  • escape: os caracteres comuns (letras, números e sinais de pontuação) têm um significado especial e quase todos os caracteres funcionam como comandos; portanto, existem muitos comandos. Alguns comandos servem para passar para o modo insert, outros para movimentar o cursor sobre as linhas do texto, alterar trechos do texto, buscar palavras, etc.
  • last line: os comandos são digitados em uma linha especial que aparece no final da tela quando se digita : (dois pontos) no modo escape. Parte dos comandos do modo escape possuem similares no modo last line, como por exemplo os comandos de edição, que veremos mais adiante. Os comandos no modo last line devem ser seguidos por ENTER, contrariamente ao que acontece no modo escape.

Criação e edição de arquivos

Outro guia rápido sobre vi

Para criarmos um arquivo simplesmente digitamos vi seguido do nome do arquivo. Por exemplo:

vi primeiro.arquivo

Após isto será aberto o editor com conteúdo vazio, no modo comando. Para podermos editar qualquer coisa devemos entrar no modo inserção, para isto basta teclarmos <i> (aparecerá -- INSERT -- na base da janela). Em seguida digitamos o texto propriamente dito, usando o teclado normalmente.

Para salvarmos o texto devemos teclar <Esc> (modo comando), <:> (modo last line> e <w> (write). Assim teremos o nosso texto salvo.

Agora vamos a alguns comandos úteis:

  • Copiar algumas linhas do texto: colocamos o cursor no início do texto a ser copiado e, no modo de comando, teclamos <n>+<y>+<y>, onde n é número de linhas que desejamos copiar. Por exemplo se digitarmos <5>+<y>+<y> copiaremos 5 linhas para o buffer.
  • Excluir algumas linhas do texto: colocamos o cursor no início do texto a ser excuído e, no modo de comando, teclamos <n>+<d>+<d>, onde n é número de linhas que desejamos copiar. Por exemplo se digitarmos <3>+<y>+<y> apagaremos 3 linhas do texto mas que serão armazenadas no buffer.
  • Colar o conteúdo do buffer para alguma parte do texto: colocamos o cursor no ponto onde pretendemos inserir o texto e, no modo de comando, teclamos

    (paste) para inserirmos o texto abaixo da linha do cursor e

    para inserir o texto acima da linha do cursor.

  • Encontrar alguma palavra: no modo de comando, teclamos </> <palavra> <Enter>. O vi mostrará a primeira ocorrência da mesma. Para ir para a próxima ocorrência teclamos <n> (next), e para a ocorrência anterior teclamos <p> (previous)
  • Substituir uma palavra por outra: no modo de comando, teclamos <:s/><palavra></><outra><Enter>. Por exemplo se quisermos substituir velha por nova: <:s/><velha></><nova><Enter>, assim teremos a troca da primeira ocorrência de velha por nova. Para substituirmos todas as ocorrências acrescentamos <%> entre <:> e <s> do caso anterior. Exemplo: <:%s/><velha></><nova><Enter>
  • Inserir o conteúdo de um texto externo em nosso texto: no modo de comando, teclamos <:r>+<caminho/arquivo>+<Enter>.
  • Salvar com outro nome: no modo de comando, teclamos <:w>+<novo.nome>+<Enter>.


Uma lista de comandos resumida segue abaixo:

  • 0: vai para o início da linha
  • $: vai para o final da linha
  • gg: vai para a primeira linha
  • G: vai para a última linha
  • :n: vai para a linha n (n é um número)
  • w: vai para a próxima palavra
  • b: vai para a palavra anterior
  • x: apaga um caractere à direita do cursor
  • X: apaga um caractere à esquerda do cursor
  • dd: apaga-se uma linha inteira
  • D: apaga do cursor até o final da linha
  • dw: apaga até a próxima palavra
  • dfs: apaga até a próxima ocorrência do caractere s
  • a: entra-se em inserção uma posição à frente do cursor
  • i: entra-se em inserção uma posição antes do cursor
  • rc: substitui o caractere sob o cursor pelo caractere c
  • cwnova: substitui a palavra a partir do cursor pela palavra nova
  • :w: grava o arquivo
  • :w um_arquivo: grava o conteúdo no arquivo um_arquivo
  • :w! um_arquivo: grava o conteúdo no arquivo um_arquivo, sobrescrevendo-o caso exista
  • :r um_arquivo: lê um_arquivo e insere seu conteúdo a partir do cursor
  • :r!comando: executa comando no shell, e insere seu resultado a partir do cursor
  • :q: sai do vi (termina o editor)
  • :q!: sai do vi, descartando as modificações

Outros editores ?

Há muitos outros editores de texto ! Se tiver curiosidade, faça um pesquisa na Web sobre os editores de texto que existem para o Linux.