10 coisas pra se fazer depois de instalar o Ubuntu 12.04

1 – Aprenda um pouco mais sobre os recursos que você tem à mão

Há uma série de recursos novos. Este vídeo mostra, em menos de 10 minutos, algumas das novidades mais interessantes.

2 – Atualize o seu sistema

Mesmo recém-saído do forno, pode já haver atualizações a serem feitas ao sistema – correções de segurança, por exemplo.
É possível ver se há necessidade de atualizar à partir do Power Menu, acessível a partir do canto superior direito, na sua tela.

Se não houver atualizações a serem feitas, no momento, a mensagem presente no menu será “Software atualizado”. Caso não seja, clique e selecione a opção de instalar as atualizações.

3 – Instale os Codecs para ver seus vídeos preferidos

Por questões legais, os sistemas operacionais não podem vir com todos os codecs pre-instalados. Portanto, se você tem intenção de usar o seu novo sistema para ver filmes e ouvir suas músicas, convém executar este passo.
Clique aqui para instalar Codecs de terceiros.

4 – Personalize a sua interface

É óbvio que queremos que o nosso computador tenha a nossa cara e reflita os nossos gostos.
Há 14 novos papéis de parede, nesta versão e os componentes transparentes do Ubuntu, agora, mudam de cor para se adaptar aos tons do seu papel de parede.

5 – Ajuste as suas opções de privacidade

Ao abrir o Dash no Unity, você vai ver os últimos aplicativos e arquivos que usou. O caso é que talvez você não queira que tudo isto fique aparecendo. Que tal deixar apenas as coisas relevantes pra você?
Novamente, clique no Power Menu e selecione Configurações do Sistema. Em seguida, clique no ícone Privacidade.

Selecione as categorias de itens que você não deseja ver na seção de documentos recentes. Em seguida, se desejar, adicione as pastas, no seu sistema, que ficarão de fora desta exibição.

6 – Ajuste o Ubuntu One pra você

Cada usuário tem direito a 5Gb em espaço de armazenamento online, pelo Ubuntu One. Pegue os seus.

Clique no ícone correspondente, no lançador, à esquerda e faça a sua inscrição, caso ainda não tenha uma conta.
Ah! Se você roda Android no seu celular, procure pelo Ubuntu One, no Google Play

7 – Explore novos aplicativos

O caminho é o… shopping center!
A Central de Programas do Ubuntu tem milhares de aplicativos interessantes. Alguns são pagos, a maioria é gratuita e livre.

Experimente navegar pela Central e descubra as possibilidades que lá existem.

8 – Pegue o Google Chrome

Um dos motivos pra isto é o suporte integrado ao Flash que passa a vir com este navegador, uma vez que a Adobe anunciou que encerrará o suporte a este sistema no Linux.
Clique aqui para baixar e instalar o seu.
Caso você queira instalar apenas o Flash, clique aqui.

9 – Configure a integração do LibreOffice à sua barra de menus global


A barra de menus global, no Unity, visa a aproveitar melhor a área de trabalho do usuário, principalmente em dispositivos de tela pequena, como netbooks e tablets. Esta integração não vem, por padrão, na sua nova instalação do LibreOffice. Mas você pode instalá-la facilmente. Clique aqui.

10 – Hora de brincar…

Relaxe e aproveite para explorar as inúmeras possibilidades que o sistema te oferece. Use o Facebook, o Google Plus… e conte pros seus amigos que você está experimentando a nova versão do Ubuntu.
Você pode, enquanto isto, ouvir as suas músicas no Rhythmbox.

Faça streaming de músicas do seu PC, usando o Zeya!

O Zeya é um servidor que distribui as músicas do seu PC para qualquer dispositivo que rode um navegador compatível com HTML 5. Não precisa ter JavaScript nem Flash.
Esta é a maneira mais rápida de instalar um media center no seu PC que, além de tudo, é muito leve.
Se você usa Ubuntu, ou outra distro Linux e tem um celular ou smartphone que acessa a rede local, (quase) tudo é possível, aqui.
zeya media center e opera

Como instalar o Zeya

No Ubuntu, abra um terminal e forneça o comando

