登录后如何自动运行两个命令?

Cov*_*ovi 5 startup command-line init.d

我有这两个命令,每次登录后都需要手动运行:

autossh -M 2000 -N -f -q -D 127.0.0.1:7070 user@domain.com
Run Code Online (Sandbox Code Playgroud)

sudo mkdir /media/C
sudo mount /dev/sda2 /media/C
Run Code Online (Sandbox Code Playgroud)

我想让它们在每次启动和登录我的计算机时自动运行。我目前使用的是 10.04LTS。

顺便说一句,我只是模糊地知道什么init.d或什么runlevel意思。但我仍然更喜欢知道一种基于命令行的方式来实现这一点,而不是一种花哨的 GUI 方式。另外,autossh只有在 Ubuntu 自动检测并连接到我的网络后才会成功,所以我们应该让它无限重试直到成功执行吗?

谢谢!

jam*_*ney 6

添加 autossh 命令

  1. 在面板上选择System--> Preferences--> Startup Applications
  2. Startup Programs选项卡下选择Add按钮。
  3. 选择您想要的任何名称并粘贴到您的命令中(注释是可选的)
  4. 单击Add按钮。

Ubuntu 较新版本的注意事项

您可以通过在破折号中搜索“启动应用程序”来找到此应用程序。此外,您始终可以通过按Alt+ F2(或打开终端)并运行gnome-session-properties.

添加启动程序

挂载分区

选项 1:将分区添加到 /etc/fstab

选项 2:使用 udisks

添加此启动命令,如前所示:

udisks --mount /dev/sda2
Run Code Online (Sandbox Code Playgroud)


小智 6

  • my_file.sh/etc/profile.d/目录中创建一个脚本文件,例如 named 。
  • 放在#!/bin/bash第一行。
  • 写下您想在登录后立即执行的任何命令,例如pgrep udhcpd.
  • 将您的文件标记为可执行文件: chmod +x /etc/profile.d/my_file.sh

*它应该在登录后执行。如果它没有或者您没有使用 root 权限的能力,在下创建相同的文件~/.config/autostart应该可以正常工作(我之前没有尝试过这个目录)。