升级到16.04后,LTS rc.local不执行命令


21

在以前安装的版本kubuntu 15.xx上,我在其中添加了一行/etc/rc.local- /home/diet/scripts/my-auto-mount-script显然是指一个脚本,该脚本应在家庭wifi网络驱动器上进行安装。

这在kubuntu 15.xx上完美运行

升级后,它似乎/etc/rc.local在启动时被忽略了,因为运行命令/etc/rc.local仍然可以解决问题。我认为rc.local被忽略的原因是,它所引用的脚本应该在脚本成功时生成日志,但在脚本失败时也会生成日志,但是没有日志。

谁能给我一些有关如何解决此问题的指示?

PS:是的,我知道把东西放进去/etc/fstab也是安装驱动器的一种方式,但是当我不在家时,我讨厌看到海豚上的驱动器并且上面有一些小红叉,因为那里没有。这样,当我在路上(它是一台笔记本电脑)时,人们看不到我家里有什么。


Answers:


24

Ubuntu现在使用systemd,并且rc.local现在被认为是默认情况下“关闭”的服务。您可以通过输入以下命令并重新启动来将“ rc.local”打开。

sudo systemctl enable rc-local.service

非常感谢您抽出宝贵的时间为我提供解决方案!我还找到了一种解决方案,可以将脚本添加到./.config/autostart-scripts/中,并在启动时运行脚本!
Diet Bos

sysemctl命令对我有用。还要注意,这与〜/ .config / autostart-scripts中的用户脚本不同,因为/etc/rc.local应该在引导时运行,然后再登录任何用户。请注意,rc.local脚本中的任何错误都可能导致它停止; 如果您认为它对您不起作用,请在/ var / syslog中扫描rc.local。
djb

1
而且systemd不支持在启动时运行脚本的“官方方式”吗?像rc.local一样?
Cirelli94 '16

4

只改变这个

chmod 755 /etc/init.d/rc.local

nano /etc/rc.local 

在第一行更改

#!/bin/sh -e

#!/bin/bash 

保存并享受!


完美,带有上一个答案的组合对我
有用

这个答案对我
有用
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.