7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL向けディストリビューション "Pengwin" を Windows 10 で使う最小手順

Posted at

WSL (Windows Subsystem for Linux) 向け Linux ディストリビューションである WLinuxPengwin に改称 されて久しいのですが、ようやっと移行できました。

TL;DR

  • Windows Store から Pengwin をインストール
  • ~/.bashrcumask 0022 を追記
  • $ pengwin-setup
  • 気に入ったら CMD> wslconfig /s WLinux で規定のディストリビューションにする

注意:有料 (2,350円 (税込)) です。
WLinux 時代に購入した方は、そのライセンスを引き継ぐことができます。

以上です。

Pengwin のインストール

Microsoft Store からのインストールになります。 pengwin で検索すれば見つかるはずです。

今回私が使うのは Pengwin の方です。こちらは Debian/Ubuntu ベースです。
ちなみに、 Pengwin 企業 は RHEL(Red Hat Enterprise Linux) ベースのものです。

※この "企業" というのはいかがなものか...

image.png

ChangeLog は Microsoft Store のページがわかりやすい

ブログはあります が、いろんな情報が混ざっててわかりづらいという辛さがあります。

インストール先

Windows OS 上では %localappdata%\Packages\WhitewaterFoundryLtd.Co.**\ に入ります。
rootfs はこのディレクトリの下の LocalState\rootfs\ です。

ちなみに Ubuntu 18.04 なら %localappdata%\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_** に入ります。

ここを直接いじることは無いと思いますが、覚えておいて損はありませんので掲載しておきます。

WLinux からのアップグレード方法

WLinux からのアップグレード方法が見つけられませんでした。そのため、私は再インストールをしました。

アンインストールされると、全ての環境が削除されます。 .ssh といったファイルは必ず別のところに移行してからアンインストールしてください。

具体的には Windows の設定からアンインストールし、その後 Microsoft Store からインストールし直すというものです。

%localappdata%\Packages\WhitewaterFoundryLtd.Co.**\ ディレクトリが残っている場合、Microsoft Store からのインストール時に失敗することがあります。
その場合は手動で同ディレクトリを削除(もしくはフォルダ名変更)をした後に、再度 Microsoft Store からインストールしてください。

ちなみに WLinux のまま使い続けると、apt のリポジトリ URL の一部が無くなったりと、運用に支障が出ますので早く移行することをお勧めします。

~/.bashrcumask は必ず指定しよう

Pengwin の umask のデフォルトは 0000 です。
即ち、誰でも読めるディレクトリやファイルを作成されちゃいます。あとで修正するのが極めて面倒です。

~/.bashrc のどこかに umask 0022 と書いておきましょう。

pengwin-setup コマンド

Pengwin のインストール後に LANG やスクリプト系言語のセットアップだけでなく、特定のディレクトリをカレントにして起動できるシェル拡張 "Open with WLinux" をインストールしてくれる、対話形式のセットアッパーが pengwin-setup です。

WLinux では wlinux-setup というコマンドで提供されていましたが、項目数などがかなり強化されています。

$ pengwin-setup

以下のようなダイアログが表示されます。 スペースキーで選択してから [OK] を選択していけば、環境がインストールされるというものです。

image.png

EDITOR

image.png

GUI

image.png

MAINTENANCE

image.png

PROGRAMMING

image.png

SERVICES

image.png

SETTINGS

image.png

TOOLS

image.png

UNINSTALL

image.png

インストールしておいた方がいい便利なもの

SERVICES -> KEYCHAIN

keychain をインストールしてくれます。ssh-add や ssh-agent の手間を減らしてくれます。

初回起動時に対象の秘密鍵のパスフレーズを入力すれば、ssh-agent が立ち上がるようになります。
image.png
※ すでに ssh-agent が立ち上がっていればパスフレーズ不要となります
image.png

この keychain は /etc/profile.d/keychain.sh で起動されるようになっているので、読み込む秘密鍵の追加/変更や表示の抑制といったオプションを変更したい場合は、このファイルを編集してください。

ちなみに、それまでは...

以下のような涙ぐましいスクリプトを書いていましたが、もはやオサラバです。

.bashrc
if [ -z "$(pgrep ssh-agent)" ]; then
    rm -rf /tmp/ssh-*
    eval $(ssh-agent -s) > /dev/null
else
    export SSH_AGENT_PID=$(pgrep ssh-agent)
    export SSH_AUTH_SOCK=$(find /tmp/ssh-* -name agent.*)
fi

if [ "$(ssh-add -l)" == "The agent has no identities." ]; then
    ssh-add $HOME/.ssh/id_rsa
fi

プログラム言語まわり

PROGRAMING -> PYTHONPI

選択肢が2つあります。

  • Python 3.7 + pyenv
  • Python 3.7 + IDLE + pip (一つ目の選択で [NO] を選ぶと表示される)

私は環境分離に venv を利用するので pip が入るほうを選びました。(venv もインストールされます。しかし IDLE は不要なんですが...)

pip~/.local/bin/pip にインストールされます。そのため、以下2点に注意です。

  • $HOME/.local/bin へ PATH を通すこと
  • pip を実行時は --user を付けること
$ pip install --user awscli

単純に pip install してしまうと /usr/local/* に配置しようと試みますが失敗します。

PROGRAMING -> RUBY

選択肢が2つあります。

  • rbenv を使った Ruby のインストール
  • Rails + RubyGem (一つ目の選択で [NO] を選ぶと表示される)

私は rbenv を利用するので1つ目を選びました。(2番目がどうなるかは試していません)

pengwin-setup で指定される Ruby は 2.5 系とちょっと古めです。新しいのが欲しい方は、全てのインストールが終わった後に各自で rbenv install 2.6.3 とするなりしてください。

WLinux で起こっていた不具合は解消されていました

libssl-dev libreadline-dev zlib1g-dev といったライブラリが無いために wlinux-setup では rbenv install が失敗していましたが、pengwin-setup では解消しています。

気に入ったら既定にしましょう

cmd.exe から wslconfig で既定のディストリビューションが設定できます。

> wslconfig  /l
Windows Subsystem for Linux ディストリビューション:
Ubuntu (既定)
WLinux

> wslconfig /s WLinux

> wslconfig  /l
Windows Subsystem for Linux ディストリビューション:
WLinux (既定)
Ubuntu

なぜか名称がそのまま WLinux なのですが、気にしないでおきましょう。

あとがき

Terminal には Windows Terminal をぜひ!
カスタマイズや普段使いをするための情報源についても書きました → Windows Terminal (Preview) のカスタマイズで役に立った情報源 (2019年11月)

EoT

7
8
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
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?