Linux: Befehl via Icon ausführen.

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102
Lorwyll 
Fragesteller
 05.04.2013, 08:02

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ß :)

0
Linuxhase  05.04.2013, 14:19
@Lorwyll

@Lorwyll

Ich habe das ganze bereits realisiert, in etwa so wie du es hier beschrieben hast. Zusätzlich ein read und eine While.

Klingt gut, dann viel Erfolg noch mit GNU/Linux

Linuxhase

0

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.

Lorwyll 
Fragesteller
 04.04.2013, 14:05

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ß

0
mayhem666  04.04.2013, 14:10
@Lorwyll

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.

0