概要
Windows Subsystem for Linuxでは調べた限りだとsystemdは動いてないしまともな自動起動の設定がない。(たぶん)
sshdだとかdockerdだとかnginxだとかを自動起動してほしかった。
調べてもなんだか面倒な手順踏むようなやり方しか出てこない。
あんま面倒なことしないで手っ取り早く自動起動を設定する方法はないものか…と模索してたらなんかできた。
環境
- Windows10 Home
- WSL 1
- Ubuntu 18.04 LTS
自動起動の方法
とても簡単。
まず Windows + R
キーでファイル名を指定して実行を呼び出す。
shell:startup
と入力してエンター。(ログインユーザのスタートアップスクリプトとかを入れるディレクトリが開く)
右クリックをして新規作成のテキストドキュメントを選択し、拡張子を .bat
で作成する。
スクリプトの名前は分かりやすいものに。
作った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を使わせてくれ。