sh Datei ohne Konsole ausführen in Ubuntu?

3 Antworten

Die meisten Distributionen haben vorinstallierte Dateien vom Typ *.desktop im Verzeichnis $HOME/Desktop (oder Schreibtisch).

Der Inhalt ist zB für die Lautstärkeregelung:

#!/usr/bin/env xdg-open[Desktop
Entry]Version=1.0
Encoding=UTF-8Name=PulseAudio Volume
ControlName[de]=PulseAudio-Lautstärkeregler
GenericName=Volume
ControlGenericName[de]=Lautstärkeregler
Comment=Adjust the volume level
Comment[de]=Lautstärke anpassen
Exec=pavucontrolIcon=multimedia-volume-control
StartupNotify=trueType=Application
Categories=AudioVideo;Audio;Mixer;GTK;

Die Rechte:

-rwxrwxr-x 1 user user 385 Sep 17 17:26 Desktop/pavucontrol.desktop*

Diese Datei, in dem Fall der Lautstärkeregler, wird per Maus aktiviert. Ob einfach oder doppelt ist einstellbar.

Analog für ein Terminal (Konsole):

Type=Application
TryExec=konsole
Icon=utilities-terminal
Categories=Qt;KDE;System;TerminalEmulator;
Actions=NewWindow;
X-DBUS-StartupType=Unique
StartupNotify=true
X-KDE-AuthorizeAction=shell_access
Name=Konsole
Name[de]=Konsole
GenericName=Terminal
GenericName[de]=Terminal
[Desktop Action NewWindow]
Name=Open a New Window
Name[de]=Ein neues Fenster öffnen
Exec=konsole

Anhand dieser Beispiele sollte es leicht sein, beliebige Anwendungen per Maus zu starten.

Woher ich das weiß:eigene Erfahrung

welchen Unterschied siehst du in einer Konsole (aus der Überschrift) und einem Terminal im Text?

Beide sind doch für die Kommunikation Bediener <--> Computer da.

Die nächste Frage ist: wo willst du eine Datei mit Doppelklick ausführen. Dazu bedarf es doch z.B. eines Dateimanagers oder eines anderen GUI, dass so einen Doppelklick mit einem Execute-Befehl verbindet.

Wenn das geht, dann muss die ".sh-Datei" ausführbar sein, d.h. das x-Flag muss gesetzt sein.

Mit im Terminal ausführen ist das aber so eine Sache.

Du könntest deine Befehle so in die ".sh-Datei" eintragen:

xterm -e <der-gewünschte-Befehl>
xterm -e <ein-anderer-Befehl>

Dabei blitzt das Terminal kurz auf und ist wieder weg. Was nun? Oder noch anders, das Terminal brauchst du gar nicht.
Wenn du Text-Ergebnisse des <der-gewünschte-Befehl> sehen willst, dann leite sie in eine Datei um und betrachte die später.

<der-gewünschte-Befehl>  >    <Datei-mit-Ergebnissen>
<ein-anderer-Befehl>     >>   <Datei-mit-Ergebnissen>

und später oder auch gleich im Script

xterm -e less <Datei-mit-Ergebnissen>

hier bleibt der Text im Terminal, weil less solange läuft bis es durch den Operator (durch dich) beendet wird.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Hallo

sh Datei ohne Konsole ausführen in Ubuntu?

Im allgemeinen wird die Dateiendung *.sh für Shell Scripte verwendet, somit wird natürlich auch eine Shell als Interpreter benötigt um den Inhalt des Scripts zu interpretieren und auszuführen.

ich möchte es hinbekommen das man einfach eine Datei hat die man einfach mit doppelklick ausführt

Das ist was anderes, dafür wird lediglich in den Desktop-Einstellungen festgelegt das bei einem Doppelklick auf Dateien mit der Endung *.sh das Programm Terminal verwendet werden soll.

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102