Interpretando um formato de aquivo.

Iniciado por opensky, 03 de Abril de 2012, 21:25

tópico anterior - próximo tópico

opensky

 Saudações a todos os usuários do fórum e presentes neste tópico,
o tema do tópico da inicio a uma conversa sobre o desenvolvimento de
uma aplicação, voltando ao ponto de partida: "Gerando associação a um
formato de arquivo...".
Utilizando do Ubuntu 12.04 LTS (Beta Final) e possuindo
conhecimentos em Python e GTK decidi gerar um novo tipo de arquivo em branco,
então criei um documento novo vazio e o nomeei como documento.ubx e como
bem sabemos o Ubuntu não possui uma associação natural para o formato de arquivo "UBX",
logo, ao iniciar o arquivo simplesmente será aberto o editor de textos (gedit).

Tópico1: Gerando(criando) um novo tipo de arquivo/Necessidade da Interpretação:
Ao iniciar um novo tipo de arquivo para linux, seja ele de instalação de aplicações,
ou um formato de imagem para rodar uma aplicação, é necessário que o sistema
interprete este tipo de executável e/ou imagem.

Exemplo1: "O sistema Microsoft Windows reconhece o formato "exe" para
executáveis e instalação de softwares."

Exemplo2: O sistema "X" (No caso um Linux Baseado em Ubuntu) reconhece o formato de imagem
"UBX", e ao abrir este arquivo, se  inicia automaticamente a aplicação contida na imagem.

Tópico2:  Formato de executável, instalação ou imagem de aplicação:

Fator: A ideia é criar um formato de imagens para aplicações, onde
o mesmo passar a ser uma imagem e para utilizá-lo é necessário que acha "Interpretação",
por parte do sistema para com o mesmo.

Resumo:
Objetivo- Criar um formato de imagem para um aplicação por exemplo, para o formato "UBX"
no sistema operacional Ubuntu, obtém-se a aplicação, GIMP.UBX, para executá-lo é necessário
que o sistema interprete esta imagem antes.
O que  preciso?
A-Obter conhecimento de como funciona tal interpretação (reconhecimento do sistema) de um arquivo de imagem.
B-O que constitui tal reconhecimento para o formato de imagem criado? Como funciona a interpretação de um formato de arquivo?
C-Como elaborar tal reconhecimento desta imagem para o sistema operacional?

Tota

Ola

Desculpe minha ignorância no assunto, uma vez que deixei programação já a uns 20 anos.

Qual o propósito de se fazer isto?

1) Se voce utiliza um aplicativo com esta extensão, basta abrir o Nautilus, clicar no arquivo com o botão direito e escolher em => propriedades, na aba => abrir com , o aplicativo desejado e definir como padrão.
Citação de: opensky online 03 de Abril de 2012, 21:25
e como bem sabemos o Ubuntu não possui uma associação natural para o formato de arquivo "UBX",
O sistema já faz esta associação para você se seguir o relatado acima.

2) Se o objetivo for aprendizado apenas, poste o que já fez, cite os links que visitou para evitar a redundância de opiniões por parte dos usuarios interessados em lhe ajudar.

Citação de: opensky online 03 de Abril de 2012, 21:25
Pergunta como funciona e oque é preciso saber sobre
o funcionamento de um interpretador de arquivo.
O que é preciso saber para com o uso do Python e GTK
gerar este interpretador?

O que é preciso para gerar um interpretador para um formato de arquivo,
é possível fazer o mesmo com uso do Python e do GTK, o que é preciso saber sobre
um interpretador e como ele funciona?

Neste ponto eu não entendi o termo "interpretador de arquivos"

O phyton tem um interpretador e o sistema GNU/Linux tem o shell, também um interpretador de arquivos.

Shell existem varios, e o do Ubuntu é o Bash ( Bourne again shell)

Ao qual se refere?

[]'s

irtigor

Simplificando, a ideia é associar a extensão ".foo" ao programa "foofoo"?

Se a extensão é nova, você precisa adicioná-la ao bd: http://standards.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html
Depois (de criar ou identificar o mime) você vincula ao seu lançador: http://standards.freedesktop.org/desktop-entry-spec/latest/

opensky

 Perdoem não me expressar de maneira coerente a esperar respostas,
o tópico principal foi reeditado para melhor compreensão, tornando assim
a solução deste problema mais fácil e ampla.

irtigor


opensky

Muito obrigado, os links são inteiramente uteis,
já estou os lendo e com certeza ajudará muito na minha produção.

selvaking

Citação de: opensky online 03 de Abril de 2012, 21:25
Saudações a todos os usuários do fórum e presentes neste tópico,
o tema do tópico da inicio a uma conversa sobre o desenvolvimento de
uma aplicação, voltando ao ponto de partida: "Gerando associação a um
formato de arquivo...".
Utilizando do Ubuntu 12.04 LTS (Beta Final) e possuindo
conhecimentos em Python e GTK decidi gerar um novo tipo de arquivo em branco,
então criei um documento novo vazio e o nomeei como documento.ubx e como
bem sabemos o Ubuntu não possui uma associação natural para o formato de arquivo "UBX",
logo, ao iniciar o arquivo simplesmente será aberto o editor de textos (gedit).

