Seite 1 von 2
Wie am besten Programme unter Linux starten
Verfasst: Donnerstag 1. Januar 2009, 13:54
von Andyh
Hallo
Da ich morgen oder übermorgen mit meinen Programm "Pyedit" soweit bin brauche ich noch eine vernünftige lösung das Programm zu starten.
Wie startet ihr eure Python Programme?
sicher nicht mit cd python datei.py
oder ./datei.py
ich brauche einen weg das die Konsole mit aufgeht, deswegen könnte man doch etwas machen was die Konsole dazu bringt das Programm zu startet.
Uner windows kann man das ja mit ".cmd" dateien machen glaub ich.
Das Programm über c auszuführen habe ich schon versucht, nur ging dann fast nichts mehr. Ich habe das so gemacht:
Diese Lösung finde ich prersönlich nicht sehr gut (gut kann auch davon kommen das es nicht funktioniert)
Gruß
Andyh
Re: Wie am besten Programme unter Linux starten
Verfasst: Donnerstag 1. Januar 2009, 14:12
von gkuhl
Andyh hat geschrieben:Wie startet ihr eure Python Programme?
sicher nicht mit cd python datei.py
oder ./datei.py
Wieso, was spricht dagegen? Man kann natürlich auch noch eine symbolische Verknüpfung anlegen, dann kann man es z.B. mit Alt+F2 ausführen. Weiter kann man Programme über die Menüleiste, den Kicker, Panel oder Desktop starten.
gkuhl
Verfasst: Donnerstag 1. Januar 2009, 14:30
von Andyh
Hallo
Danke für die schnelle antwort!
es spicht nichts gegen ./pyedit.pyw, aber möchte ich gerne das es eine Datei wie unter windows gibt die man mit der man über einen doppelklick das python programm starten kann.
Ich weis nicht wie ich eine solche "verknüpfung" oder c-script" machen kann.
Achso der C-Script
funktioniert schon, aber nur wenn ich ihn in der console ausführe, komisch?
Gruß
Andyh
Verfasst: Donnerstag 1. Januar 2009, 14:46
von gkuhl
Wenn du ein "C-Skript" schreibst, stehst du doch vor genau den selbem Problem. Wie startet man am besten ein C-Skript unter Linux. Die Antwort: Man legt eine Verknüpung an. Das ist unter Windows meines Wissens auch nicht anders, wo man ja auch Desktopverknüpfungen hat.
Unter Gnome heißen die Dinger übrigens "Starter". Mit rechtsklick auf den Desktop "Starter anlegen". Ähnliches geht im Panel oder für das Hauptmenü. Bei KDE sieht das ziemlich ähnlich aus.
Um symbolische Links anzulegen hilft vielleicht dieser Wikieintrag:
http://wiki.ubuntuusers.de/ln
Grüße
gkuhl
Verfasst: Donnerstag 1. Januar 2009, 15:09
von Andyh
Hallo
Gut ich bin vieleicht eine niete im erklären.
Was passiert wenn:
Ich auf eine .py/.pyw klicke -> Editor startet zum bearbeiten
Ich auf eine Copiliertes c_script klicke -> Programm startet
oder ist das bei euch anders?
Gruß
Andyh
Verfasst: Donnerstag 1. Januar 2009, 15:32
von HWK
Andyh hat geschrieben:oder ist das bei euch anders?
Ja. Bei mir sind die Python-Datei-Endungen mit python bzw. pythonw verknüpft. Deshalb starten bei einem Doppelklick die Dateien direkt. Das dürfte bei der Python-Installation unter Windows auch der Standard sein.
MfG
HWK
Verfasst: Donnerstag 1. Januar 2009, 15:40
von Andyh
Hallo
Danke für deine Antwort HWK!
Das bringt schonmal licht ins duckel.
Also starten Python-Programme unter linux nicht automatisch ganeu wie bei mir.
Nur brauche ich jetzt einen weg der mit Doppelklick geht und ohne was am system herumzustellen.
Wenn man eine software bekommt möchte mann ja auch nicht erst mal hier ne Verknüpfung machen und da was einstellen.
gruß
Andyh
Verfasst: Donnerstag 1. Januar 2009, 15:50
von HWK
Das macht unter Linux der sogenannte Shebang, die erste Zeile im Script, z.B.:
Sie gibt das Programm an, mit dem das Script ausgeführt werden soll.
MfG
HWK
Verfasst: Donnerstag 1. Januar 2009, 15:51
von Pekh
Wie du vielleicht schon festgestellt hast, ist Linux nicht gleich Linux. Jedes System ist ein wenig anders konfiguriert. Der Standard-Weg, der bei vernünftig definierter Shebang fast überall funktionieren sollte, ist nun einmal ./programm.py
Wenn ich eine Python-Datei mit Shebang und Ausführrechten versehe, wird sie bei Doppelklick übrigens gestartet. Fehlen die Ausführrechte, wird sie im Editor geöffnet. Vielleicht solltest du da mal n Blick drauf werfen.
Verfasst: Donnerstag 1. Januar 2009, 15:52
von gkuhl
Andyh hat geschrieben:Gut ich bin vieleicht eine niete im erklären.
Es liegt wohl eher daran, das ich heute mal ziemlich schlecht erkläre.
Es gibt zwei Arten Skripte zu öffnen. Erstens zum Editieren in einem Texteditor oder zweitens zum Ausführen. Was davon passiert, wenn du auf eine Datei klickst, hängt von deinen Einstellungen ab. Es gibt auch die Einstellung, dass du auswählen kannst was passiert. Da eine kompilierte C-Datei eine Binärdatei ist, fällt die Bearbeitung im Texteditor weg. Das ist der Grund, warum diese Dateien dann immer ausgeführt werden.
Wenn man ein Programm einfach über den Terminal starten möchte, kann man eine Verlinkung erstellen. Firefox kann man z.B. einfach durch das Eintippen von "firefox" öffnen. Das ist eine Verknüpfung auf ein Shell-Skript, dass Firefox ausführt.
Für den Desktop, den Panel oder auch das Menü gibt es (unter Gnome) die Möglichkeit "Starter" anzulegen. Hier kannst du ebenfalls auswählen, wie du das Programm starten möchtest. Es gibt übrigens auch die Möglichkeit "im Terminal ausführen".
gkuhl
Verfasst: Donnerstag 1. Januar 2009, 15:53
von BlackJack
Einfach die Python-Datei mit ``chmod`` ausführbar machen. Bei einigen Benutzern wird die dann bei Doppelklick ausgeführt, bei anderen öffnet sich ein Editor mit der Datei, und bei wieder anderen geht ein Fenster auf, welches nachfragt was davon getan werden soll. Das geht *Dich* aber alles nichts an, weil das wirklich in der Verantwortung der Benutzer liegt, was die gerne hätten, was bei einem Doppelklick passiert.
Verfasst: Donnerstag 1. Januar 2009, 15:56
von Andyh
Hallo
Danke ihr zwei, nur das habe ich schon alles durch.
Ich glaube ich werde falsch verstanden.
Wenn ich das für micht ausführe ist das ja alles in ordnung.
Ich will das Programm aber verteilen und deswegen muss die lösnung nach der ich suche einfach so funktionieren ohne rechte setzten ohne was ins terminal zu schreiben, wobei aber sich ein Terminal öffnen soll.
Gruß
Andyh
Verfasst: Donnerstag 1. Januar 2009, 16:12
von BlackJack
Du könntest Dich mit
Desktop Entry-Dateien befassen und wie man die mit den ``xdg-*``-Werkzeugen installiert. Dann könntest zumindest einen einfachen Installer für Desktop-Umgebungen schreiben, die diesen Standard unterstützen.
Verfasst: Donnerstag 1. Januar 2009, 16:18
von Leonidas
Ja, am besten du baust Distributuions-Pakete die automatisch Verknüpfungen anlegen. Persönlich starte ich aber Programme sehr oft einfach über die Konsole oder Alt-F2; einige Leute schwören auch auf "GNOME Do".
Verfasst: Donnerstag 1. Januar 2009, 16:24
von Andyh
Hallo
Ich denke Desktop Entry ist genau das richtige!
besten dank.
Gruß
Andyh
Verfasst: Donnerstag 1. Januar 2009, 16:30
von abgdf
Ich will das Programm aber verteilen und deswegen muss die lösnung nach der ich suche einfach so funktionieren ohne rechte setzten ohne was ins terminal zu schreiben, wobei aber sich ein Terminal öffnen soll.
Die Sache mit
ist unter Linux den Benutzern bekannt. Wäre also ok so.
Wenn Du die Datei mit korrekten Rechten packst (etwa in ein .tar.gz), kommt sie beim Benutzer auch so (also auch schon ausführbar) an.
Es gibt da also eigentlich keine Probleme ...
Gruß
Verfasst: Donnerstag 1. Januar 2009, 16:54
von Andyh
Hallo
Also das finde ich die beste Lösung:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Pyedit
GenericName=Pyedit
Comment=Pyedit
Exec=python /home/andy/py/pyedit/pyedit.pyw
Terminal=true
Type=Application
StartupNotify=true
den pafd bei Exec lasse ich von meinen installscript erstellen, somit währe die sache ja gut und unter windows lasse ich nur eine verknüpung erstellen.
Gruß
Andyh
Verfasst: Donnerstag 1. Januar 2009, 18:18
von Leonidas
Funktioniert das unter allen DEs? Nicht unsonst gibt es XDG-utils.
Verfasst: Donnerstag 1. Januar 2009, 18:57
von veers
Ich würde da keinen absoluten Pfad verwenden entweder python -m pyedit.pyedit oder einfach 'pyedit' mit einem shebang versehen und ab nach $PATH
Verfasst: Donnerstag 1. Januar 2009, 18:58
von Andyh
Hallo
Leider kann ich das nicht testen, aber ich hoffe mal.
Gruß
Andyh