Ubuntu18 没有/etc/rc.local文件 SSH自启动设置 WSL中和单独ubuntu系统中

WSL中的ubuntu自启动项设置

参考这篇:https://www.jianshu.com/p/0a102c4bb3a2
本人是在Win10上的 wsl linux版本:Ubuntu 18.04 LST,其实方法跟非WSL中ubuntu自启动方法类似,只不过WSL需要多一步,在Windows启动选项中添加脚本而已。

1. 创建并编辑 /etc/init.wsl

sudo touch /etc/init.wsl
sudo vim /etc/init.wsl

在文件中添加内容:

#! /bin/sh
/etc/init.d/ssh $1

2. 给/etc/init.wsl添加执行权限

sudo chmod +x /etc/init.wsl

3. 编辑sudoers,避免输入密码

sudo visudo
或者
sudo nano /etc/sudoers

添加如下一行:

%sudo ALL=NOPASSWD: /etc/init.wsl

4. 在Windows中创建Ubuntu1804_start.vbs脚本

内容为:

Set ws = WScript.CreateObject("WScript.Shell")
ws.run "ubuntu run sudo /etc/init.wsl start", vbhide

5. 将.vbs脚本放入Windows开机启动文件夹里

在win10中Win+r,输入shell:startup打开启动文件夹,把刚才的Ubuntu1804_start.vbs脚本放进去,重启Windows系统的时候这个脚本自动运行不需要输入密码,这样WSL中的ssh服务对应开启了。

如果开机提示本:C: \Users\xxxx\Roaming Microsoft\Windows\StartMenu\Programs\Startup\Ubuntu1804_start.vbs
系统找不到指定文件,行2 列1什么的,将最后一步.vbs文件内容改成试试:

Set ws = CreateObject("Wscript.Shell")
ws.run "wsl sudo /etc/init.wsl start", vbhide

或者,都试试,说不定哪种组合就对了。

Set ws = CreateObject("Wscript.Shell")
ws.run "C:\Windows\System32\bash.exe -c 'sudo /etc/init.wsl",0

非WSL的Linux系统,如虚拟机和单独Linux系统

以下创建自启动的方法在WSL中不适用,这是在虚拟机或者Ubuntu单独的系统中用的创建自启动项的方法!

ubuntu某个版本后不再使用 inited 管理系统,而改用 systemd,但是很多人已经习惯于开机启动直接配置rc.local,所以我们自己来设置rc.local。

实现原理

systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,那就是我们需要的配置文件。

实现步骤

1. 将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

2. 修改文件内容

sudo vim /etc/systemd/system/rc-local.service

3. 在文件末尾增加内容

[Install]
WantedBy=multi-user.target
Alias=rc-local.service

4. 创建/etc/rc.local 并 编辑/etc/rc.local文件

以后开机自动启动直接在/etc/rc.local中进行编辑就行。

sudo touch /etc/rc.local
sudo vim /etc/rc.local

编辑内容根据自己情况,比如启动SSH服务:

#!/bin/bash
/etc/init.d/ssh start

启动、停止和重启openssh-server的命令如下:

/etc/init.d/ssh start
/etc/init.d/ssh stop
/etc/init.d/ssh restart

/etc/systemd/system/rc-local.service文件内容如下:
在这里插入图片描述
修改后/etc/systemd/system/rc-local.service文件内容如下:在这里插入图片描述

发布了51 篇原创文章 · 获赞 8 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览