[Ubuntu-BR] Executar Scripts Tcl-Tk nu Ubuntu 12.04

Humberto Fraga xisberto em gmail.com
Domingo Julho 1 18:19:30 UTC 2012


Humberto Fraga
Em 01/07/2012 12:13, "Mario Vianna" <soltec em br.inter.net> escreveu:
>
> Prezado Humberto
>
>
> Com o script S.tcl começando com:
> #!/usr/bin/wish
> Quando eu abro um terminal e digito:
> /usr/bin/wish /home/eu/Tcl/Prontos/S.tcl
> o script roda normalmente.
>
> Gravei um script que chamei de Excutor-tcl no diretório do S.tcl que
contem somente a seguinte linha:
> /usr/bin/wish "./S.tcl"
> Quando clico no Executor-tcl e mando executar na caixa de diálogo que se
abre,
> ele inicia o programa S.tcl que roda normalmente.
>
> Quando entro no terminal e mando:
> cd /home/eu/Tcl/Prontos ele muda para o diretorio onde está o S.tcl. Aí
eu digito somente:
> ./S.tcl
> Aparece no terminal a seguinte mensagem de erro:
> bash: ./S.tcl: /usr/bin/wish^M: interpretador inválido: Arquivo ou
diretório não encontrado
> ( Achei estranho este ^M depois de wish, mas é o que está aparecendo )

Mário, esse ^M no final da linha pode ser a origem do problema. Por acaso
você copiou essa linha de algum site, ou de um arquivo que foi editado no
Windows?

Pesquise pelo comando iconv, para converter os finais de linha de Dos para
Unix.

> E o S.tcl não roda.
> Ai mandei um $PATH e obtive:
> bash:
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
Arquivo ou diretório não encontrado
> Portanto o /usr/bin está lá e ele deveria estar achando o wish lá, mas nã
está e achei estranho este ": Arquivo ou diretório não encontrado" no final
do PATH.
>
> Quando simplesmente clico no arquivo S.tcl e mando executar em um
terminal aparecem as seguintes mensagens:
> O processo filho saiu normalmente com o status 127.
> /bin/sh: 1: /home/eu/Tcl/Prontos/S.tcl: not found
> E o S.tcl não roda

Pode ser o mesmo problema, de ele não encontrar o wish^M.