sudo apt-get install zeya

No Fedora ou SuSE:

yum install zeya

Aguarde o processo de instalação, que pode demorar um pouco, a depender da sua conexão.

Como iniciar o Zeya

Ao iniciar o Zeya, você vai informar o diretório (ou o nome da pasta) em que se encontram os seus arquivos de música. No meu caso, eles ficam dentro de /home/mp3/. Adapte o comando que segue à sua realidade:

zeya --path /home/mp3/

Se você não estiver usando o Ubuntu, use o comando acima da seguinte forma:

zeya.py --path /home/mp3/

O Zeya pode levar algum tempo para ler o seu diretório de músicas, na primeira vez – especialmente se você tiver muitos arquivos lá dentro.

Ouça o streaming de músicas no seu celular

Ótimo! O Zeya já está instalado e funcionando. Só falta ouvir as músicas.
Abra um navegador, no seu celular ou em outro computador que esteja conectado à rede e, na barra de endereço, forneça o endereço IP do computador em que o Zeya está rodando, seguido da porta 8080.
Caso você não saiba o IP do computador, clique aqui para aprender como determinar o endereço IP do seu computador no Ubuntu.
No meu caso, fica assim:
Zeya music browser

Compatibilidade

Do lado do servidor Zeya Media Center, foi descrito o processo de instalação em uma máquina, rodando Ubuntu 10.04 LTS – também foi testado no Ubuntu 13.10 e funcionou bem. Portanto, o Zeya deve funcionar em qualquer outra versão do Ubuntu ou de qualquer outro sistema operacional baseado no Linux.
O Zeya não usa Flash ou JavaScript. O navegador cliente – aquele que vai acessar os arquivos do servidor – deve ser compatível com o HTML 5.
No meu caso, funcionou bem com o navegador Opera.
Entre os problemas conhecidos está a latência (demora) entre o momento em que você clica em uma música e quando ela começa a tocar. Tenha um pouco de paciência, neste ponto.
Screenshot do smartphone:
Zeya media center and opera

Pondo o Zeya na inicialização do sistema

Para rodar o Zeya automaticamente na inicialização, faça o seguinte:

  • copie o arquivo /etc/zeya.conf para /etc/init/zeya.conf
    cp /etc/zeya.conf /etc/init/zeya.conf

    Ajuste as últimas linhas do arquivo /etc/init/zeya.conf de acordo com os seus desejos. Veja um expemplo:

    exec python /usr/bin/zeya --path=/var/music --port=8080

    Se você não encontrar o arquivo zeya.conf, crie um no diretório /etc/init/ com o nome zeya.conf com o seguinte conteúdo:

    # Start zeya
    #
    description     "Start Zeya music server"
    start on startup
    task
    exec python /usr/share/zeya/zeya.py --path=/home/mp3
    SAIBA MAIS:

    Execução local

    Localmente, na mesma máquina em que o Zeya está instalado, não é preciso abrir um “navegador inteiro” apenas para reproduzir as músicas. Há um cliente, em modo texto, feito em Python, que vem no pacote.
    Ele pode ser executado assim:

    python /usr/share/zeya/zeyaclient.py http://localhost:9000

    Assim que for iniciado, o zeyaclient.py vai te pedir uma query. Se você digitar woman, ele vai buscar, na sua coleção, músicas que tenham contenham esta palavra – em seus nomes, nas tags ID3, etc. Experimente.
    Zeya media center - cliente zeyaclient.py
    Isto deve ser o suficiente.
    Eu espero que você e todos os seus amigos tenham muitas horas de diversão com suas músicas preferidas!

Como saber o meu endereço IP no Ubuntu, dentro da minha rede local.

É possível descobrir o seu endereço IP de várias formas. As que eu mais uso são as seguintes:

Pelo gerenciador de redes

Normalmente, na barra de status, à esquerda, há um pequeno ícone que indica o estado da conexão. É possível conectar ou desconectar-se da rede. O seu formato varia de acordo com o tema que você estiver usando.

Ao clicar nele, com o botão direito do mouse, é possível ver uma lista de opções.

Lista de opções do gerenciador de redes

Selecione “Informações da conexão” e aguarde a abertura da janela de informações.

