Re: Gibt es einen Befehl zum Öffnen einer beliebigen Datei?



Sieghard Schicktanz schrieb:

Du schriebst am Mon, 09 Nov 2009 02:10:20 +0100:

Gedacht ist binfmt_misc in der Tat für *ausführbaren* Code - und der muss nicht zwangsläufig nativer Binärcode sein, sondern eben auch Java

Es ist sogar spezifisch dafür gedacht, daß es _kein_ "nativer Binärcode"
sein sollte (auch wenn das machbar wäre), sondern irgendwelche speziellen
Formate.

Ich zitiere aus <http://www.tat.physik.uni-tuebingen.de/~rguenth/linux/binfmt_misc.html>:

"Binfmt_misc provides the ability to register additional binary formats to the Kernel without compiling an additional module/kernel."

Und dann am Ende finden sich Beispiele für die Ausführung von Java-Programmen, Java-Apples und DOS-Programmen.

Und die Dokumentation dazu sagt explizit:

"This Kernel feature allows you to invoke almost (for restrictions see below) every program by simply typing its name in the shell. This includes for example compiled Java(TM), Python or Emacs programs.

To achieve this you must tell binfmt_misc which interpreter has to be invoked with which binary. Binfmt_misc recognises the binary-type by matching some bytes at the beginning of the file with a magic byte sequence (masking out specified bits) you have supplied. Binfmt_misc can also recognise a filename extension aka '.com' or '.exe'."

Ja, man *kann* binfmt_misc auch dazu benutzen, um beliebige Dateien an eine dafür "zuständige" Anwendung zu übergeben. Gedacht ist binfmt_misc aber ganz eindeutig als Erweiterung des Shebang-Mechanismus, um beliebige Binärdateien in der Shell direkt aufrufen zu können und nicht nur Shell-Scripte.

Bytecode, ein Windows Binary usw.. Am Ende wird stellt aber immer die Datei *selbst* ein Programm dar - ggf. ausgeführt durch eine

Naja, kannst Du da mal die Grenzen genau spezifizieren?
Ich meine, die sind recht schwierig zu ziehen - ist die Datei, die die
Konstruktionsbefehle für eine Zeichnung enthält, eine Datendatei oder ein
Programm? Ist eine Postscript-Datei eine Datendatei oder ein Programm?

Ist eine PNG-Datei eine Datendatei oder ein Programm? Ist ein Datei, die ein MPEG4-Video oder Musik im OGG-Format enthält auch als Programma anzusehen?

Die von Dir genannten Beispiele sind Sprachen, die Dokumente beschreiben. Ja, PostScript kann auch rechnen, bedingte Anweisungen und Schleifen ausführen - Ziel ist es aber, ein Dokument damit zu beschreiben.

Ein Programm wird ja auch im allgemeinen nicht aufgerufen, weil es lauffähig
ist, sondern um etwas Bestimmtes damit zu erreichen - z.B. eine Tabelle zu
berechnen.

Richtig. Aber genau das tut weder eine Grafikdatei, noch eine Videodatei. Und darum ging es - ob es sinnvoll ist, binfmt_misc auch dazu zu benutzen, eben solche Dateien allein durch ihren Aufruf an die zuständige Software für die Aktion "öffnen" weiterzureichen und im Dateisystem als "ausführbar" zu kennzeichnen.

Laufzeitumgebung. Es ergibt in der Regel auch wenig Sinn, Java Bytecode ausdrucken zu wollen.

Warum nicht? Der dürfte recht einfach aus der Binärform in lesbare Befehle
rückübersetzbar sein - evtl. sogar mit den originalen Bezeichnern.

Auch x86-Maschinencode kann man einfach rückübersetzen. Trotzdem dürfte das in der *Regel* kaum jemand brauchen.

Und bei PostScript wäre "drucken" in der Regel die Ausführung des PostScript-Codes durch einen Interpreter, der die erzeugten Seiten ausdruckt und die Aktion "anzeigen" wäre das selbe, nur statt einem Ausdruck eben die Anzeige am Bildschirm. Wie würde man nun "öffnen" definieren wollen? Standardmässig am Bildschirm anzeigen oder doch lieber drucken?

