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

Mario Vianna soltec em br.inter.net
Domingo Julho 8 19:08:23 UTC 2012


Prezado Jefferson

Obrigado pela dica. Funcionou muito bem para os arquivos do QCad. Agora 
quando clico em qualquer arquivo .dxf o Ubuntu abre ele automaticamente 
com o QCad, o que já quebrou um galhão. Mas com o wish não tem jeito de 
dar certo. Segue abaixo listagem do útima tentativa de arquivo .desktop 
que fiz para ele. O que será que estou fazendo de errado?

[Desktop Entry]
Name=wish
Exec=/home/eu/Tcl-Active/bin/wish8.5
Icon=/home/eu/Tcl-Active/logo105.png
Type=Application
Cathegories=Development

O arquivo está depositado em /home/eu/.local/share/applications, no 
mesmo lugar em que está o QCad.desktop que funciona.

Abraços
Mário Vianna

Em 04-07-2012 07:49, Jeferson Rodrigues escreveu:
> 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