LoginSignup
45
36

More than 3 years have passed since last update.

Windows10のWSL上にあるServiceを簡単に自動起動させる

Last updated at Posted at 2019-12-24

概要

Windows Subsystem for Linuxでは調べた限りだとsystemdは動いてないしまともな自動起動の設定がない。(たぶん)
sshdだとかdockerdだとかnginxだとかを自動起動してほしかった。
調べてもなんだか面倒な手順踏むようなやり方しか出てこない。

あんま面倒なことしないで手っ取り早く自動起動を設定する方法はないものか…と模索してたらなんかできた。

環境

  • Windows10 Home
  • WSL 1
  • Ubuntu 18.04 LTS

自動起動の方法

とても簡単。

まず Windows + R キーでファイル名を指定して実行を呼び出す。
shell:startup と入力してエンター。(ログインユーザのスタートアップスクリプトとかを入れるディレクトリが開く)

右クリックをして新規作成のテキストドキュメントを選択し、拡張子を .bat で作成する。
スクリプトの名前は分かりやすいものに。

作ったbatファイルを右クリックで編集を押してエディタが開くので以下のスクリプトを記入、保存する。

enablessh.bat
@echo off
wsl -u root -- service ssh start

そしてWindowsを再起動すると、何もしてないのにTaskManagerにはsshdの文字が!

ちょっと解説

WindowsのCMDで wsl --help すれば全ての答えが出てくる。

Linux バイナリを実行するための引数:
    --user, -u <ユーザー名>
        指定したユーザーとして実行します。

オプション:
    --
        残りのコマンドラインをそのまま渡します。

Rootで service ssh start を実行させているだけ。
なので自動起動というよりかは疑似的な自動起動をしているような感じ。

終わりに

これが一番早いと思います。(個人の意見並感)
ほぼ殴り書き&メモ書きみたいなものです。
いっつもWSL使うときにsshdの起動を忘れるし起動するときはsudoつけるからパスワード聞かれてめんどくさいしで、これで楽になれました。
WSLはさっさとsystemdで動くようにしろ!!!
そしてsystemctlを使わせてくれ。

45
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45
36