Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

1. Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 21/10/2017 - 01:38h

Olá Amigos, Tudo Bem ?
- Pessoal, estou com o seguinte problema: criei um Hello World da vida em C no meu ArchLinux pelo terminal e tudo mais, executei e funcionou normal pelo terminal( uma vez que é sem interface gráfica ), daí fui procurar saber como( mesmo sem interface gráfica ) eu posso está executando ele no click do mouse( tipo um executável " Só que no Linux, é Claro " ), consegui um tutorial mas não funcionou mesmo vendo que no tutorial funcionou.
O código do arquivo.desktop é esse:

[Desktop Entry]
Version=1.0
Type=Application
Name=aio
Exec=/usr/bin/aiotech
Terminal=true
Icon=/usr/bin/c.png

- E fica assim: primeiro crio e executo( como forma de teste ) o arquivo.c ;
- Depois levo ele( o tal executável + icon.png ) para a pasta
/usr/bin/ 

- Na sequência crio esse tal arquivo.desktop usando
 touch 
depois crio e salvo o código acima
[Desktop Entry] 
dentro desse arquivo.desktop ;
- Depois dou um:
chmod +x arquivo.desktop 
para poder gerar de vez o lançador ;
- Copio esse lançador gerado para a pasta:
/usr/share/applications/ 

- E, na hora que executo nada acontece.
Sim, pesquisei no Google, em sites, fóruns e até em grupos do facebook mas nada consegui.
- Detalhe, criei um lançador do Firefox para ver se era o código ou o executável que está com problema, mas vi que não é o código, então resolvi vir aqui pedir essa ajuda aos Camaradas.
--Uso Arch Linux Anyware + Xfce.
- Tutorial do códig( detalhe: é para GNOME esse tutorial ): https://developer.gnome.org/desktop-entry-spec/
- Desde já Agradeço à todos, Boa Noite e DEUS Abençoe...


  


2. Re: Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/10/2017 - 01:48h

@ubuntu_server Acredito que seja por que o terminal é fechado assim que o comando acaba, e no caso de um hello world é bem rapido. Acredito que se o retorno for passado para o "less" o terminal se mantera aberto.
Exec="/usr/bin/aiotech | less" 





3. Re: DESKTOP ENTRY - COMO GERAR E ABRIR ATALHOS DE/ E EXECUTÁVEIS DE PROGRAMAS EM C SEM INTERFACE GR

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 21/10/2017 - 02:14h

Bom Dia katsuke00 , Tudo Bem ?
Então Rapaz, tentei mas infelizmente não deu certo.
Agora fiquei imaginando: o que estou tentando criar é um atalho para um executável, certo ? Então, por que o:
aiotech 
que sai dessa compilação aqui:
gcc aiotech.c -o aiotech 
não abre com dois clicks normalmente sem precisar ser atalho ?
É de se pensar...


4. Re: Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

weidsom nascimento
weidsom

(usa Debian)

Enviado em 21/10/2017 - 03:45h

O seu binário ta com permissão de execução? Tive o mesmo problema com isso, tenta 755 pra ver.


5. Re: Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/10/2017 - 08:21h

ubuntu_server escreveu:
Bom Dia katsuke00 , Tudo Bem ?

Bom dia, tudo.
ubuntu_server escreveu:
Então Rapaz, tentei mas infelizmente não deu certo.

Pode tentar criar um script em shell, e chama-lo ao invez do binario diretamente.
$ echo '#!/bin/sh' >> aiotech.sh
$ echo '/usr/bin/aiotech | less' >> aiotech.sh
$ chmod +x aiotech.sh
# mv aiotech.sh /usr/bin

(não escreva "#/$" são caracteres utilizados somente para indicar qual usuario utilizar)
$ = usuario normal
# = root
depois disso altere o exec para chamar o aiotech.sh
Exec=aiotech.sh 


