Antes de começar a ler saiba que essa dica funciona apenas no KDE e não tenho certeza sobre a compatibilidade em outras versões de KDE, que não a 4. Para outros ambientes, tente essas
instruções ou
essa outra em português.
O objetivo é fazer o terminal ficar embutido de forma elegante no desktop. Há um figura no final desse texto mostrando o que isso significa.
Primeiro passo é escolher o terminal que será utilizado. Por incrível que pareça o terminal que selecionei é o
gnome-terminal. Por que usar o gnome-terminal no KDE ? Eu prefiro dizer o porque não usar o konsole no KDE para esse objetivo. Como eu vou embutir o terminal no desktop, eu preciso remover todos os elementos de menu e borda e eu não sei como fazer isso com qualquer terminal (a borda é fácil, o problema é o menu e a barra de rolagem). Além disso, eu vou especificar o comportamento padrão do programa travando uma série de funcionalidade que não permitirá o uso adequado desse programa de outra forma. Em outras palavras, eu vou sacrificar um programa para um objetivo. Se eu fizer isso com o Konsole eu vou ter inúmeros problemas.
O menu que usualmente é utilizado para essa função é o Eterm. O problema do Eterm é que eu quero que ele seja transparente, contudo, eu não consegui definir uma transparência verdadeira no Eterm, tudo que é possível fazer
funcionaria perfeitamente se meu desktop não fosse um
slide show. Assim, sobrou para o gnome-terminal. Algo que eu nunca usaria tradicionalmente dentro do KDE. Tudo que for feito aqui não interferirá no modo que o programa funcionará dentro do GNOME ou outro gerenciador, eu posso sacrificar o gnome-terminal tranquilamente.
Então, caso você não tenha um wallpaper como slide show pode adaptar essa dica para usar o Eterm, terá de trocar os nomes de gnome-terminal para Eterm e as opções que serão ativadas no gnome-terminal (detalhes do comando, você pode
ler aqui).
Uma dúvida interessante que pode surgir é quanto ao desempenho e/ou consumo de memória. A memória consumida por esse terminal é insignificante. O desempenho de abrir o programa não é do mais brilhantes, mas é mais porque estou iniciando todo o desktop ao mesmo tempo que esse programa do que por causa do terminal em si.
Resumindo, não há consumo perceptível de recursos do computador.Primeiro passo, criar um script para iniciar o gnome-terminal ao iniciar o KDE.
Eu criei um script com o seguinte conteúdo
#!/bin/bash
# File: gnome-terminal.sh
# Author: J. F. Mitre
# Created: Seg 21 Dez 2009 19:32:51 BRST
# NOTES: iniciar o gnome-terminal no kde
kstart --desktop 1 --onbottom --skiptaskbar --skippager \
gnome-terminal --geometry 80x18+20+660 \
--profile=DesktopConsole \
-e "sh $HOME/.kde4/confAutostart/gnometerminalinit.sh"
O gnome-terminal é iniciado com o tamanho de 80x18 e na posição +20+660. Isso foi feito para ele ficar no canto inferior a esquerda de uma tela de 1280x1024. O profile DesktopConsole foi criado especialmente para esse objetivo, assim como o arquivo
gnometerminalinit.sh.
Esse arquivo, salvo com o nome
gnome-terminal.sh, está localizado em
$HOME/.kde4/Autostart/. Em algumas distribuições o diretório de configuração do KDE é .kde e não .kde4, substitua se for o seu caso. Não se esqueça de marcar o script
gnome-terminal.sh como executável (no terminal:
chmod +x gnome-terminal.sh).
O comando kstart permite configurar algumas opções da janela. Essa opções também serão definidas de outra forma. Eu defini essas opções nos dois lugares, pois acredito que um bug esteja atrapalhando o funcionamento adequado das configurações quando marcadas apenas em um único lugar e não há mal algum em usar o kstart. Para mais detalhes digite: kstart --help-all
Outro detalhe desse comando é quanto a largura de 80 px do terminal. Esse valor é importante, pois com menos alguns programas podem se recusar a trabalhar informando que não há largura suficiente para a execução. E nem precisa ser um comando complicado, o comando "w" não funciona com 70 px de largura.
Também note a existência da barra invertida no script. Após a barra, não pode ter caracteres, nem mesmo espaço.
O arquivo
gnometerminalinit.sh tem o seguinte conteúdo:
#!/bin/bash
# File: gnometerminalinit.sh
# Author: J. F. Mitre
# Created: Seg 21 Dez 2009 19:27:51 BRST
export VARTERM=gnome-terminal
bash
O objetivo desse arquivo é criar a variável $VARTERM apenas nessa execução específica do gnome-terminal. Esse arquivo NÃO é executável, é um arquivo comum, coloquei a extensão .sh apenas para lembrar a funcionalidade. Esse arquivo foi colocado no diretório
$HOME/.kde4/confAutostart/, esse diretório não é padrão do sistema, então deve ser criado. Coloquei ali apenas para não misturar com outros arquivos do computador e por acreditar que esse nome é muito simples e de fácil correlação com o objetivo do seu conteúdo.
O perfil DesktopConsole foi inspirado nas instruções
dessa página.
Crie um novo perfi e dele a ele o nome de "DesktopConsole".
- Na aba "Geral" desmarque a opção "Mostrar barra de menu por padrão em novas janelas"
- Na aba "Rolagem" defina "Barra de rolagem está:" como "desabilitada"
- Na aba "Efeitos" configure o background do aplicativo. Eu uso "Fundo Transparente" e transparência quase zero, para permitir apenas uma sombra na tela.
Salve o perfil e
não defina ele como padrão, assim o gnome-terminal continuará intocável dentro do GNOME.
Agora abra as configurações do sistema e selecione "Comportamento da Janela". Nesse item, selecione "Específica da Janela". Selecione "Novo..." e configure as abas conforme estão nas figuras abaixo (clique nas imagens para ampliar).





