BigBashView, interface gráfica para o seu shell script

Shell script é uma mão na roda, principalmente para alterar arquivos de configuração e criar aplicativos simples, mas interagir com o usuário utilizando apenas os sistemas de dialogo como Kdialog e Zenity muitas vezes é insuficiente. Então conheça o BigBashView e tenha disponível todas as capacidades do QTwebkit para criar interfaces Html/Javascript para seu shell script.

[ Hits: 58.232 ]

Por: Bruno Gonçalves Araujo em 04/08/2009


Visão geral



O BigBashView é uma interface para o terminal Bash que renderiza a saída do terminal utilizando QTwebkit.

Uma forma fácil e rápida para criar interfaces em sistemas Linux.

Para quem desenvolve sites em PHP irá notar diversas similaridades, veja um exemplo de "Hello World" para o BigBashView, faça um arquivo com a extensão .sh utilizando qualquer editor de texto e marque-o como executável:

#!/bin/bash

echo "Hello World"

Agora pelo terminal chame-o pelo BigBashView da seguinte forma:

bigbashview /home/biglinux/teste.sh

Nesse caso estamos utilizando o arquivo teste.sh na pasta /home/biglinux, é importante lembrar que é preciso utilizar o endereço completo do arquivo para abrir no bigbashview, não basta entrar na pasta /home/biglinux e dar o comando "bigbashview teste.sh".

Então o resultado será:
Linux: BigBashView, interface gráfica para o seu ShellScript
Veja um exemplo de programa feito utilizando BigBashView:
Linux: BigBashView, interface gráfica para o seu ShellScript
Portanto tudo que vai para a saída do terminal, ou seja, o que nós vemos ao executar um comando no terminal, será direcionado para o BigBashView, que irá utilizar QTwebkit para renderizar esse código recebido como se fosse um site.

Características importantes

Ao desenvolver utilizando BigBashView lembre dessas características:

1. Os arquivos interpretados devem utilizar extensão .sh e estarem marcados como executáveis.

2. Executar um script sem que o usuário seja enviado para outra página, por exemplo, um botão que abra o navegador Firefox. Utilize arquivos com a extensão .run e também lembre de marcá-los como executáveis, basta criar um link normal utilizando link com a extensão .run.

3. A dica 2 utiliza um exemplo simples, mas deve ser utilizada apenas em casos mais complexos, nesses mais simples utilize o arquivo /usr/share/bigbashview/run.run, ele foi criado justamente para essas situações, veja um exemplo de uso: Abrir Firefox

4. O BigBashView lê o resultado do terminal apenas ao final do script .sh, portanto se um comando no meio fizer parar o script, por exemplo executar o programa kppp, o painel ficará travado até que o kppp seja encerrado, para contornar isso é necessário fazer esse programa se comportar como um daemon, veja o exemplo com o kppp, pode ser adaptado a qualquer outro comando ou programa:

nohup kppp 2> /dev/null > /dev/null &

5. Incluir ícone de identificação da janela, basta incluir um -i e o endereço do ícone, veja no exemplo:

bigbashview /usr/share/bigcontrolcenter/categories/internet/dns/dns.sh -i /usr/share/bigcontrolcenter/categories/internet/dns/dns.sh

6. Especificando o tamanho da janela ao abrir, por padrão a janela possui tamanho 640x480, porém você pode especificar o tamanho das seguintes formas:
  • bigbashview -s 800x600 - alterando o 800x600 para o tamanho que preferir;
  • bigbashview -w maximized - para a janela abrir maximizada;
  • bigbashview -w fullscreen - para abrir em tela cheia.

7. O BigBashView possui problemas para trabalhar com frames, portanto utilize DIV quando necessário.

8. O suporte a método POST não funciona, utilize o método GET.

Página anterior     Próxima página

Páginas do artigo
   1. Explicação inicial
   2. Visão geral
   3. Crie seu primeiro painel para o BigControlCenter
Outros artigos deste autor

Reduzindo problemas de atualizações no Debian, Ubuntu e derivados - Parte 2

Reduzindo problemas de atualizações no Debian, Ubuntu e derivados

Leitura recomendada

Linux com boot no Pendrive, com todas as facilidades: Smart-USB_Key-Mania, PLOP Boot Manager e outros métodos

Formatando o bash com cores e efeitos

Automatização de backup

Backup em HDs da rede

Automatizando a conexão com Internet via ADSL com PPPoE no OpenBSD

  
Comentários
[1] Comentário enviado por pinduvoz em 04/08/2009 - 03:27h

Muito bom encontrar o "pai" de uma excelente distro nacional por aqui.

Aproveito para dar os parabéns pelo trabalho no Big Linux, cuja qualidade é inegável.

[2] Comentário enviado por Lisandro em 04/08/2009 - 07:21h

Muito bom. Adorei.

[3] Comentário enviado por removido em 04/08/2009 - 09:11h

Massa!!