ubuntu_server escreveu:
Agora fiquei imaginando: o que estou tentando criar é um atalho para um executável, certo ? Então, por que o:
aiotech 
que sai dessa compilação aqui:
gcc aiotech.c -o aiotech 
não abre com dois clicks normalmente sem precisar ser atalho ?
É de se pensar...

É até possivel abrir com dois clicks, dependendo do gerenciador de arquivos utilizado, mas, no caso de programas não graficos, suas saidas são geralmente o stdout e stderr, e ambas são visiveis somente no terminal, ou seja, não seria perceptivel a execução.



6. Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 21/10/2017 - 22:30h

Boa Noite katsuke00, Voltei.
--Então Amigo, fiz conforme me dissestes mas o resultado não foi o esperado, o que fica acontecendo é que, quando clico no arquivo " Executável " aparece uma janela do terminal mas já desaparece rapidamente, nem dá tempo de ler nada, aliás parece que não vem nada escrito, ou seja, o dito Hello World!!.
--Se não for pedir demais de seu tempo, você pode me dar alguns detalhes de como devo fazer corretamente, pois pode ser que da maneira que fiz não esteja correta, por que: depois de criar tudo aquilo até ficar pronto como está citado acima no pergunta principal do post, somente criei esse
shell script 
depois dei a permissão:
chmod +x aiotech.sh 
executei, e nada.
--Desde já Obrigado e DEUS Abençoe pela disposiçao


7. Re: Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/10/2017 - 01:06h

ubuntu_server escreveu:
Boa Noite katsuke00, Voltei.
--Então Amigo, fiz conforme me dissestes mas o resultado não foi o esperado, o que fica acontecendo é que, quando clico no arquivo " Executável " aparece uma janela do terminal mas já desaparece rapidamente, nem dá tempo de ler nada, aliás parece que não vem nada escrito, ou seja, o dito Hello World!!.
--Se não for pedir demais de seu tempo, você pode me dar alguns detalhes de como devo fazer corretamente, pois pode ser que da maneira que fiz não esteja correta, por que: depois de criar tudo aquilo até ficar pronto como está citado acima no pergunta principal do post, somente criei esse
shell script 
depois dei a permissão:
chmod +x aiotech.sh 
exeutei, e nada.
--Desde já Obrigado e DEUS Abençoe pela disposiçao

retorne um cat no shell script, para mim ver se o conteudo do mesmo está correto:
 $ cat /usr/bin/aiotech.sh  

você pode fazer um teste rapido também para ver se o erro realmente está no sh:
 $ xterm -e "/usr/bin/aiotech.sh"  

se o comando anterior resultar no que desejava pode adapta-lo para o .desktop



8. Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 22/10/2017 - 14:34h

Boa Tarde katsuke00.
Vamos lá:
Retornei um cat no shell script pelo terminal da forma que você solicitou e veio o resultado:

echo '#!/bin/sh' >> aiotech.sh
echo '/usr/bin/aiotech | less' >> aiotech.sh
chmod +x aiotech.sh
#!/bin/sh
/usr/bin/aiotech | less

Também, conforme você sugeriu, fiz um teste rapido para ver se o erro realmente está no sh, e o resultado está na imagem do link a seguir:
http://imagizer.imageshack.us/a/img924/8097/WY356v.png
Pelo que vi, conforme o resultado e os testes, e também depois de adicionar essa linha ao código no aiotech.desktop:
$ xterm -e "/usr/bin/aiotech.sh" 

Está funcionando, mas só que, só "dessa forma".
Ainda fico matutando o por que de não funcionar no terminal comum como no modelo a seguir:
http://imagizer.imageshack.us/a/img923/391/3kyGPQ.jpg
E aqui o cara descreveu como ele fez:
http://imagizer.imageshack.us/a/img922/9338/8qF3PO.jpg
Só que não quiz falar mais...
Só para lembrar, esse tutorial foi montado em cima do ' Gerenciador Gnome ', será que é por isso que não vai pelo terminal comum, pois uso o ' XFCE '.



9. Re: Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

Perfil removido
removido

(usa Nenhuma)

