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 <sol...@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" <sol...@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 <sol...@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 <sol...@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
<sol...@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



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

Responder a