Jedi Tux

Archlinux_Openbox_Shutdown_Reboot

Posted in Dicas by Fernando Basso on 28 de junho de 2010

O Arch Linux é uma distribuição que gosto muito. Leve! Totalmente customizável. Nada vem ‘pronto de fábrica’. Você praticamente faz ela pra você do jeito que você quer. Não vem com gnome nem kde nem nada por padrão.

Esta distro realmente segue a filosofia KISS ao pé da letra.

Gosto do openbox não só por ser lightweight, mas por causa do look-and-feel clean que ele tem. Contudo, ter que sair do openbox e virar root ou usar o sudo pra desligar ou reiniciar o sistema é meio chato. Depois de umas tentativas falhas, encontrei um jeito de conseguir reboot e shutdown no openbox sem precisar da senha do root. Eis aqui o que fiz:

1. Primeiro, instale o sudo:

su -c 'pacman --sync sudo'

2. Configure um grupo para poder rodar o shutdown e o reboot sem precisar de senha. Aqui, vamos configurar
o gruop users:

su -c 'visudo'

Adicione isto no final do arquivo, ou abaixo dos exemplos que já (porvavelmente) existem no arquivo:

%users ALL=NOPASSWD: /sbin/reboot
%users ALL=NOPASSWD: /sbin/shutdown

Salve o arquivo e feche. Se não sabe como fazer isto, aqui tem um pequeno tutorial de como mexer no arquivo /etc/sudoers.

3. Temos também que adicionar o nosso usuário de login ao grupo users. Vou dar o exemplo usando o meu usuário, que é ‘jeditux’:

su -c 'gpasswd -a jeditux users'

Obviamente, substitua ‘jeditux’ pelo seu usuário do sistema.

4. Faça logout. Não adianta só sair do X (modo gráfico). Tem que dar um logout e fazer login novamente.

5. Abra o arquivo ~/.config/openbox/menu.xml e adicione isto perto do fim do arquivo:(procure por entradas similares com Exit e/ou Logout e coloque depois delas):

<item label="Reboot"> <action name="Execute">
    <execute>sudo /sbin/reboot</execute>
 </action> </item>
<item label="Shudown"> <action name="Execute">
    <execute>sudo /sbin/shutdown -h now</execute>
</action> </item>

Salve e feche o arquivo.

6. Finalmente, dê um reload no openbox para que a nova configuração do menu entre em vigor:

openbox --reconfigure

Agora você deve ver ‘Shutdown’ e ‘Reboot’ no menu do openbox, e ser capaz de reiniciar e desligar o sistema sem precisar ficar digitando comandos e dando a senha do root. Qualquer dúvida, é só colocar nos comentários.

Anúncios

Terminal_Aula1

Posted in Bash by Fernando Basso on 19 de junho de 2010

INTRODUÇÃO

Este é um pequeno tutorial para quem está abrindo o terminal pela primeira
vez na vida. Não é avançado e principalmente, tentei usar uma linguagem simples
e exemplos simples. As páginas de manual do GNU/Linux são repletas de termos
e vocabulário complicados, de difícil compreensão. E muitas vezes faltam
exemplos. Exemplos sempre são o complemento perfeito para a explicação de
qualquer coisa.

Leia em voz alta para uma melhor memorização e principalmente execute os
exemplos no seu sistema. Não sou perfeito. Peço desculpas antecipadamente
por qualquer erro, ortográfico ou técnico, principalmente no que diz respeito
à exatidão das explicações.

O TERMINAL

Você abre o terminal pela primeira vez na vida e vê algo parecido com isso:

O ~ (til) significa que você está na sua pasta pessoal. Na sua pasta
de usuário. Ou seja, o terminal está ‘operando/trabalhando’ atualmente na
sua pasta de usuário. nando é o nome de login do usuário utilizando
o terminal, e vaio é o hostname, ou nome do host (nome que foi dado
ao sistema durante a instalação). O ‘$’ diz que você está usando o terminal
como usuário comum, e não como root (administrador do sistema). Os
outros caracteres não tem nada de especial.

Os ‘terminais’ que eu uso são o urxvt (rxvt-unicode), xterm e
gnome-terminal. Não que sejam melhores, vai do gosto. Existem vários
outros.
Aqui
há uma lista de emuladores de terminal.