Enviado em 22/10/2017 - 16:30h

ubuntu_server escreveu:
Vamos lá:
Retornei um cat no shell script pelo terminal da forma que você solicitou e veio o resultado:

echo '#!/bin/sh' >> aiotech.sh
echo '/usr/bin/aiotech | less' >> aiotech.sh
chmod +x aiotech.sh
#!/bin/sh
/usr/bin/aiotech | less

Então estes são comandos que passei para gerarem o script, o script em si deveria ser o seguinte:
#!/bin/sh
/usr/bin/aiotech | less


ubuntu_server escreveu:
Também, conforme você sugeriu, fiz um teste rapido para ver se o erro realmente está no sh, e o resultado está na imagem do link a seguir:
http://imagizer.imageshack.us/a/img924/8097/WY356v.png
Pelo que vi, conforme o resultado e os testes, e também depois de adicionar essa linha ao código no aiotech.desktop:
$ xterm -e "/usr/bin/aiotech.sh" 

Está funcionando, mas só que, só "dessa forma".
Ainda fico matutando o por que de não funcionar no terminal comum como no modelo a seguir:
http://imagizer.imageshack.us/a/img923/391/3kyGPQ.jpg
E aqui o cara descreveu como ele fez:
http://imagizer.imageshack.us/a/img922/9338/8qF3PO.jpg
Só que não quiz falar mais...
Só para lembrar, esse tutorial foi montado em cima do ' Gerenciador Gnome ', será que é por isso que não vai pelo terminal comum, pois uso o ' XFCE '.

Não deveria existir problemas grandes em relação a qual terminal usa. Você pode chamar direto pelo xfce terminal também:
xfce4-terminal -e "/usr/bin/aiotech.sh" 

Se deseja usar o desktop entry, o script deve estar como citado acima. (que direcionara o retorno para o less, que só fecha manualmente)



10. Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface gráfica

José Pessoa de Lima Neto
ubuntu_server

(usa Ubuntu)

Enviado em 22/10/2017 - 21:24h

Oi katsuke00
Seguinte, está 90% concluído, agora só fiquei com uma pulga atrá da orelha com mais um detalhe, que, creio ser o ultimo:
No vídeo do link à seguir, você verá que quando cliquei no "Executável" tem uma instância de terminal que aparece, imediatamente desaparece e aparece a janela como o
prinf("..."); 

https://youtu.be/mr9tFccEqn4
ainda se baseando nessa cena da imagem do link abaixo:
http://imagizer.imageshack.us/a/img923/391/3kyGPQ.jpg
faço outra pergunta:
É possível deixar igual ao da imagem do link acima tirando também esse terminal que tenta abrir e logo desaparece e esse nome:
END 

que aparece no terminal ?
Obrigado Amigo...


11. Re: Desktop Entry - como gerar e abrir atalhos de/ e executáveis de programas em C sem interface grá

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/10/2017 - 08:21h

ubuntu_server escreveu:
Oi katsuke00
Seguinte, está 90% concluído, agora só fiquei com uma pulga atrá da orelha com mais um detalhe, que, creio ser o ultimo:
No vídeo do link à seguir, você verá que quando cliquei no "Executável" tem uma instância de terminal que aparece, imediatamente desaparece e aparece a janela como o
prinf("..."); 

https://youtu.be/mr9tFccEqn4
ainda se baseando nessa cena da imagem do link abaixo:
http://imagizer.imageshack.us/a/img923/391/3kyGPQ.jpg
faço outra pergunta:
É possível deixar igual ao da imagem do link acima tirando também esse terminal que tenta abrir e logo desaparece e esse nome:
END 

que aparece no terminal ?
Obrigado Amigo...

Então o terminal que aparece provavelmente é por causa do:
Terminal=true 
acredito que se mudar para o seguinte resolva:
Terminal=false 

Sobre o "END", ele aparece por causa do less. Edite o shell script para o seguinte:
#!/bin/sh
cat | /usr/bin/aiotech








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts