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

Mario Vianna soltec em br.inter.net
Domingo Julho 1 15:12:55 UTC 2012


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 )
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
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>
>>
>
>






More information about the ubuntu-br mailing list