A 6a. linha mostra o seu Endereço IP.

Na linha de comando

Abra um terminal e entre o comando:
ifconfig
Semelhante ao comando ipconfig no Windows, ele fornece informações sobre as suas conexões, no console. No caso, aqui, a rede usada é Wi-Fi. Portanto, a informação desejada se encontra na seção wlan0. Adapte esta informação ao seu caso.

Previna-se de ataques SQL Injection

Este artigo explica o básico do SQL Injection (Injeção de SQL), com um exemplo que mostra como ele se dá e provê métodos de prevenção a estes ataques.
Tal como o nome sugere, este ataque pode ser feito através de queries SQL. Muitos programadores não têm idéia de como um agressor pode usar uma query. Basicamente, um SQL Injection pode ser feito em uma aplicação web que não efetue a filtragem apropriada dos dados fornecidos pelos usuários, confiando em tudo que ele digita – o que pode ser uma requisição SQL não prevista pelo idealizador do software.
Os exemplos mencionados aqui foram testados com os seguintes softwares:

  • PHP 5.3.3-7
  • Apache/2.2.16
  • Postgresql 8.4

Ainda que você não esteja fazendo uso de qualquer um deles (claro que MySQL está incluído), os conceitos se aplicam a qualquer situação que envolva um website com formulários a ser preenchidos pelos visitantes e que dão acesso ao banco de dados.

Um exemplo de SQL Injection

Vamos começar pelo fato de que muitas aplicações web têm uma página de autenticação. Vamos usar o código seguinte, como um exemplo:

index.html

<html>
<head><title>SQL Injection Demo</title></head>
<body onload="document.getElementById('user_name').focus();" >
<form name="login_form" id="login_form" method="post" action="login.php">
<table border=0 align="center" >
<tr>
<td colspan=5 align="center" ><font face="Century Schoolbook L" > Login Page </font></td>
</tr>
<tr>
<td> User Name:</td><td> <input type="text" size="13" id="user_name" name="user_name" value=""></td>
</tr>
<tr>
<td> Password: </td><td> <input type="password" size="13" id="pass_word" name="pass_word" value=""></td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" value="Login"> </div></td>
</tr>
</table>
</form>
</body>
</html>

Ao fornecer o nome de usuário (user_name) e senha (pass_word), seus valores são postados em login.php via HTTP_POST.

login.php

<?php
$Host= '192.168.1.8';
$Dbname= 'john';
$User= 'john';
$Password= 'xxx';
$Schema = 'test';

$Conection_string="host=$Host dbname=$Dbname user=$User password=$Password";

/* Conecta ao banco de dados e pede uma nova conexão*/
$Connect=pg_connect($Conection_string,$PGSQL_CONNECT_FORCE_NEW);

/* Erro ao verificar a string de conexao */
if (!$Connect) {
echo "Falha ao conectar ao banco de dados";
exit;
}

$query="SELECT * from $Schema.users where user_name='".$_POST['user_name']."' and password='".$_POST['pass_word']."';";

$result=pg_query($Connect,$query);
$rows = pg_num_rows($result);
if ($rows) {
echo "Sucesso ao logar!";
}
else {
echo "Não foi possivel logar.";
}
?>

