Programmstart unter Linux | Astronomie.de - Der Treffpunkt für Astronomie

Programmstart unter Linux

Jens

Mitglied
Ich habe das Programm jetzt unter Linux Mint erfolgreich installiert bekommen, werde aber wohl den RAM noch aufrüsten müssen.^^
Der Start des Programms ist derzeit bei mir aber etwas kompliziert, weil ich erst im Terminal die Directory anwählen muß und dann den PSS über eine lange Befehlseingabe starten kann.
Kann man das abkürzen, also über eine Verknüpfung, die dann ganz normal wie alle anderen Programme angeklickt werden kann?
 

ksnguyen

Mitglied
Schreibe ein Shell-Skript. Aus dem Terminal heraus kannst Du alles machen. Ich mache immer so was, wie nachstehender Skriptinhalt zeigt:

#!/bin/sh​
LOGFILE=~/proglog.log​
PPATH='/bin/kstars'​
PID=0​
$PPATH > $LOGFILE 2>>$LOGFILE &​
PID=$!​
echo "PID: $PID"​
exit 0​



Damit das Skript ausführbar wird musst Du auf dem Terminal eingeben ("Change-Modes all+executeable Zielpfad"):

chmod a+x /<Pfad-zum-Skript>

Du kannst einen symbolischen Link auf den Desktop legen ("Link -symbolisch -Target Zielpfad Quellpfad")

ln -s -T /<Pfad-zum-skript> /<Desktop-Pfad>/<Skriptname>

Allerdings musst Du den Pfad zum Desktop kennen:
  • Click-and-Look Variante. Am Einfachsten Du erstellst das Shell-Skript (Textdatei) auf Deinem Mint-Desktop, Rechts-klickst auf das Icon und schaust in den Dateieigenschaften nach. Es gibt unterschiedliche Desktop-Umgebungen für die Linux-Distributionen (Unity, Gnome sind typische). Ich weiß, dass Mint-Cinnamon Deine Funktion unterstützt, ist bei mir aber lange her.
  • Konsolen Variante. Da ich selbst keine Icons auf den Desktop zu legen versuche und auch noch Ubuntu-gestört bin, glaube ich jedoch, dass alle großen Distributionen gemein haben, den Desktop-Pfad mit
echo $XDG_DATA_DIRS

auf der Konsole herauszubekommen. Bei mir schauts so aus wie in einem der Bildanhänge.​


Anmerkungen:
#!/bin/sh oder #!/bin/bash : Macht aus dem Textdokument ein Shell- bzw. Bourne-Shell-Skript (ist egal welche).

PPATH : Pfad zum Programm; findest Du im Terminal mit der Eingabe 'whereis <programm-name>' oder 'which <programm-name>'; zum Beispiel /bin/kstars oder /usr/bin/dummyname

Der Inhalt der Variablen kann mit einfachen Gänsefüßchen mit zusätzlichen Programmargumenten erweitert werden. Beispiel:
PPATH='/bin/kstars --paused --date "2020-03-04 23:35:00"'

$PPATH : Macht die Ausführung nach /bin/<programm-name>. Wichtig ist führendes '/' für die absolute Pfadangabe ins Programmverzeichnis. Das '&' am Ende der Zeile versetzt das Progamm in den Hintergrund, sodass es nach dem Doppelklick weiterläuft, während das Shell-Skript selbst beendet wird. Aus diesem Grund gebe ich zumindest die Prozess-ID des gestarteten Programmes aus, sodass man es leicht töten kann - falls erforderlich - mit einer Terminaleingabe:

kill -s SIGKILL <Prozess-ID>

LOGFILE : Programm-Protokoll. Geht was schief, kannst Du die Fehlerausgaben des Programmes dort nachlesen. Im obigen Skript wird die Log-Datei bei jeder neuen Skriptausführung neu beschrieben. '~/' ist gleichbedeutend mit $HOME.


Um welches Programm handelt es sich nochmal?
Wenn das hier im Forum zu umständlich ist, kannst mich auch anhauen und ich leite Dich mal telefonisch zum Shell-Erfolg.


Grüße,

Sebastian
 

Anhänge

  • ubuntu_progpath.png
    ubuntu_progpath.png
    17,7 KB · Aufrufe: 40
  • ubuntu_desktop_pfad.png
    ubuntu_desktop_pfad.png
    38 KB · Aufrufe: 36
Zuletzt bearbeitet:

ksnguyen

Mitglied
Systemauslastung Überwachen

Konsolendesktop-Manager:

htop

oder

sudo htop

Letztere Variante erlaubt mit Mausklicks oder den F-Tasten Prozesse zu killen, zu steuern, und zu filtern, falls erforderlich.

Ist 'htop' nicht installiert kann es bequem mit der Super-Kuh erledigt werden:

sudo apt-get update
sudo apt-get install -y htop

Du kannst auch das klassische 'top' verwenden.

Grüße,

Sebastian.
 

Jens

Mitglied
Hallo Sebastian,

besten Dank für Deine ausführliche Antwort, ich werde das mal versuchen.
Mit Linux ist es manchmal wirklich nicht einfach, aber wenn es läuft, dann läuft es perfekt.

Viele Grüße,
Jens
 
Oben