首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在linux mint上制作安装脚本

在linux mint上制作安装脚本
EN

Stack Overflow用户
提问于 2016-01-17 22:33:46
回答 1查看 100关注 0票数 0

我做了一个程序,每当我有未读的消息在slack时,就会打开我的罗技G9 LED灯。我试图使程序可安装脚本,但我不熟悉的东西应该放在哪里。现在,该程序依赖于g9led和python来工作。如果我创建了一个安装脚本,将可执行文件移动到哪里最好?/usr/bin

我的安装脚本如下所示:

代码语言:javascript
复制
#!/bin/bash

cd /tmp
wget http://als.regnet.cz/data/g9led.c
gcc g9led.c -o g9led -lusb
rm g9led.c
mv g9led /usr/bin/g9led
mv unread_msg_monitor.py /usr/bin/unread_msg_monitor.py
sed -i ". /home/papes1ns/.virtualenvs/unread/bin/activate && python /home/papes1ns/Projects/hes_slack_integration/unread.py &" /etc/rc.local
echo "finished"
exit 0

https://github.com/papes1ns/slack_unread_msg_monitor/blob/master/unread_msg_monitor.py

EN

回答 1

Stack Overflow用户

发布于 2016-01-18 01:08:30

将可执行文件(某处)留在主文件夹中没有任何问题。

但是对于自动化你的软件,而不是/etc/rc.local,考虑使用初始化方案来控制你的服务,并让它们在启动时启动。

例如,如果您的系统上有runit (sudo apt-get install runit),那么您需要创建两个脚本,比如g9monitor.runit

代码语言:javascript
复制
#!/bin/sh
cd /home/papes1ns
exec chpst -upapes1ns:papes1ns python unread_msg_monitor.py

g9led.runit

代码语言:javascript
复制
#!/bin/sh
cd /home/papes1ns
exec chpst -upapes1ns:papes1ns g9led

然后将上述文件复制到/etc/sv/中的目录中

代码语言:javascript
复制
sudo mkdir -p /etc/sv/g9monitor /etc/sv/g9led
sudo cp g9monitor.runit /etc/sv/g9monitor/run
sudo cp g9led.runit /etc/sv/g9led/run

使它们成为可执行的,并在/etc/service中创建软链接

代码语言:javascript
复制
sudo chmod +x /etc/sv/g9monitor/run /etc/sv/g9led/run
sudo ln -sf /etc/sv/g9monitor /etc/service/g9monitor
sudo ln -sf /etc/sv/g9led /etc/service/g9led

一旦建立了链接,服务就应该启动。然后,您可以通过sv命令控制它们:

代码语言:javascript
复制
sudo sv status g9monitor
sudo sv down g9led
sudo sv up g9led

要禁用它们,请删除链接:

代码语言:javascript
复制
sudo rm -f /etc/service/g9monitor
sudo rm -f /etc/service/g9led
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34839500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档