Agora veja o resultado final...

Viu o desktop na parte inferior a esquerda ? Não confunda com a região de notas que está na parte superior também a esquerda.
Mas ainda não acabou. Lembra que criamos um script apenas para definir a variável $VARTERM apenas para esse pequeno terminal ?
Agora é a hora de usar esse recurso. No meu ~/.bashrc eu tenho o seguinte conjunto de linhas:
if [ "$VARTERM" == "gnome-terminal" ]; then
unalias exit
alias exit='clear'
alias reload="source $HOME/.bashrc"
alias Restart='$HOME/.kde4/Autostart/gnome-terminal.sh; unalias exit; exit'
fi
Para mim essa foi a "cereja do bolo" dessa configuração. Até então, se eu digita-se
exit por engano, eu fecharia o terminal. O que esse pedaço de código faz é redefinir o que significa
exit para
clear. Mas não é somente isso, qualquer coisa que eu queria definir apenas para aquele pequeno terminal eu posso colocar dentro desse condicional. Dessa forma, eu posso produzir efeitos diversos, como o comando "reload" que me permite recarregar o
.bashrc. E o comando
Restart para reiniciar o aplicativo sem precisar abrir outro terminal.
ConclusãoPara quem usa muito o terminal, sempre há comandos curtos a serem executados. Iniciar um serviço, parar um serviço, montar ou desmontar um dispositivo ou volume encriptado, chamar um programa rapidinho, etc. Ter o terminal no desktop, assim, no cantinho e de forma elegante, é um meio termo entre o visual e a disponibilidade e um aumento de produtividade.
Contudo, nada impede que o terminal tome uma parte maior da tela, tenha um fundo preto, etc. Cada um pode buscar o melhor conceito visual para seu próprio computador. O que posso dizer é que estou muito feliz com o resultado final alcançado.
Por fim, eu configurei o meu KDE para sempre iniciar com uma sessão vazia. Não faço idéia de quais seriam as conseqüências de salvar a sessão. Ainda assim, acredito que quem fizer isso e colocar o "gnome-terminal" como um aplicativo a ser excluído da sessão, não terá qualquer problema.