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

Jeferson Rodrigues jeferod83 em gmail.com
Quarta Julho 4 10:49:39 UTC 2012


Bom dia Mario,

Na verdade a personalização do recurso "abrir com" funciona sim, porém
existe a necessidade de criar um arquivo .desktop dentro do seu
home/.local/share/applications, ou /usr/share/applications. No seu
caso, você poderia duplicar um arquivo já existente, nomeá-lo como
wish.desktop, editá-lo com o gedit, alterar todas as linhas que fazem
referência ao aplicativo anterior, adaptando-as ao wish. Desta forma
ele estará disponível na listagem do "abrir com" e você poderá
personalizar o programa padrão para abrir arquivos .tcl com o wish.

Abraços

Em 3 de julho de 2012 22:54, Mario Vianna <soltec em br.inter.net> escreveu:
> Prezado Humberto
>
> Homem, não é que você matou a charada!
>
> Redigitei o S.tcl do zero no gedit, salvei e ele executou direitinho. Venho
> desenvolvendo estes scripts há alguns anos e é bem possível que alguns deles
> tenham sido desenvolvidos ainda no Windows e estavam com o final de linha
> cr_lf.
>
> Eu não tinha este problema até o Ubuntu 10.04 porque ele permitia vincular
> tipos de arquivo aos programas executores, mesmo aos que não estavam na
> central de programas do Ubuntu, e eu vinculava os arquivos .tcl ao wish do
> pacote que baixava do site do Active State. Deste modo não precisava nem do
> #!/usr/bin/wish no início dos scipts. Bastava clicar no arquivo e ele
> "sabia" que tinha de rodar com o wish.
>
> Infelizmente o Ubuntu 12.04 não oferece mais a opção de, a partir da janela
> "propriedades" e da aba "Abrir com", procurar livremente no sistema de
> arquivos a qual programa desejamos vincular a execução daquele tipo de
> arquivo, o que tem me causado alguns transtornos aqui. Considero isto um
> retrocesso no grau de liberdade do Ubuntu.
>
> Não precisei usar o iconv porque tenho aqui um script em tcl/tk que converte
> os "enter" dos arquivos texto para o sistema nativo do computador, seja do
> Windows para o Linux, seja do Linux para Windows. Passei ele em outro script
> tcl e ele passou a funcionar perfeitamente também.
>
> Muito obrigado pela ajuda. Valeu!
>
>
> Abraços
>
> Mário Vianna
>
>
> Em 01-07-2012 15:19, Humberto Fraga escreveu:
>
>> 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
>
>
>
>
> --
> 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