Tópico1: Gerando(criando) um novo tipo de arquivo/Necessidade da Interpretação:
Ao iniciar um novo tipo de arquivo para linux, seja ele de instalação de aplicações,
ou um formato de imagem para rodar uma aplicação, é necessário que o sistema
interprete este tipo de executável e/ou imagem.

Exemplo1: "O sistema Microsoft Windows reconhece o formato "exe" para
executáveis e instalação de softwares."

Exemplo2: O sistema "X" (No caso um Linux Baseado em Ubuntu) reconhece o formato de imagem
"UBX", e ao abrir este arquivo, se  inicia automaticamente a aplicação contida na imagem.
Acho que vc ainda tá muito ligado ao sistema Windows.
O sistema *nix não interpreta um arquivo por sua extensão. Extensão para *nix é desprezível.
Ele interpreta pelo seu conteúdo e pelas permissões rwx.
vc identifica claramente o conteúdo de um comando e/ou arquivo usando o comando file:
file /bin/bash
file /sbin/ifconfig
file /etc/fstab


Citação de: opensky online 03 de Abril de 2012, 21:25
Tópico2:  Formato de executável, instalação ou imagem de aplicação:

Fator: A ideia é criar um formato de imagens para aplicações, onde
o mesmo passar a ser uma imagem e para utilizá-lo é necessário que acha "Interpretação",
por parte do sistema para com o mesmo.

Resumo:
Objetivo- Criar um formato de imagem para um aplicação por exemplo, para o formato "UBX"
no sistema operacional Ubuntu, obtém-se a aplicação, GIMP.UBX, para executá-lo é necessário
que o sistema interprete esta imagem antes.
O que  preciso?
A-Obter conhecimento de como funciona tal interpretação (reconhecimento do sistema) de um arquivo de imagem.
B-O que constitui tal reconhecimento para o formato de imagem criado? Como funciona a interpretação de um formato de arquivo?
C-Como elaborar tal reconhecimento desta imagem para o sistema operacional?

Acho que vc tá tentando reinventar a roda.
Para instalação temos o "Debian binary package"
Talvez se vc disser qual a sua real necessidade poderemos orienta-lo melhor sobre o que vc deve aprender.
Dê-me um computador com o Tux que movo o mundo!

Linux User #323049

opensky

 Na verdade "SelvaKing", a ideia é inventar um novo formato de arquivo,
onde os arquivos fosse tipo "imagens" ao invés de executáveis do tipo "exe",
a ideia é para inventar um formato de arquivo que contivesse tudo dentro de si,
e tudo isso dentro duma imagem executável.

irtigor


opensky

 Bem perdoem minha falta de clareza:
A ideia é fazer um tipo de arquivo de imagem que permite
o sistema rodar uma aplicação, sem necessidade de instalar por exemplo:
FIFA2012.dbx (DBX é um nome fictício de exemplo ele seria similar a uma imagem qualquer de Mídia como "iso" etc..)
Ao clicar no arquivo "dbx" é automaticamente iniciado o jogo.

Ideia:
Desenvolver um formato de arquivo(imagem).
O que contem a imagem:
Os arquivos/componentes do software/jogo.
Ao clicar no arquivo:
iniciasse o software/jogo, sem necessidade de instalar
ou alocar no sistema.

Tota

Ola

O que voce deseja fazer é um aplicativo stand alone, parecido com um .exe do windows.

Isto no gnu/linux costuma vir empacotado como um arquivo .bin, mas como a extensão de arquivo no GNU/Linux é irrelevante voce pode dar o nome que desejar, dese que informe no arquivo README as instruções de instalação do pacote.

Citação de: opensky online 08 de Abril de 2012, 21:58
Ideia:
Ao clicar no arquivo:
iniciasse o software/jogo, sem necessidade de instalar
ou alocar no sistema.

Se o jogo/software for livremente distribuido pela rede, isto que deseja jamais vai acontecer.

O GNU/Linux é baseado em uma hierarquia de provilégios, e ao se baixar um pacote pela rede este vem sem privilegio algum.

Não será executado pois não terá privilegios de execussão, e não será executado pois apenas o dono do arquivo poderá fazê-lo.

Sim, é possivel se alterar a permissão de execussão e o dono do arquivo, mas aí sua premissa de execussão automática cairá por terra. Pois sempre será exigida a senha de superusuario para qualquer uma destas modificações.

Finalmente, tudo isto que deseja fazer já existe, basta pesquisar na rede.

[]'s

irtigor

Isso me lembrou uma tirinha.

Se você compilar estaticamente, o programa vai rodar com dois cliques em qualquer distro linux (desde que o sistema de arq. não esteja montado com noexec).