打开图形程序时自动启动 Bash 脚本

打开图形程序时自动启动 Bash 脚本

我想在启动时自动启动一个 shell 脚本,例如 LibreOffice。

问题是我不知道该怎么做。我应该在哪里构建触发器来启动脚本。

是否有一个文件夹/文件可以在其中构建触发器?

如果我不需要构建一个完整的“新”版本的 LibreOffice 来运行几行 shell 脚本,那就太好了。

答案1

这可能是做您想做的事情的最简单的方法。

#!/usr/bin/env bash

# Define the program to waitfor.
program_to_watch=soffice.bin

my_commands() {
echo "This is where your first command goes."
echo "This is where your second command goes."
}

clear
echo "waitfor program script"
echo "Author: Kris Beazley"
echo "Apache 2.0 License"
echo ""
echo "$(date): Waiting for $program_to_watch to start."

while true
 do
  sleep 1
  if [[ $(ps -A | grep $program_to_watch) && -z $var ]]
    then
    var=true
    echo "$(date): $program_to_watch started."
    echo "$(date): Asking \"my_commands\" to start, and going back to sleep."
    echo "$(date): $(my_commands)"
  fi
  if [[ ! $(ps -A | grep $program_to_watch) && -n $var ]]
    then
    unset var
    echo "$(date): $program_to_watch closed."
    echo "$(date): Going back to sleep."
  fi
 done

只需将其复制到文本文件并设置为可执行文件,但要确保行/usr/bin/env bash前面没有空行。

设置可执行文件类型:

chmod +x myscript.sh 

相关内容