Este livro apresenta métodos de programação no ambiente Linux, incluindo comandos do sistema Linux, scripts Shell, linguagens de programação (gawk, Perl), kernel do sistema, sistema de segurança, X Window, etc. , cobrindo todos os aspectos do sistema Linux. O CD que acompanha este livro inclui a versão mais recente do sistema RedHat Linux e o método de instalação, bem como uma grande quantidade de código de programa neste livro, o que facilita muito os leitores e fornece uma referência abrangente para técnicos que usam e irão usar Sistemas Linux.
Conteúdo Prefácio Capítulo 1 Introdução ao sistema Linux Capítulo 1 Introdução ao Linux…1
1.1 A Origem do Linux 1
1.2 Projeto GNU 1 da Free Software Foundation
1.3 Pronúncia do Linux 2
1.4 Recursos do Linux 2
1.5 Requisitos básicos de hardware 3
1.6 Como obter o Linux 3
1.6.1 Baixe o Linux 3 da Internet
1.6.2 Obtendo o Linux 3 do CD
1.7 Sites da Web e grupos de discussão de notícias relacionados ao Linux 6
1.8 Desvantagens do Linux 7
Capítulo 2 Shell e comandos comuns 8
2.1 Login e logout8
2.2 Shell do sistema Linux 8
2.3 Comandos shell comuns 9
2.3.1 Alterar senha da conta 9
2.3.2 Ajuda on-line 9
2.3.3 Login remoto 9
2.3.4 Processamento de arquivo ou diretório 9
2.3.5 Alterando o diretório de trabalho 10
2.3.6 Copiar arquivo 10
2.3.7 Mover ou alterar nomes de arquivos e diretórios 10
2.3.8 Crie um novo diretório10
2.3.9 Excluir diretório 11
2.3.10 Excluir arquivos 11
2.3.11 Liste a localização atual do diretório 11
2.3.12 Visualizar conteúdo do arquivo 11
2.3.13 Visualizar o conteúdo do arquivo pelas páginas 11
2.3.14 Verifique o espaço em disco ocupado pelo diretório 11
2.3.15 Transferência de arquivos 11
2.3.16 Configurando permissões de arquivo 12
2.3.17 Verifique o nome do grupo de trabalho ao qual você pertence13
2.3.18 Alterando a propriedade do grupo de trabalho de arquivo ou diretório 13
2.3.19 Alterar a hora da última modificação de um arquivo ou diretório13
2.3.20 Links para arquivos 13
2.3.21 Procurando strings em arquivos 14
2.3.22 Pesquise o caminho de um arquivo ou comando 14
2.3.23 Comparando o conteúdo de arquivos ou diretórios 14
2.3.24 Impressão do arquivo 14
2.3.25 Impressão de documentos gerais 14
2.3.26 Impressão de arquivos troff 14
2.3.27 Comando de controle da impressora 14
2.3.28 Controle de processo 15
2.3.29 Variável shell 16
2.3.30 Variáveis ambientais 16
2.3.31 Alias 16
2.3.32 Comandos históricos 17
2.3.33 Compactação de arquivos 17
2.3.34 Uso de comandos de pipeline 17
2.3.35 Controle de entrada/saída 18
2.3.36 Visualizar usuários no sistema 18
2.3.37 Alterar nome de usuário18
2.3.38 Ver nome de usuário 18
2.3.39 Visualizar usuários de todas as estações de trabalho no sistema atual 19
2.3.40 Conversando com um usuário em uma estação de trabalho 19
2.3.41 Verifique se o sistema remoto está normal 19
2.3.42 Introdução ao uso do email 19
Capítulo 3 Funções de rede de sistemas Linux 21
3.1 Protocolos de rede suportados pelo Linux 21
3.1.1 TCP/IP 21
3.1.2 TCP/IP versão 6 21
3.1.3 IPX/SPX 21
3.1.4 Conjunto de protocolos AppleTalk 21
3.1.5 Rede de Área Ampla 22
3.1.6 RDIS 22
3.1.7 PPP, SLIP e PLIP 22
3.1.8 Rádio Amador 22
3.1.9 ATM 22
3.2 Compartilhamento de arquivos e impressão no sistema Linux 22
3.2.1 Ambiente Machintosh 22
3.2.2 Ambiente Windows 22
3.2.3 Ambiente Novell 23
3.2.4 Ambiente UNIX 23
3.3 Funções de Internet/Intranet em sistemas Linux 23
3.3.1 E-mail 23
3.3.2 Servidor Web 24
3.3.3 Navegador da Web 24
3.3.4 Servidor FTP e Cliente 24
3.3.5 Serviço de Notícias 24
3.3.6 Sistema de Nomes de Domínio 24
3.3.7 DHCP e inicialização 24
3.3.8 NIS 24
3.4 Execução remota de aplicações no sistema Linux 24
3.4.1 Telnet25
3.4.2 Comandos remotos 25
3.4.3 Janela X 25
3.5 Função de interconexão de rede do sistema Linux 25
3.5.1 Roteador 25
3.5.2 Ponte 25
3.5.3 Mascaramento de IP 25
3.5.4 Estatísticas de IP 26
3.5.5 Aliases de IP 26
3.5.6 Limitador de fluxo 26
3.5.7 Firewall 26
3.5.8 Download da porta 26
3.5.9 Balanceamento de Carga 26
3.5.10 EQL 27
3.5.11 Servidor Proxy 27
3.5.12 Discagem sob demanda 27
3.5.13 Pipes, IP Móvel e Redes Pessoais Virtuais 27
3.6 Gerenciamento de rede em sistemas Linux 27
3.6.1 Aplicativos de gerenciamento de rede no sistema Linux 27
3.6.2SNMP28
3.7 Rede Empresarial Linux 28
3.7.1 Alta disponibilidade 28
3.7.2 RAID 28
3.7.3 Redes Redundantes 28
Capítulo 4 Introdução ao gerenciamento de sistema Linux 29
4.1 conta raiz 29
4.2 Iniciando e desligando o sistema 29
4.2.1 Inicializando a partir do disquete 29
4.2.2 Começando com LILO 29
4.2.3 Desligue o sistema Linux 30
4.3 Montando o sistema de arquivos 30
4.3.1 Montar disquete 30
4.3.2 Criando um novo sistema de arquivos 30
4.3.3 Desmontando o sistema de arquivos 31
4.4 Verificando o sistema de arquivos 31
4.5 Usando arquivos como áreas de troca 31
4.6 Backup de sistema e arquivos 32
4.7 Configurando o sistema 33
4.7.1 Definir nome do sistema 33
4.7.2 Usando disco de manutenção 33
4.7.3 Redefinir senha da conta root 33
4.7.4 Definir informações de login 33
Parte 2 Linguagem de alto nível e programação de gerenciamento do Linux Capítulo 5 Programação Shell 35
5.1 Criando e executando shells 35
5.1.1 Criando um shell 35
5.1.2 Executando o shell 35
5.2 Usando variáveis de shell36
5.2.1 Atribuindo valores às variáveis 36
5.2.2 Lendo o valor de uma variável 37
5.2.3 Variáveis de posição e outras variáveis do sistema 37
5.2.4 O papel das aspas 37
5.3 Comandos de operação numérica 38
5.4 Expressão condicional 40
5.4.1 se expressão 40
5.4.2 expressão de caso 41
5.5 Instrução de loop 42
5.5.1 para declaração 43
5.5.2 instrução while 43
5.5.3 até declaração 44
5.6 comando de mudança 44
5.7 selecione a instrução 45
5.8 repetir afirmação 46
5.9 Subfunção 46
Capítulo 6 Programação em linguagem gawk 48
6.1 Principais funções do gawk 48
6.2 Como executar o programa gawk 48
6.3 Arquivos, registros e campos 48
6.4 Padrões e Ações 49
6.5 Operações de comparação e operações numéricas 50
6.6 Funções internas 50
6.6.1 Números aleatórios e funções matemáticas 51
6.6.2 Funções internas de string 51
6.6.3 Funções internas de entrada e saída 52
6.7 Strings e números 52
6.8 Saída formatada 52
6.9 Alterando separadores de campo 54
6.10 Metacaracteres 54
6.11 Chamando o programa gawk 55
6.12 INÍCIO e FIM 55
6.13 Variável 56
6.14 Variáveis incorporadas 56
6.15 Estrutura de Controle 57
6.15.1 se expressão 57
6.15.2 loop while 57
6.15.3 para circuito 58
6.15.4 próximo e saída 58
6.16 Matriz 58
6.17 Funções definidas pelo usuário 58
6.18 Vários exemplos 59
Capítulo 7 Programação em linguagem Perl 60
7.1 O que é Perl 60
7.2 Status atual do Perl 60
7.3 Primeira tentativa com Perl 60
7.4 Variáveis Perl 60
7.4.1 Escalar 60
7.4.2 Matriz 63
7.4.3 Matrizes relacionadas 65
7.5 Identificadores de arquivos e operações de arquivos 65
7.6 Estrutura do Loop 66
7.6.1 loop foreach 66
7.6.2 Operação de julgamento 66
7.6.3 para circuito 67
7.6.4 loops while e Until 67
7.7 Estrutura Condicional 67
7.8 Correspondência de caracteres 68
7.9 Substituição e tradução 69
7.9.1 Substituição 69
7.9.2 Tradução 70
7.10 Subprocesso 70
7.10.1 Definição do subprocesso 70
7.10.2 Parâmetro 70
7.10.3 Valor de retorno 70
7.11 Exemplo completo de um programa Perl 71
Parte 3 Análise do Kernel do Sistema Linux Capítulo 8 Introdução ao Kernel Linux 73
8.1 Inicialização do sistema 73
8.2 Operação do sistema 73
8.3 Várias chamadas de sistema fornecidas pelo kernel 74
8.3.1 Conceitos básicos de processos e estruturas básicas de dados do sistema 74
8.3.2 Criando e destruindo processos 74
8.3.3 Execução do programa 74
8.4 Acessando sistemas de arquivos 75
Capítulo 9 Processos do Sistema 76
9.1 O que é um processo 76
9.2 Estrutura dos processos 76
9.3 Agendamento de Processos 78
9.4 Arquivos usados pelos processos 79
9.5 Memória virtual usada pelos processos 80
9.6 Criando processos 81
9.7 Tempo de processo e temporizadores 81
9.7.1 Relógio em tempo real 81
9.7.2 Relógio Virtual 81
9.7.3 Relógio de imagem 81
9.8 Execução do programa 82
9.8.1 Arquivos ELF 82
9.8.2 Arquivos de script 82
Capítulo 10 Gerenciamento de Memória 83
10.1 O papel do gerenciamento de memória 83
10.2 Modelo abstrato de memória virtual 83
10.3 Carregando páginas sob demanda 84
10.4 Troca 85
10.5 Memória virtual compartilhada 85
10.6 Controle de acesso 85
10.7 Cache 86
10.7.1 Cache de buffer 86
10.7.2 Cache de Página 86
10.7.3 Cache de Troca 86
10.7.4 Cache de Hardware 86
10.8 Tabela de páginas do sistema 86
10.9 Alocação e desalocação de páginas 87
10.9.1 Alocação de páginas 88
10.9.2 Liberação das páginas 88
10.10 Mapeamento de memória 88
10.11 Solicitação página 89
10.12 Cache de Página 89
10.13 Daemon de troca de kernel 90
Capítulo 11 Comunicação entre processos 91
11.1 Mecanismo de sinalização 91
11.2 Mecanismo de Pipeline 92
11.3 Mecanismo IPC do Sistema V 93
11.3.1 Fila de mensagens 93
11.3.2 Semáforos 94
11.3.3 Memória compartilhada 96
Capítulo 12 PCI 98
12.1 Sistema PCI 98
12.2 Espaço de endereço PCI 98
12.3 Cabeçalho de configuração PCI 99
12.4 E/S PCI e endereço de memória PCI 100
12.5 Ponte PCI-ISA 100
12.6 Ponte PCI-PCI 100
12.7 Inicialização PCI 101
12.7.1 Estrutura de dados do kernel do sistema Linux relacionada ao PCI 101
12.7.2 Drivers de dispositivos PCI 102
12.7.3 Funções do BIOS PCI 105
12.7.4 Correção PCI 105
Capítulo 13 Interrupções e tratamento de interrupções 106
13.1 Interrupções 106
13.2 Controlador de interrupção programável 106
13.3 Inicializando a estrutura de dados para processamento de interrupção 107
13.4 Tratamento de interrupções 108
Capítulo 14 Drivers de dispositivos 109
14.1 Gerenciamento de dispositivos de hardware 109
14.2 Pesquisas e interrupções 110
14.3 Acesso Direto à Memória 110
14.4 Memória 111
14.5 Interface entre driver de dispositivo e kernel 111
14.5.1 Dispositivos de caracteres 112
14.5.2 Dispositivos de bloqueio 113
14.6 Disco rígido 113
14.6.1 Disco rígido IDE 115
14.6.2 Inicializando o subsistema de disco rígido IDE 115
14.6.3 Disco rígido SCSI 115
14.6.4 Inicializando o subsistema de disco SCSI 116
14.6.5 Passando solicitações de dispositivos de bloco 118
14.7 Equipamento de rede 118
14.7.1 Nome do arquivo do dispositivo de rede 118
14.7.2 Informações do ônibus 118
14.7.3 Tags de interface de rede 119
14.7.4 Informações do protocolo 119
14.7.5 Inicializando dispositivos de rede 119
Capítulo 15 Sistemas de Arquivos 121
15.1 Visão geral do sistema de arquivos Linux 121
15.2 sistema de arquivos ext2 122
15.2.1 Nó de índice de ext2 122
15.2.2 superbloco ext2 124
15.2.3 descritor de grupo de blocos de dados ext2 124
15.2.4 Diretórios em ext2 125
15.2.5 Encontrando arquivos em um sistema de arquivos ext2 125
15.2.6 Alterando o tamanho dos arquivos no sistema de arquivos ext2 126
15.3 VFS 127
15.3.1 Superbloco VFS 128
15.3.2 Inode VFS 129
15.3.3 Registrando o sistema de arquivos 129
15.3.4 Montando o sistema de arquivos 130
15.3.5 Encontrando arquivos no VFS 131
15.3.6 Desfazendo um sistema de arquivos 131
15.3.7 Cache de inode VFS 132
15.3.8 Cache de Diretório VFS 132
15.4 Cache de buffer 133
15.5 /proc sistema de arquivos 135
Capítulo 16 Sistemas de Rede 136
16.1 Introdução à Rede TCP/IP 136
16.2 Camadas de redes TCP/IP 137
16.3 Soquetes BSD 138
16.4 Camada de soquete INET 140
16.4.1 Criando um soquete BSD 141
16.4.2 Especificando um endereço para o soquete INET BSD 141
16.4.3 Criando conexões em soquetes INET BSD 142
16.4.4 Escutando no soquete INET BSD 142
16.4.5 Recebendo solicitações de conexão 143
16,5 Camada IP 143
16.5.1 Buffer de soquete 143
16.5.2 Recebendo pacotes IP 144
16.5.3 Envio de pacotes IP 144
16.5.4 Fragmentação de dados 144
16.6 Protocolo de Resolução de Endereço 145
Capítulo 17 Mecanismo do Kernel do Sistema 147
17.1 Processamento da Metade Inferior 147
17.2 Fila de Tarefas 148
17.3 Temporizadores 149
17.4 Fila de espera 149
17,5 Semáforo 150
Parte 4 Programação Avançada de Sistemas Linux Capítulo 18 Programação do Módulo Kernel Linux 151
18.1 Um programa simples Olá Mundo 151
18.2 Arquivos de dispositivos 152
18.3 /proc sistema de arquivos 156
18.4 Usando /proc para inserir 158
18.5 Comunicando-se com arquivos de dispositivos 162
18.6 Parâmetros de inicialização 169
18.7 Chamadas do sistema 170
18.8 Bloqueio de processos 172
18.9 Substituindo printk 177
18.10 Agendamento de tarefas 178
Capítulo 19 Programação para Comunicação de Processo 181
19.1 Introdução à comunicação entre processos 181
19.2 Tubos UNIX half-duplex 181
19.2.1 Conceitos básicos 181
19.2.2 Criando pipelines usando linguagem C 182
19.2.3 Uma maneira simples de criar um pipeline 185
19.2.4 Automação usando tubos 187
19.2.5 Coisas a serem observadas ao usar tubos half-duplex 188
19.3 Tubos Nomeados 188
19.3.1 Conceitos básicos 188
19.3.2 Criando FIFO 188
19.3.3 Operação FIFO 189
19.3.4 Bloqueio FIFO 190
19.3.5 Sinal SIGPIPE 190
19.4 Sistema V IPC 190
19.4.1 Conceitos básicos 190
19.4.2 Conceitos básicos de fila de mensagens 191
19.4.3 Chamada do sistema msgget() 194
19.4.4 Chamada do sistema msgsnd() 195
19.4.5 Chamada do sistema msgctl() 197
19.4.6 Uma instância do msgtool 199
19.5 Programação com Semáforos 201
19.5.1 Conceitos básicos 201
19.5.2 Chamada de sistema semget() 202
19.5.3 Chamada de sistema semop() 203
19.5.4 Chamada de sistema semctl() 204
19.5.5 Exemplos de uso de conjuntos de semáforos: semtool 205
19.6 Memória Compartilhada 209
19.6.1 Conceitos básicos 209
19.6.2 Estrutura de dados do usuário interno do sistema
shmid_ds209
19.6.3 Chamada do sistema shmget() 210
19.6.4 Chamada do sistema shmat() 211
19.6.5 Chamada do sistema shmctl() 211
19.6.6 Chamada do sistema shmdt() 212
19.6.7 Exemplos de uso de memória compartilhada: shmtool 212
Capítulo 20 Programação Threaded Avançada 215
20.1 O conceito e uso de threads 215
20.2 Um exemplo simples 215
20.3 Sincronização de threads 217
20.4 Usando o Coordenador de Semáforo 218
20.5 Implementação do semáforo 220
20.5.1 Semáforo.h 220
20.5.2 Semáforo.c 221
Capítulo 21 Programação de rede do sistema Linux 225
21.1 O que é um soquete 225
21.2 Dois tipos de soquetes de Internet 225
21.3 Camadas de protocolo de rede 225
21.4 Estruturas de dados 225
21.5 Endereços IP e como eles são usados 226
21.5.1 soquete() 226
21.5.2 vincular() 226
21.5.3 conectar() 227
21.5.4 ouvir() 228
21.5.5 aceitar() 228
21.5.6 enviar() e recv() 229
21.5.7 sendto() e recvfrom() 230
21.5.8 fechar() e desligar() 230
21.5.9 getpeername() 231
21.5.10 gethostname() 231
21.6 DNS 231
21.7 Modelo Cliente/Servidor 232
21.8 Programa de servidor de streaming de dados simples 232
21.9 Um programa cliente de streaming simples 234
21.10 Soquete de datagrama 235
21.11 Bloqueio 237
Capítulo 22 Programação da porta de E/S do Linux 240
22.1 Como usar a porta de E/S 240 em linguagem C
22.1.1 Métodos gerais 240
22.1.2 Outra alternativa: /dev/port 241
22.2 Interrupções de hardware e acesso DMA 241
22.3 Tempo altamente preciso 241
22.3.1 Tempo de atraso 241
22.3.2 Medição de tempo 243
22.4 Usando outras linguagens de programação 243
22.5 Algumas portas de E/S úteis 243
22.5.1 Porta Paralela 243
22.5.2 Porta de jogo 244
22.5.3 Porta Serial 245
Parte 5 Análise de segurança do sistema Linux Capítulo 23 Segurança do administrador do sistema 247
23.1 Gerenciamento de Segurança 247
23.2 Superusuário 247
23.3 Segurança do sistema de arquivos 247
23.3.1 Visão geral do sistema de arquivos Linux 247
23.3.2 Arquivos de dispositivos 248
23.3.3 Comando /etc/mknod 249
23.3.4 Considerações de segurança 249
23.3.5 localizar comando 250
23.3.6 programa seguro 250
23.3.7 comando ncheck 250
23.3.8 Instalando e removendo sistemas de arquivos 250
23.3.9 Diretórios e arquivos do sistema 251
23.4 Programas rodando como root 251
23.4.1 Iniciando o sistema 251
23.4.2 processo de inicialização 251
23.4.3 Entrando no multiusuário 252
23.4.4 comando de desligamento 252
23.4.5 Programa cron do System V 252
23.4.6 programas cron após System V versão 252
23.4.7 /etc/perfil 253
23.5 Arquivo /etc/passwd 253
23.5.1 Envelhecimento da senha 253
23.5.2 UID e GID 254
23.6 /etc/arquivo de grupo 254
23.7 Adicionando, excluindo e movendo usuários 254
23.7.1 Adicionando usuários 254
23.7.2 Excluir usuário 255
23.7.3 Movendo usuários para outro sistema 255
23.8 Verificação de Segurança 255
23.8.1 Contabilidade 255
23.8.2 Outros comandos de verificação 256
23.8.3 Problemas com procedimentos de inspeção de segurança 256
23.8.4 O que fazer depois que o sistema vazar 257
23.9 Ambientes restritos 258
23.9.1 Gabinetes restritos 258
23.9.2 Usando chroot() para restringir usuários 258
23.10 Segurança de sistemas pequenos 259
23.11 Segurança Física 259
23.12 Conscientização do usuário 260
23.13 Conscientização do administrador do sistema 261
23.13.1 Mantendo seguros os logins pessoais dos administradores de sistema 261
23.13.2 Mantendo os sistemas seguros 261
Capítulo 24 Segurança do Programador de Sistema 263
24.1 Sub-rotinas do sistema 263
24.1.1 Sub-rotinas de E/S 263
24.1.2 Controle de processo 263
24.1.3 Atributos de arquivo 264
24.1.4 Processamento de UID e GID 265
24.2 Biblioteca C Padrão 265
24.2.1 E/S padrão 265
24.2.2 Processamento de /etc/passwd 266
24.2.3 /etc/processamento de grupo 267
24.2.4 Sub-rotina de criptografia 268
24.2.5 Executando o shell 268
24.3 Escrevendo programas C seguros 268
24.3.1 Questões de segurança a serem consideradas 268
24.3.2 Diretrizes do Programa SUID/SGID 269
24.3.3 Métodos de compilação e instalação de programas SUID/SGID 269
24.4 Design do programa de usuário root 270
Capítulo 25 Segurança de Rede de Sistemas Linux 272
25.1 Visão geral do sistema UUCP 272
25.1.1 Comandos UUCP 272
25.1.2 comandos uux 272
25.1.3 programa uucico 273
25.1.4 programa uuxqt 273
25.2 Questões de segurança do UUCP 273
25.2.1 Arquivo USERFILE 273
25.2.2 Arquivo L.cmds 274
25.2.3 login uucp 274
25.2.4 Arquivos e diretórios usados pelo uucp 274
25.3 MEL UUCP 275
25.3.1 Diferenças entre o HONEYDANBER UUCP e o antigo UUCP 275
25.3.2 Regras de nome de login 276
25.3.3 Regras da MÁQUINA 277
25.3.4 Combinando MACHINE e LOGNAME
Regra 278
25.3.5 comando uucheck 278
25.3.6 Portal 278
25.3.7 Verificação do arquivo de login 279
25.4 Outras redes 279
25.4.1 Login de trabalho remoto 279
25.4.2 Sistema de Rede NSC 280
25.5 Segurança das Comunicações 280
25.5.1 Segurança Física 280
25.5.2 Criptografia 281
25.5.3 Autenticação de identidade do usuário 282
25.6 Segurança de rede do sistema SUN OS 283
25.6.1 Protegendo o NFS 283
25.6.2 Falhas de segurança do NFS 284
25.6.3 Autenticação de chamada de procedimento remoto 284
25.6.4 Mecanismo de Autenticação Linux 284
25.6.5 Sistema de Autenticação DES 285
25.6.6 Codificação de palavras-chave públicas 286
25.6.7 Nomeando entidades de rede 286
25.6.8 Aplicação do sistema de identificação DES 287
25.6.9 Questões de segurança restantes 287
25.6.10 Desempenho 288
25.6.11 Problemas causados por programas de inicialização e setuid 288
25.6.12 Resumo 289
Capítulo 26 Segurança do usuário de sistemas Linux 290
26.1 Segurança de senha 290
26.2 Permissões de arquivo 290
26.3 Licenciamento de Diretório 291
26.4 comando umask 291
26.5 Definir permissões de ID de usuário e ID de usuário de grupo 291
26.6 Comandos cp mv ln e cpio 291
26.7 comandos su e newgrp 292
26.7.1 comando su 292
26.7.2 comando newgrp 292
26.8 Criptografia de Arquivo 292
26.9 Outras questões de segurança 293
26.9.1 Arquivo .profile do usuário 293
26.9.2ls-a 293
26.9.3 Arquivos .exrc 293
26.9.4 Arquivos e diretórios temporários 293
26.9.5 UUCP e outras redes 293
26.9.6 Cavalo de Tróia 294
26.9.7 Chamariz 294
26.9.8 Vírus de computador 294
26.9.9 Para sair do terminal você está logado294
26.9.10 Terminal inteligente 294
26.9.11 Desconectando do sistema 294
26.9.12 comando cu 295
26.10 Dicas para manter sua conta segura 295
Parte Seis: Estrutura Interna e Uso do Sistema X Window Capítulo 27 Conhecimento Básico do Sistema X Window 297
27.1 Introdução ao Sistema X Window 297
27.1.1 Características do X 297
27.1.2 O que é um sistema de janelas 298
27.1.3 História do desenvolvimento do X 299
27.1.4 Produto de X 299
27.1.5 X 299 lançado pelo MIT
27.2 Estrutura básica do X 302
27.2.1 Elementos básicos do X 303
27.2.2 Como os programas de serviço e os programas clientes interagem e se comunicam 304
27.2.3 Visão geral da rede do X 306
27.3 Visão geral do X 307 da perspectiva da interface do usuário
27.3.1 Interface de gerenciamento: Gerenciador de janelas 307
27.3.2 Interfaces de aplicativos e caixas de ferramentas 309
27.3.3 Outras perspectivas do sistema 309
27.4 Terminologia e notação 310
27.4.1 Terminologia 310
27.4.2 Símbolos 311
27.5 Iniciando e desligando o X 312
27.5.1 Iniciando o X 312
27.5.2 Formas de executar o programa X 313
27.5.3 Fechar X 314
27.6 Noções básicas do gerenciador de janelas — uwm 315
27.6.1 O que é um gerenciador de janelas315
27.6.2 Iniciando o uwm 315
27.6.3 Operações básicas de janela—uwm
Cardápio 315
27.6.4 Movendo janelas 316
27.6.5 Redimensionando janelas 316
27.6.6 Criando uma nova janela 316
27.6.7 Gerenciando espaço na tela 318
27.6.8 Abortando janelas do aplicativo 320
27.6.9 Outras maneiras de ativar o menu uwm 320
27.7 Dispositivos de rede usando x 320
27.7.1 Especifique o terminal remoto - display
Opção 321
27.7.2 Uso prático de displays remotos 322
27.7.3 Controlando monitores de acesso — xhost 322
27.8 Emulador de terminal – introdução detalhada ao xterm 323
27.8.1 Selecionando funções xterm - opções de menu e linha de comando 323
27.8.2 Rolar tela xterm 324
27.8.3 Gravando o processo de interação com o terminal – gravando registros 325
27.8.4 Cortando texto 325
27.8.5 Usando Funções de Simulação Tektronix 326
27.8.6 Usando fontes diferentes 327
27.8.7 Usando a Cor 327
27.8.8 Outras opções de xterm 327
27.8.9 Configurando o teclado do terminal 328
Capítulo 28 Utilitários e Ferramentas 329
28.1 Utilidades 329
28.2 Salvando, exibindo e imprimindo imagens da tela 330
28.3 Aplicativos usando X 332
28.3.1 Editor de texto—Xedit 333
28.3.2 Sistemas de correio/mensagens - xmh 336
28.4 Exemplos e Programas de Jogo 336
28.4.1 Encontrando um caminho através de um labirinto aleatório – labirinto 336
28.4.2 O olho grande que serve como ponteiro do mouse—
olhos x 336
28.4.3 Jogo de tabuleiro de sabedoria – quebra-cabeça 337
28.4.4 Imprimir um grande logotipo X — xlogo 337
28.4.5 Poliedro saltitante – ico 337
28.4.6 Padrões geométricos dinâmicos - mastigador e
xadrez 337
28.7 Programas para exibição de informações e status 337
28.7.1 Liste as características dos programas de serviço X—
xdpyinfo 338
28.7.2 Obtendo informações sobre uma janela 338
28.7.3 Observando o evento de X—xev 340
Capítulo 29 Personalizando o Sistema X Window 341
29.1 Usando fontes e cores X 341
29.1.1 Fontes preliminares 341
29.1.2 Nomeação de fontes 342
29.1.3 Observando o conteúdo de uma fonte específica — xfd 343
29.1.4 Salvando fontes e posições 343
29.1.5 Exemplo: Adicionando uma nova fonte ao seu programa de serviço 345
29.1.6 Usando a cor do X 346
29.2 Definindo e usando gráficos 347
29.2.1 Biblioteca Gráfica do Sistema 347
29.2.2 Edição gráfica interativa – bitmap 347
29.2.3 Outras maneiras de editar gráficos 349
29.2.4 Personalizando a janela raiz — xsetroot 349
29.3 Definindo opções padrão do aplicativo—
Recursos 350
29.3.1 O que são recursos350
29.3.2 XToolkit 351
29.3.3 Gerenciando recursos — Resource Manager 353
29.3.4 Tipos de recursos – como especificar valores 358
29.4 Uso real de recursos 359
29.4.1 Onde salvar os valores padrão dos recursos 359
29.4.2 Salvando valores padrão em programas de serviço—
xrdb363
29.4.3 Bugs comuns e correções 366
29.5 Personalizando o teclado e o mouse 367
29.5.1 Uso prático de conversões 368
29.5.2 Conversão – formatos e regras 374
29.5.3 Problemas comuns nas especificações de conversão 377
29.6 Teclado e mouse – correspondências e parâmetros 379
29.6.1 Mapeamento de teclado e mouse — xmodmap 379
29.6.2 Configurações de parâmetros de teclado e mouse — xset 382
29.7 Introdução e personalização adicionais do uwm 384
29.7.1 Novos recursos do uwm 384
29.7.2 Personalizando o uwm 386
29.8 Gerenciador de exibição — xdm 390
29.8.1 O que precisa ser feito 390
29.8.2 xdm391
29.8.3 Mais informações sobre xdm 392
29.8.4 configuração uwm 395
Apêndice A Introdução ao uso do Gcc 396
Apêndice B Instalando o Sistema X Window Window 410
Expandir