BASH – O SHELL

O programa que roda ‘por baixo’ do terminal é o shell. O shell é
um interpretador de comandos que e usamos para interagir com o sistema.
O shell padrão na maioria das distribuições GNU/Linux é o bash. Não
que ele seja o “melhor”. Ele tem suas vantagens, mas outros shells também
tem suas vantagens. Todos tem suas vantagens e desvantagens.

Vamos deixar o uso do terminal mais agradável. Faremos isso modificando
a variável PS1, que é a principal responsável pela aparência do prompt
do bash.

Mesmo que você não entenda por enquanto, rode o seguinte comando (selecione
o texto da linha seguinte, e clique com a roda do mouse dentro do terminal):


PS1='[e[0;32m]h@u, d t [e[1;34m]nw [e[0;32m]$ [e[0;35m] nbash >>> '

Você deve ficar com algo parecido com isto:

Deste modo fica um pouco mais agradável de utilizar o terminal, assim como
facilita a visualização dos comandos e o ‘resultado’ dos comandos.

A PASTA HOME

No GNU/Linux, a pasta do usuário, onde ficam os arquivos pessoais de cada
usuário é chamada de home (em Inglês). A minha pasta home é nando.
(home = casa ou lar). Não acha que faz sentido ?

Se o seu nome de login (ou usuário, ou nome de usuário) for
arthur, a sua pasta home será também arthur. Se o seu login
for maria, a sua home será maria.

VISUALISANDO ARQUIVOS E DIRETÓRIOS

Uma das primeiras coisas que precisamos fazer é, com certeza, saber quais
arquivos e diretórios temos na nossa home. Para visualizar o conteúdo da nossa
home rodamos o comando:

ls

Olhe o resultado do comando com calma. O que foi mostrado em azul são pastas
ou diretórios. Tudo o resto são arquivos de texto. Se as pastas não foram
mostradas em azul, você tem que configurar o bash para que o faça. Logo vamos
aprender mais configurações legais do bash. ls é uma abreviação de
list (listar).

MOVENDO-SE

Se nós estamos na nossa home, dizemos que o diretório de trabalho é o home.
Algumas distribuições vem com o bash configurado para mostrar um simples:

Se o bash não está configurado para mostrar a pasta em que você está, podemos
acilmente descobrir qual é o diretório de trabalho com com o comando pwd:

pwd = print working directory = mostrar diretório de trabalho. Note que
pwd nos diz que estamos neste momento trabalhando na pasta /home/nando.

Não se confunda. O /home/ mostrado acima é uma home que abriga todas
as outras homes de todos os usuários cadastrados no sistema. Ou seja, dentro
desta /home teria por exemplo as pastas nando, arthur e maria
– as homes deste usuários. Então, a /home não é a home de um
único usuário em especial, mas sim uma pasta especial, que serve de terreno
onde as homes (lares/casas) dos usuários cadastrados no sistema são
construídas.

MUDANDO DE DIRETÓRIO

Vamos entrar no diretório Music. O comando que usamos para isto
é cd (change directory = mudar de diretório). Veja:

2

Quando estiver digitando um nome de diretório você pode ou não colocar
a barra (/) após o nome (sem espaço). Eu fiz cd Music/ mas poderia
ser apenas cd Music. Na verdade, eu usei o recursro de autocompletar
(detalhes adiante) e o autocompletar coloca a barra automaticamente. É claro
que você já notou também que a barra serve para separar um diretório de outro
quando estamos digitando caminhos de diretório. Veja como o pwd também usa
barras para separar nomes de diretórios, mas ele não usa barra ao final do
último diretório.

Como a nossa configuração do bash mostra o diretório atual, pwd não é tão
necessário assim para nós.

Veja que a nossa configuração já mostra o til (~) por padrão quando estamos
na nossa home, e o “$” para dizer que estamos usando o terminal como
usuário comum. Note que quando fizemos cd Music, o prompt mudou de
~ $ para
~/Music $

Isto faz sentido já que a pasta Music está dentro da nossa home.

CASE SENSITIVE

Um coisa que você precisa saber agora mesmo é o seguinte: O GNU/Linux é
case sensitive, (sensível à caixa, porque em Português se diz caixa
alta para letra maiúscula, e caixa baixa para letra minúscula). Então se temos
as pastas Documentos e documentos, eles são dois diretórios
diferentes, e o conteúdo dentro deles não tem correlação.

