Lançador com arquivo .sh

Iniciado por fabiano, 23 de Fevereiro de 2011, 10:42

tópico anterior - próximo tópico

fabiano

Estou tentando criar um lançador no painel superior para o Aquadata Studio, mas n está funcionando. Minha dúvida é qual comando devo usar. O arquivo datastudio-bundled.sh está em /home/fabiano/Aplicativos/AquaDataStudio45/

Já tentei:

...e nada.

Se eu for direto no arquivo ele abre. Também consegui criar um link na área de trabalho, mas o danado do lançador no painel superior n funciona!  >:(

ps: ainda aguardo resposta para o tópico "Erro em Suporte a Idiomas". Tô encalhado nisso!

Valeu, pessoal!

Tota

Olá

Acredito que o erro resida em não pedir a ação de execussão em seu comando.

Para a ação executar no GNU/Linux o comando seria ./datastudio-bundled.sh

Como ele está em sua pasta de usuario experimente:

˜/home/fabiano/Aplicativos/AquaDataStudio45/./datastudio-bundled.sh

[]'s

fabiano

E aí, Tota... cara, usei o comando q vc passou mas também n funcionou  :-[

A mensagem é:
Falha ao executar processo filho "˜/home/fabiano/Aplicativos/AquaDataStudio45/./datastudio-bundled.sh" (Arquivo ou diretório não encontrado)

coloquei também sem o "~", com file://... mas n rolou! Mesmo assim obrigado por responder. :)

Tota

Ola

abra um terminal

navegue até a pasta do script e use o comando ./datastudio-bundled.sh

tem que funcionar. Se funcionar vá fazendo o caminho inverso até a raiz para encontrar o erro. uma letra, um espaço, etc, fazem diferença no Linux.

[]'s

MauroMN

Olá,

Tente criar um arquivo *.sh no gedit:

#!/bin/sh

/local/em que se encontra/o arquivo/./nomedoarquivo.sh

E salve esse aquivo

deixe-o executável = chmod +x ./nomedoarquivo.sh

copie-o na pasta /bin/

E faça um lançador de aplicativo personalizado através desse aquivo salvo na pasta /bin/

fabiano

Tota e MauroMN,
Agradeço as dicas. Fiz e refiz tudo com a maior atenção, mas não funcionou. No caso do prcedimento indicado pelo MauroMN, dá tudo certo até chegar na criação do lançador. O arquivo .sh copiado para o /bin/ fuciona perfeitamente, mas quando crio o lançador e aponto para ele, o bicho n funciona!
Será mesmo tão complicado assim criar um lançador no Painel???

ps: também n funciona no Cairo-Dock! :)

irtigor

A primeira linha do datastudio-bundled.sh tem o shebang? Que tipo de aplicativo é esse, cli, tui ou gui? O problema de pode ser nele, testa:


#!/usr/bin/env bash
echo "Funciona - $(date)" > /tmp/teste.log
/home/fabiano/Aplicativos/AquaDataStudio45/datastudio-bundled.sh &>> /tmp/teste.log


Dá permissão de execução e cria um lançador pra isso (tipo terminal ou algo assim, dependendo do painel que você usa), com caminho absoluto. Roda e olha se o arquivo /tmp/teste.log foi criado e o que ele tem.

fabiano

O resultado do log foi:

Funciona - Qua Fev 23 16:37:56 BRT 2011
Exception in thread "main" java.lang.NoClassDefFoundError: com/aquafold/datastudio/DataStudio
Caused by: java.lang.ClassNotFoundException: com.aquafold.datastudio.DataStudio
   at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: com.aquafold.datastudio.DataStudio. Program will exit.

irtigor

Você não respondeu as minhas perguntas... mas está claro que não é problema do painel ou do lançador. Use um caminho relativo, deve resolver

#!/usr/bin/env bash
cd /home/fabiano/Aplicativos/AquaDataStudio45/
./datastudio-bundled.sh


Se quiser que o script morra, sem levar junto o programa, coloca um ampersand na ultima linha (./datastudio-bundled.sh &).

fabiano

#9
Irtigor, vou tentar... infelizmente n respondi suas perguntas ainda pq como a categoria do forum mostra, ainda sou iniciante. Estou pesquisando aqui pra descobrir o q danado é "shebang", além de aplicativos cli, tui ou gui! Quando eu souber, te respondo... vou testar:

#!/usr/bin/env bash
cd /home/fabiano/Aplicativos/AquaDataStudio45/
./datastudio-bundled.sh

como vc sugeriu. Em seguida posto o resultado!

Valeu... :)

irtigor

Sem problemas...
shebang, crunchbang ou hashbang é o "#!" -> http://en.wikipedia.org/wiki/Shebang_%28Unix%29
cli é command-line interface (interface de linha de comando), tui é text user interface (interface em texto do usuário) e gui é graphic user interface (interface gráfica do usuário). Um exemplo programa que tem as três interfaces é o aptitude.

fabiano

Graças a André, um amigo expert, o problema foi resolvido, simplesmente, inserindo a linha cd /home/fabiano/Aplicativos/AquaDataStudio45/ no datastudio-bundled.sh.

Valeu, galera!