Sobrevivendo ao primeiro boot

Depois de instalado o sistema, vem o primeiro susto. Diferente de outras distribuições, o Slackware não carrega o ambiente gráfico por padrão, se limitando a pedir o login em modo texto.

Inicialmente, você se loga como root, usando a senha definida durante a instalação. O próximo passo é criar um login de usuário usando o comando “adduser”, como em:

# adduser gdh

Você vai perceber que no Slackware o adduser oferece bem mais opções ao criar a conta do que em outras distribuições, confirmando até mesmo o shell padrão e o diretório home. Assim como outras ferramentas, o adduser é na verdade um shell script, que utiliza o useradd e outras ferramentas do sistema. O Slackware usa uma versão modificada do script, o que leva às diferenças no comportamento.

A maioria dos detalhes exibidos durante a criação dos usuários são configurações padrão (que são alteradas apenas em casos específicos), ou opções cosméticas, de forma que você pode simplesmente aceitar os valores default. Entretanto, o Slackware tem uma peculiaridade, que é a seleção dos grupos.

Todas as distribuições utilizam os grupos como uma forma de permitir a restrição a determinados recursos do sistema para contas de usuário, caso desejado. Ao remover um usuário do grupo “audio”, por exemplo, ele deixa de conseguir usar o som; ao removê-lo do grupo “cdrom”, ele deixa de conseguir montar CDs colocados no drive; e assim por diante.

No caso do Slackware, o padrão é que os novos usuários façam parte apenas do grupo “users”, o que cria uma série de restrições, fazendo com que você não consiga usar o som e outros recursos. Para evitar isso, preste atenção nas mensagens e, quando ele perguntar:

Press ENTER to continue without adding any additional groups
Or press the UP arrow to add/select/edit additional groups:

… pressione a seta para cima para mudar a opção, que ficará “:audio cdrom floppy plugdev video”. Isso faz com que a conta seja cadastrada nos grupos e tenha acesso normal ao sistema:

Depois de criado o usuário, você pode se logar usando a nova conta e abrir o ambiente gráfico usando o “startx”, como faziam os pioneiros:

# su gdh
$ startx

Em vez de exibir uma tela de login ou perguntar qual interface usar, ele simplesmente carrega o ambiente gráfico default, que você definiu durante a instalação. Você pode mudar a escolha usando (como root) o comando “xwmconfig“, que é o mesmo script usado durante a instalação.

O que ele faz é simplesmente verificar quais são os gerenciadores instalados (o que é feito verificando os arquivos disponíveis na pasta “/etc/X11/xinit”) e criar o link “/etc/X11/xinit/xinitrc”, apontando para o escolhido.

Assim como outras das ferramentas do Slackware, o xwmconfig é um shell script grosseiramente simples, que se limita a examinar o conteúdo da pasta “/etc/X11/xinit” (onde é colocado um script de inicialização para cada gerenciador instalado) e criar o link “/etc/X11/xinit/xinitrc”, apontando para o escolhido.

Quando o comando “startx” é executado, ele executa o conteúdo do script, fazendo com que o KDE, Fluxbox ou outro gerenciador especificado, seja carregado. Se souber o que está fazendo, você pode até mesmo editar manualmente o script, fazendo com que ele execute outros comandos.

Embora o Slackware não possua uma interface padrão, se limitando a oferecer um conjunto de opções e deixando que você escolha qual usar, a maioria dos usuários da distribuição opta por utilizar o KDE, por isso vou concentrar as dicas em torno dele.

Da primeira vez que é aberto, o KDE exibe um assistente rápido, onde você pode ajustar o nível de efeitos visuais e escolher a língua padrão do sistema:

A opção do login automático é configurada através do Centro de Controle do KDE (através da opção “Gerenciador de Login > Conveniência > Habilitar login automático”) e não através de algum arquivo de configuração do sistema, pois o login é feito através do KDM, que é um componente do KDE. Ele permite que você escolha qual usuário usar, verifica a senha e carrega o KDE ou outro ambiente de trabalho escolhido.

Caso esteja curioso, o gerenciador de login que será usado é definido através do arquivo “/etc/rc.d/rc.4“, que é o script responsável por disparar o carregamento do ambiente gráfico. Seguindo a tradição do Slackware, ele é um script bem simples, que (descontando os comentários) inclui apenas as linhas:

echo "Starting up X11 session manager..."
if [ -x /opt/kde/bin/kdm ]; then
    exec /opt/kde/bin/kdm -nodaemon

    elif [ -x /usr/bin/gdm ]; then
        exec /usr/bin/gdm -nodaemon

    elif [ -x /usr/X11R6/bin/xdm ]; then
        exec /usr/X11R6/bin/xdm -nodaemon
