WSL开机自启动(ssh自启)

本文介绍了如何编写一个VBS脚本来实现在Windows开机时自动启动WSL的Ubuntu-20.04系统中的SSH服务,并隐藏终端,以便于Linux程序调试时无需频繁打开终端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现WSL在电脑开机的时候自动运行,同时也会将ssh服务进行启动,且不会有终端页面弹出(为了避免在调试linux程序时,还需要每次都打开WSL的终端界面在通过命令重启ssh服务)

创建一个文本文档wsl_init.txt

在文档中写入以下内容

Set ws = WScript.CreateObject("WScript.Shell")
ws.run "wsl -d Ubuntu-20.04 -u root -e /etc/init.d/ssh start",vbhide

其中 Ubuntu-20.04 为你的WSL系统的名称可以在windows的命令提示符中通过输入 wsl -l -v 来查询;如下

保存文档后将文档后缀名由.txt 改为 .vbs

使用Win+R键打开    输入: shell:startup  回车会打开一个文件夹,将上边的文件直接放进去,再重启电脑后就可用了。

以下是范本:

wsl_init.vbs 文件

### 配置 Windows 动时自动运行 WSL 中的 Ubuntu 为了实现这一功能,可以采用创建批处理脚本来动特定的服务或应用程序的方法。具体来说,在Windows环境中准备一个批处理(.bat)文件用于执行必要的命令来WSL下的Ubuntu实例。 对于希望在开机时即能访问已准备好状态的Ubuntu环境而言,可以通过如下方式达成: #### 方法一:通过批处理文件与任务计划程序组合使用 编写批处理文件`start_wsl_ubuntu.bat`,其内容应为调用对应版本的Ubuntu应用商店入口路径,并附加任何想要立即执行的操作指令。例如针对名为`username`用户的Ubuntu 20.04 LTS发行版,可这样定义该批处埋文件的内容[^1]: ```batch @echo off C:\Users\%USERNAME%\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe run "cd ~ && bash" ``` 此命令将在每次打开终端时切换至用户主目录并进入交互模式等待进一步指示。完成上述操作之后,需将这个`.bat`文件放置于能够被所有需要的地方所触及的位置。 为了让计算机每次动都能触发这批处理文件,应当利用系统的“任务计划程序(Task Scheduler)”特性建立一个新的基本任务,指定触发条件为登录事件发生之时;而在动作方面,则是指向之前创建好的批处理文件位置。 #### 方法二:直接添加到动项列表中 另一种更为简便的方式就是直接把前述提到过的批处理文件放入位于`C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup`或者当前用户对应的动文件夹内(可通过快捷键`Win+R`输入`shell:startup`快速定位)。当机器重新引导后就会按照预设顺序依次激活这些项目了[^3]。 如果目的是让某些服务如SSH能够在后台持续运作而不必每次都手动开的话,可以在批处理文件里加入相应的动语句,比如SSH服务的例子所示[^2]: ```batch @echo off C:\Users\%USERNAME%\AppData\Local\Microsoft\WindowsApps\ubuntu1804.exe run "sudo service ssh start" ``` 以上两种方法均适用于使WSL中的Ubuntu随主机一同动的情况,选择其中任意一种实施即可满足需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值