Dem gegenüber will man Bilder, Texte oder Videos eben nicht einfach nur "öffnen", sondern viel mehr gibt es verschiedene Aktionen, wie z.B.
...
Das ist auch nur eine Frage der Grenzziehung - und die ist eben nicht
scharf.

Sie ist aber IMHO hinreichend, um zwischen "Daten" und "Programmen" unterscheiden zu können.

Und damit landet man dann doch wieder beim Desktop der eigentlich dafür zuständig ist, die möglichen Aktionen für verschiedene Dateitypen zu

Warum soll das erst "der Desktop" machen? Das sind eher Eigenschaften, die

Weil der Desktop die Schnittstelle ist, über die Computer oft bedient werden.

man den _Dateien_ selber zuordnen möchte, ganz unabhängig von einem
"Desktop", aber wohl gelegentlich abhängig vom jeweiligen Benutzer
(möglichst mit Kopiermöglichkeit, die fast immer nicht vorhanden ist).

Nun - die existierenden Dateiformate sehen solche Eigenschaften nicht vor. Man muss also Metadaten pflegen, wie es MacOS schon lange macht und Windows mit NTFS prinzipiell auch könnte - nur aus Kompatibilitätsgründen leider nie genutzt hat.

Beim Kopieren bleibt aber das Problem, dass die zuständigen Programme nicht auch mitkopiert werden - was auch sinnvoll ist, da ich z.B. bei der Weitergabe einer CAD-Zeichnung nicht jedesmal das komplette CAD-Programm mitgeben will, sondern nur den Inhalt der Zeichnung.

Das Zielsystem muss dann schon selber wissen, wie es mit der CAD-Zeichnung umzugehen hat - und dazu muss die Datei selber keinerlei besondere Attribute haben. Im Zielsystem muss nur klar sein, dass es sich um eine Datei eines bestimmten Typs handelt, wofür oft die Dateiendungen verwendet werden oder im Fall von MacOS Creator-IDs - weshalb man dort üblicherweise auch angepasste Archivformate verwendet, um diese Metadaten zu erhalten (früher SIT, jetzt auch eine erweiterte Version von ZIP).



--
http://arnowelzel.de
http://de-rec-fahrrad.de
.



Relevant Pages

  • Re: Wozu noch DOS?
    ... vielen als die stabilste und "sauberste" Version von MS-DOS angesehen ... Mitteln nicht mehr als "klassisches DOS" bezeichnen. ... Gegner von DOS ihre Behauptung, daß DOS primitiv sei, eben auf das ... ob ein solches Programm, das im Falle von CLS sogar in die Shell ...
    (de.comp.os.msdos)
  • Re: Autorun
    ... >> Warum wäre es doof, ein Programm zu starten, welches prüft, ob ... > Was ist wenn der Anwender nichts installieren will? ... ob er fehlende Voraussetzungen installieren will ... dann wird eben abgebrochen und in diesem Fall läuft ein VB-Programm wg. ...
    (microsoft.public.de.vb)
  • Re: =?ISO-8859-1?Q?=22Lernf=E4hige?= Musik-Software komponiert Gesangsbegleitung" (Heise
    ... Tonika und Tonikaparallele kriegen Dominanten, ... verstärkt das das Programm, eben diese zu nehmen. ... Das Programm hat ja keinen Anspruch an Ästhetik. ... dass die Software prinzipiell fast jeden diatonischen Ton zu fast jedem ...
    (de.rec.musik.machen)
  • Re: Stored Procedures in Access ?
    ... Im Prinzip kannst Du in solchen gespeicherten Abfragen alles hinterlegen, ... Wenn Du mit einem VB Programm via Jet-Engine auf eine *.mdb ... Eine Access.mdb ist kein aktives Programm wie z.B. ein SQL-Server, ... einfach eine simple Datei, die wie jede andere Datei eben auch, irgendwo auf ...
    (microsoft.public.de.vb.datenbank)
  • Re: Krankenkasse wirbt offensiv fYr MessgerSt-Umstieg
    ... >> ...eben nicht einfach im Programm nutzbar. ... >> alles ausdrucken, bis ich es in einer Form habe, mit der ich ... Next by Date: ...
    (de.sci.medizin.diabetes)