fi

echo "Hey, you don't have KDM, GDM, or XDM. Can't use runlevel 4 without"
echo "one of those installed."
sleep 30

Como pode ver, ele inclui um “se, então, senão se” que tenta primeiro carregar o KDM, passando em seguida para o GDM (o gerenciador do GNOME) e o XDM (o gerenciador padrão do X), caso ele não esteja instalado. No final, ele inclui uma mensagem de erro, que é mostrada se nenhum dos três estiver instalado.

Voltando ao assistente de boas vindas, o português aparece na lista apenas se você marcou a categoria “KDEI” e o pacote “kde-i18n-pt_BR” durante a instalação, mas, se for o caso, você pode instalar o pacote posteriormente usando o installpkg (como veremos em mais detalhes a seguir) e alterar a linguagem usando o Kcontrol.

Esse assistente não é exibido na maioria das outras distribuições, pois nelas o KDE já vem pré-configurado. No Slackware, o KDE simplesmente é compilado a partir do código-fonteoriginal, sem nenhum tipo de personalização. Um bom exercício para começar é fuçar um pouco nas opções, abrindo o kcontrol e o kmenuedit e personalizando o visual a seu gosto:

Caso esteja curioso, toda a configuração do KDE, incluindo a configuração dos aplicativos da família K, é salva em arquivos dentro das pastas “.kde” (a pasta principal) e “.config” (auxiliar, usada principalmente pelos menus).

Elas são pastas ocultas do sistema, por isso não aparecem no gerenciador de arquivos. Para vê-las, você precisa marcar a opção de ver todos os arquivos ou usar o comando “ls -a”. Se você deletar estas duas pastas, toda a configuração é revertida para os padrões, incluindo a exibição do assistente inicial na próxima abertura.

Assim como o KDE, todos os aplicativos salvam, via de regra, suas configurações dentro de pastas ocultas dentro do diretório home. É justamente por isso que, ao preservar os arquivos do diretório home, o sistema continua se comportando quase da mesma forma depois de reinstalado.

Por enquanto, ainda estamos usando a inicialização manual do X, de forma que se você reiniciar o micro, volta ao prompt de comando e precisa fazer login e usar o “startx” para abrir a interface. Muita gente gosta dessa configuração default e continua utilizando-a por opção, mas, naturalmente, a maioria torce o nariz para a ideia, o que nos leva à próxima dica.

Para que o Slackware carregue o modo gráfico por padrão durante o boot, exibindo a tela de login do KDM, como em outras distribuições, edite o arquivo “/etc/inittab” e altere a linha “id:3:initdefault:“, substituindo o número “3” por “4”, como em:

id:4:initdefault:

Essa configuração controla o runlevel padrão do sistema, ou seja, o conjunto de serviços que serão carregados na hora de boot. No Slackware, o runlevel 3 faz com que o sistema inicialize em modo texto, enquanto o runlevel 4 carrega os mesmos serviços, acrescentando o KDM, responsável por abrir o modo gráfico e exibir a tela de login. Com isso, você passa a ver a tela de boot do KDM, onde pode fazer login e escolher qual interface usar:

Assim como em outras distribuições, você pode também ativar o uso do auto-login, fazendo com que o sistema carregue o KDE automaticamente durante o boot, já logado em uma conta de usuário escolhida. Entretanto, a configuração não vai em nenhuma opção dentro da tela de login (nem em nenhum arquivo de configuração do sistema), mas sim dentro do painel de controle do KDE, como veremos no tópico sobre ele.

Outro detalhe digno de nota é que ao alterar a linha no inittab para “id:4:initdefault:” o sistema passa a abrir apenas um terminal de texto puro (acessível através do Ctrl+Alt+F6) em vez de 6 terminais de texto, como seria normal. Isso acontece devido a outra configuração incluída no arquivo “/etc/inittab”, que corresponde às linhas abaixo:

# These are the standard console login getties in multiuser mode: 
c1:1235:respawn:/sbin/agetty 38400 tty1 linux 
c2:1235:respawn:/sbin/agetty 38400 tty2 linux 
c3:1235:respawn:/sbin/agetty 38400 tty3 linux 
c4:1235:respawn:/sbin/agetty 38400 tty4 linux 
c5:1235:respawn:/sbin/agetty 38400 tty5 linux 
c6:12345:respawn:/sbin/agetty 38400 tty6 linux

