Linux: Befehl via Icon ausführen.
Hallo :)
ich steige momentan in die Linux-Welt ein und komme soweit auch ganz gut zurecht. Nun möchte ich in Zukunft gerne Xampp bzw, Lampp nutzen und habe dies auch bereits installiert. Nun startet man es leider über den Befehl "/opt/lampp/lampp start" daher wollte ich das ganze mal mit einem Icon einfacher gestalten.
Am liebsten wäre mir wenn ich im Tab-Programm Cairo einem Benutzerdefinirtem Starter den Befehl zum ausführen übergebe, allerdings startet Lampp dann nicht was eventuell an den Rechten liegen könnte.
Meine Frage - Wie kann ich einen Befehl über eine Datei ausführen? Dann könnte ich eventuel mit Cairo auf die Datei zurückgreifen.
Gruß L.
2 Antworten
Hallo
Nun startet man es leider über den Befehl "/opt/lampp/lampp start" daher wollte ich das ganze mal mit einem Icon einfacher gestalten.
Das Kommando:
/opt/lampp/lampp start
Musst Du aber als root ausführen, ergo kann es der "normale" Benutzer nicht starten.
Am liebsten wäre mir wenn ich im Tab-Programm Cairo einem Benutzerdefinirtem Starter den Befehl zum ausführen übergebe, allerdings startet Lampp dann nicht
Du könntest es natürlich über ein Script erledigen:
#!/bin/bash
#Name: lampstart.sh
/opt/lampp/lampp start
Welches natürlich noch ausführbar gemacht werden muss:
chmod +x lampstart.sh
Dann kannst Du es im Desktop mit einem speziellen Icon versehen und zu Deinerm Cairo-Dock hinzufügen. Jedoch bleibt es immernoch root vorbehalten das Script zu starten, deswegen wäre es dann angebracht vor das Kommando ein sudo zu setzen oder es gleich so zu schreiben:
su -c "/opt/lampp/lampp start"
Wenn Du nun aber schreibst:
Es sollte doch dann auch möglich sein, dem Script zu sagen das es: ein Terminalfenster öffnen, die Befehle dort anzeigen soll und dieses Fenster auf läst bis ich es schließe? Dann könnte ich auch sehen ob er die Befehle richtig ausgeführt hat.
- Da frage ich mich doch wozu dann doch ein Desktop-Icon.
- Zumal man diese Art von Programmen eigentlich als Dienst starten lässt.
Wenn Du es aber dennoch so haben willst kann man zenity für die Ausgabe verwenden.
#!/bin/bash
#Name: testscript.sh
echo "Das ist nur ein sinnloser Datei-Inhalt" > /tmp/testfile.txt
zenity --text-info --filename=/tmp/testfile.txt 2>/dev/null
Verstehen kann ich das Vorhaben aber dennoch nicht.
Linuxhase
Ich habs selbst noch nicht gemacht, aber mach doch einfach eine textdatei, in der du deine Befehle reinschreibst, quasi wie bei Windows mit einer Batch datei. Nur muss bei Linux noch das Shebang
#!/bin/sh
drüber, damit es weiss, dass es auf der Shell ausgeführt wird.
Hi, demnach die Datei Test.sh erstellen und z.B. hiermit befüllen:
#!/bin/sh
ls -l /op/
Danach die .sh als Standardeinstellung mit sh öffnen. Es sollte doch dann auch möglich sein, dem Script zu sagen das es: ein Terminalfenster öffnen, die Befehle dort anzeigen soll und dieses Fenster auf läst bis ich es schließe? Dann könnte ich auch sehen ob er die Befehle richtig ausgeführt hat.
Gruß
Die Dateiendung ist Linux egal. Kannst die Datei auch lala.lol nennen. Dafür ist das Shebang ja da. Windows orientiert sich nach der Dateiendung. .bat oder .cmd heisst mit Shell ausführen, .jpg mit IrfanView oder Fotoanzeige etc.
Bei linux brauchst du keine Endung, dafür sagst du mit dem Shebang ja womit es ausgeführt wird. Willst du eine Perlscript ausführen, dann kommt
#!/usr/bin/perl
Davor. Wie das jetzt auf der GUI aussieht, weiss ich nicht da ich nur auf der Shell arbeite.
Als jahrelanger Windows user bin ich es gewohnt meine Programme getrennt voneinander auf dem Desktop anwählen und bedienen zu können. Daher wollte ich hier ein Icon, das den Dienst in einem separaten Terminal öffnet, das wiederum Eingaben zu diesem Dienst erwartet. Somit vergesse ich auch nicht das ich ihn mal gestartet/noch nicht beendet habe und kann nun nur durch die Parameter-Angaben den Dienst steuern.
Ich habe das ganze bereits realisiert, in etwa so wie du es hier beschrieben hast. Zusätzlich ein read und eine While.
Gruß :)