So führen Sie ein Skript automatisch aus, wenn bestimmte Anwendungen geöffnet werden

So führen Sie ein Skript automatisch aus, wenn bestimmte Anwendungen geöffnet werden

ich möchte ein Bash-Skript ausführen, wenn ich VLC öffne. Ich habe versucht, den Alias ​​von VLC in mein Skript einzufügen und VLC zu öffnen, aber das funktioniert nur, wenn es vom Terminal aus geöffnet wird. Ich möchte, dass mein Skript auch ausgeführt wird, wenn VLC über die GUI geöffnet wird.

Antwort1

  • geprüft
  • Führen Sie ein Skript aus, das ungefähr Folgendes tut
#! /bin/bash
while :; do
  test -n "`pgrep vlc`" && do_something
  sleep 1
done
  • zuletzt
mv /usr/bin/vlc /usr/bin/vlc.bin
cat /usr/bin/vlc
#! /bin/bash
nohup /usr/bin/vlc.bin "$@" &> /dev/null < /dev/null &
do_something

Antwort2

Sie können es so bearbeiten, desktop entrydass es auf ein Wrap-Skript verweist, das es aufruft vlc, und dann Ihr eigenes Skript:

cat /usr/local/bin/vlc_wrap.sh
#!/bin/bash
# swap the order if matters
./path/to/your/script.sh &>/dev/null &
/usr/bin/vlc &>/dev/null &

Bearbeiten Sie dann das desktop entryfür den VLC: /usr/share/applications/vlc.desktopund ändern Sie die Zeile, die das Exec Schlüsselwort enthält. Die neue Zeile sollte auf den Wrapper zeigen, den Sie gerade geschrieben haben, und lautet daher:

Exec=/usr/local/bin/vlc_wrap.sh

Wie das geht, habe ich in gnomeder Dokumentation für den von Ihnen verwendeten Desktop beschrieben.

verwandte Informationen