Estas 6 linhas são, como pode imaginar, as responsáveis por iniciar os 6 terminais em modo texto. Note que apenas a última inclui o número “4”, de forma que apenas o terminal referente a ela é carregado ao usar o runlevel 4. Essa configuração surgiu na época dos micros 486 (quando o X começou a ser usado), com o objetivo de economizar memória, desativando os terminais de texto quando o X era usado por padrão.

Apenas um terminal era mantido, para que você pudesse reparar o sistema em caso de problemas com o X. Naturalmente, isso não faz muita diferença hoje em dia (já que cada terminal adicional consome 500 KB de memória, ou menos), mas o ajuste permanece, servindo como uma curiosidade histórica.

Continuando, a próxima parada é a configuração do som, que é feita usando o “alsaconf”. Ele se encarrega de detectar a placa, carregar os módulos apropriados e executar as demais etapas necessárias para ativá-la. Nas versões atuais do Slackware, a detecção da placa de som passou a ser feita automaticamente (na maioria dos casos), mas, de qualquer maneira, o script continua disponível.

Diferente de scripts como o “liloconf” e o “xwmconfig”, que são específicos do Slackware, o alsaconf faz parte do Alsa, que é o conjunto de drivers para placas de som usado na grande maioria das distribuições atuais. Você pode utilizá-lo também em outras distribuições, sempre que a placa de som não for detectada automaticamente. Para usá-lo, basta chamar o comando como root:

# alsaconf

Deixe que ele detecte a placa e responda “sim” quando ele perguntar se você deseja ajustar a configuração do arquivo “modprobe.conf”. O processo é todo automático:

Por padrão, o alsaconf deixa o som mudo; uma precaução contra eventuais bugs nos drivers, que possam estourar seus tímpanos com algum barulho ensurdecedor. Para finalmente usar o som, é necessário ajustar o volume, o que pode ser feito usando o “aumix” e o “kmix” (ou outro controlador de volume) ou no próprio terminal, usando o “alsamixer”, outro pequeno utilitário da suíte Alsa.

Ele é mais um utilitário em modo texto, onde você ajusta os volumes usando as setas e pode sair usando a tecla Esc:

# alsamixer

Depois de ajustar o volume e testar, use o comando “alsactl store” para salvar a configuração e fazer com que o volume definido passe a ser carregado automaticamente durante o boot:

# alsactl store

Este mesmo comando pode ser usado em outras distribuições, resolvendo casos em que o sistema não ajusta o volume do som corretamente durante o boot.

A configuração da placa de rede pode ser feita rapidamente usando o “netconfig”, um utilitário que pergunta o endereço IP e outros dados da rede e, no final, se encarrega de detectar a placa de rede e ativar o módulo correspondente. Ele é o mesmo utilitário de configuração mostrado no final da instalação:

# netconfig

A pegadinha é que o netconfig apenas altera a configuração da rede (salva no arquivo “/etc/rc.d/rc.inet1.conf”), sem aplicá-la no final do processo. Para que a nova configuração seja realmente aplicada, é necessário reiniciar o serviço responsável pela configuração da rede, usando o comando:

# /etc/rc.d/rc.inet1 restart

Se você conecta usando um model ADSL configurado como bridge (ADSL PPPoE), pode configurar a conexão usando o comando “pppoe-setup”:

# pppoe-setup

Ele faz a configuração inicial, detectando o modem e pedindo o login e senha de acesso. Ele se oferece também para compartilhar a conexão com outros micros da rede local. Uma vez configurada a conexão, use os comandos “pppoe-start” e “pppoe-stop” para conectar e desconectar.

Para que estes comandos estejam disponíveis, você precisa ter instalado o pacote “rp-pppoe”, disponível na categoria “n”. Este mesmo pacote é encontrado no Fedora, Mandriva e em outras distribuições, com exceção do Debian (e outras distribuições baseadas nele), onde é usado o “pppoeconf”.

Nas versões antigas do rp-pppoe (usadas até o Slackware 10.1) os comandos começam com “adsl” ao invés de “pppoe”. Nestes casos, ao invés de “pppoe-setup” você usa “adsl-setup”, e assim por diante.

Acesso à partições: A partir da versão 12.1, o Slackware vem pré-configurado para usar o HAL em conjunto com o KDE, oferecendo o recurso de detecção automática de pendrives e CD-ROMs, onde os ícones de acesso aparecem diretamente no desktop, sem que você precise fazer a montagem manual.

Para que o recurso seja ativado, é necessário apenas que, ao criar a conta de usuário, você a adicione aos grupos “cdrom” e “plugdev”, que fazem parte dos grupos que aparecem ao pressionar a seta para cima, como fizemos ao adicionar o “gdh”.

De qualquer forma, é interessante entender também o processo de montagem manual, que permite solucionar problemas diversos.