> Como ele pode não encontrar um endereço que ele próprio captou quando
cliquei no arquivo?
>
> Assim, continuo agradecendo qualquer ajuda.
>
> Reparem, por favor que não é off-topic porque não parece ser problema do
tcl nem do meu script S.tcl, e sim, do Ubuntu 12.04 para localizar os
arquivos.
>
>
> Atenciosamente
> Mário Vianna
>
> Em 30-06-2012 19:44, Humberto Fraga escreveu:
>>
>> Mario, fiz agora os testes. desculpe a demora em responder, mas no meu
>> trabalho ainda estamos com o Ubuntu 10.04.
>>
>> Criei no vim o script que você forneceu de exemplo. Executei chamando o
>> wish e funcionou. Depois, adicionei a permissão de execução (chmod +x) e
>> executei diretamente no terminal (./teste.tcl) e também funcionou. Depois
>> fui no nautilus e dei um duplo clique no arquivo. Ele me mostrou a caixa
de
>> diálogo, e clicando no executar também funcionou.
>>
>> Lembrando que para fazer esse teste, apenas instalei o tk e suas
>> dependências.
>>
>> Você pode tentar usar a opção "Executar em terminal" da caixa de diálogo
>> para ver se ele escreve algum erro.
>>
>>
>> Em 30 de junho de 2012 15:05, Mario Vianna <soltec em br.inter.net>
escreveu:
>>
>>> Prezado Edgard
>>>
>>> Instalei sim, pois, como afirmo na mensagem abaixo:
>>>
>>>
>>> Se eu abro um terminal e digito:
>>> /usr/bin/wish /home/eu/Tcl/s.tcl
>>> O programa roda sem problemas
>>>
>>> Inclusive instalei o Active Tcl que tem alguns recursos a mais.
>>>
>>> Outra coisa que fiz, desde a minha última mensagem, foi me lembrar que o
>>> ActiveTcl vem com um aplicativo chamado tkcon, que é um console escrito
em
>>> tcl/tk. Cliquei nele e ele abriu. Eu, todo contente pensando que tinha
>>> achado uma solução: seria só copiar as primeiras linhas do tkcon para o
meu
>>> programa, deixar as permissões e demais propriedades dos arquivos
>>> iguaizinhas, botei até meu programa no mesmo diretório do tkcon, mas,
para
>>> minha decepção, o tkcon abre quando clica nele e o meu não. Não consegui
>>> encontrar ainda a diferença entre os arquivos que causa esta diferença
de
>>> comportamento. As primeiras linhas do tkcon que copiei para meu arquivo
são:
>>>
>>> #!/bin/sh
>>> # \
>>> exec "/home/eu/Tcl-Active/bin/**wish8.5" "$0" ${1+"$@"}
>>>
>>>
>>> Abraços
>>>
>>> Mário Vianna
>>>
>>>
>>>
>>> Em 30-06-2012 12:37, Edgar Wascch escreveu:
>>>
>>>   Uma pergunta boba: Você instalou as bibliotecas tcl e tk?
>>>>
>>>> Em 30-06-2012 11:57, Mario Vianna escreveu:
>>>>
>>>>> Prezado Renato
>>>>>
>>>>> Tentei mas não deu certo. Creio que este comando é a mesma coisa que
>>>>> assinalar o quadradinho "Permitir a execução do arquivo como
programa" no
>>>>> Nautilus, na aba propriedades, o que eu já havia feito.
>>>>>
>>>>> Assim, a pergunta abaixo continua de pé:
>>>>>
>>>>> Como faço para executar scripts tcl/tk no Ubuntu 12.04 sem ter de
abrir
>>>>> o terminal e teclar todo o path do shell wish e mais o do script?
>>>>>
>>>>> Uma outra solução que o livro de tcl que tenho sugere é colocar as
três
>>>>> linhas seguintes no começo do script:
>>>>>
>>>>> #!/bin/sh
>>>>> # Notem a barra invertida no final \
>>>>> exec wish -f "$0" ${1+"$@"}
>>>>> ( aqui vai o resto do script propriamente dito )
>>>>>
>>>>> Mas também não roda o programa.
>>>>>
>>>>> Parece até que o 12.04 desabilitou chamar um shell a partir do comando
>>>>> #! no início do script.
>>>>>
>>>>> Agradeço qualquer ajuda.
>>>>>
>>>>>
>>>>>
>>>>> Abraços
>>>>>
>>>>> Mário Vianna
>>>>>
>>>>>
>>>>> Em 27-06-2012 08:50, Renato Costallat escreveu:
>>>>>
>>>>>> sudo chmod +x "arquivo"
>>>>>>
>>>>>> creio que seja o que vc quer!
>>>>>>
>>>>>> Abraços
>>>>>>
>>>>>> 2012/6/24 Mario Vianna <soltec em br.inter.net>
>>>>>>
>>>>>>   Prezado Humberto
>>>>>>>
>>>>>>> Segue, no fim da mensagem um scipt simples, só para ilustração do
>>>>>>> problema.
>>>>>>> Se eu abro um terminal e digito:
>>>>>>> /usr/bin/wish /home/eu/Tcl/s.tcl
>>>>>>> O programa roda sem problemas
>>>>>>> Mas se eu clico no arquivo dele, ele não roda, mesmo começando com:
>>>>>>> #!/usr/bin/wish
>>>>>>> Em Ubuntus anteriores rodava.
>>>>>>> Até abre a caixa de diálogo que pergunta se eu quero exibir ou
>>>>>>> executar,
>>>>>>> mas, quando eu clico em executar, a caixa de dialogo fecha e o
>>>>>>> programa não
>>>>>>> executa.
>>>>>>>
>>>>>>> Em ubuntus anteriores se tinha o recurso de vincular os programas
>>>>>>> terminados em .tcl com o wish, o que também fazia com que o programa
>>>>>>> fosse
>>>>>>> executado. Mas, no 12.04 não consegui fazer esta vinculação.
>>>>>>> ------------------------------****----------------------
>>>>>>>
>>>>>>> #!/usr/bin/wish
>>>>>>> #
>>>>>>> button .b0 -text Criar -command {Criar Sair} -width 15
>>>>>>> pack .b0
>>>>>>>
>>>>>>> proc Criar {nome} {
>>>>>>>      button .b1 -text $nome -command exit -width 15
>>>>>>>      pack .b1
>>>>>>>      .b0 config -state disabled
>>>>>>> }
>>>>>>> ------------------------------****-----------------------
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Abraços
>>>>>>> Mário Vianna
>>>>>>>
>>>>>>>
>>>>>>> Em 23-06-2012 14:33, Humberto Fraga escreveu:
>>>>>>>
>>>>>>>    Em 23 de junho de 2012 08:51, Mario Vianna <soltec em br.inter.net>
>>>>>>>
>>>>>>>> escreveu:
>>>>>>>>
>>>>>>>>    Permitir a execução do arquivo como um programa
>>>>>>>>
>>>>>>>>> que, ao clicar no arquivo, aparecia aquela caixa de diálogo
>>>>>>>>> perguntando
>>>>>>>>> se
>>>>>>>>> quer exibir ou executar e quando escolhíamos executar o script tk
>>>>>>>>> começava
>>>>>>>>> a executar. Isto não está funcionando aqui no Ubuntu 12.04,
apesar do
>>>>>>>>> wish
>>>>>>>>> ter um link para ele instalado em /usr/bin ( nos Ubuntu anteriores
>>>>>>>>> também
>>>>>>>>> era um link ), clicando-se no qual o wish começa a rodar.
>>>>>>>>>
>>>>>>>>> Alguém sabe como faço para que ao clicar em arquivos de script
>>>>>>>>> tcl/tk ele
>>>>>>>>> comece a executar no Ubuntu 12.04? Melhor ainda se alguém souber
>>>>>>>>> como ele
>>>>>>>>> começar a rodar sem nem aparecer aquela caixa de diálogo
perguntando
>>>>>>>>> se
>>>>>>>>> eu
>>>>>>>>> quero executar ou exibir, ou seja, já começar a executar direto.
>>>>>>>>>
>>>>>>>>>    O que você fez no Ubuntu 12.04 e o que aconteceu errado? Tem
como
>>>>>>>>> você
>>>>>>>>>
>>>>>>>> nos
>>>>>>>> passar um script simples (talvez pelo pastebin.com) para a gente
>>>>>>>> testar?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> --
>>>>>>> Mais sobre o Ubuntu em português:
http://www.ubuntu-br.org/****comece<http://www.ubuntu-br.org/**comece>
>>>>>>> <http://www.ubuntu-br.**org/comece <http://www.ubuntu-br.org/comece
>>
>>>>>>>
>>>>>>>
>>>>>>> Lista de discussão Ubuntu Brasil
>>>>>>> Histórico, descadastramento e outras opções:
>>>>>>> https://lists.ubuntu.com/****mailman/listinfo/ubuntu-br<
https://lists.ubuntu.com/**mailman/listinfo/ubuntu-br>
>>>>>>> <htt**ps://lists.ubuntu.com/mailman/**listinfo/ubuntu-br<
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/**comece<
http://www.ubuntu-br.org/comece>
>>>
>>> Lista de discussão Ubuntu Brasil
>>> Histórico, descadastramento e outras opções:
>>> https://lists.ubuntu.com/**mailman/listinfo/ubuntu-br<
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br>
>>>
>>
>>
>
>
>
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br



More information about the ubuntu-br mailing list