O que está acontecendo com o projeto GNOME ? Eu não entendo...
Quando eu escrevi que haveria complicações na migração do GNOME 2 para o GNOME 3 eu recebi comentários (em algum lugar desse blog, é só procurar !) que não haveria grandes problemas porque a migração ia ser feita com cuidado, leveza e sem pressão na agenda. Além disso, não ia afetar tanto o sistema quando foi a migração do KDE3 para o KDE4 (que na época era o fruto dos meus comentários).
De lá pra cá muita coisa aconteceu e nem nos meus piores pesadelos eu teria imaginado o rumo que o GNOME 3 tomou. Decisões unilaterais, remoção de recursos e outros aspectos tornam o uso do GNOME quase sempre problemático.
Eu estou fazendo esse comentários porque embora eu uso o KDE eu uso o gnome-terminal como um recurso de acesso rápido ao terminal. Leia sobre isso aqui.
A elegância do recurso é a transparência do terminal. Encaixa-se perfeitamente.
A pouco tempo os desenvolvedores do gnome-terminal retiraram esse recurso de transparência...
Isso não foi nada bom para mim, mas o que me impressionou e motivou a escrever esse tópico foi que li no desenrolar dos assuntos no GNOME Bugzilla. Resumindo minhas impressões, isso tudo é muito triste.
Quanto aos aspectos técnicos, fiquei feliz de ver a sugestão de usar o xcfe-terminal (no Arch Linux, é xcfe4-terminal) no lugar... está funcionando bem por aqui.
Todos nós somos investidores de recursos (não apenas em dinheiro, mas também em tempo, sentimentos, dedicação, trabalho, saúde, etc). E ninguém gosta de perder seus investimentos. Mas quando um investimento dá errado é preciso interrompê-lo e recuperar o máximo de recursos possíveis para fazer um novo investimento com melhor retorno. Do contrário, podemos perder tudo e não ter mais como investir em coisa alguma. Tudo bem que as vezes é preciso ver o investimento no longo prazo, ou seja, hoje eu invisto, amanhã eu perco, no próximo ano pode valer muito apena ter perdido um pouco no hoje, mas é preciso compreender qual é a direção/projeção que seu investimento vai retornar. As atitudes do projeto GNOME o estão levando a "falência" e pelo bem de toda a comunidade livre eu espero que eles despertem antes que esse rumo se concretize e redirecionem seus investimentos para algo que venha compensar no futuro.
Showing posts with label terminal. Show all posts
Showing posts with label terminal. Show all posts
Wednesday, May 08, 2013
Sunday, March 03, 2013
cp e mv com barra de progresso
Achei muito interessante a dica que surgiu no Dicas-L sobre colocar uma barra de progresso nos comandos cp e mv.
Mas ao invés de compilar eu mesmo, eu instalei uma versão binária disponibilizada no site do projeto.
Particularmente eu não me sinto confortável em usar uma versão binária para algo tão importante quanto os comandos cp e mv. Assim, ao invés de copiar os comandos 'cp' e 'mv' para o /usr/local/bin com o mesmo nome, eu os copiei como os nomes 'cpa' e 'mva'. Assim, eu somente utilizarei esses comandos quando eu quiser uma barra de progresso.
Outro incomodo pessoal é não ter a certeza de que estou usando a mesma versão da disponível no sistema. Particularmente, eu me sentirei incomodado se eu usar esse comando sem me lembrar disso (há uma tendência a esquecer que deve verificar a versão do seu programa e compatibilizá-la com o resto do sistema), assim, eu adicionei o seguinte trecho no meu ~/.bashrc.
# Pré-definindo quem são os comandos cp e mv avançados
# e adicionando a barra de progresso automaticamente.
# http://www.zwicke.org/web/advancedcopy.html
CPA=/usr/local/bin/cpa
if [ -x $CPl ]; then
if [ "$( /usr/bin/cp --version|head -n1)" == "$($CPA --version|head -n1)" ]
then
alias cpa='/usr/local/bin/cpa -gR'
alias mva='/usr/local/bin/mva -gR'
else
alias cpa='/usr/local/bin/cpa -R'
alias mva='/usr/local/bin/mva -R'
fi
fi
Repare a minha trapaça ! Se eu usar o comando 'cpa' ou 'mva' eu estou conscientemente pedindo uma barra de progresso, mas ela só vai aparecer se eu utilizar a opção '-g'. Essa opção eu adicionei automaticamente ao comando 'cpa' e 'mva', afinal, só para isso é que ele me interessa ! Se por acaso eu chamar o comando 'cpa' ou 'mva' e barra de progresso não aparecer, é porque a opção '-g' não está sendo usada e isso significa que o meu alias não foi 'imposto' ao sistema, assim, sou alertado de que a versão do meu programa está desatualizada. Se eu quiser ignorar isso, basta chamar no terminal o comando 'cpa' ou 'mva', impondo manualmente a opção '-g'. É uma trapaça, mas funciona.Explicando o código do .bashrc, o primeiro condicional verifica se o programa 'cpa' existe e é um executável (variável CPA, definida em primeiro lugar). Se não, não há o que fazer... se sim, verifica a versão do comando cpa em relação a versão do comando cp. Se forem iguais, define o alias tal qual todo mundo realmente quer quando se propõem a fazer essa instalação, se não forem, adicione apenas a opção de recursividade para que eu não tenha que pensar em resolver o problema quando ele surgir. O segundo else é opcional, existe apenas no meu caso porque eu adicionei a opção -R no alias eu quis mantê-la em qualquer caso, do contrário ele não faria sentido algum.
Há algumas alternativas interessantes para esse trecho de código, como instalar o programa em um local alternativo, fora do $PATH e configurar manualmente a existência do programa no .bashrc. Isso dá mais controle, se o computador for multiusuário, mas deixo a imaginação de cada um trabalhar por si só.
[update 04/março/2013]
Atualização de correção: cometi um erro de digitação quando escrevi o script acima.
Onde se lia:
if [ -x $CPl ]; then
foi corrigido para.
if [ -x $CPA ]; then
ou seja, a variável correta é CPA enão CPl
Sem essa correção o script vai produzir erro quando não encontrar o arquivo cpa no devido lugar.
[/update]
Sunday, March 04, 2012
idhardware: detectando o hardware no GNU/Linux
Depois de mais ou menos 2 anos e meio cozinhando esse script eu libero o "idhardware" (utilize o salvar como clicando no link com o botão direito). [update] Atualizei o arquivo para incluir a licença (GPL 3 ou superior). [/update]
Esse script executa uma série de comandos que permite identificar quase tudo que há no seu computador. Da versão da BIOS as últimas mensagens do log. Entre os programas executados temos o lshw, dmidecode, lspci, lsusb, hdparm, free, ifconfig, netstat, route, iptables, lsmod, dmesg. Além disso, vários arquivos são verificados, tais como /etc/fstab, /etc/mtab, /proc/meminfo, /etc/resolv.conf, entre outros.
O programa não vai dar erro se um aplicativo não existir nessa máquina, apenas vai incluir no output a informação "aplicativo não encontrado"
Para melhor uso e portabilidade eu não quis integrar o comando sudo ao script, mas muitos dos comandos requerem permissões administrativas. A saída está direcionada para a tela, porém a melhor forma é direcioná-la para um arquivo. Para dizer a verdade, considerando que é quase impossível ler o que está na tela caso tudo seja jogado no terminal, a única forma interessante de usar o arquivo é direcionando a saída para um arquivo.
Ou seja, eu sugiro que como root execute:
idhardware >relatorio.txt
Se preferir, utilize o sudo
sudo idhardware > relatorio.txt
nesse caso, alguns ajustes podem ser feitos, por exemplo, colocando o caminho completo da localização do arquivo, tipo:
sudo /caminho/para/o/local/de/idhardware > relatorio.txt
Antes de usar o script é necessário torná-lo executável digitando no terminal, no diretório onde está seu script, o comando " chmod +x idhardware " ou pelo seu programa gráfico favorito.
Tradicionalmente, um script desses irá ser alocado em "/usr/local/bin" ou no seu diretório binário pessoal "~/bin" a escolha é sua. Mas caso o caminho selecionado não seja reconhecido pelo comando sudo (ou pelo root) será necessário incluir o caminho completo para a execução do script.
Bom uso.
Esse script executa uma série de comandos que permite identificar quase tudo que há no seu computador. Da versão da BIOS as últimas mensagens do log. Entre os programas executados temos o lshw, dmidecode, lspci, lsusb, hdparm, free, ifconfig, netstat, route, iptables, lsmod, dmesg. Além disso, vários arquivos são verificados, tais como /etc/fstab, /etc/mtab, /proc/meminfo, /etc/resolv.conf, entre outros.
O programa não vai dar erro se um aplicativo não existir nessa máquina, apenas vai incluir no output a informação "aplicativo não encontrado"
Para melhor uso e portabilidade eu não quis integrar o comando sudo ao script, mas muitos dos comandos requerem permissões administrativas. A saída está direcionada para a tela, porém a melhor forma é direcioná-la para um arquivo. Para dizer a verdade, considerando que é quase impossível ler o que está na tela caso tudo seja jogado no terminal, a única forma interessante de usar o arquivo é direcionando a saída para um arquivo.
Ou seja, eu sugiro que como root execute:
idhardware >relatorio.txt
Se preferir, utilize o sudo
sudo idhardware > relatorio.txt
nesse caso, alguns ajustes podem ser feitos, por exemplo, colocando o caminho completo da localização do arquivo, tipo:
sudo /caminho/para/o/local/de/idhardware > relatorio.txt
Antes de usar o script é necessário torná-lo executável digitando no terminal, no diretório onde está seu script, o comando " chmod +x idhardware " ou pelo seu programa gráfico favorito.
Tradicionalmente, um script desses irá ser alocado em "/usr/local/bin" ou no seu diretório binário pessoal "~/bin" a escolha é sua. Mas caso o caminho selecionado não seja reconhecido pelo comando sudo (ou pelo root) será necessário incluir o caminho completo para a execução do script.
Bom uso.
Sunday, July 19, 2009
Dicas de Juliet Kemp
O Linux Today resumiu uma coleção de dicas de Juliet Kemp do Server Watch.
Quem não viu, vale apena ver. Algumas coisas, como as dicas para configurar o PS2, PS3 e PS4 são como descobrir algo que está diante dos seus olhos todos os dias e nem ao menos se importou em olhar para saber do que se trata. Afinal, "todo mundo configura" o PS1, mas quantos sabem o que é o PS2 ou o PS4 ? É claro que algumas dicas são mais do mesmo para alguns, mas para outros ...
Não se contente com a seleção do Linux Today e verifique as publicações não selecionadas. Aposto que vai descobrir alguma coisa interessante.
Quem não viu, vale apena ver. Algumas coisas, como as dicas para configurar o PS2, PS3 e PS4 são como descobrir algo que está diante dos seus olhos todos os dias e nem ao menos se importou em olhar para saber do que se trata. Afinal, "todo mundo configura" o PS1, mas quantos sabem o que é o PS2 ou o PS4 ? É claro que algumas dicas são mais do mesmo para alguns, mas para outros ...
Não se contente com a seleção do Linux Today e verifique as publicações não selecionadas. Aposto que vai descobrir alguma coisa interessante.
Labels:
bash,
configuração,
dica,
linux,
terminal
Sunday, June 29, 2008
Alterando o tamanho padrão da janela do Terminal do Gnome
Qual a resolução da sua tela ? Muito provavelmente é maior que 800x600. Ainda assim o tamanho padrão do gnome-terminal é aproximadamente o ideal para a mencionada configuração (com o detalhe de que gosto não se discute, claro !).
Bom. No meu caso, a janela ideal é de 115x37. Posso configurar quase todos os meus links editando manualmente os itens do menu com alacarte e adicionando "gnome-terminal --geometry=115x37" no lugar do simples "gnome-terminal" que lá se encontra (digo quase porque há links que eu criei manualmente, esse são editados por mim, não pelo alacarte). Mas ainda assim restará um problema: o "Abra no Terminal", que aparece no menu do botão direito do mouse ao usar o nautilus. Toda vez que abrir o terminal por esse link a janela abrirá o tamanho padrão atípico para os atuais tamanhos de tela.
Então nós configuramos esse tamanho modificando o tamanho em "Sistemas > Aplicativos Preferenciais" na aba "Sistema". Lá você seleciona "Personalizado" e coloca na lista de argumentos o --geometry=115x37. Feche o aplicativo e quando vai verificar ... não funcionou.
Eu realmente não sei porque ele não usa os argumentos... mas não tem problema. No mesmo lugar você pode substituir o "gnome-terminal" por "gnome-terminal --geometry=115x37" aí vai funcionar...
Mas vamos supor que esteja com problemas nisso também. Bom, isso também tem solução:
gconf-editor /desktop/gnome/applications/terminal/exec
na chave exec, modifique o "gnome-terminal" por "gnome-terminal --geometry=115x37" (é exatamente essa chave que é modificada na aba "Sistema" de "Aplicativos Preferenciais)"
Bom. No meu caso, a janela ideal é de 115x37. Posso configurar quase todos os meus links editando manualmente os itens do menu com alacarte e adicionando "gnome-terminal --geometry=115x37" no lugar do simples "gnome-terminal" que lá se encontra (digo quase porque há links que eu criei manualmente, esse são editados por mim, não pelo alacarte). Mas ainda assim restará um problema: o "Abra no Terminal", que aparece no menu do botão direito do mouse ao usar o nautilus. Toda vez que abrir o terminal por esse link a janela abrirá o tamanho padrão atípico para os atuais tamanhos de tela.
Então nós configuramos esse tamanho modificando o tamanho em "Sistemas > Aplicativos Preferenciais" na aba "Sistema". Lá você seleciona "Personalizado" e coloca na lista de argumentos o --geometry=115x37. Feche o aplicativo e quando vai verificar ... não funcionou.
Eu realmente não sei porque ele não usa os argumentos... mas não tem problema. No mesmo lugar você pode substituir o "gnome-terminal" por "gnome-terminal --geometry=115x37" aí vai funcionar...
Mas vamos supor que esteja com problemas nisso também. Bom, isso também tem solução:
gconf-editor /desktop/gnome/applications/terminal/exec
na chave exec, modifique o "gnome-terminal" por "gnome-terminal --geometry=115x37" (é exatamente essa chave que é modificada na aba "Sistema" de "Aplicativos Preferenciais)"
Friday, January 25, 2008
Alias e Funções para o bashrc
O Hugo Dória deu a idéia e eu me lembrei que fazia tempo que eu não divulgava os alias e funções que eu utilizo. Então, aproveitando a deixa, eu resolvi divulgá-las novamente.
Ocorre que tem tanto tempo que não faço isso, mas tanto tempo, que muita coisa mudou. Para começo de conversa eu não escrevo mais tudo no mesmo arquivo. Agora eu dividi o conteúdo em dois arquivos, um para escrever as funções e outro para escrever os alias.
Para instalar, baixe os arquivos abaixo e copie para um diretório de sua preferência.
Eu uso o home mesmo, mas como arquivo oculto, ou seja, no meu caso seria copiar o alias para ~/.alias e o funcoes para o ~/.funcoes.
Aí adicione nos arquivos de configuração de sua preferência (ou seja, alguma coisa como ~/.bashrc ou ~/.bash_profile) os comandos, que no meu caso seriam:
Você também pode, simplesmente, copiar os comandos que te interessam diretamente para dentro do ~/.bashrc. Não há nenhuma necessidade de manter os comandos dentro desses arquivos, especialmente se desejar utilizar apenas uma ou duas funções/alias. Agora, se como eu você já extrapolou o direito de ter um longo arquivo de configuração, verá que essa abordagem de dividir tudo em dois ambientes será muito comoda.
Deve ser meio trivial, mas o arquivo alias tem alias e o funcoes tem funções. Ambos estão comentados.
Destaques para a função purge (que remove arquivos de configuração de programas que já foram removidos do sistema) e o alias fat2linux (que corrige as permissões dos arquivos de uma certa árvore de diretórios provenientes de uma partição fat ou CD). Francamente, eu já uso esse alias e funções a tanto tempo que muitas vezes me vejo digitando em outros computadores, comandos que só existem no meu computador.
Observe que algumas dessas funções e alias vão alterar o modo padrão de operação de alguns comandos, um exemplo, o df não será mais apenas o df, será um df incrementado com opções e preparado para ocultar partições que estão relacionadas a montagens do varrun, lrm, etc. Essa mudança até é sutil quando comparado a modificações como as do comando rm, portanto, não use os arquivos a revelia para não se arrepender depois.
Os arquivos são independentes, pode baixar apenas um ou os dois. Sugiro utilizar o botão direto do mouse e selecionar "Salvar link como" (ou equivalente). Segue os links:
Nota: os dois arquivos foram criados por mim, mas como tudo no mundo linux, eles são uma coleção de dicas e personalizações encontradas individualmente em diversas fontes.
Ocorre que tem tanto tempo que não faço isso, mas tanto tempo, que muita coisa mudou. Para começo de conversa eu não escrevo mais tudo no mesmo arquivo. Agora eu dividi o conteúdo em dois arquivos, um para escrever as funções e outro para escrever os alias.
Para instalar, baixe os arquivos abaixo e copie para um diretório de sua preferência.
Eu uso o home mesmo, mas como arquivo oculto, ou seja, no meu caso seria copiar o alias para ~/.alias e o funcoes para o ~/.funcoes.
Aí adicione nos arquivos de configuração de sua preferência (ou seja, alguma coisa como ~/.bashrc ou ~/.bash_profile) os comandos, que no meu caso seriam:
- [ -f ~/.alias ] && source ~/.alias
- [ -f ~/.funcoes ] && source ~/.funcoes
Você também pode, simplesmente, copiar os comandos que te interessam diretamente para dentro do ~/.bashrc. Não há nenhuma necessidade de manter os comandos dentro desses arquivos, especialmente se desejar utilizar apenas uma ou duas funções/alias. Agora, se como eu você já extrapolou o direito de ter um longo arquivo de configuração, verá que essa abordagem de dividir tudo em dois ambientes será muito comoda.
Deve ser meio trivial, mas o arquivo alias tem alias e o funcoes tem funções. Ambos estão comentados.
Destaques para a função purge (que remove arquivos de configuração de programas que já foram removidos do sistema) e o alias fat2linux (que corrige as permissões dos arquivos de uma certa árvore de diretórios provenientes de uma partição fat ou CD). Francamente, eu já uso esse alias e funções a tanto tempo que muitas vezes me vejo digitando em outros computadores, comandos que só existem no meu computador.
Observe que algumas dessas funções e alias vão alterar o modo padrão de operação de alguns comandos, um exemplo, o df não será mais apenas o df, será um df incrementado com opções e preparado para ocultar partições que estão relacionadas a montagens do varrun, lrm, etc. Essa mudança até é sutil quando comparado a modificações como as do comando rm, portanto, não use os arquivos a revelia para não se arrepender depois.
Os arquivos são independentes, pode baixar apenas um ou os dois. Sugiro utilizar o botão direto do mouse e selecionar "Salvar link como" (ou equivalente). Segue os links:
Nota: os dois arquivos foram criados por mim, mas como tudo no mundo linux, eles são uma coleção de dicas e personalizações encontradas individualmente em diversas fontes.
Labels:
bash,
configuração,
linux,
terminal
Thursday, May 31, 2007
Manipulando arquivos que começam com hífen no terminal
Não gosto de simplesmente reproduzir informações. Especialmente quando é fácil achar a resposta, mas para esse caso eu vou abrir um excessão.
Vamos supor que você queria deletar (ou manipular no terminal com outro comando, tipo cp, mv, etc) um arquivo que se inicie com um hífen, tipo: "-meuteste.txt"
Se tentar, rm -meuteste.txt ou qualquer variação disso protegendo a palavra, tipo: rm '-meuteste.txt', vai obter apenas uma mensagem de erro informando que -meuteste.txt não é uma opção válida do comando digitado (no caso, rm).
Para evitar esse erro utilize dois hífens antes do nome da palavra.
Ficando, então: rm -- -meuteste.txt
Eu nem faço idéia de quantos lugares possuem essa informação, mas quando eu precisei dela (5 minutos antes de começar a escrever esse post) eu encontrei a dica nessa página (no final dela).
Vamos supor que você queria deletar (ou manipular no terminal com outro comando, tipo cp, mv, etc) um arquivo que se inicie com um hífen, tipo: "-meuteste.txt"
Se tentar, rm -meuteste.txt ou qualquer variação disso protegendo a palavra, tipo: rm '-meuteste.txt', vai obter apenas uma mensagem de erro informando que -meuteste.txt não é uma opção válida do comando digitado (no caso, rm).
Para evitar esse erro utilize dois hífens antes do nome da palavra.
Ficando, então: rm -- -meuteste.txt
Eu nem faço idéia de quantos lugares possuem essa informação, mas quando eu precisei dela (5 minutos antes de começar a escrever esse post) eu encontrei a dica nessa página (no final dela).
Subscribe to:
Posts (Atom)