我正在开发在 NUC/Ubuntu 16.04 上运行的嵌入式系统,我希望当我启动 NUC 时,它会自动启动一组应用程序,并允许 Wifi 自动连接到给定的网络,因为这些应用程序可以与远程计算机交换信息。
我首先做的是创建一个 shell 脚本,从用户目录 /home/xxx 启动所有应用程序,它运行良好,但我需要启动 NUC 并在终端上打开一个会话以启用 Wifi(启动时未启用 wifi)。
从我的研究中,我读到了一个帖子,其中提供了关于执行此操作的不同可能性的非常好的信息(如何在启动时运行脚本?)——但我的问题是如何填补空白:
是否可以打开用户会话(从而使 Wifi 自动连接到我们的本地 wifi 网络)然后启动 shell 脚本?
我发现下面这个例子:
创建文件夹 /etc/systemd/system/[电子邮件保护]
创建文件 /etc/systemd/system/[电子邮件保护]/覆盖.conf
使用您喜欢的编辑器打开该文件并添加以下内容:
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noissue --autologin myusername %I $TERM
Type=idle
将 myusername 替换为您的用户名。
但是如何启动脚本呢?
非常感谢您的帮助
答案1
我知道这已经是一年前的事了,但我昨天(这个问题被提出整整一年后)和今天都在试图解决这个问题。在谷歌搜索了一百万次(有点夸张)后,我终于找到了解决方案这里它表示在文件中添加以下条件~/.profile
:
if [[ "$(tty)" == "/dev/tty1" ]]; then
# do whatever you want here
fi
您可以tty1
根据自己的具体需求进行更改。当然,将注释替换为您想要运行的命令或脚本。此解决方案在 Ubuntu Server 18.04.3 上对我来说非常有效。