--------------------------------------------------------------------------- Utilizando a console texto Ademar de Souza Reis Jr. http://www.ademar.org v0.8 - Abril2000 --------------------------------------------------------------------------- Este artigo trata de um assunto bastante polêmico no mundo Unix: Por que utilizar a console texto (e não o modo gráfico). Ultimamente tem-se dado cada vez mais atenção às interfaces, que, cada vez mais belas e cheias de funcionalidades, têm atraído mais e mais usuários aos sistemas UNIX (em especial ao Linux), conquistando cada dia mais os usuários "finais" ou "domésticos". As interfaces são as responsáveis por dar uma cara bonita ao Sistema Operacional e proporcionar um ambiente agradável para o usuário... Mas será que toda essa beleza é sinônimo de praticidade? O objetivo deste artigo é mostrar que, embora as interfaces gráficas tenham sua utilidade, utilizar uma console textual ainda é uma das melhores opções para a realização das principais tarefas em um sistema Unix. OBS. Quando me referir às interfaces gráficas, o farei citando apenas "X", pois esta é a maneira mais comum de se fazer referência ao ambiente gráfico mais utilizado no mundo Unix: o XWindow System. O poder do modo texto Qual o objetivo de uma interface gráfica? "Facilitar a vida do usuário e deixar a tela mais bonita" é o que você responderia rapidamente... Pois é verdade. O problema é que esse "facilitar" é bastante relativo. Vamos a um exemplo: Você acha mais fácil mover sua mão até o mouse, clicar em três botões e duas barras de rolagem ou simplesmente pressionar algumas teclas, em se tratando de responder um mail? E ainda: é mais fácil sair clicando em vários menus ou digitar um determinado comando? Tarefas simples, como ler e responder mails e notícias, escrever e compilar código e até navegar na Internet se tornam trabalhosas demais devido à utilização do mouse e de tantos botões e funcionalidades quando o que queremos é praticidade e velocidade. Além de tudo isso, existem fatores como consumo de memória, desempenho das aplicações, tamanho das fontes e universalidade de utilização. Fatores esses que, em alguns casos, podem se tornar críticos (como no clássico caso do acesso a uma máquina por uma conexão lenta para a resolução de algum problema). Obviamente, não há como negar que é bem mais simples aprender a clicar em alguns botões do que utilizar comandos como chmod 755 /tmp/teste -R Mas a grande confusão aqui é a mistura entre aprender e utilizar no dia-a-dia. A interface gráfica facilita o aprendizado, mas e a praticidade? Ela consegue ser alcançada? Note que a maioria das interfaces são "frontends" para as verdadeiras aplicações, e essas aplicações são muito mais flexíveis se você as conhecer o suficiente para controlá-las "na mão". Quer mais um exemplo? Tente achar um equivalente às linhas abaixo nos principais gerenciadores de arquivos gráficos: # for i in *.tar.gz; do # tar xzvf $i; # done (A seqüência de comandos acima é muito utilizada para executar um determinado comando repetidas vezes em vários arquivos - no caso, estamos descompactando todos os arquivos com extensão .tar.gz). Ok, agora chega de tentar convencer que o modo texto é melhor, isso fica por conta do aprendizado e força de vontade do leitor. Vamos nos concentrar em algumas dicas, técnicas e softwares que, ao meu ver, tornam a utilização da console texto uma das melhores e mais práticas características dos sistemas Unix. Primeiramente, vale lembrar que você pode cumprir boa parte das tarefas e utilizar vários dos softwares aqui citados em um Xterm (emulador de terminal para o X), mas se você fizer alguns testes, e parar um pouco para refletir, chegará facilmente à conclusão de que não vale a pena abrir um pequeno terminal no modo gráfico quando você pode ter toda a área do monitor à sua disposição (A não ser que seu papel de parede valha muito, mas realmente muito, a pena :). Além disso, várias características técnicas, como fontes, cores, teclas e afins diferem bastante entre uma interface e outra. Algumas técnicas úteis * Utilizar várias consoles: na maioria dos sistemas existem seis consoles habilitadas que você pode acessar pressionando Alt + F[1-6] ou Alt + <- e ->. A utilização de várias consoles é extremamente importante, pois poderá fazer seu trabalho render muito mais. Se você tem acesso root ao seu sistema, vale a pena aumentar o número destas editando o arquivo /etc/inittab, onde você deve encontrar linhas equivalentes às abaixo: 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 [linhas indo de 3 a 10] 11:2345:respawn:/sbin/mingetty tty11 (nesse exemplo, teríamos 11 consoles habilitadas) * Aumentar a resolução da tela: consiste em maximizar o número de linhas e colunas visíveis na console texto. Para isso, você precisa passar um parâmetro ao kernel em tempo de boot: vga=[0-xx]. Isso pode ser feito no prompt do lilo ou editando o arquivo /etc/lilo.conf. A resolução alcançada depende diretamente de sua placa de vídeo, mas você pode conseguir facilmente algo em torno de 130 colunas por 40 linhas (o que é bastante razoável). Uma maneira simples de efetuar um teste é adicionar a linha vga=ask em seu arquivo /etc/lilo.conf, executar o lilo (você precisa ter acesso root) e reinicializar a máquina. Além disso, pode ser útil alterar o tamanho da fonte utilizada no console (isso varia bastante de uma distribuição para a outra, mas no Conectiva por exemplo, você pode fazer isso alterando o nome da fonte em /etc/sysconfig/i18n). Para mais informações, consulte a documentação SVGA do kernel do linux, que você encontra em /usr/src/linux/Documentation/svga.txt e também a página manual do comando consolechars - man consolechars). * Alternar entre o X e a console: você ainda pode ter uma seção X aberta e alternar para o modo texto e vice-versa, utilizando a combinação de teclas "Ctrl + Alt + F[1-12]". Isto é útil quando você realmente não pode (ou não quer) dispensar o X. Vamos agora a uma pequena lista de softwares úteis para a console texto. Vale lembrar que em sua maioria os utilitários dos sistemas Unix foram criados para ser executados em um terminal (seja a console texto ou um Xterm). A lista abaixo é uma seleção dos que considero mais úteis, principalmente por apresentarem funcionalidades que muitos acham só existir em ambientes gráficos. Se esses softwares não acompanham sua distribuição, não se preocupe, você pode encontrá-los em grandes repositórios de software Linux, como freshmeat (www.freshmeat.net) e linuxberg (www.linuxberg.com) entre outros. E embora esteja citando o Linux, eles são em sua maioria portáveis, ou seja, devem compilar e funcionar bem em vários Unixes. * ICQ: pelo menos nas máquinas domésticas, o ICQ é um dos softwares essenciais para quem se conecta à internet. Mas você achou que precisaria do X para utilizá-lo? Experimente o centerICQ, um cliente ICQ textual com uma ótima interface e todas as funcionalidades de que você precisa! * Leitor de mail: ler mail no netscape é quase que uma tortura para suas vistas e bem pouco prático. :) Experimente o pine, um excelente leitor de mail com uma interface amigável e prática. Para você que baixa mails de um servidor POP (é o caso da maioria dos usuários de linha discada), uma sugestão é utilizar a combinação fetchmail + procmail + pine. O primeiro baixa os mails, o segundo os filtra e o terceiro os gerencia. Embora você possa realizar todas estas tarefas a partir do pine, você verá que vale a pena utilizar um software para cada função, devido à quantidade de recursos e a própria modularidade. Outras alternativas ao pine são mutt, elm, etc. * Editor de textos: editar textos no X é outra mania de quem não consegue ficar longe de um papel de parede... Você deve utilizar o editor de sua preferência, mas saiba que o emacs, por exemplo, perde uma série de funcionalidades (como coloração do texto) quando utilizado no modo texto. Vim, pico e mcedit (entre inúmeros outros) são editores desenvolvidos para o ambiente textual, e por isso são boas escolhas. * Multimídia: outra tarefa que você achou que só seria feita no X, não? Ouvir suas músicas em mp3? Experimente o mpg123, ou então o freeamp. Visualizar imagens? Experimente o zgv. Jogos? Se você nunca jogou um jogo 3D em ASCII (sim, em ASCII!), experimente o "Text Mode Quake" (ttyquake) ou o "0verkill" São jogos, no mínimo, hilários :) Só não encontrei um software para visualização de vídeos... alguém se candidata a escrever um? * Navegador (Browser): "Navegar na internet no modo texto é ridículo". Essa é uma frase de quem adora perder tempo esperando pelos gifs animados e backgrounds carregarem. Experimente o links (sim, links, e não o famoso lynx). Ele é um excelente navegador, com suporte a cores, tabelas e acredite: frames! O lynx é mais famoso, muito poderoso e encontrado em praticamente todas as distribuições, mas é um pouco mais "crú" em termos de recursos visuais. Além deste, existe ainda o w3m, que é um "concorrente" direto do links e que com certeza vai lhe surpreender pelos recursos disponíveis. * Programação: embora existam IDE's (Interfaces de DEsenvolvimento) muito bonitas para o X, utilizá-las não é uma regra. Aprender as ferramentas nativas do Linux acaba sendo a opção adotada pela maioria dos programadores. A combinação editor + gcc + gdb + make + ... é tudo o que você precisa (em se falando de programação em C, por exemplo). Mesmo assim, você pode encontrar IDE's pra console texto também (mas aí vai um conselho: você será mais feliz se aprender as ferramentas nativas). Conclusão Obviamente, o X não deve ser considerado uma "perda de tempo". Quis apenas mostrar a você leitor que "existe vida além do modo gráfico". Isso porque a maioria dos usuários desconhece sua utilidade e acha que modo texto é coisa pra quem "vive na idade da pedra". Não é bem assim. Em especial para os que têm velocidade no teclado e não fazem questão de usar o mouse, a console textual é uma opção mais do que viável. E olha que nem levamos muito em conta fatores como consumo de memória e capacidade de vídeo! Quantas vezes você já viu máquinas abandonadas em laboratórios só porque não tinham seu X configurado? Você já sofreu com o desempenho de um velho e bom 386 tentando usar o X? Talvez a partir de agora você veja a coisa por outro lado... Ou talvez você pegue tanto gosto pela console texto que passe a desprezar o X, mesmo tendo em casa um Pentium IV 2GH com 512MB de RAM e uns 256MB de vídeo super ultra 3D (que ainda será muito útil pra jogos como quake3) :) Lembre-se: um bom Sistema Operacional não é uma tela bonita, e o verdadeiro poder da computação está à frente do monitor, e não em botões, menus e balões coloridos :) freshmeat: http://www.freshmeat.net