Warum wird dieser zweite Nohup-Befehl nicht ausgeführt?

Warum wird dieser zweite Nohup-Befehl nicht ausgeführt?

Alles läuft, bis auf die letzte Zeile:

#!/bin/bash
xinput set-prop 11 "Device Accel Profile" -1
xinput set-prop 11 "Device Accel Velocity Scaling" 1
xinput set-prop 11 "Device Accel Constant Deceleration" 2
nohup java -jar /home/owner/Desktop/Dropbox/TimerApp.jar > /dev/null 2>&1 &
sleep 5
nohup abiword "/home/owner/Desktop/Dropbox/TODO.rtf" > /dev/null 2>&1 &

Ich starte das Skript namens "startup.sh" per Doppelklick in Nautilus. Sowohl "im Terminal ausführen" als auch "Ausführen" führen zum gleichen Ergebnis.

Antwort1

Es scheint, nohupdass SIGHUP (oder möglicherweise andere Signale) nicht ignoriert wird, bis es vollständig gestartet ist.

Eine bessere Alternative nohupwäre:

your_command & disown

In Ihrem Fall:

abiword "/home/owner/Desktop/Dropbox/TODO.rtf" > /dev/null 2>&1 & disown

Antwort2

Hinzufügen

sleep 1

bis zum Ende des Skripts scheint das Problem gelöst zu sein.

Antwort3

Weil Sie Abiword nicht installiert haben?

Öffnen Sie ein Terminal und führen Sie Folgendes aus:

abiword "/home/owner/Desktop/Dropbox/TODO.rtf"

Ohne die Fehlerunterdrückung sollten Sie in der Lage sein, das Problem zu erkennen und an der Behebung zu arbeiten.

verwandte Informationen