Diferenças Linux X Windows em relação a programação.

Iniciado por Thiago Henrique, 25 de Julho de 2008, 23:43

tópico anterior - próximo tópico

Thiago Henrique

 Olá peço perdão desde já pela ignorância mas sou um usuário novo no mundo GNU/Linux e algumas coisas ainda não entraram na minha cabeça.
O Linux não possui extensões certo ? .Exe, .Com, .Bat etc...
Mas msmo assim quando compilo, e linko um código qualquer eu posso gerar um executável certo ?
O que eu não entendo é que no no windows podemos gerar o executável utilizando uma IDE qualquer e simplesmente dar dois cliques nele para que seja aberta uma janela ou uma interface (se vc tiver implementado)
e em fim, executar o programa =p
Mas quando crio aqui os executáveis (no meu caso estou usando o Geany (IDE)) aparece um arquivo lá que foi criado, mas a pergunta é: Pq naum consigo abrí -lo com dois cliques ? Só é possível executar os programas por linha de comando ?

Estou em um momento de migração :D, tentem me entender >.<

Glauco Hass

Bom, vamos por partes.
Primeiro, as extensões:
O linux não se baseia somente nas extensões para abrir um arquivo. É usado uma espécie de cabeçalho para identificar o seu tipo. Pode fazer um teste renomeando uma imagem JPG, colocando uma extensão EXE, sh ou qualquer outra no lugar, ainda assim a imagem será tratada como tal, pois continua tendo um cabeçalho do tipo JPG. Também chamamos esses cabeçalhos de mime-types. Ainda assim podemos definir uma extensão para que o arquivo seja identificado como um desses mime-types. Se você der uma olhada no arquivo /etc/mime-types você entenderá melhor o que estou falando. Só não mexa em nada sem fazer backup antes, OK? :D
Segundo, a questão de executar um arquivo:
Pelo terminal você pode forçar a execução colocando um ponto e uma barra antes do nome do arquivo (./). Mas para executá-lo com os 2 cliques, é preciso "autorizar" o linux a executá-lo, por uma questão de segurança. Você pode fazer isso atribuindo a marca x ao programa ou script. Pelo terminal você faz isso executando chmod +x arquivo e pelo Nautilus você vai nas propriedades do arquivo, depois em permissões e marca a opção para permitir a execução do arquivo como programa.

Thiago Henrique

Wow obrigado mesmo pelas informações  :)

Vou procurar ler mais um pouco sobre os mime-types.

Sobre as permissões do Linux já tinha ouvido falar, e só agora entendi com esse exemplo  >.<

Um dos motivos do Linux ser mais seguro que o Windows certo ?  ::)

Grato novamente, Thiago.

clcampos

Olha só para entender mais sobre permissões no linux vou indicar o ótimo tópico do pintinho:

Permissões de arquivos e diretórios
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

tfmoraes

Cara, isto não é problema de permissão. Quando um executável é gerado pelo compilador ele já tem está permissão de execução. Me parece que os programa que você escreveu são em modo texto então ao você clicar no executável 2 vezes ele é executado mas não tem a resposta visual, tente fazer o mesmo com um programa gráfico, por exemplo, vá na pasta /usr/bin, ache o arquivo eog e click 2 vezes sobre ele.