Die Idee find ich (als HTML-Liebhaber) sehr gut. Allerdings bin ich mir über die Umsetzungsmöglichkeiten auch noch nicht so ganz im Klaren, denn Kommandozeilenprogramme erfordern ja Parameter wie auch die Möglichkeit, etwas auszugeben.
Also so habe ich die Idee jetzt verstanden:
eine alt Liste von Checkboxen wo man die Aufrufparameter ankreuzen kann und für diejenigen, wo man noch z.B. eine Datei übergeben muss eine Box dahinter für Dateiauswahl (eben alles mit <input> gelöst)
Und da die Ausgaben ja sehr... naja in der Form unvorhersehbar sind, dann ein Textfeld, wo nach/während der Ausführung steht was das Programm auf die Konsole schreiben würde.
So ein Interface müsste dann für jedes Konsolenprogramm geschrieben werden. Allerdings ginge das sehr schnell weil man eigentlich nur die Parameterliste erstellen muss und man dafür (für HTML unwissende oder faule) ein Template zur Verfügung stellen könnte.
Die Probleme, die ich sehe sind folgende:
1. HTML Dateien dürfen nichts ausführen (sonst könnte jeder Webseitenbetreiber deine Festplatte formatieren)
2. Wie sollen die Rückgabedaten zur Laufzeit ins HTML file?
Diese beiden Probleme könnte man wahrscheinlich mit einem Firefox-Plugin lösen. Doch wären dann immernoch keine Skripte möglich, die rootrechte brauchen, denn Firefox als das startende Programm hat ja auch keine rootRechte (wenn man nicht wahnsinnig ist)
Dann müsste man quasi noch ein sudo voranstellen und das Passwort übergeben.
Den ganzen HTML Kram könnte ich machen (mit Template und allem) aber ich bräuchte eine Möglichkeit, mit einem Terminalemulator zu interagieren; am besten mit JavaScript. Also eine Funktion execInShell (command) und eine ständig aktualisierte Variable wie textOnShell. Diese müssten dann von dem Firefoxplugin gestellt werden (das ich nicht schreiben kann)
Für Programme, die während der Laufzeit noch Rückfragen stellen (Wollen Sie wirklich Ihre Festplatte formatieren? -ja Es könnten Daten verloren gehn! -ja) könnte ich noch eine Funktion sendToShell (textLine) gebrauchen, die nach Eingabe des Textes die Returntaste auf der Shell drückt.
Also wenn sich jemand für das Plugin findet, können wir im Prinzip anfangen.