CAMINHO ABSOLUTO E RELATIVO

Faça:

cd /
ls

… e observe. Assim como temos o ~ que é a nossa home, temos a / (barra)
que representa a raiz do sistema de arquivos. A pasta principal onde
ficam todas as outras pastas, inclusive a /home. Caminho absoluto é
quando digitamos todo o caminho, desde a raiz (/) e caminho relativo é
quando digitamos o caminho de onde estamos (pwd) em diante.

Por exemplo, se estamos em /home/nando e queremos ir para o diretório
/etc, devemos obrigatoriamente digitar o caminho desde a raiz pois
o /etc “vem” do diretório raiz, e não do diretório nando. Outro exemplo. Se
estamos em /boot/grub e queremos ir para /var/lib também somos
obrigados a digitar o caminho completo pois grub vem do boot que por sua
vez vem do / (raiz).

Podemos usar caminho relativo quando o diretório que queremos acessar estiver
um nível acima ou abaixo do diretório atual (pwd). Exemplo: se já estamos
em /home/nando e queremos acessar a pasta Music basta digitar cd Music
pois Music é um diretório “filho” de nando. Não há necessidade de fazer
cd /home/nando/Music ou cd ~/Music.

Neste exemplo:
/home/nando/Music
nando é pai (ou mãe) de Music, home é pai/mãe de
nando e / é pai/mãe de home. No Inglês é muitíssimo comum
se dizer parent directory (diretório pai/mãe).

DICAS ÚTEIS PARA O CD

A nossa home pode ser representada por ~ ou ~/ . Não importa
de onde estamos, podemos sempre retornar para a home digitando:
cd ~ ou
cd ~/ e o mais fácil, simplesmente:
cd

O diretório de trabalho, ou diretório atual pode ser representado por .
ou ./

O diretório pai/mãe (parent directory) pode ser representado por ..
ou ../

Se estamos em ~/Music/Rock queremos voltar para ~/Music basta
fazer:
cd ../ (ao invés de cd ~/Music ou cd /home/nando/Music)

Se estamos em /boot/grub, mudamos para /etc/gconf e queremos
voltar para /boot/grub basta fazer:
cd - e você estará de volta em /boot/grub. Fazer cd –
novamente o levará de volta para /etc/gconf. Ótimo para quando temos que
trabalhar com dois diretórios e temos que ficar alternando entre os dois o
tempo todo, mesmo que seja ficar alternando entre ~/ e ~/Music.

AUTOCOMPLETANDO COMANDOS

Uma característica incrivelmente útil que todos os shells possuem, inclusive
o bash, é de autocompletar comandos. Podemos completar nome das ferramentas
de linha de comando e aplicativos gráficos, nome de arquivos, e caminhos de
diretórios. O autocompletar é conseguido pressionando-se a tecla Tab
uma ou duas vezes, dependendo do caso.

Se você que fazer cd /usr/share/icons, pode fazer assim:
cd /u Tab
/usr/sh Tab
/usr/share/ic TabTab
(aqui o Tab vai mostrar as possíveis
‘palavras’ que começam com “ic”, então você completa mais uma ou duas letras
e dá Tab novamente.

O autocomplete é especialmente útil para ajudar completar nomes compridos.
Imagine que você tenha que fazer cd para uma pasta chamada:
meus_controles_de_entrada_e_saída_de_2009
Bastaria você digitar algo como:
meu Tab e o bash completa o nome inteiro pra você.

Se você tem os diretórios pasta_1_2009 e pasta_2_2009
você digita pa Tab e o bash completa até pasta_ e pára
neste ponto porque ele não sabe se você quer a 1 ou a 2. Você pode
pressionar Tab duas vezes para que o bash mostre as possibilidades
de nomes (caso você não lembre, ou apenas para certificar-se). Você
agora completa com 1 ou 2 e dá mais um Tab para finalizar o
autocomplete.

Para quem quiser, pode baixar o pdf deste texto, que está um pouco melhor formatado além de permitir a leitura off line. Baixe-o: Terminal_e_Bash-Aula_1.pdf

Aqui terminamos este tutorial básico. Qualquer dúvidas ou sugestões
de melhoramento entre em contato através de athunye@gmail.com.