Você está na página 1de 269

Nota de Copyright

O uso deste documento é regido pela licença GNU Free Documentation License, Versão 1.3 ou qual-
quer outra publicada posteriormente, da Free Software Foundation. Uma cópia dessa licença pode ser
lida no anexo D ou no página http://www.gnu.org/copyleft/fdl.html.

Todas as marcas e nomes registrados por terceiros mencionados durante o texto pertecem aos seus res-
pectivos donos e são regidas por suas respectivas licenças.

Copyright (C) 2009 João Felipe Mitre, Luiz Fernando Lopes Rodrigues Silva.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with the Invariant Sections being annexes C and D,
no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".

O código fonte desse livro está hospedado em:


http://code.google.com/p/introducaoaognulinux/
O código fonte é a versão do livro em desenvolvimento. Supostamente, deve conter conteúdo adicional
que pode ou não ter sido revisado. A cada modificação significativa será disponibilizado um PDF.

iii
Introdução ao GNU/Linux

Esse livro surgiu com a necessidade de criar uma referên-


cia sobre o GNU/Linux que pudesse ser distribuída para os
alunos do curso de extensão “Introdução ao GNU/Linux” do
Programa de Engenharia Química (COPPE/UFRJ) do ano
de 2009.

Ele foi escrito para um público que nunca teve contato com o
sistema operacional GNU/Linux, mas não para quem nunca
teve contato com computadores.

Versão gerada em
16 de maio de 2009
Primeira Edição, versão 1.1
Autores

João Felipe Mitre jfmitre (at) gmail.com

Luiz Fernando Lopes Rodrigues Silva lflrsilva (at) gmail.com


Sumário

1 Introdução 1
1.1 Organização do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 O GNU/Linux 4
2.1 O Sistema Operacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 A História GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Entendendo o Conceito de “Distribuição” GNU/Linux . . . . . . . . . . . . . . . . . . . . 5
2.3.1 As Principais Distribuições da Atualidade . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2 Qual é a Melhor Distribuição ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Entendendo a Questão da Licença . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Vantagens e Desvantagens do GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Conceitos Básicos do GNU/Linux 16


3.1 O Sistema de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Usuários e Grupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Permissões de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Tipos de Arquivos e A Estrutura de Diretórios . . . . . . . . . . . . . . . . . . . . . . . . 21

4 O Gerenciador de Janelas 27
4.1 Qual o Melhor Gerenciador de Janelas ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 O GNOME 31
5.1 O painel do GNOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2 O gerenciador de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3 Opções de configuração do GNOME através do Ubuntu . . . . . . . . . . . . . . . . . . . 71
5.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

6 O KDE 91
6.1 O gerenciador de arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.2 Configurando o KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.3 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

vi
7 Os Programas do GNU/Linux 98
7.1 Criar, Editar e Ler Documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.1.1 Edição de Arquivo Texto Padrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.1.2 Edição de Documentos Formatados . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.1.3 Editores de LAT
EX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7.1.4 Visualização e Edição de PostScript e PDF, entre outros . . . . . . . . . . . . . . . 104
7.1.5 Edição de Planilhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.1.6 Edição de Apresentações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
7.1.7 Outros Arquivos de Documentos e Programas . . . . . . . . . . . . . . . . . . . . . 107
7.2 Aplicativos de Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.2.1 Navegar Pelas Páginas da Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.2.2 Receber e Enviar e-Mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2.3 Aplicativos de Bate-Papo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2.4 Compartilhar Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.3 Programas Multimídia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.1 Players de Vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.2 Players de Música . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.3.3 Editores de Vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.3.4 Editores de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.3.5 Editores de Imagens Vetoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.6 Visualizadores de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
7.3.7 Gerenciamento de Câmeras Fotográficas . . . . . . . . . . . . . . . . . . . . . . . . 118
7.4 Gerenciamento de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.4.1 Compactadores de Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.4.2 Programas para Gravação de CD/DVD . . . . . . . . . . . . . . . . . . . . . . . . 119
7.5 Programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.5.1 Ambiente de Desenvolvimento Integrado . . . . . . . . . . . . . . . . . . . . . . . . 120
7.5.2 Desenho de Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.5.3 Comparação entre Dois Arquivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.5.4 Desenvolvimento Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.6 Aplicativos Científicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.7 Jogos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.8 Outros programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.9 Utilização de Programas Windows no GNU/Linux . . . . . . . . . . . . . . . . . . . . . . 126

8 Utilizando o Terminal 128


8.1 Considerações preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.2 Arquivos fundamentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.3 Comandos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.3.1 Comando ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.3.2 Comando clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.3.3 Comando cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

vii
8.3.4 Comando mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.3.5 Comando rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.3.6 Comando mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.3.7 Comando cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.3.8 Comando man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.4 Comandos para leitura de arquivos texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.4.1 Comando cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.4.2 Comando head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.4.3 Comando tail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.4.4 Comandos more e less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.5 Comandos para compactação e descompactação de arquivos . . . . . . . . . . . . . . . . . 137
8.5.1 Comando tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
8.5.2 Comando gzip/gunzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.5.3 Comando zip/unzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.6 Comandos com funções administrativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
8.6.1 Comando ifconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.6.2 Comando su . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.6.3 Comando shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.6.4 Comando exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.6.5 Comando passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.6.6 Comando lspci e lshw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
8.6.7 Comando sudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
8.7 Comandos de SSH/SCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.7.1 Comando ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
8.7.2 Comando scp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.8 Outros comandos de terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.8.1 Comando echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.8.2 Comando grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
8.8.3 Comando sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8.8.4 Comando ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.8.5 Comando kill/killall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.8.6 Comando locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
8.8.7 Comando find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.8.8 Comando vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.8.9 Comando startx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.8.10 Comando df . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.8.11 Comando free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.8.12 Comando top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.8.13 Comando rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.8.14 Comando alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

viii
9 Administração de um Sistema GNU/Linux 152
9.1 Configurando a Rede . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.1.1 DHCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
9.1.2 IP Fixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.1.3 ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
9.1.4 Dial-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
9.2 Configurando Impressoras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9.2.1 Impressora Local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
9.2.2 Instalando uma Impressora Compartilhada em outra máquina . . . . . . . . . . . . 165
9.3 Instalação de Novos Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
9.3.1 O Gerenciador de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
9.3.2 dpkg e apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.3.3 Outros Gerenciadores de Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.3.4 Instalando Binários de Fontes Externas . . . . . . . . . . . . . . . . . . . . . . . . 189
9.3.5 Instalando do Código Fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
9.4 Gerenciando usuários do sistema pelo modo gráfico . . . . . . . . . . . . . . . . . . . . . . 190
9.5 Ajustando o idioma do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
9.6 Verificando os Logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

A Mensagem de Linus Torvalds 199

B Licenças para programas de computador 201

C GNU GENERAL PUBLIC LICENSE 204

D GNU Free Documentation License 216


1. APPLICABILITY AND DEFINITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
2. VERBATIM COPYING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
3. COPYING IN QUANTITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
4. MODIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
5. COMBINING DOCUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
6. COLLECTIONS OF DOCUMENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
7. AGGREGATION WITH INDEPENDENT WORKS . . . . . . . . . . . . . . . . . . . . . . 222
8. TRANSLATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
9. TERMINATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
10. FUTURE REVISIONS OF THIS LICENSE . . . . . . . . . . . . . . . . . . . . . . . . . . 223
11. RELICENSING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
ADDENDUM: How to use this License for your documents . . . . . . . . . . . . . . . . . . . . 224

E Iniciando o Ubuntu 225

ix
SUMÁRIO x

F Instalação do GNU/Linux 231


F.1 Conceitos Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
F.2 Ubuntu 9.04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
F.3 Outras distribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

G Perguntas e Respostas 249


G.1 Sinto falta de mais informação. Onde eu posso encontrar outros documentos? . . . . . . . 249
G.2 Alguma dica de programa? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
G.3 Eu tenho uma placa de vídeo de última geração e os recursos 3D não funcionam. Qual é
problema? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
G.4 Como obter informações de IP, Máscara de Rede, IP do Roteador e DNS de uma conexão
previamente estabelecida? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
G.5 Não consigo acessar páginas que dependem de Java, como a página do Banco do Brasil,
mesmo depois de ter instalado o Java no computador. Qual é o problema ? . . . . . . . . 254
G.6 Existe alguma forma de instalar e configurar tudo que interessa para o usuário comum que
nem sabe o que a ele realmente interessa no Ubuntu ? . . . . . . . . . . . . . . . . . . . . 254
G.7 Não consigo utilizar o flash no navegador. Como resolve isso ? . . . . . . . . . . . . . . . . 255
G.8 Daqui a algum tempo, a versão 9.10 vai ser lançada. O que eu faço ? . . . . . . . . . . . . 255
G.9 Preciso usar um antivirus no linux ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
G.10 O que é um firewall ? Como usar ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
G.11 Como aprender LaTeX ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
G.12 Quando eu ligo o computador ele imediatamente vai para o GNU/Linux. Eu gostaria de
que o Windows fosse a opção padrão. Como mudo isso ? . . . . . . . . . . . . . . . . . . . 258

Colaboradores 259
Capítulo 1

Introdução

O GNU/Linux é um sistema operacional, que por definição é um programa responsável por conectar o
usuário ao hardware, capaz de unificar o núcleo criado por Linus Torvalds em 1991 e diversas ferramentas
criadas por terceiros.

Esse livro introduz ao leitor detalhes sobre (i) a arquitetura do GNU/Linux, partindo de um breve
histórico até sua estrutura atual, (ii) os principais softwares para uso em computadores pessoais, como
gerenciadores de arquivos, editores de texto, navegadores de internet, entre outros, (iii) os principais
utilitários para uso de terminal, como man, ls, rm, cat, ssh, scp, entre outros e (iv) completando com
um guia de sobrevivência na administração de um sistema GNU/Linux, apresentando os utilitários de
configuração de rede, impressora, instalação de programas, além de outros pontos associados a utilização
do GNU/Linux em computadores pessoais.

O GNU/Linux será descrito da forma mais abrangente possível para que ao final do documento o
usuário não se sinta preso a qualquer parâmetro fixado.

Ao fim, propõem-se que o leitor seja capaz de utilizar o GNU/Linux como sistema operacional padrão.

1.1 Organização do Texto

Esse documento contém nove capítulos e sete anexos.

O capítulo 1 pauta o texto apresentado seus objetivos e organização. O capítulo 2 apresenta o universo
do GNU/Linux para quem nunca sequer ouviu falar sobre ele. Possui o objetivo de esclarecer conceitos
associados ao que é GNU, Linux, como é encontrado esse sistema operacional e alguns aspectos de teor

1
1.1. Organização do Texto 2

filosófico necessários para entender algumas das questões que existem.

O capítulo 3 descreve os conceitos básicos do GNU/Linux, esclarecendo pontos do funcionamento do


sistema como um todo, como sistemas e tipos de arquivo, o conceito de permissão de arquivos e usuários
e grupos.

O capítulo 4 introduz as interfaces gráficas e, em seguida, os capítulos 5 e 6 apresentam as duas


principais interfaces da atualidade, respectivamente o GNOME e o KDE.

O capítulo 7 percorre o GNU/Linux apresentando diversos aplicativos direcionados às mais diversas


atividades em um computador, como suíte de escritórios, editores de imagens, etc. Não é feito nenhum
tipo de detalhamento específico do funcionamento de cada programa e, de fato, alguns detalhamentos
podem consumir vários livros. O objetivo deste capítulo é exclusivamente apresentar o programa, quem
ele é, o que ele faz, como usá-lo de forma básica e como encontrar informações mais detalhadas no seu
uso.

O capítulo 8 detalha o uso do terminal no GNU/Linux, listando os principais programas do terminal.


O capítulo 9 introduz alguns dos conceitos básicos associados à administração de sistemas. O capítulo
tem como objetivo informar o mínimo sobre o assunto para que o usuário possa administrar seu próprio
computador, instalando e configurando programas, configurando internet, técnicas de identificação de
problemas (úteis na hora de pedir ajuda), configuração básica de um firewall, entre outras atividades.

Os anexos constituem uma forma de completar a informação passada ao longo do texto da melhor
forma possível. O anexo A é uma referência histórica a criação do Linux. Os anexos B, C e D são
referências adicionais sobre a licenças de programas e documentos. O anexo D é a licença utilizada
para escrever esse documento. O anexo E detalha o processo de iniciar o Ubuntu pelo CD. O anexo F
detalha o processo de instalação do Ubuntu e informações sobre o particionamento do HD. Por fim, o
anexo G apresenta algumas informações adicionais no esquema de perguntas e respostas. Alguns dos
tópicos adicionais nesse ponto deviam, no primeiro momento, estar no conteúdo do texto. Mas por uma
questão de fluência, didática ou forma, eles foram adicionados nesse anexo.

Ao longo do texto, pequenos números ao lado de palavras remetem às notas de rodapé. O objetivo
foi introduzir os endereços de internet ao longo do texto com o menor nível de intrusão, propiciando
uma melhor fluência. Desta forma, as referências bibliográficas retidas da internet ficaram restritas à
documentos citados nominalmente e não à domínios gerais.

Assume-se nesse texto que o usuário é destro tal que os botões direito e esquerdo do mouse estão
configurados para quem o utiliza com a mão direita.

Para quem nunca usou o GNU/Linux o modo mais indicado de ler esse livro, consiste em ler todas
as informações até o capítulo 3 sem interrupções na ordem de leitura (seguindo, se desejar, os anexos
indicados). Após esse ponto, depende do leitor. Os leitores que querem ler tudo antes de começar a
1.1. Organização do Texto 3

usar, basta seguir a ordem de leitura de capítulos e anexos. Para os que querem utilizar o GNU/Linux
enquanto lê, é interessante efetuar a leitura dos anexos E e F antes de ler o capítulo 4.
Capítulo 2

O GNU/Linux

2.1 O Sistema Operacional

O sistema operacional é o programa que gerencia os recursos do computador e serve de interface entre
os diversos dispositivos e o usuário. Existem diversos tipos de sistemas operacionais, os quais podem ser
sistemas multiusuários e multitarefas, como por exemplo, o Unix, o GNU/Linux, o Windows, o MacOS X,
etc, até os simples sistemas monotarefa e monousuário, como os que outrora eram utilizados no surgimento
dos computadores e ainda são usados em máquinas específicas [1].

O gerenciamento dos recursos do computador é usualmente a função do núcleo (kernel ) do sistema


operacional. Ainda que o kernel possa receber instruções diretamente do hardware, este atua apenas um
tradutor entre os diversos programas e o hardware. Portanto, sozinho ele não é muito útil, pois necessita
de uma interface entre o usuário e o computador.

Portanto, o sistema operacional completo deve ser visto como algo um pouco além do que apenas
um núcleo. Ele é constituido do núcleo e um conjunto mínimo de ferramentas, chamadas de interface,
capazes de utilizar e manipular este núcleo e, como conseqüência, o computador.

2.2 A História GNU/Linux

Em 5 de Outubro de 1991, Linus Benedict Torvalds enviou uma mensagem ao grupo comp.archives
da Usenet1 , anunciando a existência de um Linux, um núcleo de um sistema operacional baseado no
1 Usenet (do inglês Unix User Network ) é um meio de comunicação onde usuários postam mensagens de texto (chamadas
de “artigos”) em fóruns que são agrupados por assunto (chamados de newsgroups ou grupos de notícias).

4
2.3. Entendendo o Conceito de “Distribuição” GNU/Linux 5

minix, que é um sistema operacional UNIX reduzido. A mensagem original do Linus Torvalds, junto com
o link de uma tradução, podem ser lidos no anexo A. Para a surpresa de muitos, incluindo o próprio
Linus Torvalds, esse pequeno código ganhou grandes proporções, contando até hoje, com milhares de
colaboradores pelo mundo.

Contudo, a história teria sido diferente se poucos anos antes Richard Stallman não tivesse fundado
o projeto GNU (GNU is Not a Unix ) [2] com o objetivo de criar um sistema operacional completo
baseado em UNIX. Na época, eles tinham os aplicativos para um sistema operacional, mas não tinham
um núcleo.

Não é difícil perceber o que ocorreu... Um núcleo sem aplicativos e os aplicativos sem um núcleo
foram unificados e geraram o que chamamos de sistema GNU/Linux.

É comum que o sistema operacional GNU/Linux seja referido apenas como Linux. Note, entretanto,
que a rigor isso não é verdade [3]. O Linux em si é apenas o núcleo do sistema operacional. Ainda que na
comunicação informal não exista qualquer problema em referir o sistema GNU/Linux por apenas Linux,
na comunicação formal é recomendado utilizar GNU/Linux. Essa diferença se faz presente nesse texto,
de forma que Linux é o núcleo do sistema operacional e GNU/Linux o sistema operacional propriamente
dito.

2.3 Entendendo o Conceito de “Distribuição” GNU/Linux

Como explicado anteriormente, o sistema GNU/Linux é a união entre o núcleo criado por Linus Torvalds
e chamado de Linux e uma coleção de ferramentas criadas pelo Projeto GNU. Portanto, conceitualmente
seria necessário pegar o código fonte do Linux e das ferramentas da GNU, compilar e instalar em uma
ordem adequada. E foi escrito “seria” porque não é mais necessário. Alguém já fez isso, adicionando
todos os programas de interesse, seguindo uma definição própria para o que é ou não é interessante, e
disponibilizando uma forma prática e rápida de instalar o sistema GNU/Linux no seu computador. Às
vezes a instalação não é tão rápida e em alguns casos nem tão simples, mas muito mais rápido e simples
do que instalar tudo a partir do código fonte.

Portanto, denomina-se “distribuição GNU/Linux” essa coleção de programas GNU/Linux reunidas


sobre uma certa filosofia2 de trabalho por um determinado grupo (empresa ou fundação) ou pessoa.
Ao longo da história, centenas de distribuições foram criadas e desapareceram. Todas as distribuições
guardam a semelhança de serem um sistema GNU/Linux e, portanto, todo o conhecimento adquirido pode
ser utilizado igualmente entre elas. Apesar disso, as distribuições também possuem grandes diferenças.

A maior das diferenças entre as distribuições é literalmente estética: as cores, as fontes e o papel
de parede (quando aplicável) utilizados como padrão, os programas que foram escolhidos para serem os
2 Neste caso, a filosofia são as escolhas que refletem nas características de uma certa distribuição.
2.3. Entendendo o Conceito de “Distribuição” GNU/Linux 6

programas de edição de texto, visualização de vídeos ou mesmo para o acesso a internet. Cada escolha,
direta ou indiretamente, afeta o funcionamento do sistema e os hábitos do usuário3 . Quem passa muito
tempo utilizando uma determinada distribuição, inevitavelmente terá problemas de se adaptar ao uso
de uma outra distribuição, nem que seja apenas por alguns instantes. O mais importante é entender o
conceito global, tornando estas diferenças uma questão mínima e observada apenas em um curto período
de tempo até o usuário aprender “o local onde está a ferramenta que realiza uma determinada função”.

Outra diferença está relacionada à estabilidade do software utilizado. Existem distribuições que
utilizam apenas programas testados ao extremo para eliminar o maior número possível de bugs, ou seja,
existe um controle de qualidade que aceita apenas os softwares que comprovem a estabilidade exigida pela
regras da distribuição. E existem distribuições que utilizam a última versão de cada programa existente, o
que muitas vezes significa um maior número de problemas não documentados. Enquanto o primeiro grupo
de distribuições foca o usuário que privilegia a estabilidade (a exemplo de muitas empresas e sistemas
que realizam tarefas críticas, como as de segurança) o segundo grupo de distribuições foca o usuário que
gosta de aproveitar as últimas novidades de tecnologia e viver emoções fortes e, até mesmo, ajudar no
desenvolvimento dos softwares documentando e/ou corrigindo problemas existentes.

Mas as diferenças não terminam nesse ponto. Existem distribuições cuja filosofia facilita a configuração
do sistema, por exemplo, identificando automaticamente uma rede interna ou uma impressora ligada no
computador. Existem distribuições que exigem que todas as configurações sejam feitas pelo usuário e
sem ferramentas de ajuda, ou seja, o usuário deve especificar manualmente quais são os equipamentos
que possui e como quer que ele seja tratado pelo sistema.

Outra diferença significativa está relacionada ao fato de que algumas distribuições foram feitas para
serem instaladas. E essa é a única forma de se usar essa distribuição. Outras distribuições denominadas
de live CD podem ser executadas a partir de um dispositivo de CD, sem instalação do sistema, muito
embora a instalação seja possível na maioria das opções existentes. Também há distribuições feitas para
uso em disquetes, normalmente utilizadas em tarefas específicas (são sistemas operacionais dedicados a
uma ou poucas funções).

E ainda existem outras diferenças, embora elas sejam menos impactantes na vida do usuário do que as
três acima supracitadas, como questões relativas a licença, que possuem uma conseqüência interessante
na disponibilidade de programas.

2.3.1 As Principais Distribuições da Atualidade

Segundo a DistroWatch4 , atualmente existem mais 320 distribuições GNU/Linux. Esse valor aumenta
expressivamente se contarmos que qualquer personalização efetuada e redistribuída com um novo nome
3 Quase sempre é possível realizar configurações que fazem uma distribuição funcionar como se fosse outra, mas quase
sempre uma transformação completa não é possível ou não é recomendada
4 DistroWatch - http://distrowatch.com/
2.3. Entendendo o Conceito de “Distribuição” GNU/Linux 7

seja uma nova distribuição. A lista também não considera os sistemas embarcados, as distribuições para
disquete, além de ser defasada em relação aos live CDs existentes. Este último ponto é justificado pela
alta taxa de nascimento e mortalidade dessas distribuições, o que desestimula a contagem do número de
live CDs existentes. A Linux CD.org5 regista mais de 1000 live CDs disponíveis para downloads.

Abaixo segue a lista das principais distribuições existentes atualmente com uma breve descrição.

1. Debian - www.debian.org - É possível dizer que o Debian é o porto seguro das distribuições
GNU/Linux. Primeiro porque a distribuição não é administrada por uma empresa, e sim, por
uma fundação. Essa fundação criou normas que basicamente asseguram a existência do Debian,
e portanto, do GNU/Linux através dos tempos da forma como é distribuído hoje. Sua primeira
versão data de agosto de 1993 e tinha o codinome de Buzz6 .
Em segundo lugar porque sua versão estável é a que requer maior número de testes contra falhas dos
programas componentes. Como conseqüência a versão oficial dos programas é muito atrasada em
relação às versões mais novas destes, mas caracteríza-se por ser uma das mais seguras distribuições,
mesmo quando utilizada em computadores pessoais. Apesar disso, existem 3 versões de Debian:
stable, testing e unstable.
Os nomes dizem exatamente o que são cada uma das 3 versões, mas provavelmente são mais rigorosos
do que realmente diria o dicionário. A versão testing possui versões de programas consideradas
estáveis pela grande maioria das pessoas, mesmo a versão unstable possui programas estáveis. A
questão aqui está no cronograma e no processo de certificação de qualidade exigido pela fundação.
Um programa recém lançado, mesmo muito seguro, sempre vai passa pela versão unstable e somente
depois de muitos testes é promovido a testing e apenas quando chegar o momento ele é promovido
a stable. Por isso, o ciclo de atualização das versões varia de 1 ano a 3 anos.
O Debian possui um sistema de gerenciamento de programas muito eficiente e conta com mais de
20 mil opções de programas para instalação. Por conta dessas duas características, o Debian é a
distribuição que derivou o maior número de outras distribuições.
Embora seja fácil de usar, não é um sistema indicado para iniciantes, pois possui um número muito
alto de opções que forçam o usuário a ter que selecionar entre elas, o que pode nem sempre ser uma
tarefa fácil. Muito embora, após ter a distribuição instalada e configurada na máquina, o uso e a
administração contínua é de extrema facilidade.

2. Ubuntu - www.ubuntu.com - O Ubuntu é uma distribuição criada em 2004 a partir do Debian.


Apesar da pouca idade, é a distribuição mais popular da atualidade. Essa distribuição utiliza
versões relativamente novas dos programas selecionados, porém sua política requer um mínimo de
testes de estabilidade.
As principais atividades de gerenciamento de sistemas são realizadas através de ferramentas sim-
ples, portanto, é recomendada para usuários novatos, mas nem por isso é menos indicada a usuários
5 Linux CD.org - http://www.linuxcd.org/
6 Todo Debian possui como codinome um dos personagens de Toy Story, ou seja, Buzz é referência a Buzz Lightyear
2.3. Entendendo o Conceito de “Distribuição” GNU/Linux 8

experientes. O foco da distribuição é o computador pessoal, mas ela conta com recursos satisfa-
tórios para aplicação dela em servidores. Diferencia-se do Debian, principalmente, no critério de
estabilidade dos programas e no visual básico.
O Ubuntu possui 4 versões distintas, o Ubuntu, o Kubuntu, o Xubuntu e o Edubuntu. O seu ciclo
de atualização é de 6 meses, ou seja, em abril e outubro de cada ano são lançados novas versões.
Elas são numeradas de acordo com o ano e o mês do lançamento, ou seja, a versão 7.10 é de outubro
de 2007, a versão 8.04 é de abril de 2008, versão 11.04 será de abril de 2011, etc.
A diferença básica entre o Ubuntu, o Kubuntu e o Xubuntu está relacionada a interface gráfica
padrão selecionada para a distribuição e, com isso, na escolha dos principais programas que acom-
panham a distribuição. Detalhes sobre essas diferenças serão demonstrados adiante após o leitor
ser apresentado a alguns conceitos do GNU/Linux. A diferença entre o Ubuntu e o Edubuntu não
está na interface gráfica, mas na escolha dos programas que compõem cada distribuição. A primeira
é uma distribuição de propósito genérico, enquanto a segunda possui programas com um foco na
educação, seja para crianças de diversas faixas etárias, professores ou escolas.
Note que o Ubuntu, o Kubuntu, o Xubuntu e o Edubuntu são distribuições irmãs, ou seja, uma vez
instalado no computador, instalar os programas de uma dessas distribuições na outra distribuição
é tarefa básica e simples. A diferença entre essas distribuições somente é significativa quando
utilizadas como Live CDs ou para quem não quer realizar qualquer tipo de instalação de programas
adicionais.

3. openSUSE/SUSE - www.opensuse.org - O openSUSE, ou melhor, o SuSE (escrito dessa forma),


foi por muito tempo a versão mais popular da Europa.
Recentemente, algumas mudanças do mercado forçaram a remodelagem de algumas marcas, o SuSE
originou o openSUSE e o SUSE Linux Enterprise. O SUSE Linux Enterprise, ou simplesmente SUSE
(agora escrito dessa outra forma), diferenciou-se do openSUSE, principalmente, pelo público a qual
cada uma foi destinado. O SUSE Linux Enterprise está direcionado ao usuário corporativo, que
quer suporte e confiabilidade no sistema e que não vai fazer uma atualização a cada 8 meses. Esse
usuário não se importa em pagar por soluções que não sejam gratuitas, desde que funcionem. O
openSUSE utiliza apenas programas livres e não é pago (embora, veremos adiante que uma coisa
não está diretamente relacionada com a outra). Além disso, o openSUSE atualiza as versões dos
seus programas a cada 8 meses, o que nem sempre é uma idéia boa para o usuário corporativo.
Possui uma excelente interface para o usuário final, seja iniciante ou avançado, porém é criticado pelo
excesso de camadas existentes entre os programas de gerenciamento de sistemas e a modificação no
sistema em si. Isso faz com que algumas tarefas sejam executadas de forma diferente no openSUSE
em relação a forma clássica utilizada na maioria das distribuições. Usualmente essas diferenças não
são percebidas pelos usuários que não conhecem o funcionamento do sistema profundamente.

4. Fedora/RedHat - fedoraproject.org - O Fedora é mais uma conseqüência da remodelagem


das marcas. A RedHat foi criada em novembro de 1994 e é uma das mais antigas e tradicionais
distribuições GNU/Linux. Sua última versão para usuários de desktop foi a versão 9.0 (2003).
Depois disso, ela foi renomeada para Fedora e o RedHat passou a ser a marca de uma distribuição
2.3. Entendendo o Conceito de “Distribuição” GNU/Linux 9

GNU/Linux voltada para o mercado corporativo e distribuída juntamente com o suporte pago. A
RedHat Enterprise Linux é a líder atual do mercado corporativo, ela utiliza versões de programas
um pouco defasadas da versão mais atual, mas fornece compatibilidade a alguns dos mais novos
recursos de hardware.
O Fedora é uma das distribuições mais utilizadas em computadores pessoais, muito embora também
seja utilizada em servidores. Não seria incorreto assumir que é uma distribuição para usuários que já
tenha tido contato com o GNU/Linux antes, muito embora a distribuição não tenha “pré-requisitos”
para utilizá-la.

5. CentOS - www.centos.org - Essa distribuição surgiu como conseqüência de uma remodelagem da


marca Redhat. Quando a Redhat decidiu criar uma distribuição paga para o mercado corporativo,
muita gente não gostou. Aproveitando o fato de que a licença do GNU/Linux exige que o código
fonte seja compartilhado, diversos usuários utilizaram o código fonte disponibilizado pela Redhat
para criar uma nova distribuição, a CentOS.
A CentOS é a Redhat Enterprise Linux com um nome diferente (além de logos e outras questões
associadas ao copyright da marca Redhat) e sem o suporte oferecido pela empresa. Portanto é uma
distribuição com programas mais estáveis e antigos e não é voltada para o público doméstico.

6. Mandriva - www.mandriva.com - Outra conseqüência da remodelagem das marcas. A Mandriva é


a união de duas empresas, a Mandrake e a Conectiva. A Mandrake foi uma distribuição derivada
do RedHat e a primeira distribuição a incluir o KDE (interface gráfica) no sistema. Por sua
vez, a Conectiva já foi a distribuição mais utilizada no Brasil (por ser uma empresa brasileira).
Também foi a grande responsável pela popularização do GNU/Linux na “banca de jornal” 7 do
Brasil e por popularizar a documentação em português8 . Hoje, nenhum desses pontos é mais
um diferencial. A Mandriva ressurgiu como uma outra opção, no mesmo nível de facilidade (ou
dificuldade, dependendo do ponto de vista) do Fedora.

7. Linux Mint - www.linuxmint.com - O Linux Mint é baseado no Ubuntu. Em princípio seria


apenas mais uma distribuição, contudo ela ganhou destaque com uma filosofia polêmica. Ela incluiu
diversas outras funcionalidades que normalmente não fazem parte da instalação padrão por conta
de questões de licença (mencionadas adiante no texto).

8. Slackware - www.slackware.org - É a mais antiga distribuição GNU/Linux ainda em atividade.


Criada por Patrick Volkerding9 em julho de 1993, foi por muito tempo uma distribuição mantida por
apenas um único homem. Apesar disso não ser mais verdade, ela continua com uma equipe pequena.
Dessa forma, a Slackware é conhecida pela pequena quantidade de programas que oficialmente faz
parte da distribuição e pela ainda menor quantidade de programas de configuração automática.
Assim como pela política de seleção de programas que privilegia a estabilidade. Com isso, obtém-
7 Na época que conexão de rede em alta velocidade era rara, existiam muitas revistas de informática incluiam um CD como
um diferencial. Houveram muitas reportagens sobre a distribuição Conectiva que acompanharam um CD da distribuição.
8 As primeiras versões da Conectiva eram vendidas em livraria juntamente com um livro de quase 300 páginas em

português detalhando cada ponto do sistema, que nem sempre estava em português.
9 Patrick Volkerding ficou conhecido como “o cara”.
2.3. Entendendo o Conceito de “Distribuição” GNU/Linux 10

se uma distribuição pequena, muito estável e para usuários avançados do GNU/Linux. É uma
distribuição muito comum em máquinas que possuem tarefas críticas, como o um firewall.

9. Gentoo Linux - www.gentoo.org - O Gentoo também é uma distribuição voltada para o usuário
avançado. Ela ficou famosa por ter sido desenvolvida de tal forma que é possível fazer toda a
instalação a partir da compilação do código fonte. Ou seja, pode demorar dias até ter um sistema
completamente instalado, mas sua performance é muito superior. Com o tempo, esse diferencial
passou a ser menos impressionante. Isso ocorre porque muitas distribuições que disponibilizavam
programas pré-compilados compatíveis com máquinas i386 ou superiores, passaram a disponibilizar
binários compatíveis com i586, i686 e superiores. Este fato diminui muito a diferença de performance
observada entre um programa pré-compilado e um programa compilado na máquina do usuário na
maioria das configurações de hardware existente.

10. Arch Linux - www.archlinux.org - Essa é outra distribuição criada para usuários avançados. Na
prática, um usuário novato, ou mesmo um com pouca prática no sistema, sequer conseguirá instalar
essa distribuição10 . Absolutamente tudo é feito por linha de comando e ao fim da instalação não há
uma interface gráfica. Essa distribuição destaca-se pelo fato de ser uma distribuição i686 e por seguir
uma filosofia tal que faz com essa seja a primeira distribuição a implementar qualquer novidade do
mundo GNU/Linux. A ponto de ter sido registrado ocasiões onde o aplicativo aparecia no Arch
Linux antes mesmo de ser oficialmente lançado. Ainda assim, depois de instalada e configurada um
usuário normal iniciante poderia utilizar o Arch Linux sem se dar conta de que a distribuição não
foi construída para o perfil dele.

2.3.2 Qual é a Melhor Distribuição ?

Imagine entrar em uma sorveteria e encontrar centenas de sabores diferentes e desconhecidos. Tentando
obter informações sobre os sabores existentes, uma pessoa questiona as outras pessoas presentes sobre
qual seria o melhor sabor. Haveria inúmeras respostas distintas. Existiriam aqueles que preferem o sabor
X e os que preferem o sabor Y. Também haveriam aqueles que diria qualquer sabor é bom, menos o
sabor X, ele é desagradável. Algumas dessas pessoas defenderiam o seu próprio ponto de vista como se
qualquer outro fosse inadmissível, esquecendo que a questão do gosto está intimamente ligada a quem
consome e não a uma escala absoluta. E também esquecendo que é improvável que eles mesmos tenham
experimentado todos os sabores possíveis.

Pois bem, como mencionado, existem centenas distribuições GNU/Linux. A perspectiva do usuário
inciante é exatamente a mesma de quem está fazendo as perguntas na sorveteria imaginária. Há aqueles
que defendem que o Gentoo é melhor que o openSUSE, outros diriam exatamente o contrário. Alguns
vão dizer que o Ubuntu é ruim e outros vão dizer que é a melhor de todas as distribuições. O usuário
que tende a ter dúvidas sobre qual distribuição escolher, fica ainda mais confuso quando começa a listar
10 Sem querer menosprezar ninguém, afinal existe manual e ele é detalhado e preciso. Mas o usuário novato ou com pouca
prática tende a não ter tanta intimidade com o sistema suficiente para entender de forma fácil o que está escrito no manual.
2.4. Entendendo a Questão da Licença 11

características específicas de desempenho e versão de programa em cada distribuição. Não muito raro, a
distribuição perfeita lhe parece uma combinação entre várias delas, quando isso não é verdade. Também
imagina-se que pelo menos alguns usuários vão desistir de escolher uma distribuição devido ao receio de
obter experiências desagradáveis.

A verdade incondicional à pergunta “Qual é a melhor distribuição ?” está invariavelmente ligada


à resposta de outras perguntas que são

• Qual o seu nível de conhecimento do GNU/Linux?

• Qual a função do computador?

• De quanto em quanto tempo você quer/pode atualizar uma máquina?

e a uma pergunta que refere-se ao gosto. Quem, por exemplo, acostuma-se com o “jeito Redhat” de usar o
GNU/Linux, pode ter dificuldades em migrar para uma distribuição que tenha o “jeito Debian” de fazer as
coisas. Os botões estão em um lugar diferente (ou mesmo não existem), alguns comandos são específicos
de uma distribuição e a migração para outra gera a pergunta “como eu faço a mesma coisa aqui ? ”. São
diferenças pequenas que estão intrínsecas ao sistema e ao “jeito de fazer” as coisas que transformam as
questões meramente técnicas em algo próximo à escolha do sabor de sorvete predileto.

O que se pode afirmar é que o Mandriva, Fedora, openSUSE possuem o mesmo nível de facilidade
de uso. O Ubuntu e variantes tendem a criar um perfil mais simples para o gerenciamento do sistema.
Enquanto os demais mencionados são para usuários mais experientes. Teoricamente é possível classificar
cada distribuição existente em um desses níveis, mas nenhuma dessas diferenças será tão extraordinária
se o usuário estiver diante de uma máquina instalada e configurada e não tenha que realizar qualquer
tarefa administrativa ao longo do tempo.

Aqui também é necessário realizar algumas escolhas para basear os estudos em uma certa distribuição
base e através dela explorar os conceitos fundamentais. Esse texto pré-seleciona o Ubuntu e o Kubuntu
para servirem de guia básico na apresentação do GNU/Linux. O motivo está relacionado a fato de serem
distribuições que fornecem um primeiro impacto agradável ao usuário iniciante.

2.4 Entendendo a Questão da Licença

A questão da licença do software é um assunto típico do direito autoral. Entretanto, é necessário abordar
alguns desses pontos para melhor entendimento de algumas coisas que ocorrem no universo GNU/Linux.
O anexo B detalha melhor a questão da licença. Para o aprendizado e uso do GNU/Linux apenas alguns
pontos são importantes.
2.5. Vantagens e Desvantagens do GNU/Linux 12

Existem duas variantes fundamentais de programas, os programas de código aberto (open source,
é representado por várias licenças, mas a principal é a GNU GPL, GNU General Public License ou,
simplesmente, GPL) e os programas onde o código não é aberto, conhecidos como programas proprietários.

Por código aberto entenda que o usuário possui o direito de modificar o código e redistribuir a qualquer
custo que desejar e a quem quiser [2]. Essa questão é importante porque nem todo programa proprietário
tem código inacessível. Por exemplo, os programas proprietários escritos em PHP ou outra linguagem
de programação por scripts qualquer, onde é possível acessar o código fonte, mas o usuário não possui o
direito de alterar o programa. Também é importante que fique claro que um programa de código aberto
ou fechado não está relacionado ao fato de ser gratuito ou não. Um programa proprietário pode ser
gratuito e um programa de código aberto pode ser pago.

Considerando essas diferenças, o que importa ao usuário do GNU/Linux no primeiro momento é que
o GNU/Linux fornece fácil acesso aos programas de código aberto. Mas devido à questões filosóficas e/ou
jurídicas, o programa proprietário normalmente não acompanha a distribuição.

Pode-se citar como exemplos de programas proprietário ou vinculados a patentes que o usuário final
deseja ter instalado em sua distribuição GNU/Linux os drivers de placas de vídeo NVIDIA e ATI (se o
computador possuir um dessas, claro), os programas que permitem acessar os formatos mais populares
de áudio e vídeo, por exemplo, .mp3, .avi, e DVDs encriptados, entre outros exemplos. A documentação
do Ubuntu [4] fornece uma visão geral do impacto dessa questão nos hábitos do usuário.

Assim sendo, seja para uso pessoal ou profissional, eventualmente o usuário terá de lidar com o
programa proprietário no GNU/Linux e isso usualmente requer alguma ação e conhecimento do usuário.

No decorrer do texto, alguns dos principais pontos serão abordados naturalmente. Infelizmente, é
quase impossível dizer quais são os passos que devem ser executados para obter o mesmo resultado em
cada distribuição GNU/Linux. E existem até algumas distribuições (como a listada Linux Mint) onde a
ação requerida é quase nenhuma.

2.5 Vantagens e Desvantagens do GNU/Linux

A liberdade de escolha é tida como a principal vantagem dos sistemas GNU/Linux. Tudo é configurável,
até porque, o código fonte está sempre disponível.

O usuário pode escolher entre centenas de distribuições, entre diferentes versões de uma mesma
distribuição e entre distribuições propriamente dito. Em cada uma delas, pode escolher entre várias
opções de programas para navegar a internet ou suítes de escritório, mais de vinte interfaces gráficas,
quase quarenta gerenciadores de arquivo, inúmeros programas que possuem a finalidade de compactar
e descompactar arquivos, etc. Em outras palavras, o usuário pode escolher entre inúmeros programas
2.5. Vantagens e Desvantagens do GNU/Linux 13

que possuem a mesma finalidade. Sem contar que o usuário pode escolher entre várias versões de um
mesmo programa em uma mesma versão de distribuição. Note que no GNU/Linux, muitas vezes um certo
programa possui de duas a quatro versões para uma mesma distribuição, excluindo-se nessa contagem as
atualizações de segurança.

O usuário também pode escolher entre inúmeros temas visuais para sua distribuição e pode criar o seu
próprio tema editando cores, fontes, estilos de janela e até quantos e quais são os botões de gerenciamento
de janelas11 se deseja ter em cada janela.

O que pode visto como vantagem, também pode ser visto como desvantagem. Basta reler os dois
parágrafos anteriores substituindo a palavra “pode” em negrito por “deve”. O excesso de opções é aquilo
que a comunidade dos sistemas GNU/Linux mais valoriza, mas para o usuário inciante isso pode produzir
o efeito inverso. No mundo ideal, o usuário experimentaria todas as opções possíveis de tudo e utilizaria
aquela que ele julga melhor (por algum critério subjetivo e técnico). Infelizmente não é possível vivenciar
a situação do mundo ideal para todos os programas, mas é normal que depois de um certo tempo o
usuário seja um pouco mais exigente em um ou outro programa específico que lhe for muito útil.

Outra conseqüência do código aberto é o aumento da segurança existente no GNU/Linux. Qualquer


grande problema de segurança identificado é rapidamente rastreado e resolvido por alguém. Isso permite
que o sistema seja seguro, não porque não existam falhas, mas porque as correções são tão rápidas que
não permitiria tempo hábil para alguém explorar essa falha. Claro que somente o fato do código ser
aberto seria insignificante se não houvesse ferramentas capazes de garantir a segurança do sistema. Na
verdade, existem centenas de ferramentas de segurança, sendo algumas integradas no próprio Linux. A
segurança também oriunda do fato do sistema operacional exigir um certo comportamento do usuário,
como não permitir que esse escolha senhas fracas, recomendar que não utilize o modo de administrador
para tarefas comuns, etc.

O GNU/Linux possui alta eficiência no gerenciamento do acesso a memória, na transferência de dados


de rede e no acesso ao HD, que pode ser otimizado utilizando um sistema de arquivo específico para a
função da máquina (existem vários sistemas de arquivo compatíveis com o Linux, alguns de uso geral
outros são mais específicos). Essas características foram obtidas como conseqüência das escolhas feitas
quando o Linux era novidade.

Em termos gerais, um sistema GNU/Linux bem ajustado possui alta eficiência em vários aspectos
do uso computacional, e tem desempenho superior quando comparado com os sistemas operacionais
concorrentes. Vale notar, por exemplo, que a grande maioria dos clusters de alto desempenho existentes
utilizam o GNU/Linux como sistema operacional (quase a totalidade utiliza sistemas baseados na família
UNIX, mas há vários que não são o GNU/Linux). Uma relação parecida (um pouco menos favorável ao
GNU/Linux) é observada quando listada os principais servidores de internet.

Um ponto fraco é a compatibilidade com hardwares muito novos ou pertencentes à empresas completa-
11 Refere-se como botões como os que maximizam, minimizam e fecham janelas
2.5. Vantagens e Desvantagens do GNU/Linux 14

mente avessas ao código livre e que não disponibilizam qualquer documentação técnica dos componentes
para que outras pessoas criem os drivers apropriados para eles. Sendo assim, normalmente demora cerca
de dois meses para um novo hardware (entenda que estamos falando de algo inovador, como chipset de
placa-mãe) que foi lançado e está à venda ter um driver escrito para o Linux e leva outro tempo (que
pode ser muito ou pouco, dependendo da importância do novo hardware) para que ele seja incorporado
às distribuições GNU/Linux mais atuais. O motivo está relacionado ao fato de que os programado-
res necessitam “comprar” o hardware e realizar engenharia reversa para escrever um driver para aquele
equipamento.

Apesar dos grandes avanços na compatibilidade dos hardwares com o GNU/Linux, uma vez que
as principais empresas passaram a contribuir disponibilizando informações ou drivers proprietários,
ainda existem problemas. Ainda hoje, por exemplo, todos os drivers para webcam compatíveis com
o GNU/Linux são frutos de engenharia reversa. Isso não seria algo impressionante se o número de mode-
los de câmeras existentes não fosse tão grande. Isto torna o trabalho de fazer engenharia reversa em todos
os modelos algo quase impossível. O mesmo se aplica a impressoras de empresas exóticas (atualmente as
maiores empresas disponibilizam drivers), scanners (mesmo as grandes empresas possuem certa dificul-
dade de criar drivers para todos os seus modelos) e os modens por software, os softmodens 12 , também
conhecidos como winmodens 13 .

Quanto aos programas disponíveis, a verdade é que existe um programa para o GNU/Linux que é
equivalente a cada programa existente no Windows. Contudo, algumas vezes encontramos exigências
profissionais que basicamente definem a escolha do sistema operacional.

Outro problema são os arquivos legados em formato proprietário. Por exemplo, quem tem um arquivo
de texto do Word e abrir no OpenOffice vai perceber que alguns elementos não são bem convertidos
(por exemplo, as equações matemáticas). Outro exemplo, os arquivos de AutoCAD. O formato padrão
do AutoCAD não pode ser editado corretamente no GNU/Linux. Contudo, o AutoCAD exporta seus
arquivos para um formato livre que é reconhecido pelos programas CADs existentes no GNU/Linux (não
entrando aqui, no mérito da questão sobre a qualidade das alternativas). De uma forma ou de outra,
os arquivos legados salvos em formato proprietário vão exigir um tempo para serem convertidos em
formatos livres. Seja por simples exportação no programa original (como no caso do AutoCAD), seja por
reeditoração no programa importado (como no caso de um documento Word com equações matemáticas).

Por fim, existem os programas criados para tarefas muito específicas, como os que gerenciam equi-
pamentos de análise química/física, de controle de engenharia, etc., que a rigor não funcionam no
GNU/Linux. Em todo caso, é possível utilizar um programa Windows no GNU/Linux, seja por vir-
tualização ou com o uso da API (Application Programming Interface, ou Interface de Programação de
Aplicativos) Windows alternativa, criada para executar programas do Windows no GNU/Linux.

A virtualização consiste executar um outro sistema operacional dentro do seu sistema operacional
12 Não confundir com os hardmodens, modens por hardware. Esses funcionam muito bem no Linux.
13 Por que somente funcionam no Windows.
2.5. Vantagens e Desvantagens do GNU/Linux 15

atual. É possível, até mesmo, modificar a arquitetura do computador, ou seja, instalar a uma versão
PC 64-bits em computador PC 32-bits ou mesmo instalar um sistema operacional para PowerPC em um
computador PC 32-bits. A conseqüência é que é possível instalar o Windows como se fosse um programa
para GNU/Linux e dentro desse Windows, é possível instalar qualquer programa Windows (como se
estivesse no Windows mesmo). A desvantagem disso é uma perda de desempenho e a necessidade de
memória em quantidade suficiente para rodar “dois” sistemas operacionais e seus aplicativos.

A vantagem é que o problema de compatibilidade do programa Windows com o GNU/Linux desapa-


rece. A grande questão deixa de ser “vai ou não funcionar” para ser “em qual programa funciona e qual
será a dificuldade em fazer tudo corretamente”.

É evidente de que existem diversos tipos de virtualização, alguns são de fácil implementação, outros
não. Depois de uma breve análise, pode-se chegar à conclusão que manter o Windows para gerenciar um
equipamento específico é o que fornece o melhor benefício, ou que a técnica de virtualização X ou Y é a
que fornece melhor benefício.

Um vantagem associada a compatibilidade (ou a falta de compatibilidade) nativa dos programa Win-
dows com o GNU/Linux é que este não irá executar os vírus, os malwares e outras pragas digitais criadas
para o Windows.
Capítulo 3

Conceitos Básicos do GNU/Linux

O capítulo anterior descreveu o universo GNU/Linux, sua origem, os conceito de distribuição e seus
principais representantes, alguns esclarecimentos quanto a licenças e uma breve análise das vantagens e
desvantagens. Desse ponto em diante, será apresentado o sistema propriamente dito. Nesse capítulo,
serão apresentados os conceitos básicos do funcionamento do GNU/Linux que o usuário deve ter em
mente ao usar o sistema.

Antes de qualquer apresentação do sistema é necessário ter em mente que o GNU/Linux é Case
Sensitive. Ou seja, os caracteres maiúsculos e minúsculos são diferenciados, de forma que a palavra
Teste é interpretada diferente de teste e TESTE.

Dito isso, esse capítulo aprentará os demais conceitos básicos do sistema, que incluem o sistema
de arquivos, os conceitos usuários e grupos, de permissões de arquivos, concluindo sobre estrutura de
diretórios típica de um sistema GNU/Linux.

3.1 O Sistema de Arquivos

O sistema de arquivos é a forma com que os dados são organizados em um dispositivo de armazenamento,
como o HD. Pode ser interpretado como a prateleira de uma estante que receberá os livros, que são os
dados.

Portanto, a primeira tarefa de quem instala um computador novo, seja qual for o sistema operacional,
é dividir o HD e selecionar o sistema de arquivos (processo conhecido como formatação). No Windows,
para formatar um HD é necessário escolher entre dois tipos de sistema de arquivos: o FAT (File Allocation
Table) e o NTFS (NT(New Tecnology) File System).

16
3.1. O Sistema de Arquivos 17

O GNU/Linux consegue ler e escrever nestes dois sistemas de arquivo, mas não é possível realizar a
instalação neles1 . É necessário escolher entre um dos sistemas de arquivo nativos. E é claro que existem
vários sistemas de arquivo, dos quais podemos destacar:

• ext2 - second extended file system - é o sistema de arquivos mais tradicional que existe, mas não
o mais usado. Ele fornece alta velocidade de leitura, mas baixa confiabilidade. Dessa forma, não
é indicado para computadores pessoais. Atualmente, apenas alguns grandes servidores internet
utilizam esses sistema de arquivos e contam com um grande número de redundâncias para evitar
a queda na disponibilidade de acesso. Ainda é utilizado (e recomendado) em pendrives e outros
dispositivos de dados que não requeiram alta confiabilidade.

• ext3 - third extended file system - esse é o sistema de arquivos mais utilizado atualmente. Ele
resolve o problema de confiabilidade do ext2 inserindo o recurso de journaling 2 no sistema. Por
causa do journaling, ele não apresenta o mesmo desempenho do ext2.

• ext4 - fourth extended filesystem - recém desenvolvido para se tornar o sucessor do ext3. Foi
incorporado ao Linux em dezembro de 2008. E acredita-se que até 2010 todos as distribuições uti-
lizarão esse sistema de arquivos como padrão. Ele corrigiu alguns problemas do ext3, aumentando
a confiabilidade do sistema de arquivos. Mas não apenas isso, visto que ext3 é um sistema antigo,
criado em uma época de pouca capacidade de processamento e baixo volume de armazenamento.
Dessa forma, ext4 obtém melhor desempenho, mesmo aumentando a confiabilidade.

• ReiserFS - sistema de arquivo criado por Hans Reiser. É uma opção muito usada para compensar
os problemas do ext3, mas com uma pequena perda de desempenho. Com o desenvolvimento do
ext4, não se sabe ao certo o que acontecerá com esse sistema de arquivos. Aposta-se que ele irá
cair no lugar comum de ser mais um entre tantos sistemas de arquivos existentes3 .

Existem vários outros sistemas de arquivos para uso pessoal e/ou que possuem finalidades específicas,
como os sistemas de arquivos que se mantem mesmo com falhas, os sistemas de arquivos específicos para
quem deseja armazenar arquivos com tamanho elevado, etc. Para o usuário iniciante, conhecer a lista
mencionada, saber que é possível acessar o FAT e o NTFS e ter ciência de que existem vários outros
sistemas de arquivos é suficiente.
1 No caso do FAT, além de ser uma tecnologia ultrapassada, pesa o fato de não ser compatível com o nível de segurança
exigido pelo GNU/Linux. Contra o NTFS pesa a questão da licença. Até pouco tempo sequer era possível escrever na
versão 5.x do NTFS a partir do GNU/Linux.
2 Que consiste em criar um registro das alterações que serão realizadas nos arquivos, antes de realizá-las efetivamente.

Isso diminui o risco de corromper o sistema de arquivos em uma queda de luz, por exemplo.
3 Veja uma lista mais completa dos sistemas de arquivo em: http://en.wikipedia.org/wiki/List_of_file_systems.
3.2. Usuários e Grupos 18

3.2 Usuários e Grupos

Para acessar um sistema GNU/Linux é necessário uma conta, composta por um login de acesso e sua
respectiva senha. Há três tipos básicos de usuários:

• Usuário root ou superusuário - é o administrador do sistema e seu login é root. Possui acesso
pleno e poderes ilimitados sobre o sistema GNU/Linux (inclusive para cometer erros graves). So-
mente deve ser utilizado na hora de administrar o sistema (configurar a internet, instalar um
programa, realizar manutenção preventiva, etc). Não é adequado acessar o computador como root
para realizar tarefas de usuário comum, como navegar na internet, escrever um texto, etc4 .

• Usuários comuns - são os usuários do computador propriamente dito. Está relacionado com a
existência de uma pessoa real que utiliza aquela máquina. O login foi normalmente escolhido
por alguém, tipo joao, jose, jsilva, etc. Todo login deve ser escrito em letras minúsculas com, no
máximo, caracteres como “.” e “_” e não deve utilizar acentos, espaços ou caracteres diferenciados5
Os usuários comuns somente podem realizar tarefas que o administrador (root) determinou que ele
pode realizar.

• Usuários de sistemas - são usuários que são utilizados por programas. Não estão associados a
pessoas reais, portanto, não possuem arquivos pessoais. São fundamentais para o funcionamento
do sistema, por exemplo, o usuário www é um usuário utilizado pelo servidor de internet para
executar sua função.

Cada usuário está contido em pelo menos um grupo. Segundo o dicionário, um grupo pode ser
definido como um “conjunto de pessoas que têm os mesmos sentimentos, representações e juízos de valor
e apresentam os mesmos tipos de comportamento”. Essa definição também pode ser aplicada no contexto
do GNU/Linux, excetuando o fato de que nesse contexto um grupo pode ser formado por apenas um
único usuário. Em algumas distribuições, como o Ubuntu, o grupo principal de cada usuário é igual ao
login. Dessa forma, o usuário “joao” tem como grupo principal o grupo “joao” e inicialmente nenhum
outro usuário fará parte de grupo. Em outras distribuições, como no openSUSE, o grupo principal de
cada usuário é o mesmo, denominado “users”.

Normalmente, um usuário pode estar contido em alguns outros grupos, como por exemplo, cdrom e
video. O primeiro grupo permite que o usuário tenha acesso a dispositivos de CD (o que incluí gravadores
de DVD) e o segundo que o usuário tenha acesso ao vídeo do sistema.

É o administrador do sistema que define quais grupos o usuário terá acesso. O grupos tem duas
funções, uma foi mencionada que é autorizar o usuário a acessar dispositivos e funções do sistema. A
função está associada a idéia de grupos como é usual imaginar, ou seja, grupo de pessoas que possuem
4 Lembre-se que “com grandes poderes, vêm grandes responsabilidades”.
5 Em teoria o root pode criar uma conta com qualquer caractere no login, mas o usuário vai ter problemas se esse
conselho não for obedecido.
3.3. Permissões de arquivos 19

interesses comuns. Dessa forma, se um certo arquivo possuí permissão de leitura e/ou escrita apenas ao
dono do arquivo e ao usuários de um certo grupo, os demais usuários do sistema que não fizerem parte
daquele grupo não terão acesso ao arquivo. Essa segunda e importante função dos grupos fica em segundo
plano em computadores que possuem um pequeno número de usuários.

Ao criar a conta no sistema será necessário o login e uma senha (em computadores pessoais não
faz sentido preocupar-se com a política de grupos, então deixa-a tal qual foi definida pela distribuição).
Não esqueça a senha. Sem ela, em princípio, usuário não fará muita coisa. Sem a senha de root, o
administrador não faz nada. Embora seja quase sempre possível alterar a senha de root e/ou de usuário
do sistema, mesmo que tenha esquecido ambas6 .

Cada usuário e grupo existente (seja ele de que tipo for) possui um número de identificação, um ID,
os usuários possuem o UID, os grupos possuem um GID. Na prática, o GNU/Linux não se importa com
o nome dado ao usuário ou grupo, mas apenas com os seus números de identificação. Dessa forma, dois
usuários de logins distintos que tenham o mesmo ID são, para todos os efeitos, o mesmo usuário.

3.3 Permissões de arquivos

Há três tipos básicos de permissões de arquivos: escrita, leitura e execução.

Se um diretório é marcado com permissão de leitura, significa que o conteúdo do diretório pode ser
listado, ou não. Sim, isso parece confuso, mas ocorre que o usuário só pode executar algum comando
dentro de um diretório se ele tiver permissão de execução. Do contrário, não é possível listar o conteúdo do
diretório, mesmo que ele tenha permissão de leitura. Da mesma forma se um diretório tiver permissão de
escrita é possível modificar o conteúdo dele (apagando, criando e modificando arquivos), ou não. Nesse
caso, assim como no primeiro, existe a questão do diretório ter permissão de execução, mas também tem
o fato de que o diretório necessita de permissão de leitura e a permissão do arquivo a ser modificado deve
ter permissão de escrita (no mínimo, mas usualmente deve ter permissão de leitura e escrita).

Se um diretório for marcado com permissão de execução, é possível executar comandos dentro dele
(ou no mínimo, acessar seu conteúdo), ou não. Porque se o diretório não tiver permissão de leitura
(condição mínima) não é possível que o usuário execute algo nele. A mesma lógica se aplica a todos os
arquivos. Para simplificar, considere que um arquivo regular está contido em um diretório que possui
permissão de leitura, escrita e execução.

Dessa forma, se o arquivo regular estiver marcado com permissão de leitura, é possível ler o arquivo.
Se ele estiver marcado com permissão de escrita, é possível escrever no arquivo, muito embora se o arquivo
6O sistema GNU/Linux somente é inacessível a terceiros quando é fisicamente protegido ou quando está encriptado. Se
um usuário qualquer com conhecimento suficiente tiver acesso físico ao computador e o sistema não estiver encriptado, não
há como impedir uma troca de senha. O mesmo vale a outros sistemas operacionais.
3.3. Permissões de arquivos 20

não estiver marcado como permissão de leitura, o usuário não pode abrir o arquivo para ver o que está
escrevendo/modificando nele, o que torna essa possibilidade algo muito pouco útil. Normalmente, para
modificar um arquivo é necessário que ele tenha permissão de leitura e escrita.

Se um arquivo regular estiver marcado com permissão de execução, significa que é possível executar
o arquivo, ou não. Esse arquivos são os programas/scripts. Se o arquivo não tiver permissão de leitura,
ele continua sendo executável, mas não pode ser executado porque não há acesso ao arquivo. Não há
sentido em ter um arquivo que não seja um programa ou script marcado com a permissão de execução.
Até existe a possibilidade de executar programas sem a permissão de execução, mas apenas pelo terminal
de comando e inserindo alguns argumentos.

As partições FAT não possuem controle de permissões de arquivo, portanto, todo arquivo que passa
por esses dispositivos são marcados com permissão de leitura, escrita e execução de forma indiferente a
finalidade do arquivo.

Há uma outra questão, mencionada superficialmente antes, que é o dono do arquivo. Todo arquivo
pertence a um dono (usuário) e a um grupo. Se o arquivo do usuário jose tiver um arquivo marcado
com permissão de leitura e escrita apenas para o dono do arquivo, não há como o usuário joao acessar
esse arquivo, mesmo que ele pertença ao mesmo grupo. Porque para tal o arquivo deve ser marcado com
permissão de leitura e escrita para os usuários grupo, sendo indiferente ao que estiver marcado para o
dono do arquivo. Se o usuário joao nem mesmo estiver no mesmo grupo, somente terá acesso se o arquivo
estiver marcado com permissão de leitura e escrita para todos os usuários do computador. A figura 3.1
apresenta uma visão geral da permissões de arquivos.

Figura 3.1: Visão dos tipos de permissão de arquivos


3.4. Tipos de Arquivos e A Estrutura de Diretórios 21

Percebe-se na imagem que existem outras modificações de arquivos que aparecem em indicadores
especiais. Essas permissões especiais são conhecidas como SUID, SGID e StickBit, traduzidos na imagem
para “Definir ID do Usuário”, “Definir ID do Grupo” e “Pegajoso”. O SUID, quando ativo, mantém as
mesmas permissões do dono do arquivo quando este arquivo estiver em execução, não produz efeitos em
diretórios. O SGID são como o SUID, mas para o grupo. Nos diretórios possui o interessante efeito
de forçar os arquivos criados dentro dele a terem o mesmo grupo. StickBit, em arquivos, acelera o seu
carregamento. Em diretórios, força que apenas o dono do arquivo ou diretório contido nele possa alterar
o seu conteúdo. Raramente um usuário iniciante fará uso dessas opções avançadas.

3.4 Tipos de Arquivos e A Estrutura de Diretórios

No GNU/Linux, tudo é arquivo. O arquivo, também chamado de arquivo regular ou arquivo comum, é
arquivo, o diretório é arquivo, o dispositivo de hardware é visto como um arquivo, etc.

O diretório é um arquivo que contém referências a outros arquivos, sendo utilizado para organizar os
arquivos em um computador e mídias de armazenamento. Sendo assim, é possível organizar um diretório
dentro de outro diretório, criando o que chamamos de estrutura de diretórios ou árvore do sistema de
arquivos.

O sistema operacional Windows popularizou o termo “pasta” para representar o diretório. Isso acon-
teceu porque o ícone que representa graficamente um diretório é uma pasta, mas a origem do diretório é
muito mais antiga que a representação de gráfica na forma de pasta7 .

No GNU/Linux existe apenas uma única estrutura de diretórios, não importando quantos HDs ou
dispositivos externos existam. O diretório principal é conhecido como diretório raiz (“root”, no original
em inglês) e representado por uma barra invertida, /. 8

Todos os demais diretórios são ramificações do diretório raiz e são representados na forma /exemplo1,
onde a barra faz referência ao diretório raiz e a palavra “exemplo1” é nome do diretório que está contido
no diretório raiz. Lê-se barra-exemplo1. Um diretório existente dentro do diretório “exemplo1” de nome
“exemplo2” é representado por “/exemplo1/exemplo2”. Lê-se barra-exemplo1-barra-exemplo2.

O GNU/Linux segue uma estrutura de diretórios familiar entre diversas distribuições. Eventualmente,
é possível ver um diretório a “mais ou a menos” na lista, mas alguns diretórios são “obrigatórios” em um
sistema, são eles:
7 Não é adequado utilizar a palavra “pasta” no modo de terminal, porque nele não existe uma pasta, a palavra aplica-se
apenas ao modo gráfico.
8 No Windows o diretório principal da estrutura de arquivos tem um nome especial de uma letra, usualmente “C:”. Dentro

dele, tem-se diretórios como “Arquivos de programas”, “Windows”, etc. Além disso, nele é possível estabelecer mais de um
ponto principal para estrutura diretórios, por exemplo, um segundo HD seria visto como “D:”, adicionando um gravador de
DVD, teremos a letra “E:”, e assim por diante.
3.4. Tipos de Arquivos e A Estrutura de Diretórios 22

• /bin - aqui estão os arquivos de programas mais importantes. São programas básicos e fundamentais
para o funcionamento do sistema.

• /boot - é onde estão os arquivos de inicialização, ou seja, onde estão os arquivos que fazem o
computador ligar e carregar o sistema.

• /dev - “dev” vem de device, dispositivo, é onde estão relacionados todos os dispositivos do sistema.

• /etc - é onde estão os arquivos de configuração dos programas instalados.

• /home - é onde ficam os diretórios dos usuários. Se o login for joao, o diretório do usuário usualmente
é /home/joao. O usuário joao terá acesso de leitura e escrita a todos os arquivos que estejam dentro
desse diretório9 . Em sistemas de grande porte, é possível que o diretório do usuário esteja algo
parecido como /home/j/joao ou /home/GRUPO/joao, onde GRUPO é o grupo principal do usuário
joao escolhido de acordo com alguma política administrativa interna.

• /lib - arquivos de bibliotecas do sistema.

• /media - diretório onde serão montadas as estruturas de arquivos de mídias externas e outros
dispositivos que não estão ligados à estrutura do funcionamento do sistema.

• /mnt - caiu em desuso, sendo gradativamente substituído pelo /media. Ele ainda está disponível
nos sistemas e ainda é utilizado por alguns aplicativos que não se atualizaram.

• /opt - fornece um local para aplicativos a serem instalados. Normalmente é utilizado por programas
que não fazem parte da distribuição (mas isso é uma escolha do administrador do sistema).

• /proc - é um diretório especial do sistema. Seu conteúdo é dinâmico e mantém informações sobre
o sistema, incluindo quais são os programas abertos.

• /root - é o diretório pessoal do usuário root. É o único diretório de um usuário que não fica dentro
do /home por padrão. Em algumas distribuições existe o /home/root, que é um atalho para para
o diretório /root.

• /sbin - nesse diretório existem programas muito importantes para o funcionamento do sistema que,
em princípio, apenas o /root devia utilizar.

• /srv - não existe em todas as distribuições. Nele ficariam os arquivos que serão disponibilizados,
acessados e/ou criados por algum servidor (como servidor de páginas web, de e-mail ou de ftp). Em
grande parte das distribuições, esse conteúdo fica em /var.

• /sys - contém informações sobre o sistema.

• /tmp - diretório para arquivos temporários.

• /usr - contém a maior parte dos programas.


9 Salvo uma intervenção do usuário root que pode negar o acesso do usuário a qualquer momento. Lembre-se, ele possuí
poderes ilimitados.
3.4. Tipos de Arquivos e A Estrutura de Diretórios 23

• /var - contém dados variáveis. É onde estão os logs do sistema, os caches dos diversos aplicativos
que utilizam esse tipo de característica como administrador (ou como usuário comum autorizado
via grupo) e registros de quais programas estão instalados. É onde estão os arquivos públicos de
internet na maioria das distribuições.

Dentro do diretório /usr/ é possível encontrar uma lista de diretórios muito parecida com essa acima.
Nele observa-se (com pequenas variações entre distribuições):

• /usr/bin - onde estão a grande maioria programas instalados.

• /usr/include - onde são guardados cabeçalhos de arquivos. Existem mais ou menos arquivos em
função do que têm-se instalado no sistema. No computador de um programador nesse diretório
pode ter mil arquivos.

• /usr/lib - são onde ficam as bibliotecas associadas a programas que estão em /usr/bin.

• /usr/local - dentro dele tem uma estrutura idêntica a /usr. Onde são instalados os aplicativos
compilados e que não fazem parte da distribuição original (função similar ao /opt/). É opcional.

• /usr/man - nele ficam os manuais do comandos.

• /usr/sbin - similar ao /sbin, porém os aplicativos não são importantes para o computador inici-
alizar.

• /usr/share - aqui temos um pouco de tudo: arquivo de tradução, temas para configuração da
aparência, aplicativos (que são acessados via /usr/bin mas na verdade estão localizados nesse
diretório), etc.

• /usr/src - é onde deviam estar ficam todos os códigos fontes do sistema. Para o usuário típico do
sistema, o mais importante é o código fonte do núcleo do GNU/Linux, ou seja, o Linux.

• /usr/tmp - diretório de arquivos temporários.

• /usr/X11R6 - o nome desse diretório pode variar entre distribuições, é onde estão os aplicativos que
são responsáveis por ativar o modo gráfico no GNU/Linux.

Outro diretório notável é o /dev. Nele estão os arquivos que são os dispositivos do computador.

Os dispositivos são divididos em vários tipos, sendo eles: o arquivo socket 10 , os dispositivos de carac-
tere com e sem buffer 11 , o dispositivo de bloco e o arquivo “FIFO” 12 .

Dentre os principais, temos:


10 É um meio de comunicação por software entre um computador e outro. É uma combinação de um endereço IP, um
protocolo e um número de porta do protocolo.
11 É uma região de memória temporária, usada para escrita e leitura de dados. É usado como um equalizador entre a

velocidade de leitura e velocidade de escrita.


12 First In, First Out, em português, primeiro a entrar, primeiro a sair. São utilizados para implementar filas de espera.
3.4. Tipos de Arquivos e A Estrutura de Diretórios 24

• /dev/sda - HD localizado na primeira interface SATA (em distribuições recentes, também pode
ser a interface ATA). O /dev/sdb é o HD localizado na segunda interface SATA, o /dev/sdc é o
HD conectado na terceira interface SATA, e sucessivamente, tal que /dev/sdX é a representação
genérica de um HD onde “X” é uma letra de “a” em diante.

• /dev/hda - também representa um dispositivo de armazenamento, mas nesse caso pode ser tanto
HD quanto um dispositivo de CD/DVD. A diferença é que ela representa a interface ATA (IDE).
Está entrando em desuso.

• /dev/fd0 - é o dispositivo de disquete.

• /dev/cdrom - sempre existe, mas é apenas um atalho para o dispositivo real que pode ser uma
/dev/hdX ou /dev/srX. Existem vários atalhos similares, como o /dev/dvd, /dev/cdrw, etc., que
são apenas variantes necessárias para acessar o mesmo dispositivos de acordo com o programa
utilizado.

• /dev/psaux - é o mouse.

• /dev/mem - é a memória RAM.

• /dev/null - é a saída nula do sistema. É um dispositivo virtual, visto que não é um equipamento
físico de hardware. Funciona como um triturador de arquivo. Deletar um arquivo é mover um
arquivo para esse dispositivo.

É claro que existem muito mais dispositivos nesse diretório, mas essa pequena lista é apenas para for-
necer uma idéia geral do sistema. No primeiro momento, tenha em mente que terá de conhecer/descobrir
quem é o HD e lembrar que existe um /dev/cdrom, para o caso de algum dia algum programa perguntar
isso. Entretanto, não há necessidade do usuário iniciante do GNU/Linux saber diferenciar entre os quatro
tipos de dispositivos.

O arquivo regular ou arquivo comum é o arquivo de texto, de imagem, de apresentação, de vídeo, de


música, etc.

O atalho, mencionado anteriormente no texto, é exatamente o que o senso comum diz, um atalho.
Existem dois tipos de atalhos, os “atalhos simbólicos” e os “atalhos físicos” (mais conhecido como hard
links).

Os atalhos simbólicos são arquivos individuais que possuem vínculos com algum outro arquivo no
computador, seja ele de que tipo for. Eles consomem pouco espaço e podem ser eliminados sem correr
o risco de eliminar o arquivo original. Eles não possuem permissões de acesso próprias, possuindo as
permissões do arquivo original.

Os atalhos físicos são na verdade um mesmo arquivo, porém pode ter um outro nome e/ou estar em
outro diretório. Esse tipo de atalho apenas pode ser criado para arquivos regulares.
3.4. Tipos de Arquivos e A Estrutura de Diretórios 25

E por fim, existe um tipo de arquivo que é uma variação dos arquivos supracitados, chamados arquivos
ocultos. Eles não são um tipo de arquivo ao rigor da palavra, mas uma variação dos tipos de arquivos
existentes. Para o GNU/Linux, o arquivo oculto é todo arquivo cujo nome comece com um ponto, seja
ele um arquivo comum, um diretório, um dispositivo, etc. Não é possível ter um arquivo oculto cujo o
nome não comece com um ponto.

A figura 3.2 apresenta a estrutura de diretórios do Ubuntu quando este está rodando pelo live CD (ou
seja, não está instalado). É possível observar na lateral esquerda, a existência de um diretório chamado
ubuntu dentro do diretório home. Esse é o diretório home do usuário ubuntu.

Figura 3.2: Visão ampla da estrutura de diretório do Ubuntu.

A figura 3.3 apresenta o conteúdo do diretório /usr/bin. Observe a existência de ícones com uma
seta sob ele (logo o primeiro arquivo, o X11, possuí uma dessas). Essa é a representação gráfica de atalho
nessa interface gráfica (será detalhada no próximo capítulo).

Definido os conceitos de permissão e estrutura de arquivos, veja o que acontece quando um usuário
tenta acessar um diretório para o qual ele não possui permissão de acesso na figura 3.4.
3.4. Tipos de Arquivos e A Estrutura de Diretórios 26

Figura 3.3: Visão dos arquivos contidos no diretório /usr/bin/.

Figura 3.4: Demonstração do que ocorre quando um usuário tenta abrir um diretório de acesso restrito.
Capítulo 4

O Gerenciador de Janelas

Normalmente, os textos sobre o GNU/Linux são muito parecidos até esse ponto. Entretanto, agora seria
a hora de apresentar o terminal ou console ou modo texto que é como o GNU/Linux nasceu e criou-se.
O terminal é uma tela, onde todos os comandos são realizados a partir do teclado.

Pode imaginar alguma coisa parecida visualmente com o DOS. Mas dizer que são similares chega a
ser uma ofensa, uma vez que o terminal do GNU/Linux (do UNIX, em geral) é extremamente poderoso
comparado com o DOS. Chega a ser mais poderoso que a maioria dos programas com interface gráfica
(pois esses são, na verdade, uma interface entre o usuário e os comandos de terminal), mas também tem
uma curva de aprendizado mais lenta.

Esse documento inicia a apresentação do GNU/Linux utilizando a interface gráfica, também conhecido
como modo gráfico. Hoje, até é possível que um usuário do GNU/Linux não precise abrir o terminal.
O usuário buscará o terminal naturalmente quando perceber que algumas coisas são mais fáceis e mais
simples de se fazer pelo terminal do que utilizando uma interface gráfica ou quando acessar um sistema
GNU/Linux que não possuí interface gráfica.

Para abrir um programa com interface gráfica, é necessário um gerenciador de janelas, onde se vê os
programas representados por janelas na “Área de Trabalho”.

No GNU/Linux existem vários programas para gerenciar janelas. Para um gerenciador de janelas
funcionar é necessário um servidor de janelas ou servidor gráfico. Atualmente o servidor de janelas mais
popular é o X.org (escrito assim mesmo, como se fosse uma url) ele é uma ramificação do XFree86, que
ainda pode ser encontrado em distribuições mais antigas. Toda a configuração de placa de vídeo, mouse, a
fonte do sistema, a resolução que irá trabalhar, a definição do monitor e a configuração do teclado devem
ser configurados apenas nesse servidor. As versões mais novas do X.org não requerem tantos ajustes, mas
ainda assim a idéia geral permanece.

27
4.1. Qual o Melhor Gerenciador de Janelas ? 28

Algumas distribuições fazem isso automaticamente (como o Ubuntu), porém podem necessitar de
alguns ajustes e existem aquelas que vão requerer que o usuário especifique manualmente tudo sobre o
sistema.

Quando apenas um servidor servidor gráfico é executado, cria-se o ambiente gráfico. Cada programa
que seja executado nesse ambiente gráfico estará em canto, sem barra de título, não é possível maximizar
ou minimizar a janela ou tirar uma janela da frente de outra, nem mesmo é possível fechar a janela. Por
isso, o servidor gráfico não é utilizado sozinho. Para fornecer as configurações das janelas é que existe o
gerenciador de janelas.

O gerenciador de janelas permite executar uma série de operações básicas, como maximizar, minimizar,
fechar uma janela, entre outras. Também são responsáveis pelo aspecto visual das janelas que utilizam
suas bibliotecas. Mas note que um gerenciador de janelas é independente do gerenciador de arquivos, do
navegador de internet, etc..

Dentre os gerenciadores de janelas do GNU/Linux destacam-se os seguintes:

• GNOME

• KDE

• XFCE

• Enlightenment

• FluxBox

• BlackBox

Dentre esses, o GNOME e o KDE destacam-se como os dois mais utilizados e mais completos geren-
ciadores de janelas. São mais completos porque GNOME e o KDE possuem gerenciadores de arquivos,
editores de texto, calculadores integrados ao chamados projeto GNOME e projeto KDE (muitos desses
aplicativos são opcionais na instalação, mas estão disponíveis). Outros gerenciados como o FluxBox com-
põem apenas o mínimo, ou seja, fornecem as ações necessárias para gerenciar as janelas (incluindo o seu
visual) e uma ou outra função adicional, nada mais.

4.1 Qual o Melhor Gerenciador de Janelas ?

Não é muito diferente de perguntar qual é a melhor distribuição. Boa parte da escolha está relacionada
ao gosto do usuário, mas aqui nós podemos traçar alguns pontos relevantes.
4.1. Qual o Melhor Gerenciador de Janelas ? 29

O GNOME e o KDE são os mais completos, os mais utilizados, mas também os mais pesados (não
que eles consumam muitos recursos, mas comparativamente eles consomem muito mais do que os demais)
e os mais amigáveis (não que não tenha outros amigáveis, mas existem aqueles que são completamente
diferentes de tudo que um usuário de outro sistema operacional esteja acostumado). Escolher um desses
dois gerenciadores de janelas é escolher um gerenciador de janelas completo. Ambos requerem um Pentium
III ou superior e pelo menos 512 MB de memória RAM para uma experiência agradável ao utilizar (a
rigor, os requisitos mínimos são inferiores a esses, aqui existe uma definição pessoal do que seria uma
“experiência agradável”).

Por outro lado, a discussão sobre a preferência entre o GNOME e o KDE normalmente não leva a
lugar algum. Deixa de ser algo técnico para ser algo extremamente passional. Os defensores do GNOME
dizem que ele é melhor por ser mais simples e com uma interface mais limpa, deixando o sistema menos
confuso e com mais usabilidade. Os defensores do KDE dizem que ele é melhor porque sua interface
contém acesso fácil a todas as opções possíveis para alterar o que for desejado, fornecendo maior poder
e controle sobre o sistema.

A verdade é que é prudente instalar os dois gerenciadores de janelas (supondo que não tenha limitações
com o espaço no HD). Muito dessa verdade é porque é necessário que o usuário escolha por si mesmo o
gerenciador de janelas. Experimentar os dois é pré-requisito para obter uma conclusão. O outro ponto
é porque existem programas que compõem o KDE que são melhores que os programas que compõem o
GNOME. E o usuário pode executar um programa do KDE mesmo que ele esteja utilizando o GNOME e
vice-versa, ao custo de alguns megabytes extras e um leve retardo na execução que somente será percebido
em máquinas modestas.

Os demais gerenciadores de janelas, sejam eles completos (com gerenciador de arquivos e diversas
outras funcionalidades) ou básicos (apenas com o mínimo necessário) são para os usuários que experi-
mentaram os dois acima e sentiram falta de alguma coisa ou querem algo diferente. É comum usuários
que queixam-se da velocidade do GNOME e/ou do KDE ou que não possuem os requisitos mínimos de
hardware migrarem para o XFCE ou para o Enlightenment.

O FluxBox, o BlackBox e vários outros gerenciadores de janelas são ainda mais leves, mas também
são menos intuitivos e tendem a deixar o usuário iniciante mais perdido. Especialmente porque eles são
muito dependentes do conhecimento do usuário sobre o uso do terminal de comando.

Note que existem várias versões dos gerenciadores de janelas disponíveis atualmente, mas a versão
que será utilizada é definida pelo tipo e versão da distribuição que foi escolhida.

Esse documento irá detalhar o GNOME, que será apresentado através do Ubuntu, e fará uma des-
crição superficial do KDE, que será apresentado através do Kubuntu. A idéia é permitir que o usuário
entenda o gerenciador de janelas antes de abordar os aplicativos que compõem o sistema. Muito em-
bora, os principais aplicativos que compõem a estrutura do projeto GNOME e KDE serão apresentados
concomitantemente.
4.1. Qual o Melhor Gerenciador de Janelas ? 30

A razão para detalhar o GNOME e apresentar o KDE de forma superficial está relacionada com o
momento histórico que o projeto KDE passa. A menos de 1 ano o KDE oficial era o KDE 3. Isso mudou e
atualmente utiliza-se o KDE 4. A grande questão é que essa foi uma das mais conturbadas mudanças de
versão já vista pelos usuários do GNU/Linux. Os inúmeros problemas encontrados nas primeiras versões
do KDE 4 fizeram com que este não fosse uma versão usável em um computador produtivo. De fato, na
data de publicação desse texto, vive-se o fim dessa era conturbada. Ainda assim, os problemas ainda não
terminaram, mas não justifica o esforço em aprender o KDE 3.

Por tudo isso, foi feito a escolha de apresentar o KDE 4 de forma superficial. Especialmente con-
siderando que esse texto é voltado para o público que nunca teve contado com o GNU/Linux. Esses
usuários são os que mais sofrem com eventuais problemas e também são os que menos condições possuem
de contornar os problemas com o vários “jeitinhos” de resolver as coisas.
Capítulo 5

O GNOME

O GNOME é uma interface gráfica que utiliza o GTK+, uma caixa de ferramentas para criação de
interfaces muito popular e criada originalmente para o GIMP (programa de edição de imagens que será
apresentado no próximo capítulo). Esse detalhe técnico é interessante, pois quando se menciona “ajustar
a configuração visual do GNOME”, na prática significa ajustar a configuração visual do GTK+. Isso
significa que todo aplicativo que não utilizar o GTK+ pode exigir uma configuração adicional com outro
aplicativo, a exemplo dos aplicativos que utilizam o QT, o concorrente do GTK+ que é utilizado pelo
KDE e seus aplicativos.

Nesse texto, o GNOME será apresentado pelo ponto de vista do Ubuntu. A versão do Ubuntu utilizada
nesse documento é a 9.04. A visão do GNOME logo após o boot é a observada na figura 5.2. Veja o
Anexo E para obter detalhes de como iniciar o Ubuntu pelo CD e o Anexo F para saber como instalar o
Ubuntu no computador.

Observe na figura 5.1 que os quatro cantos da tela apresentam algum objeto. Aproximando esses
objetos, obtemos a figura 5.3.

No canto superior esquerdo da figura 5.2 temos dois ícones no desktop e alguns elementos na barra
de tarefas. O primeiro elemento é o menu, que na forma padrão é dividido em três regiões: “Aplicativos”,
local onde estão os aplicativos em si, “Locais”, imagine esse menu como uma forma de acesso rápido aos
seus diretórios e “Sistema” que é onde estão os aplicativos de gerenciamento do sistema e configurações de
preferências e também onde está a ajuda do GNOME. Após o menu, existem três ícones, um é o clássico
ícone do Firefox (navegador de internet), o segundo é uma representação de um e-mail (no primeiro
momento não é possível dizer qual é esse aplicativo, mas se colocar o mouse sobre ele, verá que é o
Evolution) e o terceiro ícone que consiste em um ponto de interrogação, é a ajuda do GNOME.

No canto superior direito da figura 5.2 observa-se um ícone com dois computadores sobrepostos (re-

31
32

Figura 5.1: Tela do GNOME logo após o boot do CD.

Figura 5.2: Detalhe da tela inicial do GNOME.


33

presentação clássica do ícone de rede), um ícone de um alto falante (outra representação clássica, mas
agora para o controle de som), um texto informando o dia, data e hora e outro texto acompanhado de
um pequeno ícone, onde o texto diz Live session user e o ícone representa que aquele local é onde acessa
comandos para reiniciar, deslogar e desligar o computador. O texto Live session user informa que essa
é uma execução realizada através de um live CD, ou seja, o sistema não foi instalado no computador.

No canto inferior esquerdo da figura 5.2, observa-se um ícone que representa a área de trabalho. Esse
ícone é um aplicativo que minimiza todas as janelas que estiverem encobrindo a área de trabalho. Se
observar atentamente, verá três pequenos traços ao lado desse ícone. Eles são a representação de um
miniaplicativo que tem como função listar as janelas abertas. É o local para onde vão ser minimizadas
as janelas quando essa ação for executada.

No canto inferior direito da figura 5.2 observa-se duas representações gráficas. A primeira é composta
por dois quadrados. Cada quadrado é a representação de uma área de trabalho independente. Histori-
camente, o GNU/Linux usa múltiplas áreas de trabalho praticamente desde que o conceito de interface
gráfica existe. O Ubuntu opta por pré-configurar apenas duas áreas de trabalho. A segunda representação
icônica é a lixeira do computador. É o “local” para onde serão enviados os arquivos deletados. Escrevo
“local” entre aspas, porque não é apenas um local, mas sim, múltiplos locais representados e unidos em
um único ponto. Na verdade, existe uma lixeira para cada partição do sistema. Quando um arquivo é
eliminado no ambiente gráfico, ele é enviado para a lixeira que pertence a sua partição física. Isso acelera
muito a eliminação do arquivo, pois o ato de movimentar arquivos em uma mesma partição é instantâneo
enquanto o de movimentar arquivos entre partições distintas consiste em copiar o arquivo para aquela
partição e depois eliminar da partição original. E isso não é tão rápido.

Para o usuário basta acessar o menu que contém a lixeira. O ponto a ser lembrado é que a mesma
regra é válida para pendrives, ou seja, ao remover um arquivo do pendrive, ele é realocado na lixeira
que será criada no pendrive e dele será removido quando a lixeira for esvaziada (veremos como fazer isso
adiante).

O próximo passo é explorar os menus do GNOME. Isso permite conhecer quais são os aplicativos
gráficos que estão instalados atualmente no sistema e como ele estão dispostos no menu. Note que a
disposição do menu é um ponto que varia de distribuição para distribuição e mesmo entre versões de uma
mesma distribuição. A figura 5.3 apresenta o conteúdo do menu “Aplicativos”.

A primeira observação é que os aplicativos estão divididos em categorias. Essa versão básica e
padrão do Ubuntu é divida em 6 categorias: Acessórios, Escritório, Gráficos, Internet, Jogos e Som e
Vídeo. Como pode-se imaginar, cada categoria reuni os aplicativos associados ao contexto associado ao
nome da categoria. Note apenas que essa classificação não é unânime.

Na mesma figura 5.3 é possível ver quais são os aplicativos que estão disponíveis na categoria “Acessó-
rios”. Nas figuras 5.4 a 5.8 é possível observar quais são os aplicativos em cada uma das demais categorias.
34

Figura 5.3: Menu “Aplicativos”, categoria “Acessórios”.

Figura 5.4: Menu “Aplicativos”, categoria “Escritório”.


35

Figura 5.5: Menu “Aplicativos”, categoria “Gráficos”.

Figura 5.6: Menu “Aplicativos”, categoria “Internet”.


36

Figura 5.7: Menu “Aplicativos”, categoria “Jogos”.


37

Figura 5.8: Menu “Aplicativos”, categoria “Som e Vídeo”.

Seguindo a exploração do menu do GNOME, observa-se o conteúdo do menu “Locais”. A figura 5.9
apresenta o conteúdo desse menu.

Observe que ele contém vários elementos. O primeiro da lista é “Pasta Pessoal” que é a forma mais
prática de abrir o navegador de arquivo diretamente no diretório home do usuário. Abaixo, temos “Mostra
Área de Trabalho”, e ao clicar nesse item, abre-se o gerenciador de arquivos no diretório “Desktop”,
seja ele qual for. Em seguida observamos quatro “marcadores”, que são atalhos para os respectivos
diretórios e serve para acelerar e facilitar a abertura de um certo diretório. O padrão do Ubuntu inclui
quatro marcadores que são “Documentos”, “Músicas”, “Imagens” e “Vídeos”. Se usado com moderação, os
marcadores são particularmente úteis ao salvar ou abrir um arquivo no computador a partir de qualquer
programa que use o GNOME para selecionar o nome do arquivo, se usado com moderação. Criar 50
marcadores tende a ser tão contra-produtivo quanto não ter qualquer marcador ou pior.

Ainda na figura 5.9, seguindo o menu observa-se a descrição “Computador”. Trata-se de um diretório
virtual (não é um diretório real, ele existe apenas do ponto de vista lógico) que permite acessar os
dispositivos do computador, incluindo pendrive, CD-Rom e HD. Contudo, adiante será fácil perceber
que não é um ícone muito utilizado. Abaixo de “Computador”, temos “Mídia removível”, cujo nome
diz tudo que se precisa saber sobre esse item, que se expande em um submenu permitindo acessar as
mídias diretamente. Em seguida, observa-se “Rede” e “Conectar ao servidor...”. Ambos possuem funções
similares. A distinção é que o item “Rede” apenas permite acessar computadores e serviços que estão
na mesma máscara de rede do computador, ou seja, na rede interna. Já o segundo item, “Conectar ao
servidor...”, permite acessar os mesmos recursos de qualquer parte da internet ou da rede (ou seja, faz
tudo que o item “Rede” faz, mas é menos intuitivo, por requerer a identificação prévia da máquina que
38

Figura 5.9: Menu “Locais”.


5.1. O painel do GNOME 39

contém o serviço).

Seguindo a exploração do menu do GNOME, observa-se na figura 5.10 o conteúdo do menu “Sistema”
e na mesma figura o conteúdo do item “Preferências”. Adiante veremos a utilidade de vários desses itens.

Figura 5.10: Menu “Sistema”.

O conteúdo do item “Administração” do menu “Sistema” pode ser observado na figura 5.11.

5.1 O painel do GNOME

Até esse ponto, explorávamos o conteúdo do painel (definido pelas barras que são visíveis na tela) que
foi originalmente estabelecido pela distribuição Ubuntu. Tudo é configurável, tanto no painel superior,
quanto no inferior. Inclusive, é possível remover os dois painéis do ambiente.
5.1. O painel do GNOME 40

Figura 5.11: Menu “Sistema”.


5.1. O painel do GNOME 41

Observe na figura 5.12 o menu que surge ao clicar com o botão direito do mouse no painel. Distingui-
se quatro ações, a ajuda e o “Sobre o Painel”. De baixo para cima, lê-se “Novo painel”. No Ubuntu
existem originalmente dois painéis, porém, pode-se criar tantos quantos desejado. Inclusive, é até possível
posicioná-los nas laterais da área de trabalho. Em alguns sistemas, é possível encontrar uma quinta ação
é que “Bloquear posição do painel” para evitar que acidentalmente o usuário arraste o painel para uma
posição lateral, por exemplo. Outra opção presente na figura 5.12 é “Excluir esse painel”, o nome dessa
opção é a função do que ela executa. Acima, lê-se “Propriedades”. A figura 5.13 mostra as duas da janela
que podem ser acessadas quando seleciona-se essa opção. Na figura 5.13(a) apresenta a aba “Geral” e a
figura 5.13(b) apresenta a aba “Plano de fundo”

Figura 5.12: Menu que surge ao clicar com o botão direito no painel.

(a) (b)

Figura 5.13: Abas da janela acessível pelo item “Propriedades” do menu de opções do painel, (a) a aba
“Geral” e (b) a aba “Plano de fundo”.

Na aba “Geral”, mostrada na figura 5.13(a), é possível configurar a posição do painel (opções em
“Orientação”), o Tamanho do painel (em pixels), e três outros tipos de comportamento. Se “Expandir”
estiver selecionado, o painel será visto como na figura 5.12, ou seja, terá o tamanho horizontal igual ao
tamanho horizontal da tela. Note que o tamanho “horizontal” é definido para painéis posicionados na
5.1. O painel do GNOME 42

parte superior e inferior da tela e “vertical” para painéis posicionados na lateral da tela. Se essa opção
não estiver selecionada, o painel inicial possuirá uns poucos pixels de tamanho na horizontal e crescerá
com a adição de elementos no painel. Ou seja, o tamanho “horizontal” é dinâmico. A opção “Ocultar
automaticamente” oculta o painel quando ele não estiver em uso. E a opção “Mostrar botões de ocultação”
faz ser visível a opção de ocultar manualmente o painel.

Na aba “Plano de fundo”, mostrada na figura 5.13(b), é possível configurar o visual estético do painel.
O visual pode estar relacionado com tema utilizado no ambiente, com uma cor sólida ou com uma imagem
de fundo. Se cor sólida for selecionada, é possível tornar o painel transparente.

Por fim, no primeiro item da figura 5.12 existe a opção “Adicionar ao painel...” que é a opção que
permite adicionar e remover o conteúdo que se viu até o momento nesses painéis entre outros elementos.
A tela que surge ao selecionar essa opção está na figura 5.14

Figura 5.14: Janela acionada pela opção “Adicionar ao painel...” contida no menu que surge ao clicar
com o botão direito no painel.

A figura 5.15 expõem todos os elementos que podem ser adicionados em um painel.
5.1. O painel do GNOME 43

(a) (b)

(c) (d)

(e)

Figura 5.15: Janela da opção “Adicionar ao painel...”. Da figura (a) até a (e) é possível visualizar todos
os elementos que podem ser adicionados em um painel, segundo a configuração padrão do Ubuntu.
5.1. O painel do GNOME 44

Como exemplo, adicionaremos os “Olhos” ao painel. Esse miniaplicativo é um inutilitário que consiste
em um par de olhos que companham o mouse onde quer que ele esteja. Para adicionar esse miniaplicativo,
selecione ele e clique com o botão esquerdo do mouse em “Adicione” (vide figura 5.16).

Figura 5.16: Adicionando um par de olhos ao painel.

Como resultado, obtém-se o visual da figura 5.17. Observe que a posição dele é muito pouco elegante.

Figura 5.17: Assim fica o par de olhos logo após ter sido adicionado ao painel.

É possível ajustar a posição desses olhos clicando com o botão direito do mouse sob miniaplicativo
(ou seja, o par de olhos) e selecionado “Mover” no menu que surge (figura 5.18).

Depois de selecionado o “Mover”, basta movimentar o mouse sobre o painel para a direita ou esquerda
5.1. O painel do GNOME 45

Figura 5.18: Ajustando a posição dos olhos no painel.

com o objetivo de levar o elemento à posição desejada. O resultado é visto na figura 5.19.

Figura 5.19: Os “Olhos” no painel, posição final.

Todos os miniaplicativos (elementos) que estão sob os painéis permitem esse ajuste. Além dele, é
possível “Bloquear a movimentação” que é justamente o que impede de mover o item de um lado para o
outro. Observe essa opção habilitada nas opções da data (menu direito sob o miniaplicativo de data/hora)
na figura 5.20.

Figura 5.20: Opções do miniaplicativo de data/hora. Observe que a posição desse elemento está travada.

Ainda sob a figura 5.20, é possível observar a existência de outras opções, como copiar a data, copiar
a hora, ajustar a data e hora, preferências. Esta última opção permite configurar o visual do elemento,
5.1. O painel do GNOME 46

como tipo de fonte e formato da data e do relógio, além de permitir adicionar informações meteorológicas
ao painel.

Se clicar com o botão esquerdo do mouse sobre data/hora, abre-se um miniaplicativo de calendário,
como visto na figura 5.21. A opção “Locais” que surge nesse miniaplicativo permite verificar como estão
as condições meteorológicas (se tiver internet ativa) e se é dia ou noite em qualquer parte do mundo.

Figura 5.21: Calendário. Repare que os Olhos estão “olhando” para o mouse.

A figura 5.22 mostra um painel com um número maior de elementos. Observe que foi adicionado
um segundo menu principal, exatamente igual ao que já existe. Ou seja, é possível adicionar elementos
duplicados em um mesmo painel (e, claro, em painéis distintos também).

Figura 5.22: Observe o menu de programas duplicado no painel.

Ainda falta apresentar como adicionar um certo programa ao painel (tal qual estão o Firefox, o
Evolution e a Ajuda na figura 5.2). Para tal, selecione a opção “Lançador de aplicativo...” na janela
“Adicionar ao painel”, representada na figura 5.23, e clique em “Avançar”.

A tela seguinte, colocada na figura 5.24, consiste em uma reprodução do que existe no menu de
programas, nas seções “Aplicativos” e “Sistema”. Se, por exemplo, deseja adicionar a calculadora ao painel,
abra o item “Acessórios”, selecione a “Calculadora” e clique em “Adicione” (figura 5.25). Ao concluir, ou
seja, ao terminar de adicionar todos os programas de interesse, clique em “Fechar”. É interessante observar
5.1. O painel do GNOME 47

Figura 5.23: Adicionando programas ao painel.


5.1. O painel do GNOME 48

que além dos programas, também é possível adicionar um submenu inteiro. Para tal, basta selecionar um
dos itens principais (por exemplo, “Acessórios”) e clicar em “Adicione”.

Figura 5.24: Adicionando programas ao painel.

O resultado desse processo e da adição do terminal de comandos do GNOME pode ser visto na
figura 5.26.

A mesma coisa que foi feita no painel superior, pode ser feito no painel inferior. Apenas por exemplo,
considere a adição do “Menu principal” que é o concorrente direto da “Barra de menu” (aquela que está
na parte superior que é chamada nesse texto até aqui de “menu de programas”). A diferença entre os dois
é uma questão de estilo. Veja a adição desse elemento no painel inferior na figura 5.27.

Ajustando a posição desse menu no canto inferior esquerdo, e clicando nele, obtemos a figura 5.28.
Não é difícil sentir que esse menu, nessa posição, torna o sistema mais similar ao sistema operacional
concorrente de maior número de usuários (Windows). De fato, também o torna mais parecido com o
KDE, que será visto posteriormente. Cada usuário escolhe a barra de menus que melhor se encaixar com
o seu perfil. Contudo, esse texto continuará a utilizar a barra de menus padrão do Ubuntu para manter
a uniformidade das explicações.
5.1. O painel do GNOME 49

Figura 5.25: Adicionando a calculadora ao painel.

Figura 5.26: Painel superior configurado.


5.1. O painel do GNOME 50

Figura 5.27: Adicionando o “Menu principal” ao painel inferior do ambiente.


5.1. O painel do GNOME 51

Figura 5.28: Estilo do “Menu principal” (ele é mais parecido com a concorrência).
5.2. O gerenciador de arquivos 52

5.2 O gerenciador de arquivos

A principal função de um sistema operacional é “gerenciar arquivos”. Portanto, um dos principais apli-
cativos é o gerenciador de arquivos. O GNU/Linux possui uma farta variedade de gerenciadores de
arquivos independentes, mas usualmente aquele que se comporta melhor em uma certa interface gráfica
é o gerenciador de arquivos padrão, ou seja, o que foi criado para aquela interface1 .

O gerenciador de arquivos do GNOME é o Nautilus2 . Para abrir esse programa, basta clicar em
“Locais” e em seguida selecionar “Pasta Pessoal”. O seu aspecto é visto na figura 5.29.

Figura 5.29: Nautilus, o gerenciador de arquivos do GNOME. Barra lateral em modo “Locais”.

O Nautilus é dividido em três regiões, (i) a parte superior, que contém as barras de ferramentas, (ii)
a parte lateral direita, que na figura 5.29 é representada pelos “Locais”, e (iii) a região central, de maior
dimensão que é a região onde são apresentados os arquivos.

Como dito, a região lateral a direita do Nautilus da figura 5.29 está representada pela região “Locais”.
Além dela, é possível observar alguns outros tipos de barra lateral, dos quais destacam-se “Informações”,
“Árvore” e “Histórico”. Essas três opções são visíveis nas figuras 5.30, 5.31 e 5.32.
1 Observe que existem interfaces gráficas que não possuem um gerenciador de arquivos padrão. Nessas, usualmente o
desempenho do aplicativo e a opinião pessoal sobressai sobre características técnicas.
2 Referência ao submarino do livro “Vinte mil léguas submarinas” de “Júlio Verne”, 1870.
5.2. O gerenciador de arquivos 53

Figura 5.30: Nautilus, o gerenciador de arquivos do GNOME. Barra lateral em modo “Informações”.

Figura 5.31: Nautilus, o gerenciador de arquivos do GNOME. Barra lateral em modo “Árvore”.
5.2. O gerenciador de arquivos 54

Figura 5.32: Nautilus, o gerenciador de arquivos do GNOME. Barra lateral em modo “Histórico”.

Observe nas figuras 5.29 e 5.30 que abaixo dos botões de navegação e acima das áreas principal e
lateral existem alguns botões que referem-se ao diretório atual. O ícone mais a esquerda na mesma linha
permite alterar esse visual entre esse modelo, com botões, e o modelo visto nas figuras 5.31 e 5.32, onde
possível ler o nome do diretório em texto apenas, no caso, /home/ubuntu3 .

Quanto às barras laterais, na figura 5.29 observa-se os “Locais”, e é quase a mesma coisa que se
observa no menu “Locais” do menu de programas4 . Como diferença observa-se a “Lixeira”, que tem
o mesmo conceito do ícone visível no canto inferior direito da figura 5.2. Na figura 5.30 observa-se a
barra lateral de informações, no caso, informações sobre o diretório aberto. Em um sistema com um
número maior de aplicativos instalados será possível listar nessa coluna todos os aplicativos que podem
abrir aquele diretório (tem o mesmo efeito de um “Abrir com”). Na figura 5.31 observa-se a “Árvore”
do sistema. Neste caso, divido em dois pontos: o espaço do usuário, iniciado pela “Pasta pessoal”, e o
“Sistema de arquivos”, que na verdade é o diretório raiz, “/”. Por fim, a figura 5.32 apresenta a barra
lateral no modo “Histórico”. Nela é possível verificar quais são os diretórios previamente visitados.

Explorando os itens do menu superior do Nautilus, encontra-se no menu “Arquivos”, representado na


figura 5.33, itens como “Nova Janela”, que abre uma nova janela do Nautilus, normalmente no diretório
home do usuário, e “Nova Aba”, que abre o diretório atual em uma nova aba do Nautilus. A figura 5.34
3O login da sessão do Ubuntu quando rodando de um CD-ROM é ubuntu
4O número excessivo de HDs (na verdade, de partições) que são apresentados nessa figura está relacionado com configu-
ração particular do computador utilizado para esse teste
5.2. O gerenciador de arquivos 55

mostra como fica o Nautilus com duas abas abertas em uma mesma Janela. Pelo título da aba, sabe-se
que são dois diretórios diferentes, contudo, dois diretórios com o mesmo nome estabelecido em posições
diferentes da estrutura de arquivos pareceria ser o mesmo diretório quando sob essa avaliação.

Figura 5.33: Menu “Arquivos” do Nautilus.

No menu “Editar” encontra-se opções como copiar e colar (e similares) e a opção “Preferências”, esse
menu encontra-se na figura 5.35.

Ao selecionar a opção “Preferências” abre-se a janela vista na na figura 5.36(a), cujas abas são explo-
radas nas imagens da figura 5.36.

A figura 5.36(a) configura as “Visões” do Nautilus (em modo padrão), se os arquivos serão ícones ou
listas, como é a organização dos arquivos (por nome, data, etc), e outras questões associadas a estética
dos arquivos e diretórios.

A figura 5.36(b) configura o “Comportamento”. Com quantos cliques um arquivo deve ser aberto?
Um ou dois? Sempre abrir os diretórios em janelas de um mesmo navegador ou cada diretório deve ser
aberto em uma nova janela? Se o arquivo é executável, qual o comportamento desejado ao clicar nele?
E como deve ser a integração entre a Lixeira e o Nautilus? Toda essas perguntas estão relacionadas à
hábitos muito pessoais, de forma que qualquer sugestão também é uma impressão pessoal.

A figura 5.36(c) configura algumas questões de exibição. Na prática é a aba menos utilizada. A aba
5.2. O gerenciador de arquivos 56

Figura 5.34: Nautilus com duas abas abertas.

Figura 5.35: Menu “Editar” do Nautilus.


5.2. O gerenciador de arquivos 57

(a) (b) (c)

(d) (e) (f)

Figura 5.36: Abas da opção “Preferências” do Nautilus.


5.2. O gerenciador de arquivos 58

na figura 5.36(d) também é pouco utilizada, sendo que esta configura as opções que são visíveis quando
os arquivos são listados em modo de “lista” (veja figura 5.37) e não de “ícones” (tal qual visto nas demais
figuras, como por exemplo, a figura 5.34) ou na compacta (veja figura 5.38).

Figura 5.37: Modo de “Visão em lista” do Nautilus.

A aba da figura 5.36(e) controla algumas configurações da visualização preliminar dos arquivos. Ha-
bilitar ou não habilitar essas configurações retarda ou acelera o processo de listagem dos arquivos. Isto
é algo imperceptível em uma máquina boa, mas pode ser muito lento em uma máquina antiga quando,
por exemplo, em um diretório com muitas imagens. Além disso, habilitar esse item significa manter um
pequeno cache da impressão visual dos arquivos em um diretório específico para essa função. Imagine
então se o arquivo ou a imagem for confidencial. Certamente não haveria o desejo de manter uma cópia
desse arquivos no sistema, ainda que de pequenas proporções. A configuração padrão oferece um bom
custo/benefício para a grande maioria dos usuários. Um exemplo do comportamento esperado é visto
nas figuras 5.39, 5.40 e 5.41, sendo respectivamente a pré-visualização com arquivos de imagem, imagem
e vídeo (o arquivo .ogv é o vídeo, o .ogg é arquivo de áudio) e arquivos pdf.

Por fim, concluindo a explicação da figura 5.36, temos a figura 5.36(f). Essa aba controla o que acontece
quando conecta-se/insere uma mídia externa no computador. A configuração padrão “Perguntar o que
fazer” é uma opção realmente inteligente, desde de que não exista hábitos muito fortes para forçar a uma
modificação imediata dessas configurações. Além de “Perguntar o que fazer” existe a opção de “Fazer
nada” ou de abrir algum programa específico, que pode ser o Nautilus (a fim de navegar pelos arquivos
da mídia) ou um programa que, por exemplo, toca um CD de áudio (no caso do “Áudio CD”).
5.2. O gerenciador de arquivos 59

Figura 5.38: Modo de “Visão compacta” do Nautilus.

Figura 5.39: Pré-visualização de imagens no Nautilus.


5.2. O gerenciador de arquivos 60

Figura 5.40: Pré-visualização de imagem e de vídeo no Nautilus. O arquivo de áudio somente é acionado
quando está selecionado.

Figura 5.41: Pré-visualização de documentos PDF. O PDF não é o único arquivo que possibilita esse tipo
de recurso.
5.2. O gerenciador de arquivos 61

Seguindo a exploração do menu do Nautilus, temos a figura 5.42, que apresenta o menu “Ver”. Além
dos modos de visão que já foram apresentados é possível adicionar ou remover elementos do gerenciador
de arquivos, com a barra de status, por exemplo, e “Mostrar os arquivos ocultos”, que são aqueles arquivos
cujo nome começa com um ponto (veja como fica o Nautilus com essa opção acionada na figura 5.43).

Figura 5.42: Opção “Ver” menu do Nautilus

Um detalhe que pode ser facilmente percebido pelas figuras 5.42 e 5.43 é a função da barra de status.
Note na figura 5.42 que a barra de status apresenta dicas sobre a ferramenta apontada pelo mouse no
menu. Enquanto a figura 5.43 ela menciona qual é a quantidade de arquivos naquele diretório e qual é o
espaço livre no sistema5 .

Voltando ao menu do Nautilus, observe na figura 5.44 o conteúdo da opção “Marcadores”. Nele é
possível editar e adicionar marcadores.

A figura 5.45 mostra o conteúdo da opção Abas. Trata-se de simples ferramentas para gerenciar várias
abas facilmente.

Note que nessa descrição de Menus, não foi apresentado o menu “Ir” isso é porque o seu conteúdo
envolve os elementos que são apresentados na barra de ferramentas (a barra que está entre o menu
5 Lembre-se que isso é uma sessão executada a partir do CD. O espaço disponível é a quantidade de memória RAM que
ainda está livre. No caso de sistemas instalados essa informação está associada ao espaço livre na partição do HD no qual
o diretório aberto está contido.
5.2. O gerenciador de arquivos 62

Figura 5.43: Exibindo os arquivos ocultos. Esses arquivos estão relacionados com as configurações dos
programas executados, incluindo o próprio GNOME

Figura 5.44: Opção “Marcadores” do menu do Nautilus.


5.2. O gerenciador de arquivos 63

Figura 5.45: Opção “Abas” do menu do Nautilus.

principal do Nautilus e a barra de localização).

Assim, clicando com o botão direito do mouse sob o ícone nomeado “Computador”, apresenta-se a
tela mostrada na figura 5.46 (com óbvias modificações entre configurações de computadores, como o
número de HDs/partições e de dispositivos). Nesse ambiente é possível acessar dispositivos de CD/DVD
e pendrives. Eles também será notados na barra lateral no modo “Locais” e no menu principal, em
“Locais”.

Figura 5.46: Exibindo o conteúdo de “Computador”, ícone na barra de ferramentas.

A figura 5.47 apresenta o aspecto da opção “Localizar” da mesma barra de ferramentas. Nessa figura,
5.2. O gerenciador de arquivos 64

foi feita uma pesquisa pela expressão “001” e obteve-se um único retorno. Essa pesquisa foi restrita ao
local “imagens”, ou desse diretório e em seus subdiretórios recursivamente.

Figura 5.47: Realizando buscas com o Nautilus.

É possível adicionar mais de um campo de restrição na pesquisa. Observe, na figura 5.47, no canto
direito da imagem, abaixo de “Visão em Ícones” está escrito “Recarregar” para refazer a pesquisa e existe
um sinal de soma. Clicando nesse sinal obtém-se o que está na figura 5.48. Portanto é possível adicionar
uma definição para o “Local” e para o “Tipo de Arquivo”, mas não apenas uma definição para cada item.
É possível pesquisar por imagens e documentos adicionando duas restrições por “Tipos de Arquivos” em
dois diretórios específicos (desconexos por hierarquia imediata) adicionando duas restrições de “Locais”.
Menciono duas restrições, mas na verdade podem ser tantas quantas forem desejadas.

Outra localização especial do Nautilus é o diretório virtual de “Rede” que pode ser vista na figura 5.49.
O acesso a esse diretório virtual é dado pela barra lateral no modo “Locais” ou através do menu no item “Ir”.
Esse diretório virtual localiza todos os computadores que compõem a rede interna. No caso, ele localizou
uma rede Windows, um computador chamado “galileu” (uma distribuição GNU/Linux com o samba
habilitado) e um compartilhamento em SFTP (na verdade, é o SSH, porém no modo de gerenciamento
de arquivos não existe acesso ao shell, logo, o SSH transforma-se em SFTP apenas). Nesse exemplo,
o serviço galileu não existe. Foi uma identificação errada do serviço que localizou galileu como se nele
existisse um servidor samba (implementação livre do protocolo de comunicação de redes utilizado pelo
Windows) em execução. Não existe. O acesso a essa rede Windows é demasiadamente simples, basta
clicar no ícone referente e tratá-lo como se ele fosse um diretório. Portanto, resta discutir como acessar
5.2. O gerenciador de arquivos 65

Figura 5.48: Realizando buscas com o Nautilus, recursos adicionais.

um computador por SFTP através dessa região.

Figura 5.49: Acesso a rede interna pelo Nautilus.

Primeiro clique no ícone que se apresenta. Se for a primeira vez, deve aparecer uma mensagem
informando que é a primeira conexão e pedindo confirmação para prosseguir. Aceite prosseguir. Em
5.2. O gerenciador de arquivos 66

seguida, aparecerá uma pequena caixa para a inclusão do login e da senha de acesso, como mostra a
figura 5.50. Preencha esses campos e selecione “Conectar”.

Figura 5.50: Requisição de login e senha para acesso a um computador compartilhado por SSH.

Note na figura 5.50 que é possível memorizar o login e senha para sempre, até o fim da sessão, ou seja,
até o usuário deslogar ou nunca memorizar, ou seja, esquecer a senha imediatamente. Recomenda-se que
não memorize a senha de forma permanente.

Observe na figura 5.51 o resultado desse acesso. Note, particularmente, a barra de localização. Ela
informa de maneira clara que se trata de um outro computador (note o stp:// no começo do endereço).
Note também que existe uma menção a essa conexão na barra lateral (em modo de “Locais”). É possível
desconectar esse login clicando com o botão direito nessa região e selecionando “Desmontar”, como mostra
a figura 5.52.

O último diretório virtual a ser mencionado é a “Lixeira”. Esse diretório pode ser visto na figura 5.53.
Caso exista algum arquivo na lixeira, pode-se clicar com o botão direito do mouse nele e selecionar
“Restaurar”. Para eliminar os arquivos definitivamente, pode-se usar o “Esvaziar lixeira”, que está no
canto superior direito da lixeira ou através do miniaplicativo que está no painel (no nosso caso, no painel
inferior ), conforme apresentado na figura 5.54. O acesso a esse menu é feito utilizando o botão esquerdo
do mouse.

É possível acessar várias funções de gerenciamento dos arquivos utilizando clicando no arquivo com
o botão direito do mouse. Ao clicar com o botão direito do mouse sobre um diretório observa-se um
5.2. O gerenciador de arquivos 67

Figura 5.51: Diretório raiz do computador galileu, compartilhado por SSH.

Figura 5.52: Desconectando o acesso ao computador galileu


5.2. O gerenciador de arquivos 68

Figura 5.53: Lixeira vista do Nautilus

Figura 5.54: Limpando a lixeira pelo mini aplicativo do painel


5.2. O gerenciador de arquivos 69

menu similar ao apresentado na figura 5.55 (difere-se com relação aos programas que estejam instalados
no GNOME). A maior parte das funções são bem conhecidas dos usuários de computador, “Abrir”,
“Copiar”, “Colar”, “Renomear”, “Propriedades”, “Abrir com outro aplicativo...” (que também é encontrado
como “Abrir com...”) e “Mover para a lixeira” (também conhecido como “delete”). O item “Opções de
compartilhamento” consiste em com compartilhar o diretório na rede. Compartilhar algo no GNU/Linux
exige a instalação de um servidor de arquivos (nesse caso, o “samba” que uma versão livre do protocolo
de redes utilizado pelo Windows). O item “Criar pacote...” consiste em criar um arquivo compactado
(um .zip, por exemplo, muito embora no GNU/Linux sejam mais populares os formatos .tar.gz e
.tar.bz2). O item “Criar link” consiste em criar um atalho para aquele item. Os itens “Criptografar”
e “Assinar” estão relacionados a segurança pessoal do usuário (por exemplo, para quem quer esconder
alguma coisa do root). E o item “Enviar para...” serve para enviar o arquivo por e-mail, mensagem
instantânea, etc.

Ao clicar com o botão direito do mouse sobre um aquivo comum, encontra-se um menu similar ao
apresentado na figura 5.56 (difere-se com relação ao tipo de arquivo que foi selecionado). Em princípio
o menu é o mesmo apresentado na figura 5.55, as diferenças estão associadas ao tipo de arquivo que
foi selecionado. Nesse exemplo, usa-se uma imagem, logo, a opção padrão para abrir a imagem é a
visualização. Também existem programas pré-configurados no “Abrir com”, como o GIMP, o Firefox e o
F-Spot (esses programas serão apresentados no próximo capítulo).

A ação de copiar certos arquivos e diretórios selecionados do diretório /usr/share/example-content


para /home/ubuntu/Documentos é registrada na figura 5.57.

Ao selecionar a opção “Propriedades” que surge quando clica-se com o botão direito do mouse, surgem
duas possibilidades distintas. A primeira é quando a ação é executada após selecionar um único aquivo.
Essa situação é apresentada na figura 5.58.

A figura 5.58(a) apresenta a primeira aba da janela que contém o nome (que inclusive pode ser
modificado) e as informações de quando foi acessado e modificado pela última vez, localização, o tipo e
o tamanho do arquivo. No caso de um diretório, ao invés do tamanho do arquivo aparecem informações
sobre o número e o tamanho total dos arquivos que o diretório contém.

A figura 5.58(b), contém informações sobre o dono e as propriedades do arquivo (quem pode ler,
escrever e/ou executar o arquivo6 ).

A figura 5.58(c) contém a lista de programas que pode abrir aquele arquivo. É a lista que surge quando
selecionamos “Abrir com...” desde que exista mais de dois itens nessa lista (até dois itens, o “Abrir com...”
não é usado como o apresentado na figura 5.56). Também é nessa região que se define qual é o aplicativo
padrão que é aberto, ou seja, quando se clica duas vezes7 no arquivo com o botão esquerdo do mouse.
6 Note que a tela que a figura 5.58(b) seria a mesma que é apresentada na figura 3.1. De fato, é a mesma figura, porém
na figura 3.1 foi habilitado o modo avançado de edição de propriedades, algo didático ao explicar as permissões de arquivos,
mas nem tanto ao realizar a modificação em si.
7 Lembrando que isso é uma configuração realizada pelo usuário. No modo padrão do GNOME do Ubuntu, usam-se dois
5.2. O gerenciador de arquivos 70

Figura 5.55: Menu acessível com o botão direito do mouse sob um diretório.
5.3. Opções de configuração do GNOME através do Ubuntu 71

Figura 5.56: Menu acessível com o botão direito do mouse sob um arquivo comum (com exemplo, um
arquivo de imagem).

Nesse exemplo, existe apenas um aplicativo, portanto, esse é o aplicativo padrão, mas percebe-se que ele
está selecionado. A figura 5.59 apresenta um exemplo que possuí duas opções.

Por fim, a figura 5.58(d) apresenta a última aba da caixa de propriedades que é uma região que
permite adicionar notas pessoais sobre o arquivo.

5.3 Opções de configuração do GNOME através do Ubuntu

Antes de prosseguir, é necessário definir o que são as opções de configuração do GNOME. Define-se, nesse
texto, opções do GNOME como tudo aquilo que pode afetar o visual ou o funcionamento do GNOME por
ele mesmo (ou seja, excluindo-se programas modificadores do comportamento). A expressão “através do
Ubuntu” serve para destacar que existem outras opções, mas isso não significa que elas estejam instaladas.

Outro ponto é que algumas configurações são intrínsecas da administração do sistema, ou seja, são
tarefas do administrador. Nesse ponto do texto, as configurações abordadas estão associadas as ações de
usuários comuns para usuários comuns.

Todas as opções podem ser acessadas através do item “Sistema” do menu principal (vide figura 5.10).

A primeira configuração a ser ajustada é a aparência do GNOME. Selecionado a partir do menu


principal, “Sistema” >> “Preferências” >> “Aparência”, obtém-se a janela da figura 5.60. A primeira aba
cliques, em outras distribuições ou após a modificação do usuário, pode ser apenas um clique.
5.3. Opções de configuração do GNOME através do Ubuntu 72

(a) (b)

(c)

Figura 5.57: Copiando arquivos de um diretório para o outro.


5.3. Opções de configuração do GNOME através do Ubuntu 73

(a) (b)

(c) (d)

Figura 5.58: Propriedades de um único arquivo.


5.3. Opções de configuração do GNOME através do Ubuntu 74

Figura 5.59: Configurando o aplicativo preferencial para abrir um certo arquivo.


5.3. Opções de configuração do GNOME através do Ubuntu 75

dessa janela consiste na seleção do tema. Para trocar o tema, basta selecionar qualquer um da lista (cujos
previews estão nessa janela), onde a troca ocorre instantaneamente e possibilita avaliar se deseja manter
ou não o tema. Um exemplo é apresentado na figura 5.61. É possível personalizar o tema selecionando
“Personalizar...”, dessa forma, é possível criar um novo tema pela combinação dos vários elementos de
cada tema já instalado. Ou seja, ícones de um tema, formato de janela de outro tema e cor de um terceiro
e assim sucessivamente.

Figura 5.60: Configurando a Aparência do GNOME.

A aba seguinte desse mesmo aplicativo configura a figura do plano fundo (conhecido como papel de
parede) do computador, o que pode ser visto na figura 5.62. Seu uso é bem intuitivo e é fácil adicionar um
novo papel de parede selecionando “Adicionar”. Para trocar o papel de parede basta selecionar a imagem
desejada.

A figura 5.63 mostra a aba seguinte que configura as fontes que são utilizadas no sistema. Antes de
fazer qualquer modificação anote quais são as fontes utilizadas e qual o tamanho. É muito fácil selecionar
uma configuração (combinação de fonte e tamanho) que fica visualmente desagradável. Nota especial
para a renderização. Muitos diriam que a utilização de uma renderização específica depende do gosto
do usuário. Até é verdade, mas seguir a recomendação para monitores LCDs (“Suavização de subpixel”)
tende a produzir o melhor aspecto para esses monitores.
5.3. Opções de configuração do GNOME através do Ubuntu 76

Figura 5.61: Experimentando novos temas.

Figura 5.62: Configurando o papel de parede.


5.3. Opções de configuração do GNOME através do Ubuntu 77

Figura 5.63: Configurando a fonte.

A tela seguinte representa a configuração da interface. Na figura 5.64 é possível perceber que essa
tela possui poucas configurações. A configuração mais interessante é o “Rótulo dos botões na barra de
ferramentas”. Por exemplo, a figura 5.65 mostra como fica o Nautilus se, ao invés de “Texto abaixo dos
ícones”, for selecionado “Apenas ícones” (figura 5.66).

Contudo, o Nautilus não é o único programa afetado por essa configuração Todo programa que utiliza
o GTK é alterado em concordância com essa configuração (tal qual nas outras abas).

Por fim, temos a aba que habilita os efeitos visuais (figura 5.67). Embora muito elegantes e bonitos,
nem sempre são uma opção inteligente e requer uma placa de vídeo 3D adequadamente instalada.

Uma das principais questões de uma interface gráfica consiste em estabelecer o que se chama de
comportamento padrão. Por exemplo, quando um programa solicita abrir o navegador, ele pergunta
à interface gráfica qual é o navegador padrão. Isso é diferente de definir qual é o aplicativo que deve
ser aberto ao clicar em um certo arquivo. O programa “Aplicativos preferenciais”, visível na figura 5.68
e acessível em “Sistema” >> “Preferências” >> “Aplicativos preferenciais”, permite definir quais são os
aplicativos “padrão”. É interessante que o usuário deixe para realizar esse tipo de configuração quando
tiver formado uma opinião sobre os aplicativos equivalentes. Cada distribuição tende a ter sua própria
coletânea de aplicativos preferenciais.
5.3. Opções de configuração do GNOME através do Ubuntu 78

Figura 5.64: Configurando a interface.

Figura 5.65: Resultado da configuração de interface sob Nautilus.


5.3. Opções de configuração do GNOME através do Ubuntu 79

Figura 5.66: Selecionando “Apenas Ícones” na configuração dos “botões da barra de ferramentas”. Observe
o preview da opção selecionada.
5.3. Opções de configuração do GNOME através do Ubuntu 80

Figura 5.67: Configurando os efeitos visuais.

Figura 5.68: Configurando os aplicativos preferenciais.


5.3. Opções de configuração do GNOME através do Ubuntu 81

Outra questão está associado aos atalhos de teclado. Por exemplo, ao digitar ALT+F2 abre-se uma
caixa para executar aplicativos (esse atalho é muito utilizado pelos tutoriais encontrados na internet).
Para personalizar esses atalhos, utilize o aplicativo “Atalhos de teclado” que encontra-se em “Sistema”
>> “Preferências” e cuja imagem pode ser vista na figura 5.69. É possível, inclusive, criar novos atalhos.
Caso queira utilizar a tecla “windows” do teclado, refira-se a ela como MOD4.

Figura 5.69: Configurando os atalhos de teclado.

Em “Menu Principal” encontrado em “Sistema” >> “Preferências”, aciona-se o programa conhecido


como “Alacarte”. Nele é possível editar o que aparece no menu principal do GNOME (figure 5.70).

Em “Sistema” >> “Preferências” >> “Mouse” (figura 5.71) é possível configurar o mouse, ajustando a
orientação (para destros ou canhotos) a velocidade de deslocamento, o rastro, a sensibilidade, etc. Além
disso, é possível configurar opções de acessibilidade, para quem, por exemplo, deseja manipular o mouse
a partir das teclas de navegação do teclado.

Na figura 5.72 observa-se o aplicativo de configuração do teclado, acessível em “Sistema” >> “Preferên-
cias” >> “Teclado”. Nele configura-se o teclado do usuário no GNOME. Não é o mesmo que configurar o
teclado para o sistema inteiro (todos os usuários, terminal e outras interfaces gráficas). A principal tela de
configuração é apresentada na figura 5.72(b), embora, para algumas pessoas pode ser muito importante
configurar a sensibilidade e o intervalo de digitação, que se não estiver corretamente ajustado pode fazer
com que qualquer pequeno toque no teclado faça surgir inúmeros caracteres no texto.

A figura 5.73 apresenta o aplicativo acessível em “Sistema” >> “Preferências” >> “Proteção de Tela”,
que permite configurar a proteção de tela. Qual a proteção de tela, intervalo para acionar a proteção e se
deseja ou não que ela trave a tela quando for ativa, além da configuração particular que cada proteção de
tela pode ter. Atenção especial ao configurar algumas proteções de tela que requerem a biblioteca GLX
5.3. Opções de configuração do GNOME através do Ubuntu 82

Figura 5.70: Configurando o menu.

ativa, ou seja, que requer aceleração 3D da placa de vídeo instalada. É fácil perceber esse tipo de proteção
de tela, pois ela fica muito lenta quando roda em um sistema que não possua recursos necessários.

A figura 5.74 mostra uma imagem do aplicativo acessível em “Sistema” >> “Preferências” >> “Vídeo”.
Esse aplicativo permite configurar o vídeo do computador8 .

Um aplicativo importante para o bom uso do computador é o Monitor do sistema, acessível em


“Sistema” >> “Administração” >> “Monitor do sistema”. Esse aplicativo permite acompanhar o uso do
computador (recursos de CPU, memória, rede e HD) (figuras 5.75 e 5.76), lista e permite terminar de
forma forçada os aplicativos que estão em execução no sistema (figuras 5.77), além de fornecer informações
sobre a máquina (figura 5.70).

Também é possível ajustar a data e a hora com o aplicativo “Sistema” >> “Administração” >> “Data e
hora”. Observa-se esse aplicativo na figura 5.79. É importante que apenas modifique a hora após acertar
o fuso horário.

Muitas vezes o relógio do sistema está errado, mas não é o relógio que está errado, é o fuso horário.
Para corrigir a configuração do fuso horário, clique na opção “Fuso horário” da figura 5.79, e aparecerá a
tela da figura 5.80. O horário oficial de Brasília é o horário de “Sao_Paulo” nas distribuições GNU/Linux.
8A máquina que rodou esse sistema não possui recursos de vídeos satisfatórios, por isso, a “Taxa de renovação” com valor
zero.
5.3. Opções de configuração do GNOME através do Ubuntu 83

Figura 5.71: Ajustando as configurações de mouse.


5.3. Opções de configuração do GNOME através do Ubuntu 84

(a) (b)

Figura 5.72: Configurando as preferências do teclado.

Figura 5.73: Definindo o protetor de tela.


5.3. Opções de configuração do GNOME através do Ubuntu 85

Figura 5.74: Ajustando as configurações de vídeo.


5.3. Opções de configuração do GNOME através do Ubuntu 86

Figura 5.75: Monitorando os recursos de forma gráfica.

Figura 5.76: Exibindo o espaço em HD.


5.3. Opções de configuração do GNOME através do Ubuntu 87

(a)

(b)

Figura 5.77: Listando e terminando processos ativos no computador.


5.3. Opções de configuração do GNOME através do Ubuntu 88

Figura 5.78: Aba “sistema”, fornece informações sobre o sistema e a máquina.


5.4. Conclusão 89

Figura 5.79: Configurando a “data e a hora”.

5.4 Conclusão

O GNOME tende a oferecer uma experiência agradável ao usuário iniciante. Sua interface limpa é
considerado o principal ponto favorável a essa interface. De fato, nesse texto foram apresentadas todas as
principais características do GNOME e seus principais programas de configuração não administrativos.

O que não foi escrito são os recursos avançados de edição de configurações, a forma de realizar funções
administrativas do “jeito” GNOME e os aplicativos propriamente dito. Uma visão geral informativa de
alguns dos principais aplicativos será apresentado em um capítulo seguinte. Em seguida, será apresentado
um guia de sobrevivência e após uma introdução ao terminal de comando, volta-se a avaliar as principais
questões de administração, onde o “jeito” GNOME realizar as funções administrativas mais importantes
para um usuário será descrito.
5.4. Conclusão 90

Figura 5.80: Ajuste do fuso horário do computador.


Capítulo 6

O KDE

O KDE é uma interface gráfica que utiliza o QT, uma caixa de ferramentas para criação de interfaces.
Esse detalhe técnico é interessante, pois quando se menciona “ajustar a configuração visual do KDE”, na
prática significa ajustar a configuração visual do QT. Isso significa que todo aplicativo que não utilizar o
QT pode exigir uma configuração adicional com outro aplicativo (a exemplo dos aplicativos que utilizam
o GTK+, o concorrente do QT que é utilizado pelo GNOME e seus aplicativos)1 .

O KDE 4 possuí uma visual extremamente elegante. Logo após a inicialização do Kubuntu, observa-se
a tela da figura 6.1.

Observe no canto superior esquerdo uma região mais escura que contém dois ícones. No painel inferior
é possível ver miniaplicativo para hora, menu, rede, som, entre outros. Os conceitos de miniaplicativo
de painel introduzidos em detalhes no capítulo anterior são aplicáveis no KDE, embora existem outros
miniaplicativos (os “Olhos” também podem ser adicionados no KDE). A configuração padrão do KDE
contém um único painel, mas nada impede que seja adicionado outros.

Uma visão geral do menu pode ser obtida na figura 6.2. Ele composto por abas, onde cada aba
possui funções específicas. Na aba inicial têm-se os programas “favoritos”, que são os programas que os
desenvolvedores do Kubuntu consideram mais importantes.

A figura 6.3 apresenta a segunda aba, onde os programas são divididos em categorias definidas pelas
suas funções. Clicando em uma categoria, por exemplo, “Multimedia” o menu muda para o que é visto
na figura 6.3(b). Para voltar ao menu anterior, clique com o botão esquerdo do mouse na região que
ficou destacada em azul2 , no extremo esquerdo da figura. Esse menu pode ser um pouco confuso para os
usuários que originam-se de outros sistemas operacionais, mas nada como um pouco de insistência para
1 Note que esse texto é um espelho do texto introdutório do GNOME. Não poderia ser diferente, visto que são interfaces
concorrentes e equivalentes.
2 Ela estava nessa cor porque o mouse estava sobre ela.

91
92

Figura 6.1: Visão do KDE ao iniciá-lo.

Figura 6.2: O menu padrão do KDE 4.


6.1. O gerenciador de arquivos 93

superar essa pequena barreira.

(a) (b)

Figura 6.3: Aba “Aplicativos” do menu do KDE 4.

6.1 O gerenciador de arquivos

Anteriormente o Konqueror era o gerenciador de arquivos padrão do KDE. Hoje, utiliza-se o Dolphin e
o Konqueror foi categorizado com um navegador para internet apenas. Digo “categorizado” porque na
prática ele não perdeu recursos. Veja na figura 6.4 que ele pode tanto servir de navegador de internet,
quanto de gerenciador de arquivos e pode executar as duas funções ao mesmo tempo.

O Dolphin é apresentado em sua forma básica na figura 6.5. Ele é acessível através do menu na aba
“Favoritos” (vide figura 6.2).

Uma particularidade do KDE é que ele possui um significativo número de opções de configuração.
Vê-se na figura 6.5 que só ela contém a barra de ferramentas, o menu, uma barra lateral com os locais
no lado esquerdo e uma barra lateral com informações sobre o arquivo/diretório do lado direito. Mas
isso é o básico. A figura 6.6 contém o mesmo programa com uma coleção significativa de opções ativas,
onde percebe-se a árvore de navegação dos diretórios, o terminal na parte inferior da tela, duas áreas do
diretório (poderiam ser três), sendo que uma dessas áreas foi configurada para ter o barra de localização
6.1. O gerenciador de arquivos 94

Figura 6.4: O Konqueror, o navegador de internet multifunções.

Figura 6.5: O Dolphin, o atual gerenciador de arquivos do KDE.


6.1. O gerenciador de arquivos 95

de forma que seja possível ler o nome do diretório de forma completa, e na outra área é utilizado o
estilo de botões. Veja também, na parte de baixo da área da direita que existe um “Filtro” que permite
escolher qual o conteúdo deseja-se ver naquela região (esse filtro pode ser utilizado nas duas áreas, se
desejado). O KDE também permite que a barra de ferramentas seja completamente configurada, de
forma que qualquer comando pode ser colocado na barra de ferramentas e, inclusive, os ícones podem ser
modificados livremente.

Figura 6.6: O Dolphin em um modo mais completo.

Não deve ser difícil perceber que é mais demorado configurar o KDE do que configurar o GNOME.
Muitos críticos do KDE consideram essa grande quantidade de opções como um problema, pois impõem
limitações entre o usuário e o sistema. O defensores do KDE afirmam que ninguém necessita realizar
qualquer modificação de configuração para o uso do computador e que os recursos de configuração estão ali
para quem quer otimizar sua produtividade. É um consenso, entretanto, que o número de opções requer
meticulosa e detalhada avaliação por parte do usuário, que não tem como adivinhar qual é a melhor
solução que lhe agrada antes de começar a utilizar o sistema. Aqueles que optarem pelo KDE devem ser
criteriosos quanto à ativação ou desativação de recursos, lembrando que existe um tempo necessário para
que o indivíduo adapte-se a uma certa configuração e que a troca sucessiva e descontrolada do layout
do sistema não permitirá essa adaptação. Se é um conselho útil para o usuário experiente, torna-se
fundamental para o novato.
6.2. Configurando o KDE 96

6.2 Configurando o KDE

Apesar das inúmeras opções de configuração existentes no KDE, quase todas estão resumidas em uma
única interface3 , visível na figura 6.7.

Figura 6.7: Central de configuração do KDE.

Nessa interface (seja na guia geral ou na guia de recursos avançados) é possível fazer de tudo. Editar
tema, configurar data e hora do sistema, configurar aplicativos preferências e os aplicativos associados
a cada tipo de arquivo. O universo de opções é extraordinário. Os conceitos fundamentais descrito no
GNOME, se mantém, mas o número de ajustes aumenta muito.

6.3 Conclusão

O KDE é uma interface muito poderosa. Todos os recursos, básicos ou avançados, estão acessíveis a quem
desejar. A liberdade de configuração se manifesta no seu máximo. Mas o KDE passa por uma fase ruim.

Ainda na versão 9.04 do Kubuntu é possível ver mensagens com a representada pela figura 6.8. Essa
fase está terminando. Esses bugs estão diminuindo cada vez mais, mas ainda existem. Não faz parte
da filosofia do GNU/Linux esconder problemas, pelo contrário, divulga-se ao máximo para otimizar a
resposta de uma solução.
3 Uma curiosidade, o openSUSE e a Mandriva adotaram esse tipo de filosofia para suas distribuições. Nelas é possível
encontrar um aplicativo que centraliza as chamadas de configuração em geral, que rodam tanto no KDE, quanto no GNOME.
6.3. Conclusão 97

Figura 6.8: Um bug comum, de uma fase que está terminando no KDE.

Acredita-se, sem falsa ideologia, que a versão do KDE que estará no Kubuntu 9.10 seja realmente
estável e usável sem que seja observado qualquer tipo de problema.

Quanto a isso também é interessante observar que muitas distribuições que possuem um ciclo de
vida menor ainda disponibilizam o KDE 3.x para a instalação oficial. Isso serve para que as pessoas
que necessitam de trabalhar em um computador estável tenham acesso a essa estabilidade. O mesmo
acontecerá quando o GNOME for para a versão 3 em 2010 (embora espere-se que não exista tantos
problemas nessa migração quanto os que aconteceram na virada do KDE 3 para o 4).
Capítulo 7

Os Programas do GNU/Linux

A liberdade é o maior benefício do código livre. Entre outras coisas, promove o surgimento de inúmeros
programas que possuem a mesma finalidade. Abaixo serão listados alguns dos principais aplicativos
utilizados no GNU/Linux, mas nem de perto chega a ser uma lista completa ou unânime entre os usuários.

Aqui é feita uma escolha de limitar os programas existentes para certas funcionalidades, evitando que o
usuário iniciante sinta-se perdido em meio a um número muito alto de opções. É altamente recomendado
que, com o passar do tempo, o usuário experimente as opções existentes para criar sua própria lista de
aplicativos prediletos.

Os programas foram divididos em categorias baseadas por funcionalidades que não envolvem aplica-
tivos para a administração do sistema (esses serão vistos adiante). Todos os aplicativos apresentados
serão acompanhados pelo seu endereço na internet. Sendo assim, para maiores esclarecimentos sobre
os recursos de cada um (e até para visualização do programa, para os que não acompanharem figuras)
recomenda-se uma visita às páginas listadas.

Outro ponto é que nem todos os aplicativos que são mencionados nesse texto estão instalados no
sistema padrão do Ubuntu/Kubuntu. Alguns devem ser instalados posteriormente. A instalação de
programas será apresentado adiante.

7.1 Criar, Editar e Ler Documentos

Existem diversos tipos de documentos de texto. Alguns são apenas texto puro e outros produtos gerados
por editores de textos proprietários. Essa seção introduz os principais programa para edição e visualização
de documentos.

98
7.1. Criar, Editar e Ler Documentos 99

7.1.1 Edição de Arquivo Texto Padrão

O arquivo de texto padrão contém apenas texto e são, usualmente, arquivos com extensão .txt. Contudo,
a extensão nesse caso aplica-se mais como um diferencial dispensável do que como uma definição do tipo
de arquivo. São arquivos textos aqueles que contém texto, independente da extensão que possua. Quase
todos os arquivos de configuração do sistema são arquivos textos e muitos deles sequer possuem extensão,
enquanto outros usam .conf. Um tipo de arquivo texto muito comum é o README, que contém informações
que devem ser lidas pelo usuários.

Quase todos os editores de textos abrem esse tipo de arquivo básico e existem inúmeros programas
nessa categoria. Há três programas gráficos que se destacam em meio aos demais.

No GNOME têm-se o gedit1 . Esse pequeno programa de texto também é muito utilizado para criar e
editar código fonte em quase todas as linguagens existentes (com aplicação de cores ao reconhecer o código
fonte), sejam elas de programação ou de marcação2 . A figura 7.1 apresenta o gedit. Note na figura 7.1(a)
que ele reconhece sintaxe de programação. A figura 7.1(b) denota sua capacidade em realizar verificação
ortográfica, a figura 7.1(c) é tela de preferência do gedit, acessível a partir do menu “Editar”. Destaque
ainda para os plugins, visíveis na figura 7.1(d), e que acrescentam inúmeros recursos ao gedit.

Para o KDE seu equivalente é o Kate3 . Ele possui as mesmas qualificações descritas para o gedit,
embora seja visualmente diferente e tenha um interface com mais recursos à vista (seguindo a filosofia do
KDE). Veja a figura 7.2.

7.1.2 Edição de Documentos Formatados

Esses documentos não são texto puro. O documento de texto desse tipo mais famoso é o .doc/.docx,
gerado pelo Microsoft Word. O .doc é um formato de documento não livre. Portanto, toda a implemen-
tação que é utilizada para ler/editar esse tipo de documento foi obtida através de engenharia reversa. O
que não permite assegurar sua compatibilidade plena com um editor que não seja o Microsoft Word.

No GNU/Linux, o tipo de documento formatado mais comum é o .odt (OpenDocument Text) que é
compatível com as principais suítes de escritório do GNU/Linux, das quais destacam-se o OpenOffice4
(figura 7.3) e o Koffice5 . O fato é que o OpenOffice é a principal suíte de escritórios do mundo livre
e o Koffice é apenas um coadjuvante (mesmo para quem vai usar apenas o KDE), assim como são as
demais suítes que existem. O que não impede que alguém utilize o Koffice, ou outro editor, no lugar do
1 gedit - http://projects.gnome.org/gedit/
2A linguagem de marcação é um tipo de linguagem que permite escrever textos formatados a partir de texto puro. O
exemplo mais popular é o LATEX.
3 Kate - http://kate-editor.org/
4 OpenOffice - http://www.openoffice.org
5 Koffice - http://www.koffice.org
7.1. Criar, Editar e Ler Documentos 100

(a) (b)

(c) (d)

Figura 7.1: gedit, o editor de textos do GNOME.


7.1. Criar, Editar e Ler Documentos 101

Figura 7.2: Kate, o editor de textos do KDE.

OpenOffice. Ambas as suítes possuem compatibilidade com o .doc, mas infelizmente essa compatibilidade
não é tão perfeita. Existe problemas com formulários e com a importação de fórmulas matemáticas.

As duas suítes permitem editar fórmulas matemáticas, veja a figura 7.4 para o caso do OpenOffice.
Contudo, ao abrir o editor de fórmulas matemáticas, percebe-se grandes diferenças entre o editor do
Microsoft Word e o das suítes livres. Há quem diga que essas fórmulas são feias e esse editores do
OpenOffice e do Koffice são fracos nesse ponto. Não é muito difícil concordar com essa frase, mas
também é possível dizer o mesmo do Microsoft Word quando comparado com as fórmulas matemáticas
do LATEX.

Devido a questões de registro no Brasil, o OpenOffice teve de adotar outro nome e é conhecido como
BrOffice6 . Tanto o site oficial internacional quanto o Brasileiro possuem uma vasta quantidade de
informações sobre como usar o programa.

7.1.3 Editores de LATEX

O LATEXé uma linguagem de marcação utilizada para escrever documentos formatados muito utilizada
pelo meio acadêmico (embora não exista motivo para considerá-la limitada a textos científicos). Portanto,
sua edição pode ser feita com qualquer programa que edite texto puro (como o gedit e Kate, por exemplo).
6 BrOffice - http://www.broffice.org/
7.1. Criar, Editar e Ler Documentos 102

Figura 7.3: OpenOffice, esse texto sofreu alteração na direção da página.

Figura 7.4: OpenOffice.


7.1. Criar, Editar e Ler Documentos 103

O problema surge quando percebe-se que, para utilizar um editor de texto puro, é necessário conhecer
uma grande quantidade de comandos.

Na verdade, o gedit possui um plugin7 , desenvolvido por terceiros, que permite fazer essa edição com
a ajuda de diferentes recursos no documento. Contudo, seu desenvolvimento ainda não está tão estável.
O gedit também permite que sejam criados comandos que inserem pedaços de código no texto que está
sendo escrito. Isso diminui muito o trabalho com o código, mas o comando deve ser personalizado
e isso representa um grande trabalho de configuração que dificilmente irá incluir todos os comandos
LATEXexistentes. Esse plugin está disponível na nova versão do Ubuntu através dos repositórios oficiais.

Para contornar essa questão com pouco esforço, é necessário que utilize-se uma IDE (Integrated
Development Environment) compatível com o LATEX. A IDE mais desenvolvida com essa finalidade é o
Kile8 (figura 7.5). O Kile é um programa KDE, mas mesmo quem utilize o GNOME terá de utilizar o
Kile caso deseje uma rica interface visual para escrever em LATEX. A outra opção é escrever em LATEXsem
utilizar um ambiente de desenvolvimento integrado.

Figura 7.5: Kile, versão KDE 3.

O Kile recentemente ganhou uma versão para o KDE 4, que pode ser observada na figura 7.6.

Infelizmente, não há como apresentar a linguagem LATEX nesse texto, mas o Apêndice G fornece links
para acesso a guias completos de como escrever em LATEX.
7 LaTeX para o gedit - http://live.gnome.org/Gedit/LaTeXPlugin
8 Kile - http://kile.sourceforge.net/
7.1. Criar, Editar e Ler Documentos 104

Figura 7.6: Kile, versão KDE 4.

O código LATEX, quando compilado, gera um PDF (também pode gerar um PostScript, mas eles
possuem muitos megabytes a mais do que o PDF).

7.1.4 Visualização e Edição de PostScript e PDF, entre outros

O PDF (Portable Document Format) é um formato de arquivo livre criado pela Adobe Systems em
1993 para permitir representar um documento de forma independente do sistema operacional, software
ou hardware utilizado para criá-los. Contudo, apenas em 2008 a organização de padrões internacionais
reconheceu o PDF como formato padrão.

O PostScript é ainda mais antigo. Data de 1983 e foi criado como uma linguagem de marcação. Foi
um tipo de arquivo popular antes de criarem o PDF e ainda é muito utilizado em alguns meios.

O programa mais utilizado para visualizar PDF é o Adobe Reader9 . Ele é um programa gratuito
criado pela Adobe Systems, mas não é código livre. Questões filosóficas sempre interpõem-se entre esse
programa ele o seu uso no GNU/Linux. Basicamente, uma distribuição GNU/Linux não pode distribuí-lo
com o seu conjunto de programas por conta das questões de licença. A questão principal aqui é que o
Adobe Reader é o único aplicativo compatível com todas as versões de PDF existentes.
9 Adobe Reader - http://www.adobe.com/br/products/reader/
7.1. Criar, Editar e Ler Documentos 105

Dos programas livres, temos o Evince10 (figura 7.7). Um excelente visualizador de PDFs para o
GNOME, que não lê apenas PDFs. Ele lê PostSripts (.ps), DVI (.dvi), DJVU (.djvu) entre outros
formatos de arquivo da mesma categoria.

Figura 7.7: Evince, leitor de arquivos digitais, PDF inclusive.

No KDE, o equivalente ao Evince é o Okular11 . Esse aplicativo é novo e ainda convive com o KPDF,
entre outros, em uma mesma distribuição (dependendo da versão do KDE da distribuição, ele não estará
disponível, sendo o KPDF o leitor padrão). A grande diferença entre o KPDF e o Okular é que o primeiro
é um leitor de PDFs, enquanto o segundo segue a filosofia do Evince em agregar diversos formatos de
arquivos como o PostScript, DVI, etc.

Curiosamente, quem utilizar o Kile 2.0 terá de ter o KPDF, KGhostView (para visualizar PostScrit) e
o KDVI (para visualizar arquivo DVI). É possível modificar esse comportamento para que esse aplicativo
utilize o Okular ou mesmo o Evince. Algumas distribuições já efeturam essa modificação, enquanto outras
não. O Kile 2.1 usa o Okular como aplicativo padrão na maioria das distribuições que o contém. De
qualquer forma não é nada que o usuário precise se preocupar, pois ao instalar o Kile todos os aplicativos
necessários para o seu funcionamento serão instalados, apenas o Adobe Reader (que é um aplicativo
recomendado, mas não obrigatório) não será instalado.

Para editar um PDF, pode-se utilizar o PDFedit12 , que é o programa que mais se aproxima do
10 Evince- http://projects.gnome.org/evince/
11 Okular- http://okular.kde.org
12 PDFedit - http://pdfedit.petricek.net/index_e.html
7.1. Criar, Editar e Ler Documentos 106

programa proprietário e pago Adobe Write13 .

Também é possível editar o PDF com o Kwrite (um dos programas da suíte Koffice). Mas não é uma
solução tão elegante quanto o PDFEdit.

Outras opções seriam converter o arquivo PDF para inúmeros arquivos de imagens (um para cada
página do PDF) e depois editar as imagens (seria até possível editar imagens em lote, caso deseje).
Embora essa não seja a alternativa mais confortável (especialmente porque o texto não é mais texto e
sim imagem), é uma alternativa que sempre funciona14 .

Um outro tipo de arquivo comum entre o meio acadêmico é o Microsoft Compiled HTML Help (.chm).
Apesar de ser um formato de arquivo originalmente criado para abrir arquivo de ajuda do Windows, ele
é hoje muito utilizado na distribuição de documentação pela internet. Para visualizá-lo, pode-se utilizar
o Okular ou ChmSee15 . Existem outros, mas esses são os mais populares hoje.

7.1.5 Edição de Planilhas

As suítes de escritórios OpenOffice e o Koffice também possuem o editor de Planilhas. E novamente


o Koffice é menos utilizado pela comunidade. O OpenOffice possui uma excelente compatibilidade com
o formato proprietário .xls (do Microsoft Excel), salvo recursos avançados de soluções implícitas e
implementação em visual basic que não são utilizados pela grande maioria dos usuários (o OpenOffice
tem recursos alternativos, mas não consegue traduzir isso do .xls para o seu formato). A figura 7.8
mostra o editor de planilhas do OpenOffice editando um arquivo .xls.

O formato padrão de planilhas do OpenOffice é o .ods (OpenDocument Spreadsheet).

7.1.6 Edição de Apresentações

As mesmas suítes de escritório apresentadas também possuem seu editor de apresentações. E novamente
o OpenOffice destaca-se entre os usuários.

Sua compatibilidade com o formato .ppt é boa, embora também exista alguns problemas de conversão
(por exemplo, com equações matemáticas). Criar uma apresentação com o OpenOffice é mais interessante
do que criar uma apresentação em Koffice. O motivo principal está associado ao fato de existir uma versão
portável16 para o OpenOffice, o que permite transportar o arquivo de apresentação e editá-lo em qualquer
13 Lembre-se, é possível utilizar um programa Windows no GNU/Linux, mas é algo que ninguém deseja como primeira
opção.
14 Note que apesar do PDF ser um formato livre, ele sofreu algumas modificações antes de atingir a maturidade em 2008.

Os arquivos legados são um problema que existe.


15 ChmSee - http://chmsee.gro.clinux.org, essa página está escrita em uma língua oriental.
16 Versão portável é uma versão que funciona a partir de um pendrive.
7.1. Criar, Editar e Ler Documentos 107

Figura 7.8: Editor de planilhas do OpenOffice.

lugar, mesmo que não exista o OpenOffice instalado na máquina.

Não é incomum que, quem utilize programa livre para criar imagens e não tenha qualquer efeito
especial em suas apresentações, exporte o arquivo de apresentação para o formato PDF. Isso assegura a
compatibilidade visual da apresentação em qualquer meio que ela seja apresentada17 .

Também é possível criar apresentações com o LATEX, o que assegura uma ótima qualidade das equações
matemáticas.

7.1.7 Outros Arquivos de Documentos e Programas

O OpenOffice também conta com um banco de dados, um editor de imagem vetorial e um editor de
fórmulas matemáticas. Uma questão interessante por trás do editor de fórmulas matemáticas é que é
possível salvar um arquivo de fórmulas. O editor de imagens vetorial será visto adiante. O banco de
dados lembra um pouco o Microsoft Acess. Ele é o mais novo dos programas do OpenOffice.

O Koffice também possui programas equivalentes para edição de imagens vetoriais, banco de dados e
fórmulas matemáticas e possui outros aplicativos como um editor de imagens, entre outros.
17 Infelizmente, é observado algumas diferenças visuais entre apresentações criadas no OpenOffice para Windows e para o
GNU/Linux. Normalmente, isso não afeta o aspecto geral da apresentação.
7.2. Aplicativos de Internet 108

Figura 7.9: Editor de apresentações do OpenOffice.

7.2 Aplicativos de Internet

Usualmente, um computador pessoal acessa a internet para realizar cinco atividades básicas:

1. Navegar pelas páginas da web.

2. Receber e enviar e-mail.

3. Utilizar protocolos de para conversar na internet, como chat, MSN, Google Talk, Skype, etc.

4. Compartilhar arquivos, que entre inúmeras tecnologias temos o SCP/SFTP, FTP, Samba, P2P, etc.

5. Gerenciar máquinas remotas. Essa não é uma atividade de um computador pessoal típico, mas
ainda pode ser uma atividade pessoal dependendo da atividade do usuário.

Usualmente, a atividade de gerenciar máquinas remotamente não é uma tarefa para ser feita por um
aplicativo gráfico. Embora exista aplicativos gráficos utilizando vnc ou rdesktop que permitem isso,
essa é uma tarefa típica de acesso por linha de comando (terminal) e por isso não será tratado nesse
capítulo.
7.2. Aplicativos de Internet 109

7.2.1 Navegar Pelas Páginas da Web

A navegação pelas páginas da web é feita com um navegador de internet. O projeto GNOME possui o
navegador Epiphany18 , enquanto o projeto KDE tem o Konqueror19 .

Contudo, nessa categoria o Mozilla Firefox20 (ou, simplesmente, Firefox) é imbatível, em ambos
os ambientes (veja a figura 7.10). E em pouco tempo ele também será o mais utilizado entre todos os
sistemas operacionais (em alguns lugares do mundo ele já atingiu essa marca).

Figura 7.10: Firefox, navegador de internet.

Existe uma vantagem no Epiphany relacionada ao fato de que ele é uma navegador que consome
poucos recursos computacionais, portanto é um ótimo navegador para máquinas muito antigas.

Outro navegador que merece ser mencionado é o Opera Browser21 . Um também leve navegador de
internet que é gratuito, mas não é livre. E tal qual outros programas não livres, usualmente somente é
possível tê-lo depois de ter instalado uma distribuição no computador.

Infelizmente, existem páginas na internet que não funcionam adequadamente em um navegador de


internet. Criadas por pessoas com qualificações questionáveis, elas limitaram-se a desenvolver páginas
18 Epiphany - http://projects.gnome.org/epiphany/
19 Konqueror - http://www.konqueror.org/
20 Mozilla Firefox - http://www.mozilla.com/firefox/
21 Opera Browser - http://www.opera.com/
7.2. Aplicativos de Internet 110

que funcionem apenas em um navegador de internet, o Internet Explorer, que felizmente não tem versão
nativa para GNU/Linux. Sempre que possível, fuja dessas páginas. Quando não for possível, pode-se
utilizar o IEs4Linux22 . Esse projeto instala o Internet Explorer do Windows no GNU/Linux. Mas
Atenção: Esse tipo de recurso é para situações incontornáveis ou para desenvolvedores de
páginas Web que necessitam testar se seu produto é compatível com o esse navegador23 .
Note, entretanto, que ainda não é possível instalar as versões mais novas do navegador.

7.2.2 Receber e Enviar e-Mails

A popularização dos serviços de webmails estão induzindo a uma diminuição no volume de usuários que
ainda possuem um cliente de e-mail local. Contudo, para aqueles que não desejam utilizar o webmail,
podemos destacar alguns programas para o GNU/Linux.

Para o KDE temos o KMail24 , que hoje faz parte do Kontact25 . O Kmail é um cliente de e-mail
tradicional, enquanto Kontact é um cliente de e-mail com suporte a calendário, contatos, agenda, etc.

Para o GNOME temos o Evolution26 que também fornece uma integração entre o e-mail e a agenda,
contatos, calendário, etc.

Também temos Mozilla Thunderbird27 , um cliente de e-mail desenvolvido pela fundação Mozilla,
mas que não tem integração com a agenda e etc. Para tal existe o Mozilla Sunbird28 ou é possível
adicionar os recursos do Sunbird ao Thunderbird utilizando a extensão Lightning29 .

7.2.3 Aplicativos de Bate-Papo

Provavelmente é uma das categorias com o maior número de representantes. Um dos representantes mais
populares atualmente é o Pidgin30 . Com suporte aos protocolos AIM, Bonjour, Gadu-Gadu, Google
Talk, Groupwise, ICQ, IRC, MSN, MySpaceIM, QQ, SILC, SIMPLE, Sametime, XMPP, Yahoo! e
Zephyr. Adicionando plugins apropriados, ele permite conectar-se a outros protocolos. Há também os
plugins associados a novas funcionalidades. Possui uma boa integração com o KDE e uma excelente
integração com o GNOME.
22 IEs4Linux - http://www.tatanka.com.br/ies4linux/
23 As instruções para instalação estão na página do IEs4Linux.
24 KMail - http://kontact.kde.org/kmail
25 Kontact - http://kontact.kde.org
26 Evolution - http://projects.gnome.org/evolution/
27 Mozilla Thunderbird - http://br.mozdev.org/thunderbird/
28 Mozilla Sunbird - http://www.mozilla.org/projects/calendar/sunbird/
29 Lightning - http://br.mozdev.org/thunderbird/lightning
30 Pidgin - http://www.pidgin.im
7.2. Aplicativos de Internet 111

O Kopete31 é programa do projeto KDE que possui características similares ao Pidgin, como uma
lista igualmente de protocolos suportados e também com suporte a plugins.

Os dois programas são igualmente fáceis de usar e configurar. Veja um exemplo de configuração do
Pidgin na figura 7.11.

Figura 7.11: Pidgin, comunicador instantâneo.

7.2.4 Compartilhar Arquivos

Aqui existe uma questão polêmica sobre a utilização desse tipo de recurso que não será abordado. A
ferramenta existe e o que será feito com ela é de responsabilidade do usuário. O número de protocolos é
grande, aqui descreveremos apenas os principais existentes.

FTP e SFTP/SCP

O FTP (File Transfer Protocol ) é um dos primeiros protocolos da internet, há muito tempo utilizado
para disponibilizar arquivos públicos.
31 Kopete - http://kopete.kde.org/
7.2. Aplicativos de Internet 112

Há quem utilize o FTP para disponibilizar arquivos através de uma conta (com login e senha), mas
isso é inseguro porque essas informações trafegam sem encriptação. Dessa forma, se é para ter um login e
senha é melhor que se use o SFTP/SCP (Secure File Transfer Protocol/Secure Copy) que fazem o que
o FTP faz, mas de forma encriptada.

Normalmente todo navegador de internet acessa o FTP, basta digitar o endereço no terminal. Contudo,
esse tipo de acesso é apenas para obter o arquivo, para transferir o arquivo para o servidor normalmente
é necessário utilizar um outro programa.

Disse “normalmente”, porque o Konqueror é polivalente nesse aspecto. Ele permite fazer o upload e o
download de um arquivo por FTP. Basta digitar o endereço na barra de endereços. O mesmo vale para
o protocolo SFTP (que na verdade é protocolo SSH, Secure Shell ).

O endereço fica algo como sftp://maquina.dominio. Ao tentar acessar o dispositivo remoto será
questionado o nome do usuário e o login. Após a conexão basta navegar pelo domínio como se estivesse
acessando arquivos localmente.

No GNOME essa função é embutida nos serviços. Usualmente representada por um texto como
“Conectar ao servidor...”. Esse aplicativo abre uma janela de configuração onde é possível conectar-se
por SSH (ou SFTP ou SCP dependendo do tradutor da versão utilizada) ou por FTP (normalmente há
duas opções, uma para conexão em servidor público e outro para conectar em servidor privado). Veja a
configuração desse recurso na figura 7.12, sendo que no local onde aparece SSH existe uma lista de opções
que inclui uma variedade de serviços.

Figura 7.12: Conectando a um servidor remoto no GNOME.

Depois de conectado ele aparecerá no Nautilus como um dispositivo montado (tal como foi apresentado
7.2. Aplicativos de Internet 113

na conexão em rede local).

Pode-se perceber por esse aplicativo que existem outros tipos de conexão. Eles não serão abordados
aqui, mas podem ser úteis algum dia.

Rede eDonkey/Kad

Embora sejam conhecidos por ser um lugar onde encontra-se material copiado de forma irregular, sua
utilidade na transferência de dados é inegavelmente eficiente. Permite acelerar a cópia de arquivos da
internet, especialmente quando o servidor está saturado com muitas conexões. O aplicativo mais popular
atualmente é o aMule32 .

Bittorrent

Outro protocolo de comunicação P2P. Todas as distribuições GNU/Linux são disponibilizadas por esse
protocolo, que é recomendado como padrão por quase todos os representantes. Os distribuidores procuram
atender os picos de alta demanda que existe durante o lançamento de uma nova versão, e muitas vezes o
bittorrent é a única forma de baixar uma distribuição nas primeiras 48 horas após seu lançamento.

O aplicativo mais desenvolvido nessa categoria com suporte nativo ao GNU/Linux é o Vuze (mais
conhecido como Azureus)33 . O Azureus também é conhecido pelo alto consumo de recursos de hardware
(memória, em especial). Sua interface, com centenas de opções de configuração, pode ter um impacto
desagradável no usuário esporádico desse tipo de tecnologia.

O Transmission34 (figura 7.13), no GNOME, e o Ktorrent35 , no KDE, são mais econômicos nos
recursos consumidos quando executados em seus respectivos gerenciadores de janelas.

Existe uma quantidade extraordinária de material em domínio público ou licenciados pela Creative
Commons que estão disponíveis por bittorrent. O portal Public Domain Torrent 36 disponibiliza uma
quantidade realmente grande de filmes que já estão em domínio público e podem ser baixados livremente.
O Projeto Guntenberg37 também disponibiliza seu conteúdo (livros em domínio público) em DVDs/CDs
por bittorrent. No Jamendo38 é possível encontrar uma vasta coleção de músicas de alta qualidade
produzidas por artistas independentes e disponibilizada legalmente sem qualquer custo. Nele é possível
ouvir uma música pela web e baixar álbuns completos por bittorrent (em geral os artistas não são famosos,
32 aMule - http://www.amule.org/
33 Azureus - http://azureus.sourceforge.net/
34 Transmission - http://www.transmissionbt.com/
35 Ktorrent - http://ktorrent.org/
36 Public Domain Torrent - http://www.publicdomaintorrents.com/
37 Projeto Guntenberg - http://www.gutenberg.org/
38 Jamendo - http://ogg.jamendo.com/
7.3. Programas Multimídia 114

Figura 7.13: Transmission, um cliente bittorrent.

mas são competentes). E basta uma breve busca pela internet para descobrir que existem centenas de
artistas de todos os gêneros disponibilizando legalmente suas músicas, vídeos, livros, etc. pelo protocolo
torrent.

7.3 Programas Multimídia

Categoria que envolve player de vídeo e música, editores e visualizadores de imagens. Algumas coisas
são mais fáceis de fazer pelo terminal, mas as dicas para o terminal ficaram para depois.

7.3.1 Players de Vídeo

Uma categoria bem extensa, onde surge a questão relacionada ao vídeo que será visualizado. Se for um
formato livre, não haverá qualquer problema. Para um formato não livre, é necessário instalar os codecs
que permitem visualizar esse formato. A instalação dos codecs serão vistas adiante (junto com as dicas
de instalação em geral). Aqui, ficaremos apenas com a apresentação dos programas.

O mais famoso e versátil é sem dúvida alguma o MPlayer39 . O MPlayer é, a rigor, uma versão
para ser executada a partir de um terminal (isso pode ser diferente entre distribuições). Há mais de uma
interface gráfica, sendo o gmplayer, para o GNOME, e o kmplayer, para o KDE, são as mais conhecidas.
39 MPlayer - http://www.mplayerhq.hu
7.3. Programas Multimídia 115

Temos também o VLC40 . Um aplicativo multiplataforma (e também com uma versão portável) am-
plamente utilizado.

Normalmente o GNOME tem o Totem41 (figura 7.14) com player de vídeo padrão. E o KDE tem o
Kaffeine como player padrão. Esses dois aplicativos possuem seus fãs, não são unanimidades.

Figura 7.14: Totem, um player de áudio e vídeo.

7.3.2 Players de Música

Outra categoria com inúmeros representantes. Há player até para o terminal. Dos programas gráficos,
temos o Amarok42 , para KDE, e o Rhythmbox43 (figura 7.15), para o GNOME, como os dois maiores
representantes. O Amarok é mais evoluído e possui excelentes recursos para o gerenciamento de grandes
coleções. E também é o mais utilizado atualmente (inclusive entre os usuários GNOME). O Rhythmbox
também possui o suporte a coleções, mas seus recursos são menores e, não seria incorreto dizer, é para
usuários com uma pequena coleção.

Note que todos os players de vídeo permitem a execução de áudio, o que normalmente não é possível
é um gerenciamento sofisticado de coleções.
40 VLC - http://www.videolan.org/vlc
41 Totem http://www.gnome.org/projects/totem/
42 Amarok - http://amarok.kde.org
43 Rhythmbox - http://projects.gnome.org/rhythmbox/
7.3. Programas Multimídia 116

Figura 7.15: Rhythmbox, um player de áudio.

7.3.3 Editores de Vídeo

Algumas vezes é necessário editar um vídeo, extrair uma imagem, unir dois vídeos, etc. A edição de vídeos
em GNU/Linux conta, inclusive, com programas profissionais. A nível de usuário básico, a recomendação
fica entre o Avidemux44 (para o GNOME) e o Kdenlive45 (para o KDE). Apesar de ter interface
gráfica, não espere que seja fácil editar um vídeo.

7.3.4 Editores de Imagens

O GIMP46 (figura 7.16) destaca-se entre os editores de imagens do GNU/Linux. É conhecido como o
“Photoshop” do GNU/Linux. Trata-se de um editor de imagens completo, que conta com um vídeo curso
completo e em português, produzido pelo LedStyle47 . Ainda que para alguns profissionais de algumas
áreas, ele não seja tudo isso.

Correndo atrás do tempo perdido, temos o Krita48 , um software da suíte KDE que não é tão antigo,
nem tão usado quanto ao GIMP. O interessante é que esse programa é muito similar em recursos oferecidos
quando comparado ao GIMP, mas não no visual da interface, que lembra mais os programas de imagem
44 Avidemux - http://avidemux.org/
45 Kdenlive - http://www.kdenlive.org
46 GIMP - http://www.gimp.org
47 Vídeo curso completo de GIMP - http://www.tuxresources.org/blog/archives/183
48 Krita - http://www.koffice.org/krita
7.3. Programas Multimídia 117

Figura 7.16: GIMP, editor de imagens.

mais conhecidos de outros sistemas operacionais.

Não pode-se deixar de mencionar os aplicativos de terminal aglomerados pelo programa ImageMa-
gick49 . São inúmeros aplicativos que permitem agilizar a execução de atividades de edição de imagens.
Esses comandos não serão apresentados no capítulo 8, mas são de extrema importância para quem precisa
editar imagens.

7.3.5 Editores de Imagens Vetoriais

O OpenOffice e o Koffice possuem dois bons editores de imagens vetoriais. Mas para um trabalho mais
avançado pode ser necessário utilizar o Inkscape50 ou o Sodipodi51 .

7.3.6 Visualizadores de Imagens

Ao clicar em um arquivo de imagens qualquer em uma certa distribuição, a imagem vai abrir em um
programa básico de visualização de imagens. No GNOME, o programa padrão é o EOG, Eye of
49 ImageMagick - http://www.imagemagick.org
50 Inkscape - http://www.inkscape.org
51 Sodipodi - http://sourceforge.net/projects/sodipodi/
7.4. Gerenciamento de Arquivos 118

GNOME52 (nas distribuições mais recentes). No KDE, programa padrão é o Gwenview53 . São dois
ótimos visualizadores de imagens. Para o GNOME também podemos destacar o GThumb54 .

7.3.7 Gerenciamento de Câmeras Fotográficas

Sua máquina fotográfica digital pode ser acessada através do digiKam55 , para KDE, ou do F-Spot56
(figura 7.17), para GNOME. Cumprem o papel básico de baixar de copiar as fotos para o computador e
de eliminar as fotos da câmera. E também possuem recursos para gerenciar coleções de imagens.

Figura 7.17: F-Spot, software de gerenciamento de câmeras fotográficas.

Vale notar que o Picasa57 (visualizador de imagens do Google) também possui uma versão gratuita,
porém, de código fechado, para o GNU/Linux.

7.4 Gerenciamento de Arquivos

Há algumas questões sobre o gerenciamento de arquivos que não foram comentadas como a gravação de
CD/DVD e os compactadores de arquivos.
52 EOG - http://www.gnome.org/projects/eog/
53 Gwenview - http://gwenview.sourceforge.net
54 GThumb - http://gthumb.sourceforge.net
55 digiKam - http://www.digikam.org
56 F-Spot - http://f-spot.org
57 Picasa - http://picasa.google.com.br
7.4. Gerenciamento de Arquivos 119

7.4.1 Compactadores de Arquivos

Para compactar e descompactar arquivos, a melhor forma é usar o terminal de comando. Contudo,
aqueles que não querem utilizar o terminal de comando podem escolher entre duas ótimas opções, o File
Roller58 (figura 7.18, padrão do GNOME, e Ark59 , padrão do KDE. Esses aplicativos possuem um
comportamento muito parecido entre eles e entre versões de outros programas de compactação de outros
sistemas operacionais. Note que os aplicativos do GNU/Linux manipulam um número significativamente
maior e formatos de arquivos.

Figura 7.18: File Roller, aplicativo para compactar e descompactar arquivos.

7.4.2 Programas para Gravação de CD/DVD

As duas interfaces básicas para gravação de CD/DVD são o K3B60 , para KDE, e o Brasero61 , para o
GNOME. A versão 9.04 do Ubuntu passou a utilizar o próprio Nautilus para gravar CDs/DVDs. O K3B
é um programa mais antigo, mais estável, mais completo e o mais utilizado. Mas os demais aplicativos
também funcionam bem em tarefas mais simples
58 FileRoller - http://fileroller.sourceforge.net/
59 Ark - http://userbase.kde.org/Ark
60 K3B - http://k3b.plainblack.com/
61 Brasero - http://projects.gnome.org/brasero
7.5. Programação 120

7.5 Programação

O GNU/Linux dispõem de ferramentas para programação em qualquer linguagem, Fortran, C/C++,


Python, Java, Assembly, etc. E todas essas ferramentas estão disponíveis de forma fácil em qualquer
distribuição GNU/Linux.

Entretanto, o mesmo não pode-se dizer de ferramentas gráficas para programação. Muitos dos que
usam ferramentas gráficas para programar, usam aplicativos como GNU Emacs62 ou Gedit/Kate. Em-
bora exista algumas IDEs muito boas, elas apenas não são tão populares como as ferramentas mais
simples.

7.5.1 Ambiente de Desenvolvimento Integrado

Duas grandes interfaces dividem o posto de IDEs multipropósito: o Eclipse63 e o Netbeans64 (fi-
gura 7.19).

Figura 7.19: Netbeans, ambiente integrado de desenvolvimento.


62 GNU Emacs - http://www.gnu.org/software/emacs/. A rigor é um editor de textos, mas na prática é um sistema
operacional disfarçado de editor de textos. Diz-se que ele é usado por todos os grandes programadores do mundo. Não é
um programa para iniciantes. Há uma versão dele que é apenas para terminal.
63 Eclipse - http://www.eclipse.org
64 Netbeans - http://www.netbeans.org
7.5. Programação 121

A figura 7.19 mostra um simples programa em Fortran 90 na IDE NetBeans. Ambos são, idealmente,
programas para desenvolvimento em Java. Mas ganharam inúmeros recursos (nativos e por extensões) e
hoje podem ser utilizadas para inúmeras linguagens de programação (como C/C++, Fortran65 , Python66 ,
entre outras). O Eclipse leva vantagem pelo número de extensões disponíveis, sendo possível transformar
a IDE em navegador de internet, gerenciador de arquivos, cliente de e-mail, adicionar jogos, conversar
pela internet, escrever em LATEX, além do suporte a um número superior de linguagens de programação,
etc67 . O Netbeans destaca-se pela simplicidade.

Essas interfaces contam com um boa e simples ferramenta de depuração de código (conhecido como
debugger ) e com um gerenciador de projetos. Possuem uma boa organização nos diretórios formados.

Outra IDE multilinguagem que existe é o Kdevelop68 , do projeto KDE. Sua instalação básica conta
com suporte a doze linguagens de programação, incluindo C/C++, Fortran 7769 e Python.

O Kdevelop possui uma interface clara, mas sua estrutura de projeto e dos diretórios formados são
muito pouco amigáveis. Por exemplo, para um simples “Olá Mundo!” ele gera 41 arquivos auxiliares.
Diz-se que é a interface ideal para o desenvolvimento de programas com o QT em C/C++, pois ele gera
automaticamente o check list de dependências para a compilação do programa KDE. Ele também possui
uma boa integração com o QT Designer (será visto adiante).

Para o desenvolvimento em GTK+, o programa mais adequado é o Anjuta70 . Ao contrário dos demais
citados até aqui, ele é um programa para desenvolvimento em C/C++ apenas. Possui uma excelente
integração com o Glade (que também será visto adiante).

Para desenvolvimento apenas em Python, o Eric71 aparece em vantagem, sendo uma interface com-
pleta projetada para o desenvolvimento em Python. Portanto, possui um visual otimizado para essa
linguagem.

7.5.2 Desenho de Interfaces

Para quem precisa desenhar uma interface, existem dois programas básicos: o Glade72 e o QT Desig-
ner73 . O primeiro fornece ferramentas para criar interfaces para o GTK+ e o segundo tem a mesma
função, mas é voltado ao QT.
65 No eclipse o suporte é por extensão.
66 Através de extensões nas duas IDEs.
67 Lembre-se que a idéia do programa é programar ...
68 Kdevelop - http://www.kdevelop.org
69 Não há suporte ao fortran 90/95
70 Anjuta - http://www.anjuta.org
71 Eric - http://eric-ide.python-projects.org
72 Glade - http://glade.gnome.org
73 QT Designer - http://www.qtsoftware.com
7.6. Aplicativos Científicos 122

7.5.3 Comparação entre Dois Arquivos

Muitas vezes é necessário comparar duas versões de dois arquivos diferentes para determinar o que foi
modificado entre as duas versões. Uma opção é fazer isso manualmente, outra é utilizando aplicativos de
terminal ou escolhendo entre as interfaces gráficas para os aplicativos de terminal existentes. Duas das
que se destacam são o Meld74 (estilo GNOME) e o Kompare75 (estilo KDE).

7.5.4 Desenvolvimento Web

O desenvolvimento de páginas web também cai na situação onde a maioria dos programadores utilizam
programas “simples” para executar a tarefa. Em todo caso, o GNU/Linux dispõem de um número
satisfatório de programas para desenvolvimento de páginas web. Dentre eles destacam-se o KompoZer76
(que apesar do “K”, possui o estilo GNOME) e o Quanta77 (para KDE).

Também é possível salvar documentos do OpenOffice ou do Koffice como páginas da Web.

7.6 Aplicativos Científicos

Não são poucos os programas com objetivo científico no GNU/Linux. Contudo, não são muitos os que
possuem interface gráfica.

Tanto o KDE quanto o GNOME possuem uma calculadora básica com funções científicas. Existem
outras calculadoras, inclusive um emulador da calculadora científica da HP. As opções são várias, mas
para quem quer apenas fazer contas simples com algumas operações científicas, o básico é suficiente, como
apresentado na figura 7.20.

Apesar de existir uma versão do Matlab para o GNU/Linux78 , ela é paga. Duas soluções alternativas
prometem realizar aquilo que é básico no Matlab, o Octave79 e o Scilab80 .

Da mesma forma, existe uma versão completa do Maple para o GNU/Linux, que também é paga. Sua
alternativa principal é o Maxima81 , mas os recursos existentes ainda são muito inferiores.
74 Meld - http://meld.sourceforge.net
75 Kompare - http://www.caffeinated.me.uk/kompare/
76 KompoZer - http://www.kompozer.net
77 Quanta - http://quanta.kdewebdev.org
78 A versão do Matlab para o GNU/Linux não conta com o mesmo número de módulos existentes na versão Windows
79 Octave - http://www.gnu.org/software/octave
80 Scilab - http://www.scilab.org
81 Maxima - http://maxima.sourceforge.net
7.6. Aplicativos Científicos 123

(a) (b)

(c) (d)

Figura 7.20: Calcularoda, versão GNOME.


7.6. Aplicativos Científicos 124

Para análise estatísticas existe o completo e complexo projeto R82 .

Para construir gráficos científicos83 , nenhum programa que chega ao nível do gnuplot84 ,85 (embora
seja para terminal, é interessante que ele fique nessa sessão para o melhor entendimento). Entre os
programas gráficos, destacam-se o Grace86 , o Labplot87 e o QtiPlot88 . Esse último é um clone do
Origin89 (inclusive com suporte aos arquivos do Origin).

Os programas Chemtool90 e XDrawChem91 destacam-se entre os programas de desenho de molé-


culas orgânicas.

O programa G3DATA92 permite realizar uma interpolação dos valores de um um certo gráfico
digitalizado. É uma forma eletrônica de contornar o problema de determinação do valor presente em uma
curva, cujo gráfico 2D foi digitalizado como uma imagem.

Para desenho CAD profissional, muitos dizem que não há nada igual ao AutoCAD, que não possui
versão GNU/Linux. Contudo, para a grande maioria dos profissionais, o QCad93 , o FreeCAD94 e o
Archimedes95 são programas alternativas satisfatórios. O Archimedes é desenvolvido através de um
projeto incubado da FAPESP.

Para construção de diagramas, temos o Dia96 e o Kivio97 (parte do Koffice). O Kivio é um programa
de organograma clássico, enquanto o Dia permite construir diagramas envolvendo instalações elétricas,
válvula, reatores, etc. Infelizmente, ele ainda não conta com biblioteca do nível que existe no Visio,
programa pago da Microsoft.

Para construção de malhas para simulação CFD, temos o Gmsh98 e o Salome99 . Esse último é uma
grande promessa que ainda não se concretizou completamente, mas que está em desenvolvimento.

Para simulação CFD, tem-se o OpenFOAM100 , um excelente código para manipulação e operação
de campos escalares e vetoriais. Este encontra na fluidodinâmica computacional sua principal aplicação.
82 R - http://www.r-project.org, sim, o nome do programa é uma única letra.
83 Assume-se aqui que gráficos científicos não são feitos em planilhas como a do OpenOffice.
84 gnuplot - página oficial - http://www.gnuplot.info/
85 gnuplot - página com dicas muito úteis - http://t16web.lanl.gov/Kawano/gnuplot/index-e.html
86 Grace - http://plasma-gate.weizmann.ac.il/Grace/
87 Labplot - http://labplot.sourceforge.net
88 QtiPlot - http://soft.proindependent.com/qtiplot.html
89 Não seria absurdo dizer que é um clone melhorado do Origin.
90 Chemtool - http://ruby.chemie.uni-freiburg.de/~martin/chemtool/
91 XDrawChem - http://xdrawchem.sourceforge.net
92 G3DATA - http://www.frantz.fi/software/g3data.php
93 QCad - http://www.qcad.org
94 FreeCAD - http://www.freecad.com
95 Archimedes - http://archimedes.incubadora.fapesp.br
96 Dia - http://projects.gnome.org/dia/
97 Kivio - http://www.koffice.org/kivio/
98 Gmsh - http://geuz.org/gmsh
99 Salome - http://www.salome-platform.org/
100 OpenFOAM - http://www.opencfd.co.uk/openfoam
7.7. Jogos 125

Embora o OpenFOAM seja o mais evoluído dessa categoria de aplicativos, não é o único, sendo possível
encontrar um número significativo de produtos similares101 .

7.7 Jogos

Em uma instalação básica, há pelo menos 5 jogos instalados em um GNU/Linux. Não é incomum que se
localize centenas para instalação. Alguns são simples jogos de cartas (ok, alguns não tão simples), outros
são verdadeiros simuladores de corrida ou vôo. Há jogos 3D em primeira pessoa e clones das primeiras
versões do “Super Mario Bros” (o SuperTux). Veja alguns dos jogos disponíveis na figura 7.21

Figura 7.21: Alguns jogos que acompanham o Ubuntu

Quem gosta de jogar estará bem servido de opções, mas não serão as mesmas opções que existem no
Windows. Pode-se conseguir boas informações sobre jogos no GNU/Linux no Ubuntu Games102 .
101 Vide, http://www.cfd-online.com/Links/soft.html
102 Ubuntu Games - http://www.ubuntugames.org
7.8. Outros programas 126

7.8 Outros programas

Com uma coleção da ordem de 20 mil programas, é óbvio que muito programa bom não foi comentado.
Alguns úteis são

• O “Mapa de caracteres”. Ele é nativo do gerenciador de janelas.

• O Planner, que é um programa para criar gráficos de planejamento estratégico.

• O GNUCash, que é um programa para gerenciamento financeiro (veja também o simples, porém
eficiente, MoneyLog103 ).

• O Google Earth, que é o programa do Google para ver o mundo de cima.

• Os programas da “Receita Federal”. Não que alguém realmente queira usá-los, mas é necessário, e
existe para o GNU/Linux.

Nos capítulos seguintes serão apresentadas as técnicas de instalação de novos programas, como loca-
lizar e instalar um programa disponível para a sua distribuição ou existente mas que não está disponível
para sua distribuição. Lembre-se de que o Google é o melhor amigo do usuário do GNU/Linux, se existe
uma resposta para uma pergunta que esse texto nem cogitou em colocar, ele conhece.

7.9 Utilização de Programas Windows no GNU/Linux

Algumas vezes é necessário utilizar um programa Windows. Nesses casos, pode-se utilizar um de duas
abordagens. A instalação do programa em um API Windows para GNU/Linux ou a virtualização.

A API Windows para o GNU/Linux tem o nome de WinefootnoteWine - http://www.winehq.org


(Wine Is Not an Emulator ). O wine é um programa de código livre, que não funciona de forma tão
brilhante quanto se deseja (é possível ver quais são os programas suportados e quais não são na página
do programa).

Existe uma outra implementação do Wine conhecida como Crossover Office. Essa, apesar de barata,
não é gratuita104 , pois incluí alguns recursos licenciados diretamente da Microsoft e por esse motivo,
funciona melhor. Inclui suporte oficial (ou seja, eles asseguram que vai funcionar) ao Microsoft Office e
vários outros programas. Mas extraoficialmente vários programas funcionam, como o Visio, por exemplo.
Alguns, como o AutoCAD, não funcionam de forma alguma.
103 MoneyLog - http://aurelio.net/moneylog
104 Há algum tempo, por conta de uma meta que o governo dos EUA alcançaram, a CodeWeavers distribuiu várias cópias
gratuitamente aos usuários durante um dia.
7.9. Utilização de Programas Windows no GNU/Linux 127

Para os programas que não funcionam de forma alguma utilizando um API Windows implementada
para GNU/Linux, a alternativa é utilizar o VirtualBox105 ou VMWare106 . Ambos são gratuitos,
porém apenas o primeiro é de código livre. Um emulador é um programa capaz de enganar um segundo
sistema operacional se passando por um hardware (com direito a placa de vídeo, rede, usb, som, HD,
etc.). Dessa forma é possível instalar uma versão Windows dentro do GNU/Linux e rodá-lo como se ele
fosse um programa qualquer. Dentro desse Windows é possível instalar e rodar quase todos os programas
(qualquer mesmo, desde que exista memória suficiente designada para a máquina virtual).

E quando se diz quase, quer dizer todos, menos aqueles que necessitam de comunicação com hardware
não suportado pelo GNU/Linux. Isso é devido ao fato de que essa técnica consiste em utilizar uma
máquina virtual que não se comunica diretamente com o hardware, e sim se comunica com o GNU/Linux
que passa a instrução ao hardware. Dessa forma, é necessário que o GNU/Linux reconheça o dispositivo
e que ele seja um dispositivo encontrado pela máquina virtual.

Quando caímos na situação de necessitar de um programa específico demais para rodar no GNU/Linux,
a alternativa seria utilizar uma virtualização direta. Contudo, essa técnica ainda está em desenvolvimento.
A alternativa de hoje é utilizar o Windows diretamente instalado a máquina107 .

105 VirtualBox - http://www.virtualbox.org


106 VMWare - http://www.vmware.com
107 Veja o Anexo F para instruções de como proceder para instalar o Windows e o GNU/Linux em uma mesma máquina.
Capítulo 8

Utilizando o Terminal

É possível utilizar o Linux usar o terminal. Mas isso, muitas vezes significa perda de produtividade, pois
algo que é muito simples de ser feito pelo terminal fica exageradamente complexo no modo gráfico.

Esse capítulo apresenta os principais comandos do terminal ou, como comumente chamado, shell. Não
é objetivo desse documento esgotar o assunto sobre comandos de terminal. Muito pelo contrário, o mais
experiente dos usuários do GNU/Linux descobrem novos comandos, ou novas formas de usar um mesmo
comando, a cada dia. Para um referência mais completa, sugere-se a leitura do guia Foca GNU/Linux1 .
Um extenso documento (em português) que apresenta a grande maioria dos comandos de terminal que
um usuário tende a necessitar.

O hábito transformará o uso do terminal em algo simples e sem complicações. Não tente decorar esses
comandos de uma única vez. E não se impressione com a quantidade de comandos que existem.

8.1 Considerações preliminares

O terminal de comando ou, no popular, a “tela preta” é acessada pelo comando CTRL+ALT+F1. Na
maioria das distribuições, a tela gráfica está em CTRL+ALT+F7, portanto, CTRL+ALT+F1 até CTRL+ALT+F6
é um terminal de comando.

De dentro do modo gráfico, o que acessamos é o emulador de terminal. Não pense que a palavra
“emulador” transforma esse recurso menos poderoso. Alguns podem até dizer que o emulador de terminal
seja mais poderoso, visto que dele é possível acionar um programa gráfico qualquer, enquanto do terminal
de comandos isso não é possível. Em todo caso, daqui por diante, o emulador de terminal será o “terminal
1 Foca GNU/Linux - http://focalinux.cipsga.org.br/

128
8.1. Considerações preliminares 129

de comando” ou simplesmente “terminal”. O GNU/Linux possui vários programas que são terminais de
comando. No KDE usa-se o Konsole, enquanto no GNOME, usa-se o Terminal do GNOME (figura 8.1).

Figura 8.1: Terminal de comandos do GNOME.

Note que o terminal de comandos não é, necessariamente, uma tela preta. Ela pode ser branca ou
mesmo transparente (veja a figura 8.2), tudo pode ser modificado nas preferências do aplicativo (acessível
pelo menu “Editar”). As mesmas considerações valem para o Konsole.

(a) (b)

Figura 8.2: Terminal de comandos do GNOME em várias cores.

O terminal é programa chamado “bash”. Atualmente, o bash é o shell tradicional do GNU/Linux,


mas existem outros terminais, por exemplo, o sh, o csh e o ksh. Nesse documento, apenas o bash será
8.1. Considerações preliminares 130

estudado.

Ao abrir um terminal (e daqui por diante entenda sempre que é um programa e esse programa chama-
se bash), percebe-se uma linha que contém um caractere piscando. Esse é o prompt de comando, o ponto
é onde o comando será escrito. Antes desse caractere, existe uma informação similar a essa:

luig@reynolds:~$

luig é o nome do usuário, o arroba, @ indica que o luig “está em” reynolds, que o nome do compu-
tador. Os dois pontos são um caractere separador, o til indica, na verdade, o diretório atual. O til é a
representação do diretório home, ou seja, /home/luig. O dólar no final da linha indica que esse usuário
é um usuário comum. Caso existe um hash no lugar, #, então esse é um usuário administrativo, ou seja,
o root.

Desse ponto em diante, todas as vezes que for indicado $ no texto, refere-se a comando executado por
um usuário comum e um # indica que é um comando executado pelo root.

Outro ponto importante é que cada comando possui argumentos. Alguns argumentos são obrigatórios
ou são opcionais. Os argumentos opcionais normalmente alteram as opções padrões do programa. Alguns
comandos possuem centenas de argumentos opcionais, outros apenas dois ou três ou mesmo nenhum. Al-
guns argumentos opcionais são muito importantes, pois alteram o comportamento do programa, sem o
qual a atividade desejada não é possível, outros não, são estéticos, ou mesmo redundantes. Em con-
junto com os comandos, serão apresentados também os principais argumentos opcionais ou modificadores
associados ao programa.

Ainda sobre o uso do terminal, é interessante observar dois recursos. O primeiro é a tecla TAB. A tecla
TAB tem a capacidade de completar o comando ou o nome do arquivo que deseja-se digitar. Dessa forma,
não é necessário digitar todos os caracteres, apenas o mínimo necessário para tornar a identidade do
comando/nome de arquivo ou diretório, únicas. A tecla TAB também pode ser utilizada para completar
opções de alguns comandos. O outro recurso interessante está associado à tecla de navegação do teclado.
É possível ver o comando anterior utilizando a tecla “seta para cima” da região de navegação. Para voltar
na lista de comandos, utilize a tecla “seta para baixo” da mesma região.

Atente também para os redirecionadores de comandos. Esse são arquivos de dispositivo FIFO e
permitem que a saída de um comando seja redirecionada como argumento de um segundo programa ou
para dentro de um arquivo de texto.

Os principais arquivos FIFO são:

• | (pipe) - permite redirecionar a saída de um comando na entrada de outro comando.

• > (stdout) - permite direcionar a saída, sem eventuais erros, de um comando para um arquivo,
8.2. Arquivos fundamentais 131

por exemplo.

• >> - permite direcionar a saída, sem eventuais erros, de um comando para um arquivo adicionando
o conteúdo nesse arquivo.

• 2> (stderr) - permite direcionar apenas o erros na execução de um programa para um arquivo.

• &> (stderr e stdout) - permite direcionar toda a saída (com ou sem erros) da execução de um
programa para um arquivo.

• < (stdin) - faz o caminho inverso do arquivo do stdout

Por fim, porém não menos interessante, tenha em mente que o comando CTRL+c não tem a capacidade
de copiar informações, mas sim de interromper execuções ou de abandonar o prompt atual e passar a um
novo sem qualquer instrução nele.

8.2 Arquivos fundamentais

O bash possui alguns arquivos de configuração que permitem ajustar e ampliar os recursos do terminal.
Esses arquivos são executados/criados/modificados ao iniciar o terminal e são eles:

• ∼/.bash_history: onde são registrados os comandos executados pelo usuário. Não é para o usuário
modificar, mas para estar ciente de que tudo que escreveu no terminal está registrado nesse arquivo.

• ∼/.bashrc: arquivo de configuração pessoal do bash.

• ∼/.profile: também é um arquivo de configuração pessoal do bash. Em teoria o anterior con-


figuraria as opção do bash enquanto aqui seriam registrados as personalizações de usuário. Essa
diferenciação não é necessária.

• /etc/bash.bashrc: idem que o ∼/.bashrc, porém é uma configuração pertinente a todos os


usuários.

• /etc/profile: idem que o ∼/.profile, e novamente é uma configuração pertinente a todos os


usuários

Existem outros arquivos de configuração, mas os listados acima são os principais. De fato, todas as
modificações, personalizações, etc, podem ser feitas no arquivo ∼/.bashrc.
8.3. Comandos básicos 132

8.3 Comandos básicos

Define-se comandos básicos nesse texto como os comandos que todos os usuários devem conhecer para
a utilização adequada do terminal. É claro que uma definição dessa natureza possui um perfil pessoal.
Todos esses comandos podem ser utilizados por qualquer usuário. São aqui definidos como comandos
básicos:

• ls - lista os arquivos no diretório atual.

• clear - limpa a tela.

• cp - copia um arquivo de um diretório para outro.

• mv - move um arquivo de um diretório para outro ou renomeia o arquivo no mesmo local.

• rm - remove o arquivo do computador. Não existe uma forma de reverter essa ação.

• mkdir - cria um novo diretório.

• cd - comando que permite navegar pela estrutura de diretórios.

• man - acessa o manual de um comando, ou seja, é a ajuda.

Na sequência do texto, os comandos descritos acima são detalhados.

8.3.1 Comando ls

Seu uso básico é muito simples. Digite ls no terminal e será listado o conteúdo desse terminal. Seus
argumentos mais interessante são:

• ls -l - lista, com formato longo, os arquivos no diretório atual.

• ls -lh - a opção “-h” atua sob a opção “-l” modificando a unidade utilizada no tamanho. Sem a
opção “-h”, o tamanho listado junto com o arquivo está em bytes, com a opção “-h”, o tamanho é
listado na “melhor” unidade possível, ou seja, kilobytes, megabytes ou gigabytes. Os símbolos K, M
e G representam essas unidades respectivamente.

• ls -a - a opção “-a” mostra os arquivos ocultos. Pode ser utilizada junto com a opção “-l” (e
como conseqüência, junto com a opção “-h”). Lembre-se que todo arquivo oculto é um arquivo
cujo o nome começa com um ponto. Ao usar o comando ls -a aparecem informações sobre dois
diretórios que são nomeados com um único ponto ( . ) e com dois pontos ( .. ). Esses diretórios
representam, respectivamente, o diretório atual e o diretório pai do diretório atual. Por exemplo:
se o usuário está em /home/luig/ o diretório “.” é /home/luig/ e o diretório “..” é /home/
8.3. Comandos básicos 133

• ls “nome_de_arquivo” ou “diretorio” - se o seu desejo é obter informações sobre um único


arquivo, então pode usar o nome desse arquivo como argumento. O mais usual é utilizar o nome
de um diretório como argumento. Nesse caso, entende-se que deseja listar o conteúdo de um
diretório que não é o diretório atual. Exemplo: ls /usr, que lista os arquivos contidos no diretório
/usr/ independente de onde o usuário se encontre. Todos os argumentos supracitados podem ser
utilizados em conjunto com esse argumento. Por exemplo: ls -lha /usr/ (a barra no final, no
caso de diretórios, é opcional).
Quando não utilizar nenhum tipo de argumento, o comando ls executa ls ./. Ou seja, o diretório
atual é a opção padrão subentendida nesse tipo de problema. Também é possível utilizar mais de
um diretório ou arquivo na lista de comandos, por exemplo: ls ./ /usr /.bashrc.

• ls -R - lista um diretório recursivamente.

Se quiser guardar a lista dos arquivos em um arquivo, use um redirecionador. Por exemplo, ls
>listadosmeusarquivos.txt. Todas as opções utilizadas podem ser empregadas aqui.

Veja a figura 8.3 que representa a aplicação desses comandos no terminal do GNOME.

(a) (b)

Figura 8.3: Terminal de comandos do GNOME, usando o comando ls.

8.3.2 Comando clear

Mais simples é impossível. Seu uso não possui argumentos de qualquer espécie. Apenas digite-o no
terminal é a tela será limpa.
8.3. Comandos básicos 134

8.3.3 Comando cp

O comando cp copia um arquivo de um lugar para outro lugar ou para o mesmo diretório com outro
nome. Seu uso básico consiste em: cp nomedoarquivo.txt /diretorio/para/onde/vai/o/arquivo/
ou cp nomedoarquivo.txt novonome.txt.

No primeiro exemplo, um arquivo (nomedoarquivo.txt) é copiado para um outro diretório (que deve
existir ). No segundo exemplo o mesmo arquivo é copiado para o mesmo diretório, mas com um novo
nome (novonome.txt).

Note que, da mesma forma que no comando ls, é subentendido que o arquivo está no diretório
atual. Nada impede, contudo, que seja copiado um arquivo de um outro diretório qualquer. Por
exemplo, cp /etc/fstab ./, que copia o arquivo /etc/fstab para o diretório atual, e cp /etc/fstab
./backup/fstab.bak que copia o arquivo /etc/fstab para o diretório backup, contido no diretório atual
(./) com um novo nome (fstab.bak).

Embora existam vários argumentos interessantes, apenas um merece destaque imediato. É o opção
“-r”. O comando “cp”, sem a opção “-r”, não permite copiar diretórios. Para isso é necessário utilizar
a opção -r para que a cópia seja aplicada também ao diretório (o uso deste argumento com arquivos
é desnecessário). Por exemplo: cp -r ∼/Documentos ./backup/, que copia o diretório Documentos
dentro do diretório backup. Note que o diretório Documentos está dentro do diretório home ∼ e o
diretório backup está dentro do diretório atual.

8.3.4 Comando mv

Muito parecido com o comando cp. Contudo esse comando move um arquivo ou diretório, ou seja, ele
copia o conteúdo e depois remove o original. Não requer opções em seu uso básico. Também é utilizado
para renomear arquivo ou diretório.

8.3.5 Comando rm

O comando rm apaga um arquivo do computador. Utilizando a opção “-r” é possível remover diretório
(que podem estar cheios). Não há como recuperar um arquivo eliminado por esse comando (ou seja, não
existe um “undo remove”). Há duas outras opções interessantes:

• rm -i - a opção “-i” faz com que antes de eliminar um arquivo apareça a pergunta se deseja ou
não realmente eliminar o arquivo, exigindo uma confirmação.

• rm -f - em oposição ao -i, existe o “-f”. Essa opção faz com que o arquivo seja eliminado sem mais
8.3. Comandos básicos 135

perguntas. Se usar a opção “-i” junto com a opção “-f”, prevalece a “-f”.

Muito cuidado ao utilizar esse comando, especialmente quando estiver utilizando o usuário root.

8.3.6 Comando mkdir

O comando mkdir cria um diretório. Por exemplo: mkdir ∼/meusdocs, cria um diretório com o nome
meusdocs dentro do diretório home ( ∼/ ).

Se ao tentar criar o diretório ∼/meusdocs/downloads com o mkdir ∼/meusdocs/downloads e o


diretório ∼/meusdocs não existir, o comando retornará um erro. Para criar uma estrutura de diretórios,
é necessário utilizar a opção “-p”. Assim, teríamos: mkdir -p ∼/meusdocs/downloads

8.3.7 Comando cd

O comando cd é utilizado para modificar o diretório no qual o usuário se encontra. Por exemplo, cd
meusdocs. Nesse comando, está implícito o diretório corrente2 , ou seja, é o mesmo que o comando
cd ./meusdocs. Caso deseje entrar em um diretório qualquer do sistema, pode-se utilizar o caminho
completo. Por exemplo, cd /usr/bin.

Note que:

• cd .. - muda para o diretório pai do diretório atual, ou seja, sob um degrau na hierarquia da
estrutura de diretórios. É possível fazer: cd ../fotos, isso faz com que suba um degrau na estru-
tura de diretórios e entre no diretório jose contido daquele diretório. Exemplificando, se estamos
dentro no diretório /home/luig/docs e existe um diretório chamado fotos em /home/luig/, ou
seja, /home/luig/fotos. É possível sair do diretório atual diretamente para o mencionado diretório
fotos com o comando cd ../fotos.
A mesma lógica aplica-se nos outros comandos, quando esses referem-se a arquivos ou diretórios.

• cd - sem argumento algum. Esse comando faz com que o usuário retorne ao diretório home.

• cd - - utilizando o traço, “-”, indica que o usuário deseja voltar para o diretório anterior.
Utilizando o exemplo acima, se foi feito cd ../fotos e deseja-se voltar a /home/luig/docs, pode-se
utilizar o comando cd -, que é o mesmo que cd /home/luig/docs ou cd ../docs
2 Isso somente é verdade em sistemas que não sofreram modificações na configuração
8.4. Comandos para leitura de arquivos texto 136

8.3.8 Comando man

O comando man permite acessar as páginas de manuais. É provavelmente o comando mais importante do
terminal, pois todas as vezes que não se lembrar como usar o programa X ou Y, poderá acessar o man para
ler a documentação do programa. Para iniciar a consulta use man nomedocomando, onde nomedocomando
é o nome do comando que deseja consultar. Suponha que o usuário deseje obter mais informações sobre
o comando ls. Então, bastaria executar no terminal o comando man ls.

Uma vez iniciado a página do manual, utilize as teclas de navegação para baixo e para cima para
movimentar o texto. Quando acabar de ler, utilize tecle a letra q. Normalmente, isso é suficiente para
a utilização básica do sistema. Caso deseje desfrutar das inúmeras opções da página de manual, tecle a
letra h. Será aberta uma nova página de manual, sobre a primeira página, mas indicando quais são os
comandos que o man aceita.

8.4 Comandos para leitura de arquivos texto

8.4.1 Comando cat

O comando cat exibe todo o conteúdo de um arquivo. Claro que se o arquivo não tiver apenas texto
como conteúdo, o que será exibido é uma grande variedade de caracteres exóticos. Um exemplo: cat
∼/.bashrc.

Esse comando também pode ser utilizado para unificar dois arquivos com a ajuda de um redireciona-
dor. Por exemplo: cat arquivo1 arquivo2 > arquivocompleto, nesse exemplo, uni-se o conteúdo dos
dois arquivos em um terceiro arquivo (a ordem da listagem dos arquivos é importante, pois é a ordem que
eles vão possuir no novo arquivo). Dessa forma, os arquivos originais não são modificados.

Outro exemplo: cat arquivo2 >> arquivo1, dessa forma coloca-se o conteúdo do arquivo2 dentro
do arquivo1, que ficaria igual ao arquivocompleto do exemplo anterior, mas o arquivo1 não existe mais
da forma original. Isso pode ser um problema, imagine se trocar o >> por > . Se usar cat arquivo2 >
arquivo1, o conteúdo do arquivo2 será colocado dentro do arquivo1 e o arquivo1 original será perdido.

8.4.2 Comando head

Ao contrário do comando cat que exibe o arquivo inteiro, o comando head exibe apenas as primeiras
linhas de um certo arquivo. Exemplo, head ∼/.bashrc. Nessa forma, sem opções adicionais, ele mostra
as 10 primeiras linhas do arquivo e ignora as demais. Para modificar o número de linhas que ele irá exibir,
utiliza-se a opção “-n”. Exemplo, head -n2 ∼/.bashrc, que exibe apenas as duas primeiras linhas do
8.5. Comandos para compactação e descompactação de arquivos 137

arquivo.

8.4.3 Comando tail

Muito parecido com o comando head, mas ao invés de mostrar as primeiras linhas de um arquivo, mostra
as últimas linhas. Da mesma forma que o comando head, a opção “-n” modifica o número de linhas que
será exibido.

Uma opção adicional interessante é a opção “-f”. Essa opção permite acompanhar o processo de
escrita no arquivo que foi selecionado. Por exemplo, tail -f /var/log/messages permite monitorar
tudo que será escrito no arquivo /var/log/messages (veremos quem é esse arquivo no próximo capítulo).

8.4.4 Comandos more e less

Ambos são utilizados para ler o conteúdo de um arquivo texto. Eles são úteis onde o comando cat falha,
em arquivo muito grandes. Assim, é possível abrir os arquivos aos poucos. De fato, o comando less é
o paginador utilizado pelo comando man na grande maioria das distribuições. O comando more é mais
simples, mas a escolha entre eles depende muito do gosto do usuário e das funções necessárias ao usar
esse comando. Seu uso é more nomedoarquivo ou less nomedoarquivo.

Lembre-se que nada impede que o usuário abra um editor de textos como o gedit ou o kate para ler
um arquivo texto. De fato, o uso do terminal de comandos para essa função tende a ser mais simples em
algumas funções e mais complicado em outras.

8.5 Comandos para compactação e descompactação de arquivos

8.5.1 Comando tar

Esse é o comando de compactação mais utilizado do sistema (mais até do que as interfaces gráficas de
mesma função). Muito presente em vários tutoriais da internet.

Existe basicamente três tipos de arquivos que são diretamente utilizados com esse utilitário: .tar,
.tar.gz (por vezes .tgz) e .tar.bz2.

O .tar é uma cópia sem compactação dos arquivos contido nele. É o mesmo que juntar todos os
arquivos em um único sem compactar. O .tar.gz consiste em dois processo distintos, porém interligados.
Primeiro é criado um arquivo .tar em seguida é feita uma compactação utilizando no formato .gz. O
8.5. Comandos para compactação e descompactação de arquivos 138

.tar.bz2 é um arquivo .tar compactado com o formato .bz2, mais eficiente que o .gz, porém mais
lento na hora de produzir a cópia.

Para criar um arquivo .tar, usa-se:

tar cvf nomefinal\texttt{.tar} lista_dos_arquivos

onde lista_dos_arquivos são todos os arquivos e diretórios que se deseja adicionar ao pacote.

Para criar um arquivo .tar.gz, usa-se:

tar zcvf nomefinal\texttt{.tar}\texttt{.gz} lista_dos_arquivos

Para criar um arquivo .tar..bz2, usa-se:

tar jcvf nomefinal\texttt{.tar}.\texttt{\texttt{.bz2}} lista_dos_arquivos

Para realizar o processo inverso, ou seja, descompactar um arquivo .tar, usa-se:

tar xvf nomefinal\texttt{.tar}

no caso de um .tar.gz, usa-se:

tar zxvf nomefinal\texttt{.tar}\texttt{.gz}

e para um .tar..bz2, usa-se:

tar jxvf nomefinal\texttt{.tar}.\texttt{\texttt{.bz2}}

Note que a opção x é utilizada para descompactar o arquivo, enquanto a opção c é utilizada para
compactar o arquivo. A opção j está associada ao formato de arquivo .tar.bz2 enquanto a opção z ao
formato de arquivo .tar.gz. Para adicionar novos arquivos dentro do arquivo compactado, basta repetir
o comando.

8.5.2 Comando gzip/gunzip

Se o arquivo for apenas .gz, o ideal é utilizar o gzip/gunzip (para compactar e descompactar, respecti-
vamente).
8.6. Comandos com funções administrativas 139

Para compactar os arquivos no formato .gz, usa-se

gzip -c -r listadearquivos > nomefinal\texttt{.gz}

a opção -c informa que quer criar um arquivo, enquanto -r informa que deseja-se realizar uma compac-
tação recursiva nos diretórios.

Para adicionar outros arquivos no arquivo compactado, usa-se:

gzip -c -r listadearquivos > nomefinal\texttt{.gz}


gzip -c -r arquivo_esquecidos >> nomefinal\texttt{.gz}

Para descompactar, usa-se:

gunzip nomefinal\texttt{.gz}

8.5.3 Comando zip/unzip

O comando zip cria arquivo um arquivo .zip enquanto o comando unzip descompacta o arquivo zip.

Seu uso é extremamente simples:

gzip -r nomefinal.zip listadearquivos

onde a opção -r permite adicionar diretórios ao arquivo compactado.

Para descompactar, usa-se:

unzip nomefinal.zip

Deve-se ter um cuidado especial para não trocar o comando gzip com o zip e o gunzip com o unzip.

8.6 Comandos com funções administrativas

São comandos que “apenas” o usuário root pode executar. Entretanto, existem alguns comandos que
podem ser executados por usuários comuns, porém, com restrições. A principal diferença aqui é que em
algumas distribuições é necessário utilizar o caminho completo de alguns dos programas.
8.6. Comandos com funções administrativas 140

8.6.1 Comando ifconfig

O comando ifconfig permite acessar as informações de rede quando executado como usuário comum e
modificar as informações de rede quando utilizado pelo root. Para o usuário iniciante, o uso mais comum
consiste em digitar apenas /sbin/ifconfig.

8.6.2 Comando su

Normalmente, o usuário root não loga no modo gráfico. Isso é feito por medida de segurança. Dessa
forma, para executar comandos no terminal como root é necessário utilizar o comando su

• Para tornar-se root, use: su -

• Para se transformar em um outro usuário qualquer, use: su - login, onde login é o login do outro
usuário.

Obviamente, será requerido a senha da conta que se está tentando logar.

8.6.3 Comando shutdown

O comando shutdown permite desligar ou reiniciar o computador. Apenas o root pode usar esse comando.

Para desligar o computador imediatamente, usa-se: shutdown -h now

Para reiniciar o computador imediatamente, usa-se: shutdown -r now

8.6.4 Comando exit

Possui duas funções: fechar a janela do terminal ou retornar o uso de seu próprio login após ter utilizado
o comando su. No terminal de comandos propriamente dito, o ato de fechar a janela consiste em deslogar
do computador.

8.6.5 Comando passwd

Esse comando permite alterar a senha do usuário. Utilizando da forma mais simples, ou seja: passwd, é
possível que o usuário comum troque sua própria senha (e para isso a antiga senha será requerida).
8.6. Comandos com funções administrativas 141

O usuário root pode utilizar o comando na forma passwd outrousuario, onde outrousuario é o
login de qualquer usuário do sistema. O root não precisa de conhecer a senha do usuário em questão3 .

8.6.6 Comando lspci e lshw

Esses dois comandos permitem obter informações sobre o hardware instalado. O lspci lista informações
simplificadas sobre placa de rede, vídeo, entre outras. O lshw, que preferencialmente deve ser executado
como root, fornece quase todas as informações possíveis sobre o hardware do computador.

Esses dois comandos são muito referenciados em listas de discussão e fóruns como uma forma de
fornecer e obter a ajuda para configurar um certo hardware.

8.6.7 Comando sudo

No Ubuntu e em várias distribuições é usual que exista o comando sudo. O comportamento desse
programa é definido pelo arquivo /etc/sudores e é diferente em cada distribuição.

O comando sudo permite executar um comando qualquer como se fosse o root. Na grande maioria
das distribuições, executar o comando sudo ifconfig permite executar o ifconfig como root caso saiba
qual é a senha de root. Em outras distribuições, como o Ubuntu, o comando é configurado para que ao ser
executado seja pedido a senha do usuário que executou o comando, caso ele seja um usuário autorizado
para isso.

O Ubuntu (e suas variantes) não configuram a senha de administrador durante a instalação. A única
forma de acessar os recursos administrativos do sistema é utilizando o sudo pela primeira conta criada.

O comando sudo su - permite ao usuário com acesso ao comando sudo tornar-se administrador do
sistema. O comando sudo shutdown -r now permite ao usuário com acesso ao comando sudo reiniciar
o computador. No primeiro momento, qualquer comando pode ser executado como root utilizando o
sudo no Ubuntu. Para detalhes de como alterar a configuração padrão, pode-se ler o artigo de NASCI-
MENTO [5] (pule a etapa de instalação). MORIMOTO [6] e [7] também apresenta detalhes interessantes
e complementares para esse comando.

Com isso denota-se uma característica específica do Ubuntu. Não é possível logar-se como root no
sistema enquanto a configuração original se mantiver. Para logar como root é necessário logar como um
usuário comum e utilizar o comando sudo para tornar-se um usuário administrativo no terminal.
3O root possui pleno acesso a qualquer parte do sistema. Portanto, se deseja proteger seus dados do administrador,
aprenda a encriptar seus documentos.
8.7. Comandos de SSH/SCP 142

8.7 Comandos de SSH/SCP

8.7.1 Comando ssh

O comando ssh (Secure SHell ) permite ter acesso ao terminal de comando de um computador remoto.
Seu uso na forma mais simples consiste em:

ssh nomedeusuario@dominio.da.maquina.remota.br

onde nomedeusuario é o nome do usuário na máquina remota, essa especificação é opcional caso o usuário
da máquina remota seja o mesmo da máquina de onde se faz o login (nesse caso o comando fica apenas ssh
dominio.da.maquina.remota.br) e dominio.da.maquina.remota.br é o domínio da máquina remota,
ou seja, o endereço da máquina.

Existem duas opções interessantes para o ssh. A opção -C, que serve para compactar os dados durante
a transmissão. E a opção -X, que permite executar um aplicativo gráfico na máquina remota por ssh.
Por exemplo,

ssh -C -X nomedeusuario@dominio.da.maquina.remota.br

Após o login é possível digitar “gedit &” para abrir o gedit da máquina remota. Um detalhe especial
para o caractere &, ele é responsável por liberar o prompt de comando (enviando o processo atual para
background) para a execução de um outro comando no mesmo terminal. Sem esse caractere, o “gedit”
prenderia o terminal impedindo a execução de um segundo programa nele. É usual ao executar um
programa gráfico no terminal, e usar esse caractere para antever a necessidade de uso do terminal, sem
necessidade de um novo login em um segundo terminal.

Para encerrar uma sessão remota, basta utilizar o comando exit. Caso exista algum programa gráfico
remoto em execução, a tela do terminal ficará sem resposta até que esse programa seja encerrado. Claro
que, para executar um programa gráfico em um terminal remoto, é necessário que na máquina local exista
um servidor gráfico, ou seja, que a interface gráfica esteja ativa e que o comando seja executado a partir
de um emulador de terminal.

Na primeira que se conecta a um servidor com o comando ssh (seja no modo gráfico ou terminal)
o sistema irá perguntar se deseja adicionar a impressão digital desse servidor no seu sistema. Essa é
uma forma de verificar a autenticidade do sistema remoto. Quando e se o computador remoto sofrer
uma reinstalação (no cenário não pessimista), pode ser necessário editar o arquivo ∼/.ssh/known_hosts
removendo a linha indicada na mensagem de erro que surge.
8.8. Outros comandos de terminal 143

8.7.2 Comando scp

O comando scp é possui a função de transferir arquivos pelo terminal entre dois computadores.

Para copiar um diretório de um servidor remoto para o computador local, no diretório local, usa-se:

scp -r nomedeusuario@dominio.da.maquina.remota.br:/caminho/completo/diretorio ./

e para efetuar o caminho inverso, usa-se:

scp -r ./diretoriolocal nomedeusuario@dominio.da.maquina.remota.br:/caminho/

Há alguns pontos interessantes nesse comando, o primeiro é que da forma que foi escrito, o diretório
da máquina remota não pode conter espaços. Para incluir espaço é necessário uma dupla proteção no
caminho. Assumindo que o nome do usuário da máquina remota e local são idênticos, podemos escrever
algo como:

scp -r "dominio.da.maquina.remota.br:/caminho/completo\ diretorio" ./

Repare que existem aspas e uma barra invertida no local onde deveria estar o espaço (o nome do
diretório é “completo diretorio”). Esse tipo de preocupação não existe ao transferir arquivos pelo
modo gráfico.

8.8 Outros comandos de terminal

8.8.1 Comando echo

O comando echo escreve na tela uma certa mensagem. Por exemplo, echo ’Hello World’. No primeiro
momento esse comando parecerá pouco importante, mas conforme for desenvolvendo o aprendizado,
verificará que ele permite facilitar muito a vida do usuário.

8.8.2 Comando grep

O comando grep permite encontrar um certo conteúdo dentro de um arquivo. Também pode ser utilizado
em conjunto com os redirecionador “pipe”.
8.8. Outros comandos de terminal 144

Exemplo básico:

grep “expressao” nome_do_arquivo

ou

cat nome_do_arquivo| grep “expressao”

As aspas servem para proteger a existência de espaços na expressão. Também pode-se utilizar após-
trofos. Da forma que foi apresentado, o comando irá procurar por todas as ocorrências de “expressao” no
arquivo mencionado. Se dentro do arquivo tiver “Expressao”, o comando o ignorará, pois ele considera que
letras maiúsculas e minúsculas são diferentes. Se o usuário não desejar essa diferenciação, deve utilizar a
opção “-i”.

A “expressao” referida pode ser uma simples palavra, frase ou o que se chama de “expressão regular”.
Para entender melhor sobre expressões regulares veja o Guia-ER4 ou o Portal Brasileiro de Expressões
Regulares5 .

8.8.3 Comando sed

O comando sed é uma forma de editar arquivos em linha. Seu uso mais frequente consiste em substituir
uma certa expressão por outra dentro de um arquivo. Por exemplo:

$ sed -i “s/expressao1/expressao2/g” meuarquivo.txt

ou

$ sed “s/expressao1/expressao2/g” meuarquivo.txt > meuarquivoeditado.txt

No primeiro exemplo, utiliza-se a opção “-i” para editar o arquivo original. No segundo exemplo, não
utiliza-se a opção “-i” para editar o arquivo e redireciona-se a saída do comando para um novo arquivo.
Se o usuário quiser ver o que vai ser feito antes de executar a ação, basta executar o comando sem a
opção “-i” e sem redirecionamento da saída do comando.

O comando sed é muito poderoso. Para maiores detalhes, veja o Portal Brasileiro do SED6
4 Guia-ER - http://guia-er.sourceforge.net/
5 Portal Brasileiro de Expressões Regulares - http://aurelio.net/er/
6 Portal Brasileiro do SED - http://aurelio.net/sed/
8.8. Outros comandos de terminal 145

8.8.4 Comando ps

É um comando que permite listar os processos em execução do sistema. A forma mais usada é: ps aux,
mas não sozinho, e sim, conjugado com o comando grep, ou seja, ps aux|grep -i expressao.

Por exemplo, desejando saber se o GNOME tem ou não algum processo ativo, usaria ps aux|grep
-i gnome. A informação mais interessante para se obter é a que está representada na segunda coluna, o
número de identificação do processo (PID).

8.8.5 Comando kill/killall

Os comandos kill e killall são utilizados para interromper um processo.

Com o número de identificação do processo (veja o comando ps acima), faz-se: kill “PID”, onde
PID é o número identificado. Esse comando interromperá o processo de forma mais ou menos educada.
Caso deseje-se interromper o processo imediatamente, usa-se a opção “-9”, ficando: kill -9 “PID”.

Por outro lado, caso não tenha o número do processo do processo, pode usar o comando killall. Por
exemplo, desejando encerrar imediatamente o firefox, usa-se killall -9 firefox. A tecla TAB ajuda a
completar o nome do processo quando esse não for muito lógico, por exemplo, killall -9 firefox-bin
(esse processo existe e se não encerrar ele, o firefox não é encerrado como um todo).

8.8.6 Comando locate

Permite localizar arquivos no computador. Funciona percorrendo um banco de dados que é construído
pelo sistema de tempos em tempos ou apenas manualmente. O comando de atulaização deste banco de
dados é o updatedb, que deve ser executado como root.

Se o banco de dados não estiver construído ou estiver muito desatualizado, o comando locate infor-
mará quando ele for acionado.

O uso do locate é muito simples, basta digitar: locate expressao, onde expressao é uma expres-
são regular (tal qual no comando grep, e que inclusive pode ser uma simples palavra). A opção mais
interessante desse aplicativo é a -i, que permite ignorar as diferenças entre letras maiúsculas e minúsculas.
8.8. Outros comandos de terminal 146

8.8.7 Comando find

O find é um aplicativo de terminal para busca arquivos, mas ao contrário do locate, não requer um
banco de dados atualizado. Ele possui centenas de opções, a melhor forma de aprender a usar esse
programa é lendo exemplos. Seu artigo na Wikipédia7 é um excelente ponto inicial para o estudo desse
comando.

8.8.8 Comando vim

O vim8 não é um simples comando, mas um editor de textos completo para terminal. Permite fazer quase
tudo que as grandes IDEs fazem, inclusive com o suporte a plugins. Seu aprendizado, entretanto, não é
trivial. Longe disso, pois além das centenas de comandos nativos é possível criar “macros” pré-configuradas
para executar qualquer tipo de função desejada.

Para quem utiliza cluster ou servidores em GNU/Linux é indispensável o seu aprendizado. Para tal,
existe um livro, que é um projeto de código livre, chamado 9 vimbook10 , criado por Sérgio Luiz Araújo
Silva11 que fornece toda informação necessária (e algo mais) sobre esse programa.

8.8.9 Comando startx

Em alguns sistemas, para iniciar o modo gráfico, é necessário digitar um comando no terminal. Esse
comando é o startx. Esse é um comportamento comum em servidores e muito pouco comum nos dias
de hoje em computadores pessoais.

8.8.10 Comando df

O comando df fornece o espaço ocupado/livre em disco. Sua opção mais comum é a “-h” que faz com
que a saida do comando df -h utilize a melhor unidade para representar o espaço em disco (megabytes,
gigabytes, etc).
7 findna Wikipédia - http://pt.wikipedia.org/wiki/Find
8 Vim - http://www.vim.org/
9 http://code.google.com/p/vimbook/
10 vimbook - http://code.google.com/p/vimbook/
11 Nosso livro sobre vim - http://vivaotux.blogspot.com/2009/01/nosso-livro-sobre-o-vim.html
8.8. Outros comandos de terminal 147

8.8.11 Comando free

O comando free permite obter informações sobre a memória do sistema. A opção mais comum é a “-m”
que faz com que a unidade utilizada para descrever a memória seja megabytes.

Uma saída típica do comando free -m é apresentada abaixo.

total used free shared buffers cached


Mem: 3995 3872 122 0 357 2856
-/+ buffers/cache: 658 3336
Swap: 2078 0 2078

A primeira linha lista a memória total, a memória “usada” a memória livre, a memória compartilhada,
os buffers de memória e a memória utilizada para cache. A memória realmente utilizada é a memória
usada menos a quantidade de memória utilizada para buffer e cache. Essa conta é feita e apresentada na
segunda linha, onde a quantidade de memória realmente usada e livre é listada.

A última linha fornece detalhes sobre a memória swapp, verifique o Anexo F para mais detalhes sobre
essa memória.

8.8.12 Comando top

O comando top lista todos os processos ativos no computador. Após digitar top no terminal, digite “h”
para ajuda e “q” para sair do ambiente (essas duas opções não são argumentos).

8.8.13 Comando rsync

O comando rsync permite manter um backup sincronizado/atualizado sobre de um certo diretório do


computador em outro diretório (que pode estar em outro HD) ou em um servidor remoto.

Suas principais opções são:

• -a : cópia fiel e recursiva

• -v : modo verbose, ou seja, o programa mostra o que está fazendo na tela

• -z : ativa a compressão na transferência de dados

• -P : habilita a possibilidade de continuar a transferência de um arquivo do ponto onde ele foi


interrompido
8.8. Outros comandos de terminal 148

• -u : apenas atuliza e não sobrescreve arquivos mais novos (cuidado especial com a configuração de
data do sistema)

• –delete : deleta arquivos no destino que não existam na origem

• –rsh : permite realizar uma cópia através de um servidor ssh.

• –exclude : permite excluir da cópia um certo diretório ou arquivo que obedece a chave especificada

Exemplos:

• Copiar o conteúdo do diretório ∼/documentos para dentro do diretório /media/disk (que prova-
velmente é um pendrive/HD Externo).
rsync -av –delete ∼/documentos/ /media/disk/
Com a opção –delete, os direstórios serão sincronizados.

• Copiar o diretório ∼/documentos para dentro do diretório /media/disk (note a sutileza do efeito
de uma simples barra após o nome do diretório de origem.
rsync -av –delete ∼/documentos /media/disk/

• Para realizar uma cópia entre dois computadores


rsync -avzP –delete –rsh=“ssh -C -l luig” ∼/documentos destino:/dir_desejado/
Nesse caso o segundo computador deve ter um servidor ssh ativo e o usuário luig deve existir
nesse servidor. Pode-se usar o nome ou o ip do computador remoto (no comando referenciado pela
palavra destino).

• Para realizar uma cópia entre dois computadores, excluindo tudo que esteja sobre o diretório “Fotos”
dentro desse diretório ∼/doc
rsync -avzP –exclude=’Fotos’ –rsh=“ssh -C -l luig” ∼/doc destino:/dir_desejado/

Para restaurar uma certa cópia, basta utilizar o mesmo comando, porém revertendo a ordem de origem
e destino, por exemplo:

rsync -avzP –delete –rsh=“ssh -C -l luig” destino:/diretoriodesejado/documentos ∼/

Note um apropriado pequeno ajuste nos nomes dos diretórios para evitar erros. É muito important
que utilize a barra, “/”, no final do nome do diretório de origem com cautela adequada. Um erro pode
produzir resultados muito desagradáveis (como a perda de dados no destino ou grande desordem no
diretório destino). Vide diferentes efeitos nos dois primeiros exemplos.

Pode-se utilizar o rsync para copiar apenas um arquivo. Essa opção é particularmente útil quando
o arquivo é muito grande, pois permite que ao utilizar a opção “-P” exista uma forma de resumir a
transferência do arquivo caso ocorra alguma interrupção na conexão.
8.8. Outros comandos de terminal 149

8.8.14 Comando alias

O comando alias permite criar um novo nome para um comando e suas opções. Por exemplo,

alias cls=’clear’

permite chamar o comando clear digitando cls no terminal. Se antes digitar:

alias cp=’cp -r’

faz com que todas as vezes que digitar cp no terminal, tenha implícito a opção -r.

Na maior parte dos casos, isso representa um ganho extraordinário de produtividade, pois abrevia a
digitação de comandos e argumentos.

Algumas dicas e exemplos seguem abaixo (muitas não são básicas):

alias clc=’clear’
alias cls=’clear’
alias rm=’rm’
alias rmr=’rm -r’
alias rmf=’rm -rf’
alias cp=’cp -r’
alias psa=’ps aux’
alias psas=’ps aux|grep -i’
alias kill=’kill -9’
alias ls=’ls --color=auto’
alias l=’ls -F’
alias ll=’ls -lh’
alias la=’ls -lha’
alias see=’eog’
alias nautilush="nautilus --no-desktop ."
alias mon-men="watch -d \"free -mt\""
alias mounted=’mount|column -t|sed /mapper/d’
alias mapper=’mount|column -t|grep mapper ’
alias sinuca=’foobillard &>/dev/null’
alias browser=’epiphany &>/dev/null &’
alias shutdown=’sudo shutdown’
alias desligar=’shutdown -h now’
alias reiniciar=’shutdown -r now’
alias apt-get=’sudo apt-get -u’
8.8. Outros comandos de terminal 150

alias hora=’date +%H:%M:terminal’


alias data=’date +%H:%M:terminal’
alias ..=’cd ..’
alias ...=’cd ../../’
alias ~=’cd’
alias mount=’sudo mount’
alias miso=’sudo mount -t iso9660 -o ro,loop’
alias umount=’sudo umount’
alias u,=’umount’
alias cputemp=’sensors| grep "CPU"| cut -b -55’
alias systemp=’sensors| grep "Sys"| cut -b -55’
alias temperaturas=’cputemp;systemp’
alias hdtemp=’sudo hddtemp /dev/sd[a-f]’
alias sem-comentarios=’sed "/^#/d"’
alias ssh=’ssh -C -X’
alias scp=’scp -r’
alias ssh,="ssh -p 21"
alias srm=’sudo rm’
alias srmr=’sudo rm -r’
alias srmf=’sudo rm -rf’
alias clamscan=’nice --adjustment=+19 clamscan’
alias iso2utf=’iconv -f iso-8859-1 -t utf-8’
alias utf2iso=’iconv -f utf-8 -t iso-8859-1’
alias iso2utfnames=’convmv -f iso-8859-1 -t utf-8’
alias utf2isonames=’convmv -f utf-8 -t iso-8859-1’
alias fat2linux="find ./ -type f -exec chmod -x ’{}’ \;"
alias tartar="tar cvf"
alias targz="tar zcvf"
alias tarbz2="tar jcvf"
alias zipe=’zip -re’
alias zip=’zip -r’
alias tarlist="tar tf"
alias targzlist="tar ztf"
alias tarbz2list="tar jtf"
alias limlogs="sudo find /var/log/ -iname \*.gz -exec rm -fv ’{}’ \;"
alias tilremove="find ./ -maxdepth 1 -type f -iname \*~ -exec rm -v ’{}’ \;"

A regra é não utilizar nenhuma das dicas que não saiba para que serve ou o que ela faz. Entretanto,
muitas dessas dicas estão relacionadas a comandos apresentados nesse capítulo e representam visões
pessoais sobre como usar um ou outro comando.
8.8. Outros comandos de terminal 151

O inconveniente desse comando, é que todas as vezes que se abre o terminal é necessário redigitar
o alias correspondente. Uma forma de fazer isso automaticamente é inserindo o comando desejado no
arquivo ∼/.bashrc. Dessa forma, ele será executado todas as vezes que abrir o terminal.
Capítulo 9

Administração de um Sistema
GNU/Linux

Esse capítulo não pretende formar administradores de sistema. Muito pelo contrário, as informações
contidas aqui são superficiais e apresenta-se apenas o mínimo necessário para que o usuário novato
gerencie o seu próprio computador sem depender de terceiros.

9.1 Configurando a Rede

Sem internet, sem ajuda. Sem ajuda, sem resolução de problemas. É na internet que estão as respostas
da grande maioria de problemas que um usuário (especialmente um iniciante) poderá ter. Portanto, ter
acesso a internet é um ponto importante no aprendizado do uso do GNU/Linux.

O primeiro ponto é saber qual é o tipo de conexão da máquina. Aqui, são exploradas quatro possibi-
lidades que tendem a cobrir quase todos os tipos de conexão existentes no Brasil atualmente: DHCP, Ip
Fixo, ADSL e Dial-up (também conhecida como “conexão discada”). No Ubuntu, as três primeiras pos-
sibilidades estão integradas no mesmo aplicativo, acessível de “Sistema” >> “Preferências” >> “Conexões
de rede” (figura 9.1).

9.1.1 DHCP

A primeira aba da figura 9.1 contém a configuração de rede com fio. Note que, a conexão ADSL também
utiliza fio (do mesmo tipo, ao contrário do Dial-up, cujo o fio é de telefone), mas não será configurada

152
9.1. Configurando a Rede 153

Figura 9.1: Aplicativo principal para configuração de rede.

com essa opção (ver seção 9.1.3). Se o computador está em uma rede DHCP e foi instalado corretamente,
no primeiro boot a internet estará configurada. A figura 9.1 mostra isso. Essa mesma observação é válida
para quase todas as distribuições GNU/Linux, sendo raras as exceções.

Caso algum problema seja percebido, no Ubuntu, na mesma tela da figura 9.1, clique em “Editar...”
(somente quando existe troca de placa de rede é que pode ser necessário utilizar a opção “Adicionar...”
e será necessário utilizar a opção “Apagar...”). A primeira tela exige a senha do usuário (figura 9.2). O
primeiro usuário do computador (o que é criado junto com a instalação) possui os direitos administrativos
para realizar qualquer função. Se for esse o usuário, insira a senha dele.

Após a autenticação, a primeira aba inclui recursos avançados que, por exemplo, permitem o usuário
personalizar o número de MAC que será enviado ao provedor de internet para autenticação1 . A segunda
aba refere-se a questões de segurança, que raramente não são muito comuns e também não serão dis-
cutidas. Já a terceira aba é a que contém as configurações de interesse (veja a figura 9.3). Note que
não há o que ajustar. Basta conferir se realmente o método selecionado para conexão é o “Automático
(DHCP)”. Se tudo estiver correto, verifique na parte superior da janela se “Conectar automaticamente”
está habilitado e que na parte final da janela esteja marcado “Disponível para todos os usuários” (do
contrário apenas o administrador acessa a internet).

Para se ter uma idéia das opções que existem nessa figura 9.3, veja a figura 9.4. O uso de “Somente
1 Alguns provedores de internet realizam autenticação do número de MAC. Esse número é único para cada placa de rede,
mas pode ser maquiado por software. Isso é particularmente útil para não ter que ligar para o suporte do serviço pedindo
uma modificação no número de MAC que eles mantém consigo. Também é útil para servir de argumento a advogados em
questões de utilização da rede.
9.1. Configurando a Rede 154

Figura 9.2: Ajustando a conexão DHCP, autenticação de uso administrativo.

Figura 9.3: Ajustando/Conferindo a conexão DHCP.


9.1. Configurando a Rede 155

endereços (DHCP) automáticos” permite configurar um IP DNS específico para a máquina, mas utilizando
o IP gerado por DHCP.

Figura 9.4: Opções de conexão de rede “com fios”.

Esse tipo de conexão é típica de redes internas, onde inclui-se aqueles que utilizam roteadores na
conexão de redes com a Velox. Usualmente, todos esses usuários também podem escolher IP fixo. É a
conexão mais fácil de se configurar, visto que quase sempre é tudo automático.

9.1.2 IP Fixo

O IP Fixo é um tipo de conexão usualmente vista em redes internas gerenciadas por uma certa política
estabelecida por alguém (o que incluí pequenas redes caseiras, alguém deve exigir o IP fixo). O admi-
nistrador da rede (ou o gerente do roteador, como queria) forneceu informações de IP, máscara de rede,
gateway e servidor DNS. Então, basta utilizar essas informações. Simples assim. No ubuntu, acesso o
gerenciador de redes (figura 9.4) ajuste a opção de conexão para Manual (figura 9.4). Em seguida, clique
em “Adicione” (figura 9.5). Será possível adicionar um IP, uma máscara de rede e o número do Gateway,
no local que ele irá permanecer (é uma interface muito sutil, mas é possível editar o IP simplesmente
clicando nele, o mesmo vale para a máscara de rede e o Gateway), veja a tela na figura 9.6.
9.1. Configurando a Rede 156

Figura 9.5: Adicionando um IP fixo.


9.1. Configurando a Rede 157

Figura 9.6: Adicionando um IP fixo, note como fica as informações inclusas.


9.1. Configurando a Rede 158

Também é necessário especificar os servidores DNS. Na prática, apenas um servidor é necessário,


porém é possível adicionar quantos quiser separando-os por um espaço. É possível adicionar um domínio,
que pode ser local (da rede local) ou da internet (para o caso de servidores públicos). Essa informação é
opcional, assim como são as informações de rotas (acessíveis por “Rotas...”, na mesma tela).

Os mesmos conceitos empregados na configuração da rede no Ubuntu são utilizados em todas as


distribuições GNU/Linux que possuem interface gráfica para essa função. Na verdade, em termos de
conceitos, eles podem ser estendidos a qualquer sistema operacional que possua uma interface gráfica
para esse propósito.

9.1.3 ADSL

Esse é o tipo de conexão necessária para acessar a Velox, por exemplo. Note que quem utiliza um roteador
para acessar a Velox, não usa esse tipo de conexão, mas sim, DHCP ou IP Fixo.

Outrora, a melhor forma de configurar essa conexão era utilizando o terminal. Como administrador,
execute com comando pppoeconf. Será aberto um ambiente onde basta responder as perguntas que são
feitas. Utilize a tecla TAB para navegar entre os campos (SHIFT+TAB, para fazer o caminho inverso. Note,
porém que TAB é cíclico, ou seja, depois de percorrer todos os elementos da janela, ele volta ao primeiro
elemento).

Esse comando existe em quase todas as distribuições, porém, o openSUSE não possui esse utilitário.
Nele esse tipo de conexão é feita de forma completamente diferente. No Yast, acione o módulo DSL e
responda as perguntas que forem feitas. A configuração é simples, mas utiliza palavras desnecessárias em
um processo que devia ser ainda mais simples. Também no openSUSE é necessário configurar a placa de
rede para ajustar a interface de rede para “Sem endereço de IP (uso para dispositivo virtual)”.

No Ubuntu, tudo é mais simples ainda. Observe na figura 9.1 que a última aba do aplicativo refere-
se à DSL. Clique nessa aba e nela adicione uma configuração (clique em “Adicione”). Surgirá a tela
apresentada na figura 9.7.

Em uma configuração típica, basta configurar o nome do usuário e a senha. O campo serviço refere-se
a um nome fantasia associado ao serviço utilizado. Preencha com qualquer informação, tipo “servico”.
É necessário marcar a opção “Disponível para todos os usuários” e muito interessante marcar a opção
“Conectar automaticamente”.

Muitos dos provedores de internet mantém um registro número de MAC, um número fantasia pode
ser configurado na aba “Com fios”. Por sua vez, a aba “Configurações de IPv4” permite personalizar o
número de IP/DNS, alternando configuração automática (onde nada precisa ser modificado), configuração
automática apenas para o IP (onde o servidor DNS deve ser especificado) e configuração manual (onde
tudo precisa ser especificado).
9.1. Configurando a Rede 159

Figura 9.7: Configurando conexão DSL.


9.1. Configurando a Rede 160

9.1.4 Dial-Up

Nesse tipo de conexão, existem dois pontos a serem considerados, o tipo de modem e a distribuição
utilizada.

Se o modem é hardmodem, então utilizar essa conexão será pouco complicado. Basta abrir o discador
(exemplo, o Gnome PPP, vide figura 9.8, ou o Kppp), selecionar configurações, na tela que se abre (para o
Gnome PPP, veja figura 9.9) sempre existe uma opção como “Detectar”, onde o modem será identificado.
Em seguida clique em “Fechar” e na tela original preencha os dados (nome, telefone e senha) e clique em
conectar.

Figura 9.8: Conexão por Dial-up.

Seria muito fácil, se o programa viesse instalado no Ubuntu (em outras distribuições, esse programa
é muito comum, portanto, é muito fácil mesmo). Quando ele não está presente, a primeira conexão deve
ser feita utilizando o pppconfig (se esse não estiver presente, pode ser necessário configurar o programa
ppp na mão, algo realmente avançado). Usar o pppconfig não é tão fácil quanto desejado. O Wel
R. Braga [8] escreveu um texto (rico em ilustrações claras) explicando como conectar-se a um modem
portátil da Claro (para isso, essa ferramenta não é mais necessária. Note que o texto é de fevereiro de
2008, portanto, quando a versão do Ubuntu era 7.10.), mas como verá no tutorial dele, tudo consiste
em definir corretamente qual é o modem (para quem tem apenas um modem, a informação da tela da
figura 9.9 é a informação típica).

O maior problema aqui é que é improvável que no Brasil o modem seja um hardmodem (o preço é
muito maior e a maioria dos vendedores nem sabe a diferença). O mais provável é que seja um softmodem
(ou um winmodem). Nesse caso, a configuração varia muito entre distribuições e não é tão fácil quanto
desejado. No Ubuntu, seria muito fácil, pois em “Sistema” >> “Administração” >> “Drives de hardware” é
possível instalar drivers proprietários encontrados pelo sistema. Na figura 9.10 vê-se a identificação dos
recursos que podem ser instalados na máquina utilizada para o teste.

Selecione então “Aplicativo Modem” e clique em “Ativar”. Será aberta a tela de autenticação do
9.1. Configurando a Rede 161

Figura 9.9: Conexão por Dial-up.


9.1. Configurando a Rede 162

Figura 9.10: Instalando driver proprietários.


9.2. Configurando Impressoras 163

usuário e em seguida o driver será instalado. Após o boot (que na verdade é desnecessário, é apenas uma
forma de evitar problemas mais complexos que o necessário) ele estará disponível para uso. O problema
é que o usuário não tem internet. Se não tem internet, como ele pode conectar para baixar o driver ?

Existe alguma forma de instalar o driver coletando os pacotes (sim, mais de um) da internet de algum
lugar (como por exemplo, uma lan-house) e depois instalar no sistema? Sim, existe. Mas para isso o
usuário deve saber qual é o pacote que ele quer. Normalmente essa etapa não é tão trivial assim para
quem acabou de ser apresentado ao GNU/Linux e os usuários que estão adequadamente ambientados, já
possem acesso a internet (ou sabem como fazer essa instalação). A melhor solução que vislumbra-se no
horizonte é levar o computador a algum lugar que tenha acesso a internet por uma forma mais simples
(como DHCP, por exemplo) e instalar tudo que é necessário para fazer o modem funcionar (drivers
proprietários e aplicativo gráfico de discagem como gnome-ppp ou kppp).

E se a identificação do driver proprietário não funcionar? E se o driver não funcionar? Embora seja
uma referência antiga, sugiro a leitura de MORIMOTO [9]. Para o ubuntu, o wiki fornece um texto que
é atualizado a cada nova versão do sistema [10]. Embora sejam guias completos, qualquer um perceberá
fácil que não é uma atividade trivial. Quem não tiver um modem compatível com as versões existentes
dos drivers, não poderá acessar a internet por linha discada.

9.2 Configurando Impressoras

Existem milhares de caminhos diferentes para configurar uma impressora em um computador. Aqui será
citado apenas um desses caminhos. O caminho mais simples, na opinião do autor, é pelo utilitário de
configuração do GNOME. Isso tende a ser muito pouco interessante se não tiver o GNOME instalado.
Saiba, portanto, que o KDE também possuí um utilitário similar.

9.2.1 Impressora Local

Dependendo da impressora e da distribuição utilizada, ao ligar a impressora conectada na máquina, esta


será automaticamente instalada. Será tão rápido que nem dará tempo para o usuário perceber que alguma
coisa está acontecendo.

Não raro, porém, encontra-se impressoras que não são automaticamente reconhecidas pelo sistema e
que ainda necessitam de ajustes para serem instaladas corretamente. Para esses casos, no Ubuntu, abra
o aplicativo “Sistema” >> “Administração” >> “Impressão” e uma tela como a representada na figura 9.11
será aberta. Com a impressora ligada e conectada, selecione “Novo” na barra de ferramentas, e surgirá
uma tela como a da figura 9.12. Na grande maioria dos casos, apenas isso é suficiente para fazer o sistema
reconhecer a impressora.
9.2. Configurando Impressoras 164

Figura 9.11: Gerenciamento de impressora.

Figura 9.12: Identificando impressoras.


9.2. Configurando Impressoras 165

Caso nada seja encontrado (e realmente não deseje substituir a sua impressora) é possível tentar
configurar a impressora manualmente, seguindo o assistente que será aberto. São raros os casos de uma
impressora que nesse ponto não foi sequer identificada como conectada localmente e depois de configurada
funcione corretamente.

Em alguns casos, pode surgir uma tela pedindo a confirmação da impressora, de um nome, de um
local, etc. Esse pequeno passo é apresentado na sub-seção seguinte.

9.2.2 Instalando uma Impressora Compartilhada em outra máquina

Essas impressoras são comuns em ambientes de rede. Aplicável ao caso onde existe uma máquina com o
Windows (na verdade, pode ser uma máquina com o GNU/Linux também, com a impressora instalada
via samba) ligado conectado à uma impressora compartilhada em rede.

Os passos de instalação são os mesmos mostrados anteriormente. Contudo, ao invés de instalar uma
impressora local, seleciona-se instalar uma impressora remota.

Na prática, no utilitário do GNOME, existe uma tendência a identificar qualquer impressora acessível
pela máquina. Por exemplo, na máquina utilizada para teste, ele identificou uma impressora instalada em
outro GNU/Linux da mesma rede, (veja na figura 9.13), e concluiu a instalação da impressora (é o passo
adicional que pode ser necessário como mencionado no item anterior). Clique em avançar (visto que tudo
foi identificado corretamente) e a tela seguinte (figura 9.14) pedirá uma identificação para impressora. É
apenas uma formalidade, pode-se aceitar o padrão, mas é indicado responder as perguntas que surgem.

Figura 9.13: Impressora compartilhada localizada pelo sistema.


9.2. Configurando Impressoras 166

Figura 9.14: Dando um nome para a impressora localizada.

Após esse passo, clique em “Aplicar” e a instalação está concluída. Ou melhor, quase concluída. Veja
na figura 9.15 que o sistema informa que antes de utilizar a impressora é necessário instalar seu driver dela
no computador. E ele fornece o nome do driver, nesse caso particular, footmatic-rip-hplip. Portanto,
note que você não utilizará a impressora se não tiver internet, pois é de onde irá obter o driver em
questão.

Figura 9.15: Impressora quase instalada, falta “apenas” o driver.


9.3. Instalação de Novos Programas 167

9.3 Instalação de Novos Programas

A grande maioria das distribuições conta com milhares de programas em seus repositórios (local onde
uma distribuição disponibiliza seus programas). São, portanto, raras as vezes que um usuário necessita
compilar e instalar um programa a partir do código fonte ou mesmo instalar um binário disponibilizado
por terceiros.

Esse tópico irá apresentar a forma tradicional de instalar programas no Ubuntu (na verdade, em todas
as distribuições baseadas em Debian). Em outras distribuições o processo lógico é exatamente o mesmo,
mas os aplicativos (os gerenciadores de pacotes) são diferentes. Por exemplo, no openSUSE usa-se o
“Gerenciamento de Programas” do Yast e no Fedora, usa-se o Yum.

9.3.1 O Gerenciador de Pacotes

As distribuições possuem milhares de programas, muitos dos quais não estão instalados por padrão no
sistema. Esses programas estão divididos em pacotes. Um certo programa pode estar contido em um
único pacote ou em centenas de pacotes. Muitas das vezes estão divididos em dois pacotes. Então,
instalar um programa disponibilizado pela distribuições utilizada é instalar o(s) pacote(s) dele. Então
fica a pergunta: como fazer a instalação desses programas?

Quase todas as distribuições modernas possuem um gerenciador de pacotes. Esse gerenciador de


pacotes lista todos os pacotes contidos em uma certo repositório da internet associado a distribuição
selecionada e lista também informações sobre esses pacotes.

Nesses gerenciadores de pacotes, ao selecionar para instalação um pacote de um programa, ele pro-
videnciará a instalação de qualquer pacote adicional que seja necessário para que o programa funcione
(pacotes dependentes). E também providenciará a remoção de qualquer pacote que conflite com o pacote
selecionado (caso o usuário autorize).

No ubuntu, o gerenciador de pacotes principal é o Synaptic2 . O acesso ao programa ocorre por


“Sistema” >> “Administração” >> “Gerenciador de Pacotes Synaptic”. Seu uso é extremamente simples e
descomplicado. Sua capacidade de resolver problemas é bem abrangente. A única observação necessária
é que nada substitui o bom senso. De forma que é importante que seja feita uma avaliação das sugestões
recomendadas pelo gerenciador de pacotes antes de aplicar suas alterações no sistema. Por exemplo, se
ele disser que precisa remover o kernel do GNU/Linux ao instalar um certo pacote, desconfie3 . Pode
haver algum conflito complexo por trás dessa informação.

A figura 9.16 apresenta a tela inicial do Synaptic (na verdade, a tela que surge depois da autentificação
2 Synaptic - http://www.nongnu.org/synaptic
3 Exemplo ilustrativo, na prática o usuário precisa ser insistente para remover um pacote crítico.
9.3. Instalação de Novos Programas 168

do usuário). Note que a mensagem inicial é uma ajuda preciosa para quem vai utilizar o programa pela
primeira vez. Ela lembra de pequenos e importantes conceitos sobre o uso do Synaptic. O primeiro
conceito que o usuário deve ter em mente, é que as alterações somente serão efetuadas quando o usuário
mandar que ela seja efetuada (melhor dizendo, o root, porque é necessário ter permissão de administrador
para instalar e/ou remover qualquer programa).

Figura 9.16: Tela de abertura do Synaptic. É sempre importante ler as mensagens que surgem nos
programas quando são abertos pela primeira vez.

Antes de começar a instalação em si, é interessante apresentar alguns dos recursos do programa. Logo
após abrir o programa, é mais ou menos algo como a figura 9.17 que se obtém. Observe que existe uma
barra lateral que divide os programas em categorias. Essa categorias estão divididas em funções e por
repositório. Por exemplo, é perfeitamente visível a categoria “Ciência” no meio da lista. Também lê-se
“Ciência (universe)” e “Ciência (multiverse)”. Nesse ponto “universe” e “multiverse” são dois repositórios
adicionais configurados no ubuntu. Neles existe programas que são mantidos pela comunidade. Nenhum
programa que esteja em um desses repositórios encontra-se em qualquer CD da família ubuntu. Observe
que essa barra lateral permite dividir os programas disponíveis e instalados em diferentes formas (além
de “Seções” que é forma que está listado na figura 9.17). Podemos listar os programas por “Status”
(figura 9.18(a)) onde os aplicativos são divididos em “Instalados”, “Não Instalado” e “Instalável (atualizá-
vel)” (esse último significa que são programas instalados, mas que existe uma versão mais atual para ser
instalada). Pode-se dividir os programas por origem (figura 9.18(b)), onde apenas a origem do pacote é
levada em consideração. Pode-se utilizar filtros personalizados (figura 9.18(c)), onde os programas podem
ser divididos por características específicas (esse é um uso avançado, não será detalhado nesse texto).
9.3. Instalação de Novos Programas 169

Voltando a avaliar a figura 9.17, observe que além da barra lateral, na parte inferior da tela, existe
algumas informações interessantes na barra de status. Nesse caso, está escrito “26832 pacotes listados,
1171 instalados, 0 quebrados, 0 para instalar/atualizar, 0 para remover ”. Dessa informação, concluí-se
que existem 25661 pacotes que não estão instalados. Não faz sentido instalar tudo. Na verdade, isso nem
mesmo é possível. Em uma conta grosseira, isso significa que existem aproximadamente 8 mil programas
para instalação.

A região central do programa é dividida em duas visões. A lista dos pacotes (não programas) na parte
superior e a descrição dos pacotes na parte inferior da janela. No exemplo da figura 9.17, selecionou-se
o pacote não instalado ainda 9base, que tem como descrição curta “ferramenta do espaço de usuário
Plan 9 ”. A pergunta é: Saberia o usuário o que é Plan 9? Ou mesmo o que essa frase significa ?.
Dificilmente4 . Como essa descrição curta não foi suficiente, lê-se a descrição longa. Pulando a longa
explicação dada sobre o que é o 9base, leia o segundo parágrafo, onde está escrito, 9base é atualmente
usado apenas pelo wmii2 (windows manager improved - gererenciador de janelas melhorado, versão 2).
Voltamos à pergunta: Saberia o usuário dizer o que é wmii2? Saberia ele pelo menos dizer se precisa
disso?. A primeira pergunta pode ser algo confuso, mas a segunda tem uma resposta simples. Se o
wmii2 é um gerenciador de janelas melhorado (seja lá o que isso signifique), é um programa que não está
instalado na base da distribuição, e o usuário não faz idéia do que essa idéias signifiquem, então é muito
provável que o usuário não precise disso.

Ainda nessa descrição, lê-se em letras cinzas: “A Canonical5 não oferece atualizações para o 9base.
Algumas atualizações podem ser oferecidas pela comunidade do Ubuntu”. Em outras palavras, não é um
programa que a Canonical invista (dinheiro e pessoal) para manter. Quem cuida desse pacote são os
usuários, a comunidade. Essa mensagem é típica dos programas que estão nos repositórios universe e
multiverse.

Uma vez avaliada a interface básica, é o momento de entender as opções dos menus. No menu, em
“Configurações” (figura 9.19), lê-se “Preferências” e “Repositórios” que são os dois principais itens do menu
do Synaptic.

A tela da opção “Preferências” contém várias opções de configuração associadas a questões de organi-
zação e visual (figura 9.20).

A tela da opção Repositórios (figura 9.21), contém, na primeira aba o controle básico do principais
repositórios (a configuração padrão é uma ótima escolha). Em alguns casos, pode ser necessário habilitar
o repositório via “CD/DVD”, algo útil para quem não tiver conexão de internet e utilizar os discos
complementares de programas disponibilizados por terceiros. Note também, que nessa tela é possível
escolher o melhor espelho6 dos repositórios. Normalmente, o mais próximo é o melhor, mas todos são
4 Bem, isso é relativo. Alguns usuários podem somente conhecer isso, então esse comentário é algo generalizado, ok?
5 Essa é a empresa que distribui o Ubuntu
6 São cópias de um mesmo conteúdo espalhadas pela internet para maximizar a disponibilidade e diminuir o custo de

transmissão de dados.
9.3. Instalação de Novos Programas 170

Figura 9.17: Programa Synaptic.

iguais, portanto, essa é apenas uma questão de obter melhor desempenho em velocidade

A segunda aba (figura 9.22) permite adicionar repositórios de terceiros. Existe um repositório confi-
gurado e não habilitado nessa imagem. Para habilitar um deles é necessário marcar a caixa de seleção.
Todo repositório com uma definição de “Código Fonte” é, no primeiro momento, dispensável, pois nesse
repositório não existe programa binário pré-instalado, apenas código fonte.

A terceira aba (figura 9.23) regula o comportamento do Synaptic. É muito importante que as atua-
lizações sem suporte (backports) e atualizações pré-liberadas (proposed ) somente sejam habilitadas se o
usuário ponderar muito seriamente os riscos que enfrenta ao utilizar um programa que ainda não atin-
giu maturidade no desenvolvimento. Essa aba também regula o comportamento do programa frente a
existência de atualizações e com que freqüência será verificado a existência de novos pacotes. A opção
associada a “Atualização de lançamento” esta correlacionada a atualização da versão da distribuição.
Quando a distribuição Ubuntu 9.10 estiver disponível, será possível optar por ela nesse menu e assim
atualizar o sistema inteiro de forma simples, sem precisar de instalar tudo do zero (embora nesse caso
seja muito interessante fazer um backup dos dados antes7 .). Mantenha a opção “Versões normais” até
que uma nova versão seja lançada.

A quarta aba está relacionada as chaves de autenticação registradas. Essas chaves servem para con-
ferir que um pacote está sendo baixado do lugar correto, sem qualquer violação feita por terceiros. Essa
7 Sinceramente, não apenas nesse caso, em todos os casos, backup NUNCA é demais.
9.3. Instalação de Novos Programas 171

(a) (b)

(c)

Figura 9.18: Programa Synaptic, diferentes visões dos programas.


9.3. Instalação de Novos Programas 172

Figura 9.19: Menu configurações do Synaptic.

Figura 9.20: Janela de ajuste das preferências dos Synaptic.


9.3. Instalação de Novos Programas 173

Figura 9.21: Janela de canais de softwares, repositórios. A primeira aba apresenta as configurações mais
importantes.

Figura 9.22: Gerenciando repositório independentes.


9.3. Instalação de Novos Programas 174

Figura 9.23: Configurando freqüência de atualização e comportamento do sistema quanto a essa questão.

autenticidade é uma segurança extra que até pode ser dispensada. Para configurar o sistema comple-
tamente, baixe a chave pública do repositório, clique em adicionar e importe a chave para o Synaptic.
Entretanto, pode ser mais fácil fazer isso pelo terminal. Veja o documento escrito por MORIMOTO [11],
que apesar de antigo, é bem atual em conceito.

Por fim, a última aba está associado ao envio de estatísticas para o servidor da Canonical. Além de
monitorar o comportamento médio dos usuários, esse tipo de colaboração ajuda a empresa a decidir por
qual aplicativo deve optar por incluir no CD (de instalação ou live CD) ou fornecer suporte primeiro. A
escolha entre colaborar ou não é totalmente do usuário.

Antes de qualquer instalação, o primeiro passo é clicar em “Recarregar” (na barra de ferramentas).
Essa função atualiza toda a lista de informações dos programas disponíveis. Ao não fazer isso, corre-se o
risco obter erros desnecessários devido à falta de informação da lista mais recente de pacotes.

A segunda coisa a fazer é selecionar todos os pacotes que desejam ser atualizados. Não faz sentido
qualquer operação seguinte se não clicar em “Marcar todas as atualizações” na barra de ferramentas. Os
pacotes marcados para atualização aparecem com uma marcação em amarelo (figura 9.26), sendo que
essa cor pode ser redefinida nas preferências (figura 9.20).

Antes de aplicar as mudanças, pode marcar para instalação o programa que bem entender. Mas a
pergunta que surge nessa hora é: Quais são os pacotes?. Normalmente o que o usuário sabe é a função
9.3. Instalação de Novos Programas 175

Figura 9.24: Gerenciando as chaves de assinatura automática.

Figura 9.25: Opção de compartilhar ou não informações estatísticas sobre o uso dos pacotes/programas.
9.3. Instalação de Novos Programas 176

Figura 9.26: Programas marcados para atualização. São 235 pacotes, mais de 1GB de espaço em HD
será consumido (principalmente devido ao ato de baixo o pacote).

do programa ou mesmo o nome do programa, não o nome do pacote (que as vezes não é o nome do
programa).

A melhor forma de resolver esse problema é realizando uma busca no Synaptic. Como exemplo, temos
na figura 9.27, o resultado de uma busca com a palavra chave latex. Todos os pacotes correlacionados
com essa palavra chave e que pertençam a categoria Todos (na barra lateral, no caso de Todos, inclui-se
pesquisa em todos o pacotes possíveis. Se selecionar qualquer outra categoria, a pesquisa é feita apenas
na categoria pré-selecionada).

Caso tenha informações prévias sobre o programa que deseja (através desse documento ou através da
internet). Faça a pesquisa pelo nome do programa. A figura 9.27 apresenta o resultado da busca por
kile. Note que há pacotes que aparentemente não tem qualquer relação direta com o kile. Ele aparece
na lista porque existe um comentário, descrição ou relação de dependência, enfim, alguma coisa, entre
esses pacotes e o kile. Ainda assim existem dois pacotes com o nome Kile, porém, um é o pacote de
documentação e o outro é o programa (fácil de perceber pela descrição de ambos).

Uma forma mais abrangente e precisa de realizar buscas é clicando em “Procurar” na barra de ferra-
mentas.

Decidido que quer instalar o pacote, clique com o botão direito do mouse sobre ele ou com o botão
9.3. Instalação de Novos Programas 177

Figura 9.27: Pesquisando pacotes por palavra chave relacionada a função do programa.

Figura 9.28: Pesquisando pacotes por palavra chave relacionada ao nome do programa.
9.3. Instalação de Novos Programas 178

esquerdo do mouse sobre a caixa de marcação e selecione “Marcar para instalação” (figura 9.29). Essa é a
única opção possível nesse caso, pois ele não está instalado. Se for um programa instalado, pode-se fazer
o processo inverso, ou seja, “Marcar para remoção” ou “Marcar para remoção completa”. No primeiro
caso é uma remoção simples do pacote, mantendo os arquivos de configuração e no segundo caso é uma
remoção completa, eliminando tudo que é correlato ao pacotes.

Figura 9.29: Marcando o pacote para instalação.

Voltando a instalação, uma vez marcado o pacote para instalação aparecerá uma janela informando
que alguns pacotes não puderam ser autenticados e que alguns outros serão instalados (figura 9.30). Não
raro, mensagens informando que que algum pacote tenha que ser atualizado ou removido também pode
surgir.

Confira a lista de ações que serão executadas, nem que seja por simples curiosidade, é saudável verificar
o que o computador que fazer (figura 9.31). Nesse caso em particular, é possível perceber que a seleção do
kile para instalação induziu a instalação de tudo que é fundamental para o LATEXfuncionar corretamente.

Concorde, selecionando “Marcar” ou cancele a operação, selecionando “Cancelar” (nesse caso, o pro-
grama não será instalado) (figura 9.32). Observe que um dos pacotes que surgiu quando foi feito a
pesquisa pelo kile foi marcado para instalação, a cor verde indica que ele está sendo instalado porque é
requerido por algum pacote que o usuário selecionou para instalação.
9.3. Instalação de Novos Programas 179

Figura 9.30: Alerta sobre necessidade de instalar outros programas e que alguns programas não puderam
ser autenticados.

Figura 9.31: Detalhe da lista de dependências.


9.3. Instalação de Novos Programas 180

Figura 9.32: Resultado, 147 pacotes serão instalados ou atualizados por conta do kile.

Se percorrer a categoria “Autoria em TeX” na região lateral do programa, verificará vários progra-
mas/pacotes correlatos ao funcionamento do LATEXnão foram marcados para instalação. Isso ocorre
porque muitos programas são opcionais, não sendo necessária sua instalação para o funcionamento cor-
reto do LATEX. O que pode acontecer é que alguns recursos particulares não sejam instalados. Note
também que o Kile não é o único programa de autoria em LATEX. Logo, alguns desses pacotes estão
interligados com essas outras interfaces.

A questão da busca por categorias pode levar a situações delicadas. Estudando o exemplo de uma
busca pelo K3B (programa de gravação de CD/DVD), observamos que ao fazer uma restrição a categoria
“Ambiente de desktop KDE” obtém-se o pacote k3b-data (figura 9.34(a)). Note que nesse caso, esse
pacote foi selecionado para instalação e apenas ele foi selecionado (ou seja, ele não depende de nenhum
outro pacote). Contudo, ele não é o programa. Observe a sutil frase em inglês escrita na descrição do
pacote que menciona que ele contém os “arquivos comuns do programa”. Um ponto determinante para
dizer que ele não é o programa em si, mas um pacote complementar do programa propriamente dito. A
confirmação disso é observada na figura 9.34(a), onde a mesma busca foi feita, mas envolvendo todos os
pacotes. Um dos novos pacotes encontrados é o k3b. Observe que ao determinar que esse pacote seja
instalado, o k3b-data também foi selecionado para instalação (cor de background verde), pois o pacote
k3b depende do k3b-data.

Uma forma de tentar antever e resolver esse tipo de problema consiste em clicar sobre o pacote com
o botão direito do mouse e selecionar “Propriedades” ou selecionar o pacote clicando sobre ele (sobre o
9.3. Instalação de Novos Programas 181

Figura 9.33: Toda a base do LATEXfoi selecionada, mas nem tudo relacionado ao LATEXserá instalado.

(a) (b)

Figura 9.34: Seleção do K3B: (a) Pacotes correlatos na categoria “Ambiente de desktop KDE” e (b)
Pacotes em todas as categorias.
9.3. Instalação de Novos Programas 182

pacote, não sobre a caixa de seleção para instalação) com o botão esquerdo do mouse e utilizar o ícone
“Propriedades” da barra de ferramentas. Todo tipo de informação associada a esse pacote estará nessa
janela.

Após selecionar todos os pacotes de interesse, em seguida, clica-se em “Aplicar” da barra de ferra-
mentas. Isso abrirá uma janela (figura 9.35) e novamente exige-se a confirmação. Note, na figura 9.35,
que as seleções que foram feitas nesse teste implicou em 625 MB de download. Por esse motivo, existe a
opção “Apenas baixar o arquivo de pacote” que pode ser utilizada para baixar o arquivo sem instalar. A
etapas de configuração e instalação (etapas seguinte a baixar o arquivo) podem ser efetuadas repetindo o
processo anterior. O bom motivo para ter esse comportamento está relacionado ao fato de que a grande
maioria dos usuários deixa o computador a noite ligado para baixar os pacotes (que não são poucos) e
não se sentem confortáveis com a idéia de acordar no dia seguinte e encontrar uma tela parada durante
a instalação de um pacote, por exigir alguma confirmação do usuário.

Figura 9.35: Confirmação das ações para instalação.

Após a confirmação, o processo de instalação se inicia. A figura 9.36 apresenta a tela inicial e final da
instalação dos pacotes, que levou aproximadamente 3 horas em um link de 600 kbps.

O gerenciador de pacotes não tem poder para eliminar seus arquivos pessoais, mas o mal uso dele pode
implicar em não conseguir utilizar a distribuição instalada. Por exemplo, se o usuário insistir em remover
o kernel do computador, apesar de todos o alertas de que essa é uma coisa muito pouco inteligente a
9.3. Instalação de Novos Programas 183

(a) (b)

Figura 9.36: Processo de instalação: (a) Início e (b) Conclusão.

fazer 8 , o gerenciador de pacotes o fará, e depois disso o computador ficará inútil9 . Afinal, é o root que
está mandando e tudo que ele deve fazer é acreditar que o root sabe o que faz (embora ele por algum
momento imagine que o root está distraído e não prestou a atenção na mensagem da tela, etc e tal).

Metapacotes e Pacotes Restritos

O metapacote é um pacote criado apenas para pré-selecionar uma certa coletânea de programas. Ele não
é um programa e funciona mais como uma lista de programas. Ao invés do usuário selecionar todos os
programas relativos a um certo conceito, ele pode selecionar o metapacote. O melhor exemplo para isso
é o metapacote kubuntu-desktop. Se selecionado, ele instalará no computador todos os aplicativos que
acompanham o CD do Kubuntu. Essa é, então, a melhor forma de ter o Kubuntu e o Ubuntu instalados
na mesma máquina. Muito embora seja pouco produtivo, pois se desejar instalar o KDE o melhor é
selecionar o pacote kdebase10 , mas essa é uma informação que apenas a experiência pode provir.

Os “pacotes restritos” possuem esse nome porque o conteúdo do pacote está restrito a alguns países
do mundo por questões de licença/patente. Na prática, apenas alguns países, como EUA e Alemanha,
os proíbe. Um pacote restrito necessário ao usuário comum é o metapacote ubuntu-restricted-extras
(veja figura 9.37), pacote que instala os codecs e outras bibliotecas necessárias para executar arquivos
.mp3, avi, etc e, também, as fontes típicas do Windows (entenda fonte como tipo de letra, como “Arial”
e as demais, esse formatos são muito comuns no Windows e apesar dispensáveis, com sua ausência no
GNU/Linux pode ter conseqüências desagradáveis).
8 Em situações como essa, os alertas são até menos educados.
9O usuário desinstalou tudo e ainda quer que o computador funcione?!?
10 Caso queira ter o GNOME e o KDE na mesma máquina (algo recomendável, se existir espaço em disco) e partir de

uma instalação do Ubuntu, instale o KDE através desse pacote (com o mínimo de pacotes, fornece instalação mais enxuta
do sistema) ou do metapacote kde (com todos os pacotes, mesmo os que o usuário definitivamente não quer ter instalado).
9.3. Instalação de Novos Programas 184

Figura 9.37: Metapacote ubuntu-restricted-extras.

Embora o conceito de metapacote exista em todas as distribuições, não se encontra os mesmos me-
tapacotes com os mesmo nomes nas diversas distribuições. Isso significa que o usuário não irá encontrar
um ubuntu-restricted-extras no openSUSE (nem mesmo um opensuse-restricted-extras), mas
irá encontrar todos os pacotes que são instalados na seleção do metapacote ubuntu-restricted-extras.

Resolvendo alguns problemas

Embora o Synaptic seja muito bom, nada impede que existam problemas. Por exemplo, instalou o
pacote ubuntu-restricted-extras e descobriu que o DVD encriptado não é executado. Esse é apenas
um exemplo ilustrativo (e interessante), visto que nesse caso o usuário encontraria uma mensagem no
Synaptic indicando uma URL para saber como instalar a libdvdcss2. Em todo caso pode ser objeto
desse estudo, pois o objetivo do usuário não foi alcançado e o procedimento de correção estava na descrição
do pacote. Na página da internet indicada11 lê-se que na versão 9.04 do Ubuntu (na verdade, de toda
família Ubuntu) deve-se instalar o pacote libdvdread4. Qual é então a surpresa do usuário quando ele
abre o Synaptic se o pacote já estiver instalado e o DVD ainda não for executado? Continuando a leitura
da página, lê-se que é necessário executar um comando no terminal. Assim, abra o terminal e execute:

sudo /usr/share/doc/libdvdread4/install-css.sh
11 PlayingDVDs - https://help.ubuntu.com/community/RestrictedFormats/PlayingDVDs
9.3. Instalação de Novos Programas 185

A página da internet não diz, mas é muito importante que nenhum programa de instalação (como o
Synaptic, por exemplo) esteja ativo.

Depois disso, o DVD poderá ser executado, ou quase isso. Porque descobrirá que por conta de um
bug no Totem (programa de execução de vídeos padrão do Ubuntu), não conseguirá executar o DVD
corretamente. A página sugere que utilize-se o VLC como player alternativo (lembre-se que bugs não são
para sempre). O que é uma excelente sugestão, assim como o gmplayer e o Xine. Depois de instalado um
desses programas (sugiro que instale os três, o vlc, xine e o mplayer/gmapley), será possível executar
o DVD corretamente.

Esse é apenas um tipo de problema que se pode encontrar ao instalar um programa. Tudo não parece
funcionar, mas na verdade com um pouco de método e leitura, tudo irá funcionar corretamente.

Outro tipo de problema está associado à interação entre pacotes. É um alerta típico de pacotes que
possuem conflitos. Então, se tentar instalar o programa X e aparecer a mensagem de que é necessário
remover o programa Y, é porque X conflita com Y.

Há três tipo de conflitos.

• Conflito de versão, ou seja, o pacote X exige o pacote Y em uma versão anterior ou posterior a que
está instalada. Isso ocorre muito se X for um programa antigo.

• Conflito de funções similares. Quando há conflito entre dois pacotes que possuem a mesma função
e não é permitido ter os dois pacotes instalados.

• Conflitos de dependência. Ocorre quando o pacote X depende um certo pacote Z e Z possuí


conflitos com Y ou com um pacote da qual Y depende. Esse último conflito pode gerar um cadeia
de problemas que dificulta muito rastrear qual é a verdadeira origem do conflito (que sempre é de
um dos dois primeiros tipos de conflito).

Normalmente, o gerenciador de pacotes sabe resolver problemas de conflito e assume uma solução
se existir (é o que ele apresenta nas telas de ações requeridas para a instalação de um certo programa).
Ocorre que nem sempre existe solução fácil. Por exemplo, no caso de pacotes que conflitam por terem
funções similares, o programa não vê um problema, vê uma escolha, uma escolha que o usuário deve fazer
porque não é a lógica que define a escolha, é o gosto pessoal.

Ainda na natureza dos conflitos de pacotes, quando existe um conflito de terceiro tipo e ele possuí
ramificações muito longas, o Synaptic pode falhar em resolver esse problema. A sugestão é não instalar o
pacote a menos que o usuário esteja disposto a dissecar toda a árvore de conflitos um-a-um para descobrir
a origem do problema (o que está longe de ser uma ação básica).

Vamos imaginar que durante uma instalação ocorra uma queda de luz. Nesse caso, duas coisas podem
acontecer. A primeira é que o processo tenha sido interrompido durante a instalação. Assim, basta repetir
9.3. Instalação de Novos Programas 186

o processo de seleção de pacotes e continuar. O grande problema é se a interrupção foi feita durante a
configuração ou instalação de algum programa. Nesse caso, é possível (e até provável) que seja necessário
abrir o Synaptic, ir no menu “Editar” e selecionar o item “Consertar pacotes quebrados”.

Em um caso menos provável, porém possível, o azar de ter a interrupção forçada da instalação ocorrerá
durante a configuração/instalação de um pacote crítico. O método de instalação utilizado pelo gerenciador
de pacotes é tal que a mesmo que isso ocorra o sistema irá funcionar, o problema é que o modo gráfico
pode não funcionar (ele não é considerado parte básica do sistema). Por esse motivo, é muito interessante
que se tenha fortes noções do funcionamento do gerenciador de pacotes por linha de comando, que é a
única forma de arrumar o sistema em um cenário dessa natureza.

9.3.2 dpkg e apt-get

O apt-get e o dpkg são dois comandos de terminal. Ambos estão associados a instalação de programas.

Na prática, o dpkg é o responsável por instalar os programas em si. É o aplicativo por realiza funções
de instalação propriamente dito. Para usar esses programas é necessário executá-los como root (nesse
texto, será utilizado comando sudo)

Para instalar um pacote, usa-se:

sudo dpkg -i nomedopacote.deb

onde nomedopacote é o nome do pacote e .deb é a extensão do pacote. Note que o nomedopacote.deb
é um arquivo que existe no diretório que está sendo executado o comando.

Para remover um pacote, usa-se:

sudo dpkg -r nomedopacote

Nesse caso, não se utiliza a extensão do pacote (porque não é um arquivo, mas um nome em um banco
de dados).

O problema é que o dpkg não resolve dependências (mas informa quais são os problemas encontrados) e
é comum que se use esse comando apenas quando baixar um arquivo .deb de algum site do desenvolvedor.
Na verdade, pode-se simplesmente clicar no pacote baixado duas vezes com o botão esquerdo do mouse,
o pacote será instalado da mesma forma. Também pode-se abrir o Synaptic e no menu “Arquivos” usar
a opção “Adicionar pacotes baixados”.
9.3. Instalação de Novos Programas 187

Para esse texto, o que interessa sobre o dpkg é como resolver problemas. No caso, o comando mágico
é:

sudo dpkg --configure -a

Ele irá configurar e instalar, pelo terminal, todos os pacotes pendentes (situação a que se encontra
os programas caso tenha ocorrido uma interrupção forçada). Uma leitura sobre o dpkg é uma etapa
fundamental para quem deseja aprender a fundo o funcionamento do sistema Debian e similares (ao qual
o Ubuntu inclui-se).

O apt-get, por outro lado, é um gerenciador de pacotes completo.

Para atualizar a informação dos pacotes disponíveis, usa-se

sudo apt-get update

Para instalar um programa, usa-se:

sudo apt-get install nomedopacote

Para remover um pacote, usa-se:

sudo apt-get remove nomedopacote

Para resolver um problema, usar-se:

sudo apt-get install -f

Para atualizar o sistema inteiro, usa-se:

sudo apt-get upgrade

O apt-get resolverá todas as dependências que forem necessárias (tal como Synaptic) para a instalação
e remoção de pacotes via repositórios. Seu funcionamento também é fundamental para o aprofundamento
do funcionamento do sistema (que não é o foco desse documento).
9.3. Instalação de Novos Programas 188

9.3.3 Outros Gerenciadores de Pacotes

O Synaptic não é o único gerenciador de pacotes que existe. O Kpackage é o equivalente KDE do Synaptic
(inclusive em funções).

No mesmo GNOME do Ubuntu, entretanto, também existe um segundo gerenciador de pacotes. É


ele que efetuará alertas sobre a existência de pacotes para atualização e que está presente no menu
“Aplicativos” sob o título de “Adicionar/Remover...” (veja figura 5.3).

Esse gerenciador de pacote é muito mais simples do que o Synaptic, e menos competente também.
Possui uma certa dificuldade em resolver problemas de dependências mais sofisticados, mas é um bom
começo para o usuário que quer um menu mais organizado de divisão de programas e com mensagens mais
humanas e menos técnicas para saber qual é o programa certo para suas funções. Ele possui um sistema
de classificação baseado em estrelas. Quanto mais estrelas, melhor é a opinião da comunidade sobre
aquele pacote. Enfim, ele é uma simpatia que funciona direito mas que não tem o poder do Synaptic. A
recomendação dos autores é que o Synaptic seja preferencialmente utilizado. Contudo, nada impede que
o usuário descubra qual o nome do programa que deseja nesse aplicativo antes de abrir o Synaptic.

Figura 9.38: Gerenciador de pacotes simplificado.

Se estiver utilizando o Fedora, o gerenciador de pacotes é o Yum. Se estiver utilizando o openSUSE o


gerenciador de pacotes é o Yast (em um módulo específico de gerenciamento de pacotes). Esses sistemas
9.3. Instalação de Novos Programas 189

utilizam um outro formato de arquivo para gerenciar e criar os pacotes, o .rpm. Os arquivo .rpm são
os pacotes clássicos do GNU/Linux. O RedHat foi a primeira distribuição a utilizar esse conceito para
instalar os programas.

Existem similaridades claras entre os aplicativos de gerenciamento de pacotes do modo gráfico (embora
a usabilidade seja muito diferente). O mesmo ocorre com os equivalentes em modo de terminal. No
openSUSE, por exemplo, o zypper é o equivalente do apt-get e o rpm é o equivalente do dpkg. Por
equivalente entenda mesma função, embora alguns dos argumentos sejam idênticos, é necessário recorrer
ao manual de cada comado para utilizá-lo adequadamente.

9.3.4 Instalando Binários de Fontes Externas

Há programas que são distribuídos pela internet em forma binária e não são distribuídos por repositórios
de softwares. Esse programas exigem que o usuário baixe o arquivo da internet e instale-os depois.
Alguns, são proprietários.

De forma geral, existe um arquivo README que informa quais são os passos necessários para instalar
aquele aplicativo. Algumas vezes esse arquivo está na internet, na página do desenvolvedor do aplicativo,
outras ele está no mesmo arquivo compactado que contém o programa.

Normalmente, a instalação de programas binários é muito simples. Note, porém, que em alguns casos
é necessário verificar com calma a lista de programas adicionais requeridos para o funcionamento do
programa binário. Raros são os casos onde uma busca no google por “como instalar o programa X na
distribuição Y” não resolva.

9.3.5 Instalando do Código Fonte

Esses são normalmente distribuídos em forma compactada. Dentro do arquivo compactado existe um
arquivo README contém todas as informações necessárias para instalar o programa. Na maior parte dos
casos (não é a totalidade) o procedimento consiste em abrir o terminal no diretório que contém os arquivos
descompactados e digitar em seqüência:

$ ./configure
$ make
# make install

Não raro são as vezes onde o ./configure falha. Nesse caso, não adianta continuar sem resolver o
motivo dessa interrupção. Note a mensagem na tela, que informa, nem sempre de forma clara, o problema
9.4. Gerenciando usuários do sistema pelo modo gráfico 190

que provocou a interrupção. Normalmente o problema está na fata dependências instaladas no sistema.
Em teoria basta uma simples lida no problema encontrado para encontrar o pacote que é necessário
instalar, instalar o pacote e então repetir o procedimento listado (e continuar esse ciclo até concluir o
./configure sem qualquer mensagem de erro). Nem sempre essa tarefa é trivial, mas sua solução foge
do escopo desse texto. O Google, as listas de discussão e os fóruns da internet tendem a fornecer ajuda
com precisão para cada caso particular que eventualmente surgir.

Note que é raro querer compilar um programa qualquer, visto que as distribuições oferecem uma vasta
coleção de programas. Mesmo os aplicativos que ainda não estiverem nesses repositórios tendem a existir
na forma binária (no site do desenvolvedor, por exemplo).

9.4 Gerenciando usuários do sistema pelo modo gráfico

Como dito, para usar o GNU/Linux é necessário um login e senha, ou seja, conta no sistema. Uma conta
é a de administrador e primeira conta do usuário é criada quando é feita a instalação (no caso do Ubuntu
e da grande maioria das distribuições).

No caso particular do Ubuntu, não é possível logar na conta de administrador diretamente, porque
ela não possui senha configurada. A única forma de acesso a conta de administrador é pelo uso do sudo
(com o comando sudo su -) e o sudo somente é acessível através da primeira conta criada no sistema.

Portanto, há duas questões centrais. A primeira é como modificar a senha da conta de root (e a sua
própria) e a segunda é como adicionar uma nova conta, para um novo usuário do computador.

No Ubuntu, o programa de gerenciamento dos usuários está em “Sistema” >> “Administração” >>
“Usuários e grupos”, como uma tela igual à obtida na figura 9.39. Contudo, nesse modo, apenas o usuário
corrente do sistema pode modificar sua própria conta. Para gerenciamento pleno, é necessário desbloquear
o acesso ao programa, ou seja, autenticar o direito administrativo (figura 9.40). Após esse processo, é
possível editar todas as contas do sistema (figura 9.41).

Para criar uma nova conta, clique em “Adicionar usuários”. A figura 9.42 representa a tela que surge
quando se faz isso, sendo necessário preencher os campos de nome de usuário (login) e senha. Todos os
outros campos, de todas as abas são opcionais ou possuem uma configuração adequada estabelecida. Em
todo caso, pode-se preencher todos os campos.

A aba “Privilégios do usuário” permite configurar quais são as funções que o usuário possui direito de
executar. Se, por exemplo, não for marcado a opção “Usar unidades de CD-ROM”, então o usuário não
poderá utilizar o driver de CD/DVD. Verifique o item “Administrar o sistema”. Toda conta que tiver esse
item selecionado terá o direito de utilizar o sudo.
9.4. Gerenciando usuários do sistema pelo modo gráfico 191

Figura 9.39: Configurações de usuário. O gerenciamento das contas do usuário.

Figura 9.40: Autenticação do uso administrativo das configurações de usuário.


9.4. Gerenciando usuários do sistema pelo modo gráfico 192

Figura 9.41: Configurações de usuário liberado para edição.

Figura 9.42: Adição de uma nova conta.


9.4. Gerenciando usuários do sistema pelo modo gráfico 193

Figura 9.43: Privilégios de um usuário.


9.4. Gerenciando usuários do sistema pelo modo gráfico 194

Na última aba (figura 9.44) é possível editar algumas configurações avançadas. Durante a criação
da conta, um grupo padrão com o nome do login será criado. É muito importante que o usuário não
modifique as configurações padrões sem ter a absoluta certeza de que sabe o que está fazendo. O uso
inadequado dessa aba tem a capacidade de invalidar o login do usuário.

Figura 9.44: Configurações avançadas.

A figura 9.45 apresenta o resultado dessa operação.

Para modificar as configurações de uma certa conta, basta acessar o mesmo programa, selecionar a
conta que se deseja modificar e clicar em “Propriedades”. O mesmo ambiente utilizado para criar uma
nova conta, é utilizado para configurar esta nova conta. Sendo que é, inclusive, permitido configurar uma
nova senha para todos os usuários sem saber qual é a senha original (um privilégio do administrador do
computador, pois os demais usuários precisam saber a sua própria senha para modificá-la).

Todo sistema operacional GNU/Linux possui um programa gráfico que realiza essa função caso exista
acesso ao modo gráfico.

A lógica diz que, se não existe acesso ao modo gráfico e o usuário possui um acesso administrativo, ele
não é um usuário básico. Logo, sabe perfeitamente como adicionar e editar contas no GNU/Linux. Para
o usuário básico, é suficiente conhecer o comando passwd que na forma que foi digitado, ou seja, sem
argumentos, permite alterar a senha do usuário que executou o comando. Em todo caso, é interessante
9.5. Ajustando o idioma do sistema 195

Figura 9.45: Resultado da adição da nova conta.

o usuário conhecer o comando useradd ou adduser. Quase todo sistema GNU/Linux deve possuir um
dos dois comandos (mais provável que seja o adduser). Esses programas possuem o mesmo argumento
básico (embora tenham argumentos avançados diferentes, eles não serão mencionados aqui) e permitem
adicionar um novo usuário no sistema. Para tal, usa-se:

sudo adduser novologin

onde novologin é o novo login da nova conta. Esse comando abre um assistente no terminal que pede
as informações de nome real, senha, etc, conforme for confirmando cada dado. Novamente, a única
informação realmente necessária é o login (que está no argumento) e a senha, que é primeira pergunta
feita pelo programa. Muito cuidado com a última pergunta. Algumas versões desse programa cancelam
a adição do usuário caso o usuário não coloque um S, de sim, (ou Y, de yes) como resposta12 .

9.5 Ajustando o idioma do sistema

No Ubuntu, para ajustar o idioma do sistema, abra o aplicativo em ‘Sistema” >> “Administração” >>
“Suporte a idiomas” que está apresentado na figura 9.46.

Seu uso é muito simples, basta selecionar o idioma desejado onde, na figura 9.46, aparece “Português
(Brasil)”. Nem todos os idiomas que o GNU/Linux suporta estão instalados no Ubuntu (ou em qualquer
12 Dica: Todo comando de terminal que possui uma pergunta e possui uma resposta padrão, a resposta padrão está entre
colchetes. Caso a pergunta senha um Sim ou Não, entre colchete deve ter algo similar a [S/n]. A letra que estiver em
maiúscula é a resposta padrão, caso seja apertado ENTER sem digitar um S ou um N como resposta.
9.6. Verificando os Logs 196

Figura 9.46: Configuração do idioma.

distribuição). Para adicionar ou remover um novo idioma, selecione essa opção também na interface da
figura 9.46. É necessário deslogar e relogar para ver as modificações (não é necessário reiniciar).

Todos as distribuições GNU/Linux com acesso ao modo gráfico configurado irão ter um programa
gráfico equivalente a esse em algum ponto do sistema (entre menus e centrais de configuração).

9.6 Verificando os Logs

Entender os arquivos de log ou arquivos de registro é entender a pergunta que você quer fazer quando
tem um problema, mas nem mesmo sabe por onde começar.

O diretório /var/log/ contém todos os arquivos de log do sistema13 . Alguns nomes desse arquivos
podem variar entre distribuições (a quantidade também), mas em linha geral existem três arquivos de
registro que se destacam entre os demais. São eles:

1. /var/log/messages - principal arquivo de registro no sistema. Ele contém todo tipo de atividade.
Por exemplo, se ao conectar um pendrive na máquina e o mesmo não for reconhecido, existe uma
grande possibilidade tenha um registro nesse sistema, tipo, eu tentei conectar, mas não consegui.

2. /var/log/boot.log - durante a inicialização do sistema várias atividades acontecem. Todas são


registradas nesse arquivo. Portanto, ele é de importância crucial para entender os problemas de
inicialização.

3. /var/log/Xorg.0.log - contém informações sobre o driver de vídeo. Se tiver um problema com


o vídeo (especialmente quando instalar um driver proprietário) é nesse arquivo que o problema
estará registrado. Como não há uniformidade desse nome, pode se encontrar /var/log/Xorg.log
ou qualquer outro nome envolvendo a palavra Xorg.
13 Supondo que ninguém alterou nenhuma configuração básica.
9.6. Verificando os Logs 197

Arquivos de registros são grandes e, para abri-los, muitas vezes o melhor é utilizar o comando tail
-n100 /var/log/nomedolog, onde -n100 refere-se a 100 linhas. Como o tail refere-se às últimas linhas,
o comando mostra as 100 últimas linhas do log (podem ser necessárias mais linhas, conforme o problema).
Nada impede que os arquivo sejam abertos por um aplicativo gráfico (como o gedit ou o kate). Em muitas
distribuições, o acesso aos arquivos de log são restritos aos administradores do sistema (ou seja, ao root).

O Ubuntu novamente facilita a vida do usuário integrando uma ferramenta gráfica para a leitura dos
logs do sistema 14
. Acesse o aplicativo em “Sistema” >> “Administração” >> “Visualizador de arquivos
de log”. Esse aplicativo irá listar todos os arquivos de log (na coluna a esquerda) e o seu conteúdo (no
centro). Na figura 9.47 temos um exemplo de uma avaliação do arquivo /var/log/messages.

Figura 9.47: Verificando os arquivos de registro.

O uso de toda a potencialidade dos logs são uma tarefa avançada para solução de problemas. Ainda
que o usuário iniciante não seja completamente iniciante, pode parecer contra produtivo atentar para a
existência desses arquivos no início do aprendizado. O ponto central é que ao pedir ajuda na internet
para um problema ou outro, pode ser que seja necessário divulgar informações desses arquivos. Portanto,
saber que eles existem é uma questão importante.

14 Na verdade todas as distribuições possuem uma dessas, mas nenhuma nunca me pareceu tão agradável quanto a que
está no Ubuntu 9.04.
Referências Bibliográficas

[1] TANENBAUM, A., Sistemas operacionais modernos. LTC: Rio de Janeiro, 1999.

[2] STALLMAN, R., “The GNU Project”, 2009, acesso em 18/04/2009,


http://www.gnu.org/gnu/thegnuproject.html.

[3] STALLMAN, R., “Linux and the GNU Project”, 2009, acesso em 18/04/2009,
http://www.gnu.org/gnu/linux-and-gnu.html.

[4] WIKIMEDIA, “RestrictedFormats”, 2009, acesso em 03/05/2009,


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

[5] NASCIMENTO, R. B., “Comando sudo”, 2007, acesso em 06/05/2009,


http://www.vivaolinux.com.br/artigo/Comando-sudo-instalacao-e-configuracao/.

[6] MORIMOTO, C. E., “O su, o sux e o sudo”, 2001, acesso em 06/05/2009,


http://www.gdhpress.com.br/linux/leia/index.php?p=cap1-17.

[7] MORIMOTO, C. E., “Su, sux, sudo, sudoers e as permissões”, 2009, acesso em 06/05/2009,
http://www.gdhpress.com.br/blog/su-sux-sudo-permissoes/.

[8] BRAGA, W. R., “Conectando com Claro 3G no Ubuntu”, 2008, acesso em 25/04/2009,
http://www.welrbraga.eti.br/blog/?p=46.

[9] MORIMOTO, C. E., “Instalando softmodems no Linux”, 2006, acesso em 19/04/2009,


http://www.guiadohardware.net/dicas/instalando-softmodems-linux-junho-2006.html.

[10] WIKIMEDIA, “Outofthebox/Modem/Softmodem”, 2008, acesso em 19/04/2009,


https://wiki.ubuntu.com/Outofthebox/Modem/Softmodem.

[11] MORIMOTO, C. E., “Adicionando as chaves GPG no apt 0.6”, 2006, acesso em 25/04/2009,
http://www.guiadohardware.net/dicas/adicionando-as-chaves-gpg-apt.html.

[12] RENAN, B., “Aonde tudo começou”, 2004, acesso em 11/05/2009,


http://www.rootlinux.com.br/documentos/downloads/Historia_do_Linux.txt.

[13] MORIMOTO, C. E., “Usando o Memtest”, 2003, acesso em 29/04/2009,


http://www.guiadohardware.net/artigos/usando-memtest/.

198
Apêndice A

Mensagem de Linus Torvalds

De: Linus Benedict Torvalds (torvalds@klaava.Helsinki.FI)


Assunto: [comp.os.minix] Free minix-like kernel sources for 386-AT
Newsgroups: comp.archives
Data: 1991-10-05 09:24:25 PST
Archive-name: auto/comp.os.minix/Free-minix-like-kernel-sources-for-386-AT
Do you pine for the nice days of minix-1.11 , when men were men and wrote their own device
drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try
to modify for your needs? Are you finding it frustrating when everything works on minix?
No more all-nighters to get a nifty program working? Then this post might be just for you :-)
As I mentioned a month(?) ago, I’m working on a free version of a minix-lookalike for AT-
386 computers2 . It has finally reached the stage where it’s even usable (though may not be
depending on what you want), and I am willing to put out the sources for wider distribution.
It is just version 0.02 (+1 (very small) patch already), but I’ve successfully run bash/gcc/gnu-
make/gnu-sed/compress etc under it.
Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100)3 in the
directory /pub/OS/Linux4 . The directory also contains some README-file and a couple of
binaries to work under linux (bash, update and gcc, what more can you ask for :-). Full kernel
source is provided, as no minix code has been used. Library sources are only partially free,
so that cannot be distributed currently. The system is able to compile "as-is"and has been
known to work. Heh. Sources to the binaries (bash and gcc) can be found at the same place
in /pub/gnu.
1O Minix é um sistema que é um “UNIX reduzido”, foi muito usado por estudantes, desenvolvedores de hardware e
pessoas que querem entender como um sistema operacional funciona.
2 São os computadores 286 e 386, precessores do 486. Lembra dele? Isso é bem antes do Pentium I
3 O FTP ainda funciona, mas não é mais esse endereço IP.
4 O diretório /pub/OS/Linux deve ser mudado para /pub/linux. É possível obter todas as versões do Linux nesse endereço.

199
200

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled (and gcc-1.40,
possibly 1.37.1, haven’t tested), and you need minix to set it up if you want to run it, so it
is not yet a standalone system for those of you without minix. I’m working on it. You also
need to be something of a hacker to set it up (?), so for those hoping for an alternative to
minix-386, please ignore me. It is currently meant for hackers interested in operating systems
and 386’s with access to minix.
The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If you are still
interested, please ftp the README/RELNOTES, and/or mail me for additional info.
I can (well, almost) hear you asking yourselves "why?". Hurd5 will be out in a year (or two,
or next month, who knows6 ), and I’ve already got minix. This is a program for hackers by a
hacker. I’ve enjouyed doing it, and somebody might enjoy looking at it and even modifying
it for their own needs. It is still small enough to understand, use and modify, and I’m looking
forward to any comments you might have.
I’m also interested in hearing from anybody who has written any of the utilities/library
functions for minix. If your efforts are freely distributable (under copyright or even public
domain), I’d like to hear from you, so I can add them to the system. I’m using Earl Chews
estdio right now (thanks for a nice and working system Earl), and similar works will be very
wellcome. Your (C)’s will of course be left intact. Drop me a line if you are willing to let me
use your code.

Existe uma tradução em português feita por Renan, B. [12] para quem tiver interesse. Algumas notas
de rodapé utilizadas nesse documento foram quase copiadas das notas de rodapé do Renan, B. [12].

5O Hurd é um projeto que pretende criar um núcleo Unix-like com a licença GPL (código aberto).
6 Em 2009 ainda não existe uma versão estável desse projeto.
Apêndice B

Licenças para programas de


computador

Esse anexo procura adicionar informações sobre a as questões de licenças. Embora não seja um texto
completo, ele possui mais detalhes do que o necessário para o entendimento do GNU/Linux como um
todo. Esses pequenos pontos ajudam a ampliar a visão geral sobre os tópicos da atualidade.

Licença Pública Geral

A Licença Pública Geral1 (GNU GPL, GNU General Public License, ou simplesmente GPL) foi ideali-
zada por Richard Stallman como a licença adequada para os softwares desenvolvidos pelo projeto GNU.
Também é conhecida como copyleft, exatamente o oposto do bem conhecido copyright. Ela é baseada
em 4 liberdades fundamentais:

0 - A liberdade de executar o programa, para qualquer propósito.

1 - A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso
ao código-fonte é um pré-requisito para esta liberdade.

2 - A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.

3 - A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a


comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para esta liberdade.

É esse espírito que o GNU/Linux adota na maior parte dos seus programas. A versão completa dessa
licença encontra-se no anexo C para os curiosos, ela está em inglês porque não há traduções oficiais da
1 Página oficial da licença - http://www.gnu.org/licenses/licenses.html

201
202

licença.

Note apenas que nada impede a venda de programas, apenas requer que o código fonte seja fornecido.
Na prática, um desenvolvedor pode vender o binário, mas deve fornecer o código fonte e os meios para
compilar o programa adequadamente a quem quiser. Não é permitido proíbir que outra pessoa que tenha
o código fonto o redistribua gratuitamente (ou mesmo por outro preço).

Software Livre vs. Código Aberto

O “Software Livre” e o “Código Aberto” (conhecido como “open source”) são classificações oriundas de dois
movimentos diferentes. Suas definições são idênticas, porém escritas de forma diferente. Os defensores
do código aberto (OSI, Open Source Initiative) o definem através de um detalhamento das 4 liberdades
básicas supracitadas, portanto, todo código aberto também é software livre.

Por outro lado, os defensores do software livre (FSF, Free Software Fundation) argumentam que a
liberdade é valiosa sob a ótica da moral e ética, não apenas sobre o ponto de vista técnico (o “livre” que
compõem a expressão “software livre” é de liberdade). Por exemplo, ela diz que não é ético aprisionar não
é ético aprisionar conhecimento científico, pois isso prejudica a evolução da humanidade. Dessa forma
ela possuí um discursso agressivo e condenando todo o desenvolvemento do software proprietário (na
prática, ela advoga contra todo tipo de copyright, defendo a liberdade sobre todos os aspectos possíveis).
Isso caracteriza a FSF como uma movimento social, enquanto a OSI é uma organização de divulgação
e promoção do código aberto, com um discurso mais agradável a empresas e que não toma posições em
assuntos que não estão relacionados ao código aberto.

Apesar das diferenças, é comum que os dois movimento se unam em diversas situações, sendo deno-
minados de FLOSS (Free/Libre and Open Source Software).

Outras licença para “Código Aberto”

O universo GNU/Linux também possuí outros tipos de licenças que são tipo código aberto, mas não são
compatíveis com a GPL, como a Licença Pública Mozilla2 , a Licença Apache3 , a Licença BSD4 , entre
outras.

Para quem apenas usa programas, a existência dessas inúmeras variantes de licenças é insignificantes,
pois todas são código aberto. O desenvolvedor de programas pode se interessar em obter mais informações
sobre essas licenças, para o qual sugere-se uma visita ao site de cada uma delas.
2 Licença Pública Mozilla - http://www.mozilla.org/MPL/MPL-1.1.html
3 Licença Apache - http://www.apache.org/licenses/
4 Licença BSD - http://www.opensource.org/licenses/bsd-license.php
203

Software Proprietário

É o software de código fechado. É a licença copyright. Na prática existem diversas licenças que são
adequadas a esse tópico, mas isso não será discutido nesse texto. Ele pode ser gratuíto (um freeware,
software grátis) ou não. Para o universo GNU/Linux, esse tipo de software manifesta-se através de
softwares como o Skype (software de comunicação de voz pelo computador), o Opera (navegador de
internet), o plugin da adobe que faz a exibição do Flash em página da internet, através de drivers de
sistema, como os drivers de vídeo da NVIDIA e da ATI e drivers para placas wireless, e através de codecs
de áudio/vídeo que permitem ouvir/ver certos formatos de arquivo que não são livres, entre outros.
Apêndice C

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. http://fsf.org/

Everyone is permitted to copy and distribute verbatim copies of this

license document, but changing it is not allowed.

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The licenses for most software and other practical works are designed to take away your freedom to
share and change the works. By contrast, the GNU General Public License is intended to guarantee your
freedom to share and change all versions of a program–to make sure it remains free software for all its
users. We, the Free Software Foundation, use the GNU General Public License for most of our software;
it applies also to any other work released this way by its authors. You can apply it to your programs,
too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses
are designed to make sure that you have the freedom to distribute copies of free software (and charge
for them if you wish), that you receive source code or can get it if you want it, that you can change the
software or use pieces of it in new free programs, and that you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or asking you to
surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software,
or if you modify it: responsibilities to respect the freedom of others.

204
205

For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on
to the recipients the same freedoms that you received. You must make sure that they, too, receive or can
get the source code. And you must show them these terms so they know their rights.

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the
software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.

For the developers’ and authors’ protection, the GPL clearly explains that there is no warranty for
this free software. For both users’ and authors’ sake, the GPL requires that modified versions be marked
as changed, so that their problems will not be attributed erroneously to authors of previous versions.

Some devices are designed to deny users access to install or run modified versions of the software
inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim
of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in
the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore,
we have designed this version of the GPL to prohibit the practice for those products. If such problems
arise substantially in other domains, we stand ready to extend this provision to those domains in future
versions of the GPL, as needed to protect the freedom of users.

Finally, every program is threatened constantly by software patents. States should not allow patents
to restrict development and use of software on general-purpose computers, but in those that do, we wish
to avoid the special danger that patents applied to a free program could make it effectively proprietary.
To prevent this, the GPL assures that patents cannot be used to render the program non-free.

The precise terms and conditions for copying, distribution and modification follow.

Terms and Conditions

0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor
masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is
addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring
copyright permission, other than the making of an exact copy. The resulting work is called a
“modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you
directly or secondarily liable for infringement under applicable copyright law, except executing it
206

on a computer or modifying a private copy. Propagation includes copying, distribution (with or


without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive
copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not
conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a
convenient and prominently visible feature that (1) displays an appropriate copyright notice, and
(2) tells the user that there is no warranty for the work (except to the extent that warranties are
provided), that licensees may convey the work under this License, and how to view a copy of this
License. If the interface presents a list of user commands or options, such as a menu, a prominent
item in the list meets this criterion.

1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it.
“Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized
standards body, or, in the case of interfaces specified for a particular programming language, one
that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that
(a) is included in the normal form of packaging a Major Component, but which is not part of that
Major Component, and (b) serves only to enable use of the work with that Major Component, or
to implement a Standard Interface for which an implementation is available to the public in source
code form. A “Major Component”, in this context, means a major essential component (kernel,
window system, and so on) of the specific operating system (if any) on which the executable work
runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to
generate, install, and (for an executable work) run the object code and to modify the work, including
scripts to control those activities. However, it does not include the work’s System Libraries, or
general-purpose tools or generally available free programs which are used unmodified in performing
those activities but which are not part of the work. For example, Corresponding Source includes
interface definition files associated with source files for the work, and the source code for shared
libraries and dynamically linked subprograms that the work is specifically designed to require, such
as by intimate data communication or control flow between those subprograms and other parts of
the work.
The Corresponding Source need not include anything that users can regenerate automatically from
other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.

2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are
irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited
207

permission to run the unmodified Program. The output from running a covered work is covered
by this License only if the output, given its content, constitutes a covered work. This License
acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so
long as your license otherwise remains in force. You may convey covered works to others for the
sole purpose of having them make modifications exclusively for you, or provide you with facilities
for running those works, provided that you comply with the terms of this License in conveying all
material for which you do not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction and control, on terms that
prohibit them from making any copies of your copyrighted material outside their relationship with
you.
Conveying under any other circumstances is permitted solely under the conditions stated below.
Sublicensing is not allowed; section 10 makes it unnecessary.

3. Protecting Users’ Legal Rights From Anti-Circumvention Law.


No covered work shall be deemed part of an effective technological measure under any applicable
law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December
1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological
measures to the extent such circumvention is effected by exercising rights under this License with
respect to the covered work, and you disclaim any intention to limit operation or modification of
the work as a means of enforcing, against the work’s users, your or third parties’ legal rights to
forbid circumvention of technological measures.

4. Conveying Verbatim Copies.


You may convey verbatim copies of the Program’s source code as you receive it, in any medium,
provided that you conspicuously and appropriately publish on each copy an appropriate copyright
notice; keep intact all notices stating that this License and any non-permissive terms added in
accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and
give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or
warranty protection for a fee.

5. Conveying Modified Source Versions.


You may convey a work based on the Program, or the modifications to produce it from the Program,
in the form of source code under the terms of section 4, provided that you also meet all of these
conditions:

(a) The work must carry prominent notices stating that you modified it, and giving a relevant
date.
208

(b) The work must carry prominent notices stating that it is released under this License and any
conditions added under section 7. This requirement modifies the requirement in section 4 to
“keep intact all notices”.
(c) You must license the entire work, as a whole, under this License to anyone who comes into
possession of a copy. This License will therefore apply, along with any applicable section
7 additional terms, to the whole of the work, and all its parts, regardless of how they are
packaged. This License gives no permission to license the work in any other way, but it does
not invalidate such permission if you have separately received it.
(d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; howe-
ver, if the Program has interactive interfaces that do not display Appropriate Legal Notices,
your work need not make them do so.

A compilation of a covered work with other separate and independent works, which are not by
their nature extensions of the covered work, and which are not combined with it such as to form
a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate”
if the compilation and its resulting copyright are not used to limit the access or legal rights of the
compilation’s users beyond what the individual works permit. Inclusion of a covered work in an
aggregate does not cause this License to apply to the other parts of the aggregate.

6. Conveying Non-Source Forms.


You may convey a covered work in object code form under the terms of sections 4 and 5, provided
that you also convey the machine-readable Corresponding Source under the terms of this License,
in one of these ways:

(a) Convey the object code in, or embodied in, a physical product (including a physical distribution
medium), accompanied by the Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
(b) Convey the object code in, or embodied in, a physical product (including a physical distribution
medium), accompanied by a written offer, valid for at least three years and valid for as long
as you offer spare parts or customer support for that product model, to give anyone who
possesses the object code either (1) a copy of the Corresponding Source for all the software in
the product that is covered by this License, on a durable physical medium customarily used for
software interchange, for a price no more than your reasonable cost of physically performing
this conveying of source, or (2) access to copy the Corresponding Source from a network server
at no charge.
(c) Convey individual copies of the object code with a copy of the written offer to provide the
Corresponding Source. This alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord with subsection 6b.
(d) Convey the object code by offering access from a designated place (gratis or for a charge), and
offer equivalent access to the Corresponding Source in the same way through the same place at
no further charge. You need not require recipients to copy the Corresponding Source along with
the object code. If the place to copy the object code is a network server, the Corresponding
209

Source may be on a different server (operated by you or a third party) that supports equivalent
copying facilities, provided you maintain clear directions next to the object code saying where
to find the Corresponding Source. Regardless of what server hosts the Corresponding Source,
you remain obligated to ensure that it is available for as long as needed to satisfy these
requirements.
(e) Convey the object code using peer-to-peer transmission, provided you inform other peers where
the object code and Corresponding Source of the work are being offered to the general public
at no charge under subsection 6d.

A separable portion of the object code, whose source code is excluded from the Corresponding
Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property
which is normally used for personal, family, or household purposes, or (2) anything designed or sold
for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful
cases shall be resolved in favor of coverage. For a particular product received by a particular user,
“normally used” refers to a typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user actually uses, or expects or is
expected to use, the product. A product is a consumer product regardless of whether the product
has substantial commercial, industrial or non-consumer uses, unless such uses represent the only
significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys,
or other information required to install and execute modified versions of a covered work in that
User Product from a modified version of its Corresponding Source. The information must suffice
to ensure that the continued functioning of the modified object code is in no case prevented or
interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User
Product, and the conveying occurs as part of a transaction in which the right of possession and use
of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of
how the transaction is characterized), the Corresponding Source conveyed under this section must
be accompanied by the Installation Information. But this requirement does not apply if neither
you nor any third party retains the ability to install modified object code on the User Product (for
example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to
provide support service, warranty, or updates for a work that has been modified or installed by the
recipient, or for the User Product in which it has been modified or installed. Access to a network
may be denied when the modification itself materially and adversely affects the operation of the
network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section
must be in a format that is publicly documented (and with an implementation available to the
public in source code form), and must require no special password or key for unpacking, reading or
copying.
210

7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions
from one or more of its conditions. Additional permissions that are applicable to the entire Program
shall be treated as though they were included in this License, to the extent that they are valid under
applicable law. If additional permissions apply only to part of the Program, that part may be
used separately under those permissions, but the entire Program remains governed by this License
without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permis-
sions from that copy, or from any part of it. (Additional permissions may be written to require their
own removal in certain cases when you modify the work.) You may place additional permissions
on material, added by you to a covered work, for which you have or can give appropriate copyright
permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you
may (if authorized by the copyright holders of that material) supplement the terms of this License
with terms:

(a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of
this License; or
(b) Requiring preservation of specified reasonable legal notices or author attributions in that ma-
terial or in the Appropriate Legal Notices displayed by works containing it; or
(c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions
of such material be marked in reasonable ways as different from the original version; or
(d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
(e) Declining to grant rights under trademark law for use of some trade names, trademarks, or
service marks; or
(f) Requiring indemnification of licensors and authors of that material by anyone who conveys the
material (or modified versions of it) with contractual assumptions of liability to the recipient,
for any liability that these contractual assumptions directly impose on those licensors and
authors.

All other non-permissive additional terms are considered “further restrictions” within the meaning
of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further restriction, you may remove that term.
If a license document contains a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms of that license document,
provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant
source files, a statement of the additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written
license, or stated as exceptions; the above requirements apply either way.
211

8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License.
Any attempt otherwise to propagate or modify it is void, and will automatically terminate your
rights under this License (including any patent licenses granted under the third paragraph of section
11).
However, if you cease all violation of this License, then your license from a particular copyright
holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally
terminates your license, and (b) permanently, if the copyright holder fails to notify you of the
violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright
holder notifies you of the violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that copyright holder, and you cure
the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have
received copies or rights from you under this License. If your rights have been terminated and
not permanently reinstated, you do not qualify to receive new licenses for the same material under
section 10.

9. Acceptance Not Required for Having Copies.


You are not required to accept this License in order to receive or run a copy of the Program.
Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer
transmission to receive a copy likewise does not require acceptance. However, nothing other than
this License grants you permission to propagate or modify any covered work. These actions infringe
copyright if you do not accept this License. Therefore, by modifying or propagating a covered work,
you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.


Each time you convey a covered work, the recipient automatically receives a license from the original
licensors, to run, modify and propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all
assets of one, or subdividing an organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that transaction who receives a copy of the
work also receives whatever licenses to the work the party’s predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the Corresponding Source of the
work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under
this License. For example, you may not impose a license fee, royalty, or other charge for exercise
of rights granted under this License, and you may not initiate litigation (including a cross-claim
or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling,
offering for sale, or importing the Program or any portion of it.
212

11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a
work on which the Program is based. The work thus licensed is called the contributor’s “contributor
version”.
A contributor’s “essential patent claims” are all patent claims owned or controlled by the contributor,
whether already acquired or hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version, but do not include claims that
would be infringed only as a consequence of further modification of the contributor version. For
purposes of this definition, “control” includes the right to grant patent sublicenses in a manner
consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the con-
tributor’s essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify
and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment,
however denominated, not to enforce a patent (such as an express permission to practice a patent
or covenant not to sue for patent infringement). To “grant” such a patent license to a party means
to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source
of the work is not available for anyone to copy, free of charge and under the terms of this License,
through a publicly available network server or other readily accessible means, then you must either
(1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the
benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with
the requirements of this License, to extend the patent license to downstream recipients. “Knowingly
relying” means you have actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient’s use of the covered work in a country, would infringe
one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate
by procuring conveyance of, a covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of
the covered work, then the patent license you grant is automatically extended to all recipients of
the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits
the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically
granted under this License. You may not convey a covered work if you are a party to an arrangement
with a third party that is in the business of distributing software, under which you make payment to
the third party based on the extent of your activity of conveying the work, and under which the third
party grants, to any of the parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work conveyed by you (or copies made
from those copies), or (b) primarily for and in connection with specific products or compilations
213

that contain the covered work, unless you entered into that arrangement, or that patent license was
granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other
defenses to infringement that may otherwise be available to you under applicable patent law.

12. No Surrender of Others’ Freedom.


If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict
the conditions of this License, they do not excuse you from the conditions of this License. If you
cannot convey a covered work so as to satisfy simultaneously your obligations under this License and
any other pertinent obligations, then as a consequence you may not convey it at all. For example, if
you agree to terms that obligate you to collect a royalty for further conveying from those to whom
you convey the Program, the only way you could satisfy both those terms and this License would
be to refrain entirely from conveying the Program.

13. Use with the GNU Affero General Public License.


Notwithstanding any other provision of this License, you have permission to link or combine any
covered work with a work licensed under version 3 of the GNU Affero General Public License into a
single combined work, and to convey the resulting work. The terms of this License will continue to
apply to the part which is the covered work, but the special requirements of the GNU Affero General
Public License, section 13, concerning interaction through a network will apply to the combination
as such.

14. Revised Versions of this License.


The Free Software Foundation may publish revised and/or new versions of the GNU General Public
License from time to time. Such new versions will be similar in spirit to the present version, but
may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain
numbered version of the GNU General Public License “or any later version” applies to it, you have
the option of following the terms and conditions either of that numbered version or of any later
version published by the Free Software Foundation. If the Program does not specify a version
number of the GNU General Public License, you may choose any version ever published by the Free
Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public
License can be used, that proxy’s public statement of acceptance of a version permanently authorizes
you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional
obligations are imposed on any author or copyright holder as a result of your choosing to follow a
later version.

15. Disclaimer of Warranty.


THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY AP-
PLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
214

HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WAR-
RANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LI-
MITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU
ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

16. Limitation of Liability.


IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR
CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMA-
GES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMA-
GES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING
BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO
OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.


If the disclaimer of warranty and limitation of liability provided above cannot be given local legal
effect according to their terms, reviewing courts shall apply local law that most closely approxi-
mates an absolute waiver of all civil liability in connection with the Program, unless a warranty or
assumption of liability accompanies a copy of the Program in return for a fee.

End of Terms and Conditions

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public,
the best way to achieve this is to make it free software which everyone can redistribute and change
under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of
each source file to most effectively state the exclusion of warranty; and each file should have at least
the “copyright” line and a pointer to where the full notice is found.

<one line to give the program’s name and a brief idea of what it does.>

Copyright (C) <textyear> <name of author>

This program is free software: you can redistribute it and/or modify


it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
215

This program is distributed in the hope that it will be useful,


but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in
an interactive mode:

<program> Copyright (C) <year> <name of author>

This program comes with ABSOLUTELY NO WARRANTY; for details type ‘show w’.
This is free software, and you are welcome to redistribute it
under certain conditions; type ‘show c’ for details.

The hypothetical commands show w and show c should show the appropriate parts of the General
Public License. Of course, your program’s commands might be different; for a GUI interface, you
would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a
“copyright disclaimer” for the program, if necessary. For more information on this, and how to
apply and follow the GNU GPL, see http://www.gnu.org/licenses/.
The GNU General Public License does not permit incorporating your program into proprietary
programs. If your program is a subroutine library, you may consider it more useful to permit
linking proprietary applications with the library. If this is what you want to do, use the GNU
Lesser General Public License instead of this License.
But first, please read http://www.gnu.org/philosophy/why-not-lgpl.html.
Apêndice D

GNU Free Documentation License

Version 1.3, 3 November 2008

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.

<http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it
is not allowed.

Preamble

The purpose of this License is to make a manual, textbook, or other functional and useful document
“free” in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with
or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for
the author and publisher a way to get credit for their work, while not being considered responsible for
modifications made by others.

This License is a kind of “copyleft”, which means that derivative works of the document must them-
selves be free in the same sense. It complements the GNU General Public License, which is a copyleft
license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software
needs free documentation: a free program should come with manuals providing the same freedoms that
the software does. But this License is not limited to software manuals; it can be used for any textual

216
217

work, regardless of subject matter or whether it is published as a printed book. We recommend this
License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed by
the copyright holder saying it can be distributed under the terms of this License. Such a notice grants
a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated
herein. The “Document”, below, refers to any such manual or work. Any member of the public is a
licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in
a way requiring permission under copyright law.

A “Modified Version” of the Document means any work containing the Document or a portion of
it, either copied verbatim, or with modifications and/or translated into another language.

A “Secondary Section” is a named appendix or a front-matter section of the Document that deals
exclusively with the relationship of the publishers or authors of the Document to the Document’s overall
subject (or to related matters) and contains nothing that could fall directly within that overall subject.
(Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain
any mathematics.) The relationship could be a matter of historical connection with the subject or with
related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those
of Invariant Sections, in the notice that says that the Document is released under this License. If a section
does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The
Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections
then there are none.

The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-
Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover
Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A “Transparent” copy of the Document means a machine-readable copy, represented in a format


whose specification is available to the general public, that is suitable for revising the document straight-
forwardly with generic text editors or (for images composed of pixels) generic paint programs or (for
drawings) some widely available drawing editor, and that is suitable for input to text formatters or for
automatic translation to a variety of formats suitable for input to text formatters. A copy made in an
otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or
discourage subsequent modification by readers is not Transparent. An image format is not Transparent
if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.
218

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo
input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-
conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent
image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read
and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing
tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by
some word processors for output purposes only.

The “Title Page” means, for a printed book, the title page itself, plus such following pages as are
needed to hold, legibly, the material this License requires to appear in the title page. For works in
formats which do not have any title page as such, “Title Page” means the text near the most prominent
appearance of the work’s title, preceding the beginning of the body of the text.

The “publisher” means any person or entity that distributes copies of the Document to the public.

A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely
XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ
stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”,
“Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the
Document means that it remains a section “Entitled XYZ” according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this License
applies to the Document. These Warranty Disclaimers are considered to be included by reference in
this License, but only as regards disclaiming warranties: any other implication that these Warranty
Disclaimers may have is void and has no effect on the meaning of this License.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially,
provided that this License, the copyright notices, and the license notice saying this License applies to the
Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this
License. You may not use technical measures to obstruct or control the reading or further copying of the
copies you make or distribute. However, you may accept compensation in exchange for copies. If you
distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display
copies.

3. COPYING IN QUANTITY
219

If you publish printed copies (or copies in media that commonly have printed covers) of the Document,
numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front
cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as
the publisher of these copies. The front cover must present the full title with all words of the title equally
prominent and visible. You may add other material on the covers in addition. Copying with changes
limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can
be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones
listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must
either include a machine-readable Transparent copy along with each Opaque copy, or state in or with
each Opaque copy a computer-network location from which the general network-using public has access
to download using public-standard network protocols a complete Transparent copy of the Document,
free of added material. If you use the latter option, you must take reasonably prudent steps, when you
begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus
accessible at the stated location until at least one year after the last time you distribute an Opaque copy
(directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistri-
buting any large number of copies, to give them a chance to provide you with an updated version of the
Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections
2 and 3 above, provided that you release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing distribution and modification of the
Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified
Version:

A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and
from those of previous versions (which should, if there were any, be listed in the History section of
the Document). You may use the same title as a previous version if the original publisher of that
version gives permission.

B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the
modifications in the Modified Version, together with at least five of the principal authors of the
220

Document (all of its principal authors, if it has fewer than five), unless they release you from this
requirement.

C. State on the Title page the name of the publisher of the Modified Version, as the publisher.

D. Preserve all the copyright notices of the Document.

E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.

F. Include, immediately after the copyright notices, a license notice giving the public permission to use
the Modified Version under the terms of this License, in the form shown in the Addendum below.

G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in
the Document’s license notice.

H. Include an unaltered copy of this License.

I. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the
title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there
is no section Entitled “History” in the Document, create one stating the title, year, authors, and
publisher of the Document as given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.

J. Preserve the network location, if any, given in the Document for public access to a Transparent copy
of the Document, and likewise the network locations given in the Document for previous versions it
was based on. These may be placed in the “History” section. You may omit a network location for
a work that was published at least four years before the Document itself, or if the original publisher
of the version it refers to gives permission.

K. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section,
and preserve in the section all the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.

L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles.
Section numbers or the equivalent are not considered part of the section titles.

M. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified
Version.

N. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any
Invariant Section.

O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary
Sections and contain no material copied from the Document, you may at your option designate some
or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the
Modified Version’s license notice. These titles must be distinct from any other section titles.
221

You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of
your Modified Version by various parties—for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words
as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any
one entity. If the Document already includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of, you may not add another; but you
may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their
names for publicity for or to assert or imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms
defined in section 4 above for modified versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of
your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name
but different contents, make the title of each such section unique by adding at the end of it, in parentheses,
the name of the original author or publisher of that section if known, or else a unique number. Make the
same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined
work.

In the combination, you must combine any sections Entitled “History” in the various original do-
cuments, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledge-
ments”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements”.

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this
License, and replace the individual copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the rules of this License for verbatim copying
of each of the documents in all other respects.
222

You may extract a single document from such a collection, and distribute it individually under this
License, provided you insert a copy of this License into the extracted document, and follow this License
in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or
works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright
resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what
the individual works permit. When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if
the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the
Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole
aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document
under the terms of section 4. Replacing Invariant Sections with translations requires special permission
from their copyright holders, but you may include translations of some or all Invariant Sections in addition
to the original versions of these Invariant Sections. You may include a translation of this License, and
all the license notices in the Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions of those notices and disclaimers. In
case of a disagreement between the translation and the original version of this License or a notice or
disclaimer, the original version will prevail.

If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requi-


rement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided
under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will
automatically terminate your rights under this License.
223

However, if you cease all violation of this License, then your license from a particular copyright holder
is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your
license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable
means prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder is reinstated permanently if the copyright
holder notifies you of the violation by some reasonable means, this is the first time you have received
notice of violation of this License (for any work) from that copyright holder, and you cure the violation
prior to 30 days after your receipt of the notice.

Termination of your rights under this section does not terminate the licenses of parties who have
received copies or rights from you under this License. If your rights have been terminated and not
permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights
to use it.

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation
License from time to time. Such new versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that
a particular numbered version of this License “or any later version” applies to it, you have the option of
following the terms and conditions either of that specified version or of any later version that has been
published (not as a draft) by the Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not as a draft) by the Free Software
Foundation. If the Document specifies that a proxy can decide which future versions of this License can
be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose
that version for the Document.

11. RELICENSING

“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that
publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration”
(or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.

“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative
Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license published by that same organization.
224

“Incorporate” means to publish or republish a Document, in whole or in part, as part of another


Document.

An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first
published under this License somewhere other than this MMC, and subsequently incorporated in whole
or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated
prior to November 1, 2008.

The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the
same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document
and put the following copyright and license notices just after the title page:

Copyright © YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify
this document under the terms of the GNU Free Documentation License, Version 1.3 or any
later version published by the Free Software Foundation; with no Invariant Sections, no Front-
Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled
“GNU Free Documentation License”.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with . . . Texts.”
line with this:

with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being
LIST, and with the Back-Cover Texts being LIST.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge
those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these exam-
ples in parallel under your choice of free software license, such as the GNU General Public License, to
permit their use in free software.
Apêndice E

Iniciando o Ubuntu

O primeiro ponto consiste em ligar o computador, inserir o CD no driver de CD/DVD e ajustar a BIOS
da máquina para efetuar o boot pelo driver de CD. É comum que a BIOS seja acessada pela tecla DEL
ou F2 e isso depende de cada máquina. Preste atenção logo que ligar ao computador, pois irá aparecer
uma informação sobre a tecla para acesso à BIOS.

Ocorrendo tudo bem, a primeira tela que será visível ao usuário é a apresentada na figura E.1.

Figura E.1: Tela da inicialização do CD do Ubuntu.

225
226

Essa tela permite selecionar o idioma do CD. Escolha o idioma adequado e clique em ENTER. Caso
nenhuma tecla seja acionada, o sistema na configuração padrão (que inclui o idioma inglês) irá ser iniciado
após um certo tempo.

Após a seleção do idioma, a tela que ficará visível é apresentada na figura E.2.

As cinco opções de boot são acessíveis utilizando as teclas de navegação do teclado (setas). Note que,
na figura E.2, a opção “Testar o Ubuntu sem qualquer mudança no seu computador” está escrita em uma
letra mais clara que as demais opções. Isso indica que ela é a opção selecionada no momento.

Para quem quer apenas inicializar o Ubuntu, selecionar a opção “Testar o Ubuntu sem qualquer
mudança no seu computador” e teclar ENTER deve ser suficiente na grande maioria dos casos.

Figura E.2: As opções de boot pelo CD do Ubuntu.

A inicialização do sistema ocorre em duas etapas: (i) todos os equipamentos de hardware serão
identificados e (ii) os programas necessários serão carregados. Ao terminar o boot será observado a tela
apresentada na figura E.3.

É interessante, entretanto, conhecer alguns dos recursos existentes no boot do CD. A primeria opção,
“Testar o Ubuntu sem qualquer mudança no seu computador”, é a que inicializa o Ubuntu pelo CD (sistema
em live CD). A segunda opção é para instalar o Ubuntu no computador. Contudo, é recomendado iniciar
o Ubuntu pela primeira opção e depois selecionar instalar o Ubuntu. Carregar o sistema primeiramente
pelo live CD ajuda a evitar surpresas desagradáveis.
227

Figura E.3: Tela do GNOME logo após o boot do CD.

A terceira opção “Verificar os discos para defeitos” inicializa o Ubuntu depois de ter verificado se há
algum dano aparente no HD. Não é uma verificação infalível e não implica em HD com defeito, apenas
em danos na estrutura lógica que pode ser associado a dano físico ou não.

A quarta opção realiza um teste de memória RAM. É certo que, se houver algum alerta de problema
ao utilizar esse aplicativo, a memória está com defeito. Para sair do aplicativo em questão utilize a tecla
ESC. Antes, porém, permita que todos os testes sejam executados pelo menos duas vezes. Esse programa
em si, chama-se memtest86+1 e sua página ofical conta com todo tipo de informação associada ao seu
uso. Informações detalhadas em português pode ser encontrada no texto de MORIMOTO [13].

A última opção consiste em inicializar pelo primeiro disco rígido. É utilizada quando ocorre algum
problema com o setor de boot da máquina, mas todo o resto continua funcionando. Funciona como um
“disquete” de boot.

Outras configurações de boot estão listadas na parte inferior da tela. Lê-se, por exemplo, “Ajuda”
relacionada a tecla F1, “Idioma” associado a tecla F2, que é a mesma tela apresentada na figura E.1. O
“Mapas de teclas”, acionado pela tecla F3, permite modificar o layout do teclado e sua tela lembra muito
a seleção de idioma, apresentada na figura E.4. A opção Brazil é o ABNT2 (o teclado que possui o “ç”).

A tecla F4, “Modos”, é utilizada para resolver problemas com a identificação da placa de vídeo. A
1 memtest86+ - http://www.memtest.org/
228

Figura E.4: Selecinando o layout do teclado.

figura E.5 apresenta essa tela. Basicamente ela permite selecionar como se deseja ativar a placa de vídeo.
Suas principais funções são o modo “Normal”, que é o padrão, e o “Modo gráfico seguro”, que ativa um
driver de vídeo que todas as placas reconhecem. Esse é o problema mais comum ao utilizar um live CD
pois, embora o sistema tenha uma boa capacidade de reconhecer a placa de vídeo, o mesmo não se pode
afirmar de um monitor. Como o sistema identifica a melhor resolução para a placa de vídeo e para o
monitor, não é incomum que uma combinação de uma placa de vídeo nova e um monitor antigo resulte
em uma falha no boot.

A tecla F5 permite ativar modos de acessibilidade, usualmente utilizados por quem requer um ambi-
ente diferenciado para conseguir utilizar o computador de forma adequada. Essa tela é apresentada na
figura E.6.

A tecla F6 permite configurar outras opções de boot como, por exemplo, desabilitar o módulo acpi
(acpi=off). Ocorre que o usuário deve ter em mente o que significam tais opções antes de selecionar.
Algumas dicas:

• ACPI (Advanced Configuration and Power Interface): Gerencia os recuros de energia do compu-
tador. Algumas placas mãe requerem configurações especiais para fazer essa interface funcionar.
Desabilitar esse recurso pode trazer conseqüências desagradáveis em um laptop, por exemplo, por
não permitir que esse equipamento gerencie corretamente a energia do sistema. Algumas vezes é
necessário forçar a utilização do módulo.
229

Figura E.5: Confiurando os “Modos” de inicialização.

Figura E.6: Confiurando de recursos de acessibilidade.


230

• APCI (Advanced Programable Interrupt Controller ): Desabilitar esse recurso pode instruir ao nú-
cleo para não utilizar o gerenciador de interrupções integrado ao processador. Permite contornar
problemas na identificação de dispositivos, por exemplo, dispositivos IDE.

• PNPBIOS: Recurso associado ao gerenciamento de dispositivos plug and play. Resolve problemas
com placas mãe que acreditam ser uma boa idéia “gerar” reservas para dispostivos que não existem
e impedem o reconhecimento de dispositivos que existem.

• PCMCIA: Recurso associado a controladores PCMCIA. Se o usuário não tiver um controlador desses,
obviamente desativá-lo não trará qualquer prejuízo. Esse tipo de controlado é típico de notebooks.

Há outras opções, e na internet existem informações precisas sobre elas, seus usos, vantagens e des-
vantagens. Nos últimos anos, há uma evolução significativa no desenvolvimento do sistema, minimizando
o número de incompatibilidades com o hardware do computador.

Após escolher todas as opções desejadas, selecione “Testar o Ubuntu sem qualquer mudança no seu
computador” e clique em ENTER.
Apêndice F

Instalação do GNU/Linux

Esse anexo descreve com imagens as etapas instalação de três distribuições GNU/Linux. O Ubuntu 9.04
(e como conseqüência, do Edubuntu e Kubuntu). Para outras distribuições, como o openSUSE 11.1 e o
Fedora 10, haverá uma seção específica com links na internet com um passo a passo detalhado.

Existem diferenças na instalação entre versões de uma mesma distribuição, contudo, a maioria das
alterações são intuitivas para quem fez alguma instalação desta mesma distribuição antes. Entre diferentes
distribuições, apesar de apresentar as mesmas epatas em conceito, os procedimentos podem ser bem
diferentes.

Cada instalação apresentará a forma simples de ter o GNU/Linux instalado no computador, mas
também apresentará algumas ramificação para formas completas. A idéia não é complicar o processo
de instalação, mas sim ter o processo de instalação de forma simples, mas não mais simples do que o
necessário para usufruir dessa informação transformando-a em algo útil.

F.1 Conceitos Preliminares

Como dito, alguns conceitos fazem-se presentes na instalação de todas as distribuições. Por exemplo, as
etapas quase sempre consistem em:

1. “Identificação de características regionais”. Como idioma, data/hora, configuração de teclado.

2. “Configuração do HD”. Em outras palavras, como o HD será dividido, qual será o sistema de
arquivos, etc.

3. “Configuração da conta do usuário”. Defini-se o login e senha do primeiro usuário do sistema

231
F.1. Conceitos Preliminares 232

e, em alguns casos, do root.

4. “Seleção dos programas”. Define-se aqui quais serão os programas que serão instalados. Essa
etapa não existe em todas as instalações, e quando existe é opcional. Nesse último casos, uma
lista básica de programas pode ser instalado automaticamente e toda a configuração pode ser feita
posteriormente ou pode-se personalizar a lista de programas durante a instalação.

5. “Revisão/Ajuste da configuração do sistema”. Essa etapa ocorre após a instalação. É opcional


ou memsmo não existe na grande maioria das distribuições, pois todas permitem ajustar estas
configurações após a instalação. Se possível, é sempre saudável revisar o que o programa fez de
forma automática.

A configuração do HD será sempre lembrada como algo complicado. Essa fama injustificada nos dias
de hoje possui precedência histórica. Hoje, realizar esse processo é algo simples, mas algumas idéias
precisam ser sedimentadas. Por exemplo, como segmentar o HD?

Primeiro é importante entender que “segmentar o HD” consiste em dividir o HD em partes indepen-
dentes chamadas partições. Dessa forma, é possível apagar o conteúdo de uma partição sem prejudicar o
conteúdo de outra partição. Portanto, parece muito interessante ter os dados pessoais em uma partição
diferente daquela que contém os arquivos de programas. Mais precisamente, é interessante ter o diretório
/home em uma partição diferente do conteúdo da /. Pode-se perguntar: Não é o diretório /home um
diretório contido em /? Sim, mas isso não significa que o conteúdo do diretório /home precise estar na
mesma partição que o próprio diretório /home.

Basicamente, isso remonta a forma com que o sistema de arquivos entende os dados. Por metáfora,
para o sistema de arquivos, todos os arquivos são livros, mantidos em uma ordem qualquer em algum
lugar e ele próprio (ou seja, o sistema de arquivos) são as grandes prateleiras de uma biblioteca. Para o
sistema de arquivos, não importa qual o local que os “livros” ficam armazenados, importa apenas que ele
saiba exatamante onde é esse local e como acessar rapidamente esse dado.

Portanto, para o sistema de arquivos os dados/arquivos estão dispersos por tantas partições (e HDs)
quanto o usuário quiser utilizar. Para o sistema importa apenas saber quais e quantas são essas partições
e como a estrutura física se encaixa na estrutura lógica, que é a estrutura de diretórios. Note que para
o sistema de arquivos, existe apenas uma estrutura de diretórios e as partições são montadas nessa
estrutura conforme o desejo do usuário.

Por exemplo, ao inserir um CD em um driver, o disco é montado no diretório /media/cdrom0 (esse


diretório é criado de forma dinâmica pelo sistema) e dentro desse diretório é que a informação estará
plenamente integrada à estrutura única de arquivos. Mas isso não significa que o diretório foi copiado
para o /media/cdrom0. O conteúdo continua exclusivamente no CD.

No GNU/Linux é necessário utilizar no mínimo duas partições. Uma partição para o diretório raiz
(ou seja, /), que é o diretório abaixo do qual todos os outros existem e sem ele não é possível ter um
F.1. Conceitos Preliminares 233

GNU/Linux instalado. Outra partição especial, chamada swap, que é alocada no sistema como uma
continuidade da memória RAM (mas com desempenho muito abaixo dessa).

Contudo, o ideal é ter de três até quantas partições forem necessárias. Considere uma partição para
a raiz e outra para o swap.

Além dessas,em alguns casos é interessante ter a partição /boot em separado. Isso se deve ao fato de
que o GNU/Linux suporta dezenas de tipos diferentes de sistemas de arquivos, mas nem toda distribuição
consegue inicializar através desses sistemas. A forma de contornar isso é criar a partição de inicialização
com o sistema de arquivos suportado e utilzar o sistema de arquivos desejado nas demais partições. Isso
permite ganhar desempenho. Essa partição é tradicional em instalações que utilizem RAID ou LVM e
necessárias em algumas distribuições. A regra é, se não der certo sem ela, crie-a.

Uma outra partição pode acomodar o /opt ou /var, cujos diretórios possuem objetivos específicos.
Por exemplo, isolar o /opt é para pessoas que acreditam que seu conteúdo é valioso ou dará muito trabalho
de repor em uma eventual perda. Isolar o conteúdo de /var é para servidores com muitos usuários e
poucos recursos, pois nesse diretório estão os logs, que não podem ocupar o sistema inteiro e travar o
computador por eliminar o espaço disponível em HD. Nesses casos, isolar esse diretório é útil.

Mas para o usuário final, o que realmente interessa é isolar o /home. Esse diretório é onde estão os seus
dados pessoais do sistema e, portanto, é o que realmente importa para o usuário (todo resto é sistema e
pode ser reinstalado).

Os tamanhos indicados para o diretório /boot são de aproximadamente 200 MB (é megabytes mesmo).
Isso assegura que mesmo o usuário mais descuidado não terá qualquer problema. O diretório raiz deve ter
no mínimo 20 GB. Na teoria, para a maioria esmagadora de usuários, 10 GB são mais do que suficientes.
Mas a prática revela-se que todo usuário tem a capacidade de consumir espaço em disco inversamente
proporcional ao espaço que resta. Assim, como os dispositivos estão cada vez maiores, 20 GB é uma boa
idéia.

O swap deve ter o dobro da memória RAM até um máximo de 2 GB1 . Ou seja, se a máquina possui
512 MB de memória RAM, o swap deve ter 1 GB de memória RAM enquato que se a máquina possui 2
GB de memória RAM, o swap também deve ter 2 GB de memória RAM.

O restante do espaço no HD fica para o diretório /home. E que esse espaço não seja menos do que o
espaço reservado ao diretório raiz. Do contrário, é preferível não ter um diretório /home2 . Lembre-se que
sempre é possível utilizar apenas duas partições: raíz e swap.
1 Regra passada de “boca-a-boca” pela internet, com certa base teórica, mas também rica em mistério e carregada de
influências históricas.
2 Isso não é uma regra, é apenas bom senso.
F.1. Conceitos Preliminares 234

Outra informação associada aos HDs, é que existem dois tipos de partição: a partição primária e a
partição estendida. Um único HD pode ter no máximmo 4 partições primárias. A partição estendida é
uma partição primária que não contém um sistema de arquivos, mas sim outras partições ou unidades
lógicas, chamadas de partições secundárias. Uma partição estendida pode ter mais de uma centena de
partições lógicas. Portanto, um HD pode ser dividido em centenas de partições, desde que o recurso de
partição estentida seja utilizado.

Por fim, é importante entender como um HD é representado pelo GNU/Linux.

Para o caso de HDs PATA, ou seja, os conectados com cabo IDE (como nesse exemplo), o HD que
está na IDE primária como master e ele é chamado de sda ou hda, representado por um arquivo de
dispositivo localizado em /dev/, ou seja, /dev/sda ou /dev/hda. O HD que está na IDE primária como
slave é sdb ou hdb. O HD que está na localizado na IDE secundária como master é o sdc ou hdc e o que
está na IDE secundária como slave é o sdd ou hdd.

Historicamente, um HD PATA era representado apenas com hdX, onde X é a, b, c ou d3 . A mesma


regra valia para qualquer dispositivo PATA, o que inclui os leitores/gravadores de CD/DVD. Hoje em
dia, esses dispositivos são identificados como sdX na grande maioria dos computadores.

Contudo, a nomenclatura sdX está, historicamente, associdada aos HDs SATA, sendo que as letras
não são mais limitadas a apenas 4 dispositivos e, nesse caso, somente os HDs SATA são identificados
dessa forma. Os gravadores de DVD SATA são identificados com srN (onde N é um número iniciando
por zero). A ordem de identificação dos HDs SATA normalmente segue a ordem de conexão dos HDs na
placa-mãe, ou seja, o SATA 0 é o sda, o SATA 1 é sdb e assim sucessivamente.

Uma vez selecionado qual é o HD, por exemplo considerando /dev/sda, é necessário saber qual é
a partição. Nesse caso, cada partição de um mesmo HD é identificado com um número “indexado” ao
nome do HD. Por exemplo, a primeira partição do HD /dev/sda é a /dev/sda1, a segunda partição
é a /dev/sda2 e assim sucessivamente. Diz-se, portanto, que uma partição pode ser genericamente
representada por /dev/sdXN.

Então, como saber qual é o HD certo ? O ideal é verificar com uma distribuição Live CD utilizando um
aplicativo chamado GParted, que está presente no Ubuntu e é apresentado na figura F.1. Esse programa
é um particionador de HDs em modo gráfico que permite verificar quem é cada HD e como eles estão
divididos.

Note na figura F.1 que o HD /dev/sda (vide canto superior direito) possui 4 partições. Essa informação
pode ser constatada pela lista presente na parte central do programa e pela representação gráfica que
existe na região logo acima da parte central do programa e abaixo da barra de ferramentas.
3É possível ter mais de quatro dispostivos IDE utilizando uma placa RAID PCI para HDs PATA, mas trata-se de uma
abortagem obsoleta nos dias de hoje e nunca foi uma prática usual.
F.1. Conceitos Preliminares 235

Figura F.1: Particionador de HDs Gparted.

Esse programa fornece informações sobre o HD, sobre a partição, como número, tipo, tamanho e,
quando cabível, espaço ocupado e qual partição é “bootável” (aquela que possui a flag “boot”, é a partição
por onde o boot ocorre), entre outras informações.

Pela figura F.2 percebe-se que esse computador possui três HDs. Um com 120 GB, e dois com 320
GB (que por acaso do destino, são inclusive do mesmo modelo - vide o código final na lista). A diferença
entre os HDs é como eles são identificados pelo sistema. Essa tela faz parte do instalado do Ubuntu, que
como pode-se perceber, tem interface similar ao Gparted.

Mas o assunto é como reconhecer o HD correto para a instalação. A princípio, espera-se que o usuário
saiba se os HDs são do mesmo tamanho ou não. Se não são, o problema está resolvido. Se são idênticos,
a próxima pergunta é se eles possuem algum conteúdo.

Se são HDs novos, não há como identificar qual o HD desejado a menos que saiba qual é a ordem
da conexão do HD na placa mãe, mas nesse caso não se deseja tão ardentemente saber a diferença entre
os HDs, porque afinal eles são idênticos. Caso instale o Windows, ele irá para o sda, enquanto que o
GNU/Linux pode ir para qualquer um. Inclusive junto com o Windows no sda, basta não usar todo o
espaço em disco (sempre se instala o Windows antes do GNU/Linux).

Se os HDs não são novos, presume-se que estão formatados. Se estão formatados e não possui conteúdo
algum, recai-se na mesma situação do caso anterior. Se possui algum conteúdo, presume-se que o espaço
utilizado em cada HD seja diferente. Portanto, a identificação pode ser facilmente feita pelo Gparted ou
pelos programa de instalação da distribuição selecionada. Basta que o usuário saiba qual é o HD que
deseja instalar e referenciá-lo de alguma forma.
F.2. Ubuntu 9.04 236

Figura F.2: Interface de particionamento de HDs do Ubuntu presente no instalado do programa.

Em um caso extremo e extraordinário, os dois HDs possuem o mesmo volume de dados e não foi
possível identificar o HD da forma tradicional. Então a pergunta é: os dados nos dois HDs são diferentes?
Porque para ter o mesmo volume de dados a probabilidade de que isso aconteça com conteúdos diferentes
é insignificante.

Há casos particulares de instalações avançadas envolvendo modos de partições que não serão abordados
nesse texto, como RAID e LVM. Essas abordagens não são típicas de usuários domésticos, portanto não
deve fazer falta a grande maioria dos usuários4 .

Durante as instalações, algumas configurações de HD serão avaliadas, porém serão completamente


ignoradas as recomendações de tamanho nesses casos. O motivo disso é que algumas dessas instalações
foram feitas em máquinas virtuais, onde não era possível fazer valer essas recomendações.

F.2 Ubuntu 9.04

A forma mais simples de instalar o Ubuntu é utilizando um CD e iniciando o sistema como se quisesse
apenas fazer um teste. O Anexo E descreve como efetuar essa inicialização. Embora não seja obrigatório,
4 Isso é parcialmente verdade. Se a instalação for feita em RAID 0, a velocidade de acesso ao HD duplica. Se a instalação
for feita em RAID 1, os dados são automaticamente duplicados entre os HDs, aumentando a confiabilidade do sistema. Se
for utilizado o RAID 10, uma combinação do RAID 0 com 1, aumenta-se a velocidade e a confiabilidade. Qual é o usuário
que não deseja essas vantagens? Veja mais em: http://www.guiadohardware.net/artigos/raid-aumentando/
F.2. Ubuntu 9.04 237

é conveniente configurar a internet antes de iniciar a instalação.

Após o boot, para instalar o Ubuntu 9.04, clique no ícone localizado no canto superior esquerdo da
área de trabalho e nomeado de “Instalar o sistema no computador” (figura 5.2). Essa mesma ferramenta
é acessível em “Sistema” >> “Administração” >> “Instalar o sistema no computador” (figura 5.11). A tela
do programa aberto com essa ação é apresentado na figura F.3. Nela, percebe-se a mensagem de boas
vindas e a seleção do idioma na barra lateral. Em seguida clique em “Avançar”.

Figura F.3: Tela inicial do programa de instalação do Ubuntu 9.04.

A tela seguinte (figura F.4) é onde se configura a localidade, ou seja, configura-se o fuso horário.
Selecione “America” e “Sao Paulo”, para o horário oficial de Brasília. Ao concluir, clique em “Avançar”.

Em seguinda, o instalador pede a configuração do teclado (figura F.5). Caso o idioma “Português do
Brasil” tenha sido selecionado na primeira tela, este estará pré-selecionado a configuração “Brazil/Brazil”.
O primeiro “Brazil” refere-se à localização geográfica (em inglês, claro), enquanto que o segundo “Brazil”
é um nome simpático para o teclado ABNT2 (aquele que têm o “ç”). No Brasil, há dois teclado típicos, o
ABNT2 (mais comum) e o “US-Internacional” (que está cada vez mais difícil de achar). Há na tela uma
região específica para teste do teclado. Use-a para ter certeza de que tudo está funcionando (dica: teste
acentos e caracteres especiais). Em seguida clique em “Avançar”.

A tela seguinte é a parte de particionamento do HD (figura F.6). Na parte superior dessa tela existem
informações sobre o HD, que está selecionado no campo instalar o disco inteiro. Nesse ponto da instalação,
é o HD onde o Ubuntu será instalado. Note que esse HD possui uma instalação anterior nele, embora
F.2. Ubuntu 9.04 238

Figura F.4: Configuração do fuso horário.

Figura F.5: Configuração do teclado.


F.2. Ubuntu 9.04 239

a mensagem na tela superior diga que não há um sistema operacional no computador. Isso é mentira,
a frase correta deveria ser: “não há windows nesse computador” (o que é verdade). É nesse ponto da
instalação que aplica-se toda a teoria previamente apresentada sobre o particionamento de HDs. Esse
guia de instalação irá seguir três caminhos alternativos, no qual o primeiro é o que essa figura apresenta,
ou seja, será utilizado o HD inteiro, apagando tudo que existe no HD atual e permitindo que o
instalador crie partições de forma automática. A única escolha que deve ser feita é qual dos HDs
existentes na máquina deve ser selecionado para a instalação (presume-se que nesse ponto o usuário já
saiba qual é o HD desejado). Nesse exemplo, a instalação será efetuada no sda. Portanto, basta clicar
em “Avançar” para prosseguir.

Figura F.6: Particionando o HD eliminando todo o conteúdo de um certo HD e permitindo que o instalador
crie as partições automaticamente.

A tela seguinte da instalação (figura F.7) requer a configuração do primeiro usuário do sistema. O
Ubuntu não configura a conta de root após a instalação (o que deve/pode ser feito depois, como visto no
capítulo 9). Preencha os campos nome, login e senha adequadamente e conforme seu desejo. Escolha uma
senha que envolva números, letras minúsculas e maiúsculas e caracteres especiais, mas evite os acentos.
Infelizmente o Ubuntu aceitará qualquer expressão que seja colocada no campo senha, portanto, não
abuse da confiança do sistema e não utilize senhas triviais como 123123123, teste, login, password,
etc ou mesmo palavras contidas no vocabulário de qualque idioma. É um risco a própria segurança.

O campo nome do computador é o nome a qual o seu computador será reconhecido em uma rede,
por exemplo. Nomes simpáticos são sempre bem vindos, mas eles deve sempre utilizar apenas caracteres
minúsculos e não deve utilizar caracteres especiais, acentos ou mesmo espaço. Resumindo, utilize apenas
F.2. Ubuntu 9.04 240

letras mínusculas e números na criação do nome do computador.

A última configuração da tela questiona se o usuário quer que seja exigida uma senha para o acesso
ao computador ou se deve logar automaticamente ao inicializar. Pode-se fazer essa pergunta de outra
forma: deseja que qualquer um tenha acesso ao seus dados pessoais no computador? 5 Recomenda-se que
utilize “Pedir uma senha para entrar” para todos os computadores compartilhados com mais de um único
usuário. Ao concluir, clique em “Avançar”.

Figura F.7: Configurando os dados do usuário.

A última tela (figura F.8) apresenta um resumo do que será feito. Nesse ponto nenhuma modificação
foi feita ainda no computador. Revise detalhadamente todas as informações contidas nessa tela. Repare,
por exemplo, o alerta sobre a destruição dos dados do HD sda. Obeserve também, que a construção auto-
mática das partições define a criação de apenas duas partições, que serão a partição raiz, formatada como
ext3, e o swap (configuração mínima para um sistema). Concordando com tudo, clique em “Instalar”.

O processo de instalação contém varias etapas (figura F.9), mas não depende de nenhuma intervenção
humana até que seja concluido, quando o instalador pergunta se deseja reiniciar o sistema ou se quer
continuar a utilizar o live CD. Para iniciar o computador instalado, clique em “Reiniciar agora”.

O processo de instalação varia com o tamanho do HD e com os processos configuração deste. Usual-
mente, leva apenas alguns minutos. Após reiniciar o computador o sistema está pronto para uso.
5 Se houver acesso físico à máquina, não há segurança real aos dados ou a conta. Segurança de servidores é composta
por uma senha forte e uma sala trancada com controle de acesso a ela.
F.2. Ubuntu 9.04 241

Figura F.8: Revisão do que será feito.

(a) (b)

(c) (d)

(e) (f)

Figura F.9: Processo de instação do Ubuntu. Aguarde a conclusão.


F.2. Ubuntu 9.04 242

Suponha que o computador tenha o Windows instalado na máquina. Nesse caso, ao invés da tela
da figura F.6, observa-se a tela da figura F.10. Percebe-se na figura F.10 que existe uma nova opção de
particionamento que envolve utilizar o espaço livre do Windows para a instalação do Ubuntu6 . Dessa
forma, será feito um redimensionamento da partição Windows e utilizado o espaço excedente com um
particionamento automático para o Ubuntu. Adiante, será questionado qual é o sistema operacional que
deseja como sistema principal do computador. Ao clicar em “Avançar” uma informação surge na tela
(figura F.11) lembrando que é um processo “sem volta” e que pode demorar muito tempo7 .

Figura F.10: Particionamento do HD quando existe Windows instalado.

É impressindível que seja feito um backup dos dados existentes no Windows. Imprevistos, como falta
de luz durante o processo, podem danificar irreversivelmente o acesso a esses dados. Se quiser otimizar
o espaço que pode ser redimensionado, use o defragmentador do Windows antes de efetuar esse processo
de instalação.

Suponha, entretanto, que ao invés de utilizar um particionamento automático deseje-se utilizar um


particionamento manual do HD. Nesse caso, considere a mesma tela apresentada na figura F.10, mas
escolha a opção “Especificar particionamento manual (avançado)” (veja na figura F.12).

A tela seguinte é apresentada na figura F.13. Todas as partições de todos os HDs estaram nessa tela.
O objetivo agora não é redimensionar o HD. Contudo, isso é feito clicando sobre uma partição existente
e selecionando a opção “Editar partição”. Nesse passo atual, será optado por utilizar a opção “Apagar
partição”, que elimina os dados contidos naquela partição.
6 Existem aproximadamente 8 MB de espaço que está vinculado a uma necessidade do Windows.
7 Pode demorar horas.
F.2. Ubuntu 9.04 243

Figura F.11: Particionamento do HD quando existe Windows instalado. Mensagem de alerta importante.

Figura F.12: Selecionando a opção de particionamento avançado.


F.2. Ubuntu 9.04 244

Figura F.13: Partições existentes no computador.

A elimininação da partição pode ser constatar pelo tamanho do espaço livre (Free Space), como
mostrado na figura F.14. Para criar uma nova partição, clique na frase “espaço livre” em seguida “Nova
Partição”.

A figura F.15 apresenta a tela que surge em seguida. Nela é possível definir qual o tipo de partição
(primária ou estendida/lógica), a partir de onde deseja alocar a partição, o tamanho da partição, o tipo
de sistema de arquivos (identificado na tela por “Usar como”) e, quando aplicável, o ponto de montagem.
A figura F.15 utiliza uma partição primária de 200 MB que será o ponto de montagem de /boot com
um sistema de arquivos ext3, que é o sistema padrão nessa versão de Ubuntu. Clique em Ok e após o
processamento da informação, clique sobre o “espaço livre” e selecione “Nova partição”.

A próxima partição a criar é a partição raiz e especifique 6000 MB para ela (figura F.16). A rigor, se
isso não fosse um exemplo, o ideal seria selecionar todo o espaço disponível (menos os 2 GB que serão
necessário para a partição swap) para criar a partição raiz, pois o HD é muito pequeno. Contudo como
trata-se de um exemplo, foi selecionado essa opção. Essa partição foi selecionada para ser uma partição
lógica.

Para esse exemplo também será criado a partição /home. Repita o processo de adicição de partições e
preencha os dados adequadamente (figura F.17). Essa partição terá todo o espaço restante, menos 2 GB.
Realizar essa especificação é simples, pois o sistem preencherá o campo tamanho com todo o espaço
disponível. Basta então diminuir 2000 desse valor (2048, se quiser ser exato).
F.2. Ubuntu 9.04 245

Figura F.14: Espaço livre no HD. Não é necessário que todo o HD esteja livre para iniciar uma instalação.

Figura F.15: Criando uma partição /boot.


F.2. Ubuntu 9.04 246

Figura F.16: Criando a partição raiz.

Figura F.17: Criando a partição /home.


F.3. Outras distribuições 247

A partição seguinte é a partição swap (figura F.18). Como essa máquina possuí 2 GB de RAM, foi
selecionado o máximo de 2 GB para a partição swap (o que nesse caso significa utilizar o espaço disponível,
depois de ter especificado a demais partições). Note que ao selecionar o tipo de sistema de arquivos “área
de troca (swap)” não é possível preencher o campo ponto de montagem.

Figura F.18: Criando partição swap.

Ao concluir, confira se toda as partições foram corretamente configuradas e clique em avançar na tela
remanescente.

A instalação do Kubuntu, Edubuntu e demais distribuições da mesma família são idênticas à do


Ubuntu. As diferenças são duas, tema (cor, fonte, tipo de janela) e programas que existem imediatamente
após a instalação.

Para quem ainda vai instalar o Windows em dual boot, é necessário instalar e atualizar completamente
esse sistema operacional antes de instalar qualquer GNU/Linux. Isto minimiza efeitos desagradáveis que
o Windows tende a produzir no sistema de boot.

F.3 Outras distribuições

Outras distribuições seguem o mesmo princípio intelectual, mas possuem ferramentas diferentes. Abaixo
seguem links para alguns textos indicados para aqueles que desejam instalar outras distribuições.
F.3. Outras distribuições 248

• openSUSE 11.1 (via DVD)


http://www.howtoforge.com/perfect-server-opensuse-11.1

• openSUSE 11.1 (via Live CD)


http://www.howtoforge.com/the-perfect-desktop-opensuse-11.1-gnome

• Fedora 10 (via DVD)


http://www.howtoforge.com/perfect-server-fedora-10

• Fedora 10 (via Live CD)


http://www.howtoforge.com/the-perfect-desktop-fedora-10

• Mandriva One 2009.1 With GNOME


http://www.howtoforge.com/the-perfect-desktop-mandriva-one-2009.1-with-gnome

• PCLinuxOS 2009.1
http://www.howtoforge.com/the-perfect-desktop-pclinuxos-2009.1

• Debian (Lenny)
http://www.howtoforge.com/the-perfect-desktop-debian-lenny
Apêndice G

Perguntas e Respostas

G.1 Sinto falta de mais informação. Onde eu posso encontrar


outros documentos?

A internet é rica em material para o GNU/Linux. Muita informação em português embora, inevitavel-
mente, a maioria esteja em inglês.

Cada distribuição se responsabiliza por manter a comunidade mais ou menos unida em torno dela.
Dessa forma, nas páginas oficiais das distribuições pode-se encontrar no campo de documentação quase
todo tipo de material ligado à distribuição em si.

Além disso, existem blogs, planetas (coleção de blogs unidos em um único lugar), listas de discussão,
fórums e sites que concentram a grande maioria das informações associadas ao GNU/Linux.

Como toda lista dessa natureza, há aqui um aspecto pessoal dos autores: não a considere como única
ou como a melhor das listas. Para dizer a verdade, os links foram limitados a uma pequena variedade de
informação, acreditando que o usuário navegando por essas páginas terão acesso a toda a informação que
desejarem ainda que apenas através de referências. A lista não ordenou o conteúdo por qualquer critério
que seja, contudo, o Planeta GNU/Linux Brasil constitui uma excelente forma de manter-se atualizado
sobre os acontecimentos referentes ao universo do GNU/Linux.

Planetas:

• Planeta GNU/Linux Brasil: http://planeta.gnulinuxbrasil.org

• Planeta Ubuntu Brasil: http://planeta.ubuntubrasil.org

249
G.2. Alguma dica de programa? 250

• Planeta Ubuntu: http://planet.ubuntu.com

• Planeta openSUSE: http://www.planetsuse.org

• Planeta Fedora: http://planet.fedoraproject.org

• Planeta GNOME: http://planet.gnome.org

• Planeta GNOME Brasil: http://planeta.br.gnome.org

• Planeta KDE: http://www.planetkde.org

Sites:

• Viva o Linux: http://www.vol.com.br

• Guia do Hardware: http://www.guiadohardware.net

• BR-Linux.org: http://br-linux.org

• Dicas-L: http://www.dicas-l.com.br

• Linux Today: http://www.linuxtoday.com

• Foca GNU/Linux: http://focalinux.cipsga.org.br

• HowToForge: http://www.howtoforge.com

• Lifehacker: http://lifehacker.com

Listas de discussão:

• Ubuntu-BR: http://wiki.ubuntu-br.org/Listas

Fórums:

• Fórum oficial do Ubuntu: https://help.ubuntu.com/community

• Fórum Ubuntu-BR: http://ubuntuforum-br.org

G.2 Alguma dica de programa?

O capítulo 7 é pura dica de programa. Muitos dos links fornecidos na pergunta G.1 possuem muitas dicas
de programas.
G.3. Eu tenho uma placa de vídeo de última geração e os recursos 3D não funcionam.
Qual é problema? 251

Na internet pode-se encontrar o que se chama de lista de equivalência Windows/GNU/Linux. Que


também é muito útil! Veja :

• Tabela de programas substitutos, equivalentes ou similares Windows para GNU/Linux:


http://www.linuxrsp.ru/win-lin-soft/table-eng.html

• Programas equivalentes por sistema operacional:


http://wiki.ubuntu-br.org/ProgramasEquivalentes

• Windows Software/GNU/Linux Software


http://www.linuxscrew.com/2007/11/22/windows-software-linux-software/

Note que esse último link separa os programas que estão no Ubuntu e no Kubuntu e ainda não está
completamente atualizado para a mais nova versão do sistema. Lembre-se, contudo, que não importa se
é para Kubuntu ou para Ubuntu. Após instalar o sistema é possível usar o amaroK no GNOME tal como
é possível utilizar o GIMP no KDE.

Mas a principal dica é não se apressar. Não se afobar nas escolhas e com calma ir adaptando-se ao
novo sistema operacional.

G.3 Eu tenho uma placa de vídeo de última geração e os recursos


3D não funcionam. Qual é problema?

Código fonte de placas de vídeo (entre outras peças de hardware) é segredo industrial. Nem a NVIDIA,
nem a ATI disponibilizam informações técnicas sobre o funcionamento das suas placas. Mas as duas
fornecem programas binários que tendem a resolver o problema.

O programa “Drivers de Hardware” acessível em “Sistema” >> “Administração” permite instalar os


drivers adequados para as referentes placas de vídeo com sucesso em 9 de cada 10 casos. Dê uma olhada
nesse programa na figura 9.10. Veja que além do driver de modem (contexto do assunto onde a figura
foi inserida) existem dois drivers para a placa de vídeo para a máquina teste.

Curiosamente, a máquina utilizada para esse teste compõem o conjunto de 1 em cada 10 casos onde
o processo de instalação desse driver dá errado, mas é uma placa antiga que felizmente saiu do mercado
há muito tempo.

Verifique as informações oficiais sobre instalação de drivers binário nos links abaixo:
G.4. Como obter informações de IP, Máscara de Rede, IP do Roteador e DNS de uma
conexão previamente estabelecida? 252

• Informações gerais
https://help.ubuntu.com/community/BinaryDriverHowto

• Para instalar driver da NVIDIA


https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia

• Para instalação manual do drivers da NVIDIA (não recomendado, mas as vezes a única solução)
https://help.ubuntu.com/community/NvidiaManual

• Para instalar driver da ATI


https://help.ubuntu.com/community/BinaryDriverHowto/ATI

• Para instalação manual do drivers da ATI (não recomendado)


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

Antes de se desesperar com qualquer problema, leia atentamente as dicas de resolução de problemas.
São preciosas e eliminam boa parte dos problemas encontrados.

Para outras placas, a internet será sempre a melhor amiga do usuário GNU/Linux.

Para outras distribuições, basta procurar nas documentações “oficiais” (foi de onde eu tirei os links
acima, todos os wikis do Ubuntu). Todas as distribuições preocupam-se em fornecer informações que
facilitem a vida do usuário nesse ponto.

G.4 Como obter informações de IP, Máscara de Rede, IP do Ro-


teador e DNS de uma conexão previamente estabelecida?

Assumimos aqui que a conexão já existe e que ela não é IP fixo. Então, abra o terminal de comandos e
obtenha as informações de IP e máscara de rede com o comando ifconfig e informações de gateway e
DNS (que muitas vezes possuem o mesmo número) com o comando route.

Exemplo de saída do comando ifconfig1 :

eth0 Link encap:Ethernet Endereço de HW 00:1A:C0:75:EA:DG


inet end.: 192.168.0.2 Bcast:192.168.0.255 Masc:255.255.255.0
endereço inet6: fe80::21c:a0fg:ef76:fdga/64 Escopo:Link
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
RX packets:1820416 errors:0 dropped:0 overruns:0 frame:0
TX packets:1950390 errors:0 dropped:0 overruns:0 carrier:0
1 Alguns números da saída desse comando forma embaralhados para evitar a divulgação de informação confidencial.
G.4. Como obter informações de IP, Máscara de Rede, IP do Roteador e DNS de uma
conexão previamente estabelecida? 253

collisions:0 txqueuelen:100
RX bytes:1234066118 (1176.8 Mb) TX bytes:736714411 (702.5 Mb)
Memória:e3100000-e3120000

lo Link encap:Loopback Local


inet end.: 127.0.0.1 Masc:255.0.0.0
endereço inet6: ::1/128 Escopo:Máquina
UP LOOPBACKRUNNING MTU:16436 Métrica:1
RX packets:18071 errors:0 dropped:0 overruns:0 frame:0
TX packets:18071 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3613438 (3.4 Mb) TX bytes:3613438 (3.4 Mb)

Nesse exemplo, verifica-se a existência de duas interfaces. A interface lo é a interface de loopback.


Sem entrar em detalhes, pode-se entender que é como o computador vê a si mesmo, no caso com o IP
127.0.0.1. A grande importância dessa interface não faz parte desse escopo. A segunda interface é eth0
(podia ter qualquer número no lugar do zero). Nela vemos, na segunda linha, a expressão inet end.:,
que “significa”, “endereço de internet”, ou seja, nesse caso, o IP 192.168.0.2 . No fim da mesma linha
existe a expressão Masc:, que indica a máscara de rede, nesse caso, 255.255.255.0.

Um exemplo de saída do comando route:

Tabela de Roteamento IP do Kernel


Destino Roteador MáscaraGen. Opções Métrica Ref Uso Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
loopback * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

Nessa saída, o que desejamos aqui é encontrar a linha que especifica do gateway, ou seja, o roteador.
Procure pela linha default e na coluna “Roteador” verifique o número, nesse exemmplo, 192.168.0.1.
Como dito, usualmente pode-se utilizar o gateway, como DNS.
G.5. Não consigo acessar páginas que dependem de Java, como a página do Banco do
Brasil, mesmo depois de ter instalado o Java no computador. Qual é o problema ? 254

G.5 Não consigo acessar páginas que dependem de Java, como a


página do Banco do Brasil, mesmo depois de ter instalado o
Java no computador. Qual é o problema ?

Eu já escrevi sobre a solução dessa questão2

Embora esse texto tenha sido escrito com relação ao openSUSE, funciona em todas as distribuições.

O tempo fará esse problema desaparecer naturalmente (na verdade, espera-se que não seja mais
observado no Ubuntu). Não se esqueça de que é necessário ter instalado o java no computador.

G.6 Existe alguma forma de instalar e configurar tudo que in-


teressa para o usuário comum que nem sabe o que a ele
realmente interessa no Ubuntu ?

Por incrível que pareça, sim, essa forma existe. Chama-se Ubuntu Perfeito3 .

Suas instruções de uso e características são encontradas no link do projeto. Ele permite realizar várias
tarefas de características pessoais, como por exemplo, criar modelos/templates para cartas, memorandos,
etc. Também facilita a vida de quem quer instalar o Adobe Reader, que é um programa proprietário.
Mas mesmo programas livres como o VLC e o MPlayer são facilitados por esse aplicativo. A resposta
mais sensata é: use-o com moderação. Não faça por script/programa aquilo você sabe fazer sozinho.
Para o iniciante ou para aquele que utiliza o computador como uma ferramenta com a qual ele não possui
qualquer afinidade, essa frase pode significar, use e abuse dos recursos do Ubuntu Perfeito.

O Hamacker4 é um dos usuários da comunidade do Ubuntu com um grande número de contribuições


impressionantes. Além de escrever excelentes textos super detalhados e ilustrados, para usuários de todos
os níveis de conhecimento (entenda, textos excelentes para iniciantes), ele desenvolve e mantém versões
do Ubuntu Perfeito para cada versão do Ubuntu. A versão do Ubuntu 9.04 já foi lançada e conta com
novos recursos ainda mais interessantes.
2O Java e o Banco do Brasil - http://jfmitre.com/2009/01/o-java-e-o-banco-do-brasil.html
3 Ubuntu Perfeito - http://hamacker.wordpress.com/script-ubuntu-perfeito/
4 Hamacker’s Palace - http://hamacker.wordpress.com/
G.7. Não consigo utilizar o flash no navegador. Como resolve isso ? 255

G.7 Não consigo utilizar o flash no navegador. Como resolve


isso ?

Segundo o Ubuntu Geek5 , há quatro alternativas para esse problemas.

Embora esteja vinculado a um problema em sistemas 64-bits, os problemas relatados pelo site são
independentes da plataforma. Certamente uma das 4 soluções irá funcionar.

Uma observação particular quanto a estética do site está relacionada com os traços que são utilizados
no comando. Por exemplo, na solução dois, os comandos de terminal são:

sudo apt-get remove --purge swfdec-mozilla swfdec-gnome mozilla-plugin-gnash gnash


sudo apt-get install flashplugin-nonfree

ou seja, note o --purge, veja que não existe espaço entre os dois traços, --, e a palavra purge.

Outro ponto, o pacote compizconfig-settings-manager é o programa que gerencia os efeitos espe-


ciais no sistema.

G.8 Daqui a algum tempo, a versão 9.10 vai ser lançada. O que
eu faço ?

Primeiro, lembre-se de que ninguém é obrigado a instalar uma nova versão a cada lançamento. Mas se
estiver decidido a fazer isso, arrume um final de semana e, antes de qualquer coisa, faça um backup de
todos os seus dados pessoais. Toda atualização envolve riscos, nunca os despreze, por menores que sejam.

Depois disso, sempre que for possível faça uma instalação do zero, formatando o computador e reins-
talando tudo de novo. Isso tende a diminuir ou mesmo eliminar pequenos problemas (válido para quase
todas as distribuições).

Vamos supor que ainda assim queira fazer a atualização da versão e sem fazer a instalação do zero.
Primeiro controle a ansiedade. O usuário novato não é um usuário experiente. Então, controle a an-
siedade para esperar que os usuários experientes façam o que você quer fazer, encontre os problemas e
principalmente, relate as soluções.

Às vezes, dependendo da distribuição, não é necessário esperar muito. Por exemplo, a página do
5 Ubuntu Geek - http://www.ubuntugeek.com/fix-for-flash-not-working-after-jaunty-upgrade-64bit.html
G.9. Preciso usar um antivirus no linux ? 256

HowToForge6 divulgou como realizar o upgrade da versão 8.10 para a 9.047 um dia após da versão 9.04
ter sido liberada oficialmente.

O mesmo site divulgou como fazer uma instalação “perfeita” do Ubuntu 9.04 para computadores
pessoais8 , nesse mesmo dia.

E o HowToForge faz isso para todas as principais distribuições em todas as versões onde essas etapas
para atualização são possíveis. Note que HowToForge fará a mesma coisa daqui a 6 meses, 1 ano, etc e,
se um dia eles sairem do ar, não há problema pois alguém os substituirá.

G.9 Preciso usar um antivirus no linux ?

Em 2006, eu escrevi sobre isso9 . É um texto de teor filosófico que eu recomendo a todos os usuários
que desejem uma opinião pessoal sobre o assunto. De 2006 para cá, apenas a solução (último ponto do
texto) sofreu alterações. Hoje eu simplesmente utilizo o ClamAV que está na minha distribuição e não
uso intregação com cliente de e-mail, visto que hoje uso webmail.

G.10 O que é um firewall ? Como usar ?

Firewall é um programa que controla o fluxo de dados pelas portas da internet. Cada atividade realizada
na rede utiliza uma porta diferente (ou nem tanto). Se um porta está fechada, o fluxo de dados que
deveria passar por ela, não passa. Dessa forma, não há como aquele serviço que usaria aquela porta
funcionar (nem tanto, também, mas vou deixar o texto simples, certo ?).

Isso é tipicamente importante para quem acessa a internet diretamente (ou seja, não usa roteador,
que por sinal tem um firewall embutido).

Algumas distribuições usam o firewall por padrão, outras não. Fato é que quem não utiliza qualquer
atividade de servidor em seu computador, não sentirá quase nenhuma diferença em usar ou não usar um
firewall. Diz-se quase nenhuma, pois o alguns programas de compartilhamento na internet irão sofrer
com esse ponto.

Veja um texto bem detalhado no Guia do Hardware10 (note que é dividido em mais de uma parte, a
6 HowToForge - http://www.howtoforge.com
7 Atualizando o Ubuntu 8.10 para o 9.04 - http://www.howtoforge.com/how-to-upgrade-ubuntu-8.10-to-ubuntu-9.
04-desktop-and-server
8 O Desktop Perfeito - Ubuntu 9.04 - http://www.howtoforge.com/the-perfect-desktop-ubuntu-9.04
9 Por que eu uso Anti-Vírus no linux ? - http://jfmitre.com/2006/04/por-que-eu-uso-um-anti-vrus-no-linux.html
10 Escrevendo scripts de firewall - http://www.guiadohardware.net/tutoriais/linux-escrevendo-scripts-firewall/
G.11. Como aprender LaTeX ? 257

continuação encontra-se na parte inferior da página).

G.11 Como aprender LaTeX ?

Escrever o básico em LaTeX é muito fácil. Especialmente porque não requer quase nenhum conhecimento
sobre a linguagem em si. É apenas texto. Mas a verdade é que todos os autores desejam fazer algo além
de texto puro. Usar negrito, itálico, títulos, etc.

Para tal segue algumas referências existentes na internet:

• Wiki Tex-Br - http://www.tex-br.org


A ajuda para iniciantes é fundamental para quem não sabe nada e quer começar rápido.

• Wikipédia - http://pt.wikipedia.org/wiki/LaTeX
A página da Wikipédia é mais do que uma simples enciclopédia, é uma fonte de referências a
trabalhos de terceiros.

• O que vou aprendendo em LaTeX - http://aprendolatex.wordpress.com


Infelizmente, esse blog não tem publicado atualmente, mas o que já está escrito constitui uma fonte
rica de informação de qualidade

• LaTeX (Página pessoal do pinho) - http://www.ime.eb.br/~pinho/pessoal/latex/


Rico em links para todos os níveis de usuário LaTeX

• Página LATEXdo Sadao - http://www.dm.ufscar.br/~sadao/latex/index.php?lang=pt


Busque pelos exemplos latex é o que existe de mais proveitoso nesse material.

• LaTeX-demo - http://biquinho.furg.br/tex-br/doc/LaTeX-demo/
Para um texto com um número maior de recursos, sugiro a leitura do material LaTeX-demo. Ele é
dividido em duas partes:

– código fonte:
http://biquinho.furg.br/tex-br/doc/LaTeX-demo/LaTeX-demo-src-1.13.pdf
que também está disponível em formato LaTeX:
http://biquinho.furg.br/tex-br/doc/LaTeX-demo/LaTeX-demo-1.13.tar.gz
– e o resultado:
http://biquinho.furg.br/tex-br/doc/LaTeX-demo/LaTeX-demo-1.13.pdf

• LaTeX project (Página oficial do Projeto) - http://www.latex-project.org/


A página oficial conta com a documentação oficial.
G.12. Quando eu ligo o computador ele imediatamente vai para o GNU/Linux. Eu
gostaria de que o Windows fosse a opção padrão. Como mudo isso ? 258

• Depart. de Engenharia/Cambridge - http://www.eng.cam.ac.uk/help/tpl/textprocessing/


Com várias referências e exemplos

• Lista de símbolos - http://www.ahd.tudelft.nl/~alja/thesis/symbols-letter.pdf


Esse documento lista quase todos os comandos que alguém pode precisar para escrever o corpo de
um certo documento.

Existem inúmeras outras referências aos quais pode-se aprender outras informações, mas no primeiro
momento essas são mais do que satisfatórias para iniciar um texto (nem tão básico) em LATEX.

G.12 Quando eu ligo o computador ele imediatamente vai para o


GNU/Linux. Eu gostaria de que o Windows fosse a opção
padrão. Como mudo isso ?

Instale o pacote startupmanager, que instala o programa StartUp Manager11 . Na primeira tela existe a
opção “Default Operating System”, selecione a opção que lhe for desejada.

Note, entretanto, que esse livro recomenda não deixar o Windows como primeira opção de boot. O
motivo é simples. Existindo o Windows, o usuário pode achar mais conveniente acessar o sistema ope-
racional que ele conhece do que descobrir o novo sistema. Claro que para computadores compartilhados
nem sempre isso é possível ou aconselhável.

11 StartUp Manager - http://web.telia.com/~u88005282/sum/index.html


Colaboradores

Registre-se todos os colaboradores que direta ou indiretamente ajudaram a construir esse livro.

Sérgio Luiz Araújo Silva

Você também pode gostar