A primeira dica é sobre o acesso ao CD-ROM ou DVD. Normalmente, você pode montar o CD-ROM usando o comando “mount /mnt/cdrom” (o comando tradicional) ou “mount /media/cdrom” (usado em muitas distribuições atuais) que faz com que os arquivos fiquem acessíveis através da pasta. Da mesma forma, ao terminar de usar, você pode desmontar usando o “umount /mnt/cdrom” ou “umount /media/cdrom”.

Estes comandos funcionam devido a uma linha incluída no arquivo “/etc/fstab“, que inclui as outras informações que o sistema precisa para acessar o drive. Aqui temos um exemplo de entrada usada em uma instalação do Ubuntu:

/dev/scd0 /media/cdrom udf,iso9660 user,noauto,exec,utf8 0 0

No caso do Slackware, a linha referente ao drive óptico vem comentada no fstab, o que faz com que você não consiga acessar os arquivos usando os ícones no KDE nem o tradicional “mount /mnt/cdrom”. Para resolver o problema, abra o arquivo “/etc/fstab” e remova o comentário (#) da linha:

/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0

Como pode ver, ela referencia o device “/dev/cdrom”, que é na verdade um link simbólico, que deve apontar para o dispositivo correto do drive. No Slackware o link não é criado por padrão, por isso é necessário criá-lo manualmente, usando o comando “ln -s”, como em:

# ln -s /dev/hdc /dev/cdrom

O “/dev/hdc” no exemplo, indica um drive instalado como master na segunda porta IDE. Naturalmente, você deve substituí-lo pelo dispositivo correto, caso diferente. Em muitos micros atuais, o drive é instalado na primeira porta IDE (já que a maioria das placas atuais possui apenas uma) e é visto pelo sistema como “/dev/hda”.

A partir daí, você pode montar o CD usando o “mount /mnt/cdrom” e desmontar usando o “umount /mnt/cdrom”, ou simplesmente usar o ícone dentro do KDE.

Para acessar pendrives, câmeras e outros dispositivos de armazenamento USB, o processo é similar. Quando você pluga um pendrive na porta USB o sistema detecta a nova unidade e atribui um device a ele, quase sempre sequencial ao atribuído ao HD. Se seu HD é visto pelo sistema como “/dev/sda”, por exemplo, o pendrive seria visto como “/dev/sdb”.

Assim como em um HD, o pendrive possui partições. Normalmente usamos apenas uma, que no exemplo seria a “/dev/sdb1”, mas nada impede que você divida o pendrive em várias partições, como faria em um HD.

Para acessar os arquivos, você precisa apenas criar uma pasta e montar a partição, como em:

# mount /dev/sdb1 /mnt/sdb1

Para verificar como o sistema detectou o pendrive, use o comando “cat /proc/partitions“, ele lista todos os dispositivos e as partições disponíveis, incluindo o pendrive, que aparecerá no final da lista.

Você pode também ver as mensagens geradas pelo sistema durante a ativação do dispositivo usando o comando “dmesg“. Além de mostrarem algumas informações interessantes sobre o dispositivo, elas podem ajudar em casos de problemas de detecção.

Outra dica é que existem alguns obstáculos em rodar aplicativos como root ao se logar como usuário. Usando o comando “su” para virar root, você vai perceber que o path (as pastas onde o sistema procura pelos executáveis dos comandos executados no terminal) fica diferente, o que faz com que o bash não encontre muitos comandos. A solução para este primeiro problema é usar o comando “su –” (que configura o path corretamente) para virar root, ao invés do “su”.

O segundo problema é que mesmo ao se logar como root, você não conseguirá abrir aplicativos gráficos, ficando limitado a usar os aplicativos de modo texto. É difícil entender esta configuração padrão (que estimula o uso do root, dificultando as coisas para quem usa uma conta de usuário), mas existe uma forma simples de resolver questão. Ao invés de abrir o terminal como usuário e rodar o comando “su -” para virar root, abra diretamente o terminal como root, usando o kdesu, como em:

$ kdesu konsole

Você pode também executar o comando pressionando “Ctrl+F2”. O kdesu configura corretamente as variáveis e permissões, permitindo que você consiga abrir qualquer aplicativo, como root, dentro do terminal.

Concluindo, é importante que você pratique essas dicas na frente do micro, já que é quase impossível entender todos estes detalhes sem realmente ir aplicando os passos e vendo o resultado de cada um. Não é preciso que você tenha um segundo micro ou que instale o Slackware em dual-boot: você pode simplesmente praticar instalando-o em uma máquina virtual, que pode rodar até mesmo sobre o Windows, como vimos na introdução.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X