Pois bem. A linha 19, no código acima, é vulnerável a uma ataque (me refiro à linha que começa com $query="SELECT *). Trata-se de uma requisição cujo objetivo é encontrar no banco de dados o nome e a senha fornecidos pelo usuário. Tudo vai funcionar bem se forem fornecidos dados corretos e válidos. Contudo, um usuário malicioso pode fornecer outro tipo de informação ao sistema.
No campo nome do usuário, em vez de digitar o que se espera, ele pode digitar o seguinte:

' or 1=1;--

e deixar o campo senha em branco.
Ao clicar em submit, as informações serão postadas em login.php, onde a requisição será vista como:

SELECT * from test.members where user_name='' or '=';--' and password='';

O que se vê acima é uma requisição SQL plenamente válida. No postgresql o -- é um indicador de início de um comentário, ou seja, tudo o que vier depois deste caractere será ignorado. O que será executado é o seguinte:

select * from test.members where user_name='' or '=';

o que será verdadeiro (true) e retornará a mensagem “Login Success”.
Caso o agressor conheça os nomes das tabelas contidas no banco de dados, ele poderá apagar as tabelas com a seguinte entrada, no campo nome do usuário:

';drop table test.lop;--

Alguns scripts de autenticação tendem a agir da seguinte forma:

  • Guardar as senhas no formato md5.
  • Selecionar primeiro o nome,senha no banco de dados, com base no que foi fornecido pelo digitador.
  • Formatar em md5 a senha fornecida e compará-la com a senha no banco.
  • caso sejam iguais, a autenticação segue adiante.

Vejamos como contornar isto, no caso de a query ser vulnerável a um SQL-Injection.

login.php

<?php
$Host= '192.168.1.8';
$Dbname= 'john';
$User= 'john';
$Password= 'xxx';
$Schema = 'test';

$Conection_string="host=$Host dbname=$Dbname user=$User password=$Password";

/* Conecta ao banco de dados e pede nova conexão */
$Connect=pg_connect($Conection_string,$PGSQL_CONNECT_FORCE_NEW);

/* Erro ao verificar a string de conexao */
if (!$Connect) {
echo "Falha ao conectar ao banco de dados";
exit;
}

$query="SELECT * from $Schema.users where user_name='".$_POST['user_name']."' and password='".$_POST['pass_word']."';";

$result=pg_query($Connect,$query);
$rows = pg_num_rows($result);
if ($rows) {
echo "Sucesso ao logar!";
}
else {
echo "Erro ao logar.";
}
?>

Agora digite o seguinte no campo nome de usuário:

' UNION ALL SELECT 'laksh','202cb962ac59075b964b07152d234b70

em seguida, entre “123” no campo senha e clique em submit, sabendo que md5(123) é igual a 202cb962ac59075b964b07152d234b70.
Agora, a query vai se expandir para

SELECT user_name,password from test.members where user_name='' UNION ALL SELECT 'laksh','202cb962ac59075b964b07152d234b70';

e quando for executada, o banco de dados vai retornar ‘laksh‘ como nome de usuário e ‘202cb962ac59075b964b07152d234b70‘ como senha. E, uma vez que postamos “123”, no campo pass_word, o strcmp vai retornar 0 e a autenticação ocorrerá com sucesso.
O que se vê, acima, são algumas das inúmeras possibilidades de ataques SQL Injection. Seguem, abaixo, algumas coisas que podem ser feitas para reduzir as possibilidades de ataques:

  • Sempre verificar o que é digitado (nunca confie no que o usuário vai digitar);
  • Se você espera que se digite um nome de usuário em um determinado campo, certifique-se de que ele contenha apenas caracteres alfanuméricos;
  • Elimine ou filtre caracteres especiais e entradas possivelmente maliciosas dos usuários;
  • Use expressões preparadas para executar as requisições;
  • Não permita que várias requisições sejam feitas em uma única expressão;
  • Não deixe vazar informações sobre o banco de dados através das mensagens de erro, etc…

Esta é uma tradução livre do artigo original, de Lakshmanah Ganapathy, que pode ser encontrado http://miud.in/1aYd

Ubuntu — Atalhos de teclado

As teclas de atalho são a maneira mais produtiva de se comunicar com a interface gráfica Unity, no Ubuntu.
O Unity foi pensado para ser um ambiente desktop mais eficiente e você pode aumentar exponencialmente a sua produtividade com o uso mais intensivo das teclas de atalho — uma vez que elas dispensam você da “ginástica” de movimentar constantemente as mãos entre o teclado e o mouse.
Uma forma de ver rapidamente as teclas de atalho é manter a tecla Super pressionada por 3 segundos — uma tabela será exibida na tela.
Veja a lista de atalhos do Unity:

  1. Alt + F4 — Fecha a janela atual (Eu sei, esta você já sabia…)
  2. Alt + F2 — Abre uma caixinha de texto para você executar um comando
  3. Alt + Tab — Alterna entre as janelas dos aplicativos abertos
  4. Alt + Shift + Tab — Alterna entre as janelas – só que em ordem reversa
  5. Alt + tab +  (seta à direita) — Alterna para a próxima janela à direita
  6. Alt + tab +  (seta à esquerda) — Alterna para a próxima janela à esquerda
  7. Alt + ‘ — Alterna entre as janelas do aplicativo atual
  8. Super + S — Ativa o alternador das áreas de trabalho
  9. Super + W — Exibe todas as janelas abertas dentro da área de trabalho atual
  10. Ctrl + Alt +     — Alterna entre as áreas de trabalho
  11. Ctrl + Alt + Shift +     — Move a janela atual para uma outra área de trabalho (depende da direção da seta que você for usar)
  12. Ctrl + Super + D — Esconde todas as janelas na área de trabalho ativa
  13. Ctrl + Alt + L — Bloqueia (lock) a tela – útil quando for se ausentar para tomar um cafezinho
  14. Ctrl + Alt + Del — Log out – Encerra a sessão
  15. Alt + F7 +     — Move a janela atual
  16. Alt + F8 +     — Redimensiona a janela atual
  17. Ctrl + Alt + T — Abre um terminal
  18. Agora, combine estas teclas com o uso do mouse:

  19. Alt + Botão esquerdo do mouse — Move a janela atual – Arraste o mouse enquanto mantém o botão esquerdo pressionado para movimentar a janela sobre a qual se encontra o ponteiro
  20. Alt + Botão do meio do mouse — Redimensiona a janela atual – Arraste o mouse para redimensionar a janela. Em alguns sistemas funciona com o botão direito do mouse

Atalhos do HUD

O HUD (Heads Up Display), ainda tem mais estes atalhos de teclado:

  • Alt (toque rápido) — Abre o HUD
  • À medida em que você vai digitando… — uma lista de itens relacionada aos termos fornecidos vai aparecendo
  • Setas direcionais — Seleciona entre os resultados
  • Esc (ou Alt) — Termina e sai do HUD

Teclas de atalho do Dash

Estas são as teclas de atalho relativas ao Dash:

  • Super (mantendo pressionada) — Mostra os atalhos de teclado
  • Super (toque rápido) — Abre o Dash
  • Super + A — Exibe a lente (lens) de aplicativos
  • Super + F — Exibe a lente de arquivos
  • Super + M — Exibe a lente de músicas
  • Super + V — Exibe a lente de vídeos
  • Super + C — Exibe a lente de fotos
  • Super + G — Exibe a lente Gwibber
  • Ctrl + Tab — Alterna entre as lentes
  • Ctrl + Shift + Tab — Alterna reversivamente entre as lentes
  • Enter — Abre o item selecionado
  • Clique direito do mouse sobre o item — Exibe uma prévia

O Lançador

Teclas de atalho relativas ao Lançador (Launcher):

  • Alt + F1 — Ativa a navegação por teclado
  • Super + Tab — Alterna entre as aplicações abertas
  • Super + Shift + Tab — Alterna no sentido reverso entre as aplicações abertas
  • Super + (1 a 9) — Seleciona entre as aplicações, por número
  • Super + Shift + (1 a 9) — Abre a aplicação selecionada em nova janela
  • Super + T — Exibe o conteúdo da lixera

Como tirar fotos da tela, no Ubuntu

Mesmo para novatos, tirar fotos da sua tela atual (screenshots) pode ser de grande valia, quando se quer mostrar uma determinada situação para um suporte à distância. Quem escreve manuais, guias, tutoriais também faz uso intenso deste recurso.
Veja como é fácil:

  • Print Screen — Tira a foto da tela
  • Alt + Print Screen — Captura a janela atual
  • Shift + Print Screen — Captura uma área – ou seja, permite ao usuário selecionar uma área da sua tela para ser “fotografada”
  • Ctrl + Print Screen — Captura uma imagem integral da tela e a envia para a área de transferência (clipboard) – você pode inserir a imagem em um outro aplicativo, com suporte a imagens, usando o atalho Ctrl + V
  • Ctrl + Print Screen — Captura a janela atual para a área de transferência
  • Ctrl + Shift + Print Screen — Permite selecionar uma área a ser capturada para a área de transferência