Terminal 运行终端并在启动时输入命令(Raspberry Pi)

Terminal 运行终端并在启动时输入命令(Raspberry Pi),terminal,raspberry-pi,raspberry-pi3,raspbian,startup,Terminal,Raspberry Pi,Raspberry Pi3,Raspbian,Startup,启动时,我试图让Pi open终端运行源代码命令“source env/bin/activate”,然后在终端仍然打开的情况下运行命令“google assistant demo”。这一部分非常重要,因为我使用的google assistant开发软件要求控制台保持打开状态 这是我正在使用的个人助理产品,我尝试在启动时创建一个可执行的sh脚本,但该脚本只能运行一个命令,然后终端关闭 源环境/箱/激活 谷歌助手演示 当我试图编辑启动配置文件时,终端会打开一秒钟并立即关闭。启动时执行脚本 您可以在一

启动时,我试图让Pi open终端运行源代码命令“source env/bin/activate”,然后在终端仍然打开的情况下运行命令“google assistant demo”。这一部分非常重要,因为我使用的google assistant开发软件要求控制台保持打开状态

这是我正在使用的个人助理产品,我尝试在启动时创建一个可执行的sh脚本,但该脚本只能运行一个命令,然后终端关闭

源环境/箱/激活

谷歌助手演示

当我试图编辑启动配置文件时,终端会打开一秒钟并立即关闭。

启动时执行脚本 您可以在一个页面上找到许多奇妙的解决方案,可以在系统启动时运行脚本。在一个脚本中,您几乎可以做任何您想做的事情(例如运行您刚才提到的
source env/bin/activate
)。 另一个有用的链接

如何在启动时运行Linux程序 2017年1月2日Tim How To,覆盆子皮


以下是在linux机器上使用Systemctl启动程序或脚本的步骤。我目前正在raspberry pi上使用此启动服务。DigitalOcean撰写了一篇文章,详细介绍了Systemctl

运行此命令

sudo nano /etc/systemd/system/YOUR_SERVICE_NAME.service
粘贴到下面的命令中。按ctrl+x,然后按y保存并退出

Description=GIVE_YOUR_SERVICE_A_DESCRIPTION

Wants=network.target
After=syslog.target network-online.target

[Service]
Type=simple
ExecStart=YOUR_COMMAND_HERE
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target
重新加载服务

sudo systemctl daemon-reload
启用服务

sudo systemctl enable YOUR_SERVICE_NAME
sudo systemctl start YOUR_SERVICE_NAME
启动服务

sudo systemctl enable YOUR_SERVICE_NAME
sudo systemctl start YOUR_SERVICE_NAME
检查您的服务状态

systemctl status YOUR_SERVICE_NAME
重新启动设备,程序/脚本应正在运行。如果程序/脚本崩溃,它将尝试重新启动


到原始帖子的链接。但是,你似乎以前没有在谷歌(或其他网站)上查看过:网络上充满了这样的信息,其中许多信息都是惊人的!

我可以问你一个问题吗?为了解决这个问题,你做了什么样的研究?