Acris / shadowsocks-asuswrt-merlin

Shadowsock for Asuswrt-Merlin New Gen
MIT License
247 stars 43 forks source link

请问这个程序能开机启动吗? #16

Closed jidijian closed 5 years ago

jidijian commented 5 years ago

r7000刷了Vortex版384.13能够成功安装及配置,但是发现一个问题就是开机不能自动启动该程序。 都需要通过ssh手动输入ss-merlin start来启动,想问能不能有什么办法直接启动的?

Acris commented 5 years ago

如果重启前程序为运行状态,则重启后会自动启动,可以等路由器重启后等待一两分钟然后再看下是否启动。

如果重启后无法启动,请执行以下命令并告知输出结果。 cat /jffs/scripts/post-mount

jidijian commented 5 years ago

非常感谢解答!不胜感激。 重启等待一会儿还是无法启动。 如果我输入ss-merlin restart,会显示未运行,说明没有正常启动。 admin@R7000-X:/tmp/home/root# ss-merlin restart Stop shadowsocks-asuswrt-merlin... ss-merlin is not running.

最好输入cat /jffs/scripts/post-mount这段代码后输出结果如下: admin@R7000-X:/tmp/home/root# cat /jffs/scripts/post-mount

!/bin/sh

ln -nsf /jffs/entware /tmp/opt ss-merlin start

Acris commented 5 years ago

post-mount会在存储设备挂载完毕后执行,并且脚本中已经有了ss-merlin start命令,很奇怪为什么没有执行。

另外看脚本内容,你的entware是装在jffs分区而不是外部存储,不知道会不会是这个问题导致。

你尝试在ss-merlin命令前添加sleep 5,即等待5秒再启动程序,然后看一下效果。 改完后的post-mount内容应该为:

#!/bin/sh

ln -nsf /jffs/entware /tmp/opt
sleep 5
ss-merlin start
jidijian commented 5 years ago

在post-mount里加入sleep 5后还是无法启动,我在想是不是我把entware装在jffs里,没有插u盘,导致没有触发post-mount运行的条件?能把ss-merlin start加在services-start里吗?

jidijian commented 5 years ago

在services-start里添加ss-merlin start也不行呢

Acris commented 5 years ago

不能使用services-star,这个执行的时候可能wan都还没启动。 post-mount挂载任意分区的时候都会执行,即使不外接U盘和硬盘也行。 请问一下你安装entware的方式是?

jidijian commented 5 years ago

为了把entware装进jffs里,学习了http://koolshare.cn/thread-163192-1-1.html这位作者的内容,照着他的步骤一步步做的。安装完了以后然后再安装您的程序,可以正常运行,唯一的问题就是不能正常开机启动。 后来我把ss和entware全部删除,插入U盘,在U盘里安装entware,然后再安装ss,可以正常运行,也能正常开机启动。可能问题就出在entware的安装位置,原本在/jffs/entware不能正常启动,现在在/tmp/mmt/disk/entware这个目录下能够让ss正常开机启动。

Acris commented 5 years ago

建议还是将entware安装在外部存储,entware官方未给出安装在jffs分区的选项,强制安装可能会出现一些奇怪的问题。