• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Programme erstellen

A

Anonymous

Gast
Hallo,

ich möchte unter LINUX kleine "Programme" erstellen,die auf jedem Linux PC laufen.

Unter Programme sind z.B. Fenster wie "KDialog" usw. zu verstehen. Keine umfangreichen Sachen.

Für den Anfang möchte ich ein "Form" programieren, in dem 3 Icons erscheinen.
Klicke ich auf das jeweilige Icon, sollen jeweils die Programme Kate, Firefox und Konqueror starten.
Also kleine Sachen, zum Einstieg.


Ich habe Vbasic und Gambas gefunden.

Wer hat damit Erfahrung und kann mir Hinweise und Tipps geben.
 

spoensche

Moderator
Teammitglied
Wenn du schon unter Linux Progrämmchen schreiben willst, dann packst du das VBscript mal besser in nen Koffer und den Koffer schiesst du zum Mars. C# mit Mono ist unter Linux kein Problem. Statt VBScript kann ich dir Python empfehlen, was unter Linux und unter Win funktioniert.

Wenn du für das Programm OpenSource Bibliotheken verwendest, auf anderen Linuxrechnern ggf. nachinstalliert werden können, wird es kein Problem sein das Proggi auf unterschiedlichen Distris zu nutzen. Wenn es auch auf anderen Prozzessor- Hardwarearchitekturen laufen soll, dann muss es cross-compilebar sein.
 

abgdf

Guru
Ja, Python kann ich Dir auch sehr empfehlen.

Grafische Oberflächen, auch welche mit nur ein paar Knöpfen, sind aber schon (im Prinzip in allen Sprachen) nicht ganz so trivial und erfordern etwas Einarbeitung.
Einen Einstieg in die Sprache findest Du z.B. hier, in grafische Oberflächen mit dieser Sprache hier.
Es gibt auch ein deutsches Forum mit vielen ziemlich kompetenten Programmierern (von denen einige nach meiner Erfahrung aber leider nicht immer ganz so nett sind). ;)

Viel Spaß
 
OP
A

Anonymous

Gast
Hallo,


vielen Dank für die Tipps. Habe mich mal bei Python umgeschaut und gleich eine Frage.

Ich habe mir ein Fenster mit versch. Buttons angelegt.

Code:
# Vertikale Box
        vbox = gtk.VBox(True, 1)
        button = gtk.Button("Kate")
        button.show()

Welchen Code muss ich nutzen, damit beim Drücken des Buttons
der Editor "Kate" gestartet wird?
 

spoensche

Moderator
Teammitglied
Du schreibst eine Eventhandlerfunktion bzw. Eventlistener der beim Klick ausgelöst bzw. aufgerufen wird. Der Eventhandler kann dann einen subprocess aufrufen in dem Kate gestartet wird.

Da ich Python für Konsolenprogramme verwende und mich nicht python-gtk beschäftigt habe kann ich dir nur den Ablauf bzw. die Funktion wie oben beschreiben. Für den Code müsstest du die python-gtk Doku bemühen.
 

abgdf

Guru
http://www.pygtk.org/pygtk2tutorial/index.html

http://www.python-forum.de/viewforum.php?f=27

Ich könnt' nur was zu Tkinter sagen ...
 

TomcatMJ

Guru
"Auf jedem Linux" und "mit GUI" schliesst sich schonmal aus..siehe z.B. Tiny Linux,was komlett ohne GUI daherkommt aber dafür auf weniger Disketten passt...Shellscripte dürften das einzige sein,was man wirklich so zusammenstellen kann, daß es auf jedem Linux läuft...alles andere sollte man als "auf möglcihst vielen Linux-Distributionen laufend" als Zieldefinition benennen aber nicht mit dem definitiv umöglichen Ziel es auf "jeder" Distribution zum laufen zu bringen...
 

abgdf

Guru
Ich denke außerdem, daß Tkinter-Programme sich leichter auf möglichst viele Linux-Distributionen (und auch Windows) verbreiten lassen, weil man da nicht so sehr das Problem mit verschiedenen Gtk- oder Qt-Versionen hat.
Je kleiner das Toolkit, umso größer die Chance, daß es auch woanders läuft.

Also, ich schreibe meine Tkinter-Programme unter Linux, und die laufen dann "out-of-the-box" auch unter Windows. Vielleicht sollte man noch ein paar Fonts anpassen. Das ist gar kein Problem, und man kann es auch schon im Skript berücksichtigen:
Code:
import os
if os.name == "posix":
    fonts = {"app"   : '"Suse Sans" 16',
             "small" : '"Suse Sans" 12',
             "text"  : '"Courier" 20'}
elif os.name == "nt":
    fonts = {"app"   : 'Arial 10',
             "small" : 'Arial 8',
             "text"  : '"courier new" 10'}
Dann läuft dasselbe Skript tatsächlich auf beiden Systemen.
Das ist schon klasse.

Gruß
 
Zu Gambas: In der (momentan noch) stabilen Version 2 absolut zu empfehlen, es müsste auch in den repos zu deiner Distri irgendwo fertig zu finden sein.

Ich benutze es schon seit langer Zeit für alles, was ich so unter Linux programmiere, von winzig bis groß. Auf jeden Fall ist es einen Versuch wert.

Rolf
 
Oben