[4] Comentário enviado por albfneto em 04/08/2009 - 09:47h

Realmente Bruno, parabéns pelo Big, é a melhor Distro Brasileira, atualmente....

[5] Comentário enviado por saviovibe em 04/08/2009 - 09:51h

muito rox!

[6] Comentário enviado por zendrael em 04/08/2009 - 10:04h

Olá Bruno!

Eu estou usando GTK2 e Gecko no meu projeto de linguagem de programação (Sphaira), e a título de curiosidade, tentei usar para ler comandos do shell e... funcionou. Se estiver afim, me contacte em pvt para unir os projetos ou trocar algumas idéias.

T+

[7] Comentário enviado por josef em 04/08/2009 - 18:23h

BigBruno, Legal o tuto,,,,MASassss, Uma pergunta, quando sai o Big 5......hehehe,,,,,,vamos garoto,,,,tó esperando...uma das melhores distro do mundo....quando, quando, quando?


[8] Comentário enviado por gilmargmppta em 12/08/2009 - 02:27h

bom artigo, de um bom cara, que criou uma otima distro, nota ? alguma duvida....
10 BigBruno

[9] Comentário enviado por wakeup em 25/09/2009 - 00:29h

No caso essa ferramenta funcionará apenas se estiver rodando o servidor X?? Ou existe a possibilidade de acessar o html através da rede e efetuar modificações no script??

[10] Comentário enviado por removido em 05/04/2010 - 14:37h

Legal o artigo!!! Eu tenho um dedinho dentro do BBV :-D mas reclamo mto tb

[11] Comentário enviado por removido em 09/01/2011 - 16:54h

legal valeu muito boa a dica,estou baixando só falta testar

[12] Comentário enviado por lponsoni em 25/03/2011 - 08:09h

Parabéns pelo artigo. Eu instalei o BigBashView, e ao tentar rodar um script simples recebi a seguinte mensagem de erro:

/usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py:127: RuntimeWarning: PyOS_InputHook is not available for interactive use of PyGTK
set_interactive(1)

Alguém sabe me sugerir como resolver este problema? Não tenho tanta experiência com Linux e mil desculpas se a dúvida for muito básica.

[13] Comentário enviado por Rayanne Lana em 20/05/2011 - 21:38h

muito legal vai ajudar muito, iniciantes

[14] Comentário enviado por joaogauer em 07/06/2011 - 19:28h

Muito show, tava procurando alguma coisa parecida.

[15] Comentário enviado por andrebian em 03/09/2011 - 14:43h

Olá, instalei no Debian Squeeze e deu o mesmo erro que o lponsoni...

Alguma sugestao pessoal?

[16] Comentário enviado por augustoschwartz em 24/11/2011 - 16:40h

Achei muito interessante este artigo. Parabéns.
Este exemplo de aplicação que você expõe: "Configurar servidor web", pode disponibilizá-lo para comunidade?

[17] Comentário enviado por nicolas.cb em 07/12/2011 - 15:56h

Tu vê só... bacana

[18] Comentário enviado por removido em 21/01/2012 - 11:59h

Como documentação serve a da nokia???Alguém conseguiu criar algum painel????

[19] Comentário enviado por thenarobourne em 22/02/2012 - 14:47h

propaganda do Big Linux Detected!!!

[20] Comentário enviado por laurence123 em 14/08/2014 - 13:27h

po véi, iu ta de brinqueishon uiti mi cara, ssa bagassa nun ta funfando nao bichu. o wget da um 403, como resolve ?

[21] Comentário enviado por bigbruno em 14/08/2014 - 15:08h

Esse artigo é de 2009, as coisas já mudaram, agora os pacotes estão aqui: http://repo.uniaolivre.com/packages/trusty/main/">http://repo.uniaolivre.com/packages/trusty/main/

Para adiciona-lo use os comandos:
echo 'deb http://repo.uniaolivre.com/packages trusty main' > /etc/apt/sources.list.d/kaiana.list
wget http://repo.uniaolivre.com/uniaolivre.key -O- | sudo apt-key add -

[22] Comentário enviado por laurence123 em 15/08/2014 - 11:03h


[21] Comentário enviado por bigbruno em 14/08/2014 - 15:08h:

Esse artigo é de 2009, as coisas já mudaram, agora os pacotes estão aqui: http://repo.uniaolivre.com/packages/trusty/main/">http://repo.uniaolivre.com/packages/trusty/main/">http://repo.uniaolivre.com/packages/trusty/main/">http://repo.uniaolivre.com/packages/tr...

Para adiciona-lo use os comandos:
echo 'deb http://repo.uniaolivre.com/packages trusty main' > /etc/apt/sources.list.d/kaiana.list
wget http://repo.uniaolivre.com/uniaolivre.key -O- | sudo apt-key add -


Opa, agora sim em, valew pela atenção em me atualizar bruno. funfo!


Contribuir com comentário