如何在会话启动时执行.sh 文件?

如何在会话启动时执行.sh 文件?

我有一个.sh 文件,执行它只需进入包含的文件夹并写入./file.sh。

我想在会话开始时执行该文件,所以我在 /etc/init.d 中创建一个符号链接。

我期望它在我开始会话时执行,但它不起作用。

该文件的权限旁边写有“x”,所以我认为它是可执行的。

有什么帮助吗?

哈维

答案1

Dash-->启动应用程序-->添加-->/路径/到/你的/.sh

在此处输入图片描述

在此处输入图片描述

答案2

/etc/init.d/包含正在执行的脚本系统启动。
如果您希望file.sh每次打开终端时都启动,请在文件中调用此脚本.bashrc

# Start this awesome script
. /path/file.sh

答案3

有上亿种方法可以做到这一点,但是从现有的地方开始,要向旧的 init 系统添加某些内容,您需要运行以下命令:

sudo update-rc.d foo defaults

foo你的脚本名称在哪里?

一些流行的替代方案:

  • 编辑/etc/rc.local以在之前调用您的脚本exit
  • 创建 upstart 脚本。这是 Ubuntu 过去几个版本中提供的 System-V init 的替代品。如果你想更好地控制脚本的调用时间,那么这个工具相当不错,但需要做更多的工作。
  • 通过 gnome 或其他方法从您的 X 会话中启动它(如果这是一台图形机器)(仅这些方法可能就有五亿种)

答案4

或者

~/.config/autostart/ --->Create a file (filename.desktop)
filename.desktop in file add:
#!/bin/bash

[Desktop Entry]
Name=startdeskapp
GenericName=Program
Comment=auto start a sample 
#
Exec=startdesk.sh # app file name (default as bin/)
Terminal=false
Type=Application
Icon=icon.png
Categories=Network;
StartupNotify=false

相关内容