今天是个值得纪念的日子: 我总算把开机启动sh脚本的问题解决了, 这个问题困扰了我N年. 我知道Linux之下这个问题有很多解决办法, 网上也能搜到不少相关文章. 可逐一尝试后无一成功, 原因不明. 至于为什么这次成功了, 我也不清楚. 反正自从我接触Linux以来, 在/etc/rc.local添加开机启动项却不启动 (比如一些命令启动了而另一些却没有启动), 这个问题犹如幽灵般缠绕着我. 故为此文, 以备忘记. 顺便记下的还有树莓派的其他配置.

修改源

树莓派有两处源需要修改, 若只改一处, 下载速度可能依然会很慢. 修改源之前建议先备份原有配置. 当然不备份其实也没事. 我认为这一步最重要, 故将其放在开头.

这是第一处:

sudo nano /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

这是第二处:

sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

开机启动

以下三项的开机启动困扰了我很长时间, 尝试过很多方法, 到今天算是彻底解决了.

sh脚本

于路径/home/pi/ssh/写了个名为ytdl.sh的脚本, 要让它开机启动, 只需在/etc/rc.local中添加

sh /home/pi/ssh/ytdl.sh &

之所以要加&是为了让它后台运行, 若脚本是个死循环, 它将一直在后台运行.

DelugeTransmission

若直接将DelugeTransmission添加到/etc/rc.local, 它将默认以用户root来运行而非pi, 要使它以用户pi来运行, 需要做些修改:

su -l -c deluged pi
su -l -c deluge-web pi
su -l -c service transmission-daemon start pi
su -l -c service transmission-web start pi

值得注意的是, 将Transmissionconj文件配置好之后, 宜将Transmission运行一次, 看是否正常. 否则直接关机重启的话则往往会不正常. 我尝试过很多次都是如此, 原因不明.

杂项

创建文件/home/pi/ssh/ChJ_pi_log.txt, 用它来记录树莓派的每次重启时间

sudo nano /etc/rc.local
echo `date` "Reboot" >> /home/pi/ssh/ChJ_pi_log.txt

Transmission配置

安装好Transmission后, 只需要配置/etc/transmission-daemon/settings.json中的以下四项:

"download-dir": "自设下载目录",
"rpc-password": "自设密码",
"rpc-username": "自设用户名",
"rpc-whitelist-enabled": false,

其余的项基本不用动. 之后重载和重启transmission:

service transmission-daemon reload
service transmission-daemon restart

以上两步很重要,不能省。若这样配置后在 web 端无法正常运行, 检查settings.json是否保存成功. 若没保存到则重复以上步骤. 若settings.json配置成功而Transmission死活就是无法正常运行... 这只能重装Transmission甚至重装Linux. 网上也有很多人反映过这个问题, 原因不明. 我也经常遇到, 这似乎是个 bug, 暂时没有好的解决办法.

(暂且写到这里吧, 不必期待本文的下次更新. smb相关配置涉及隐私, 我不写了. Deluge的配置太傻瓜, 我不写了. 其余的那些跟服务器重了, 我不写了.)

标签: none

评论已关闭