Windows Tips

WSL用ユーティリティ「wslu」を使ってみる

投稿日:2018年9月26日 更新日:

1. はじめに

wslu は、 WSL (Windows Subsystem for Linux) のためのユーティリティコマンドを集めたソフトウェアパッケージです。

最近、WLinux という Linuxディストリビューションが Microsoft Store からインストールできるようになりました。(ストアへのリンクはこちら → WLinux | Microsoft Store

WLinux
WLinux

このディストリビューションは、WSL用に開発されているのが特徴で、今回取り上げる wslu もプリインストールされています。WLinux を開発しているのは Whitewater Foundry, Ltd. Co. という企業なのですが、特に Microsoft と何か関係があるというわけではないようです。そのため、WLinux にプリインストールされているからといって、何か権威付けされていることもないのですが、wslu がどういうものなのか気になったので使ってみました。

Pengwin

WLinux は Pengwin という名前に変わったようです。

🔗 Pengwin を購入 – Microsoft Store ja-JP
🔗 Pengwin Enterprise — Whitewater Foundry

2. 前提とする環境

  • Ubuntu 16.04.5 LTS (WSL)

3. wslu に関する情報

wslu の公式サイト

wslu のGitHubページ

4. wslu のインストール

GitHub – wslutilities/wslu の「For Ubuntu/Debian/Kali Linux」に書いてある通りにコマンドを実行するだけです。

$ sudo apt install apt-transport-https
$ wget -O - https://api.patrickwu.ml/public.key| sudo apt-key add -
$ echo "deb https://apt.patrickwu.ml/ stable main" | sudo tee -a /etc/apt/sources.list
$ sudo apt update
$ sudo apt install wslu

インストールはこれだけですが、ついでにこのパッケージに含まれているコマンドを調べておきましょう。

$ dpkg -L wslu | grep bin/
/usr/bin/wslfetch
/usr/bin/wslsys
/usr/bin/wslupath
/usr/bin/wslusc
/usr/bin/wslview

5つのコマンドが含まれていることが分かりました。それぞれ確認したところ、すべてシェルスクリプトファイルでした。

また、これ以外のファイルも確認しましたが、ドキュメントはなさそうなので、詳しい使い方を知るにはこのシェルスクリプトを読むしかなさそうです。

念の為、このパッケージが依存しているパッケージも確認しておきます。

$ sudo apt depends wslu
wslu
  依存: bc
  依存: wget
  推奨: git

5. 各コマンドを使ってみる

wslsys

概要

  • WSL のシステム情報を出力するコマンドです。

ヘルプを表示

-h オプションを指定してヘルプを表示します。

$ wslsys -h
wslsys - Component of Windows 10 Linux Subsystem Utility
Usage: wslsys (-h|-v|-S|-U|-b|-B|-fB|-R|-K|-P) -s

主なオプション

各オプションと表示される項目を表にしてみました。

オプション 表示される項目
-I, –sys-installdate Release Install Date
-b, –branch Branch
-B, –build Build
-fB, –full-build Full Build
-U, –uptime Uptime
-R, –release Linux Release
-K, –kernel Linux Kernel
-P, –package Packages Count
-s 上記のオプションの後ろにこれを指定すると、項目名は出力せずに値だけ出力する。

実行サンプル

以下の実行サンプルを見ると、先程のオプションの各項目が何を表示するのか分かると思います。

$ wslsys
Release Install Date: 2018年  6月 20日 木曜日 22:29:49 JST
Branch:  rs4_release
Build: 17134
Full Build:  17134.1.amd64fre.rs4_release.180410-1804
Uptime: 0d 1h 6m
Linux Release: Ubuntu 16.04.5 LTS
Linux Kernel: Linux 4.4.0-17134-Microsoft
Packages Count: 640

wslfetch

概要

  • WSL のシステム情報を、見た目良く出力するコマンドです。

ヘルプを表示

-h オプションを指定してヘルプを表示します。

$ wslfetch -h
wslfetch - Component of Windows 10 Linux Subsystem Utility
Usage: wslfetch (-h|-v|-s|-l|-c)

実行サンプル

wslupath

概要

  • パスフォーマット変換コマンドです。
  • WSL には wslpath という同じような目的で使うコマンドがありますが、特に互換性のようなものはないようです。

ヘルプを表示

引数なしで実行すると、ヘルプが表示されます。

$ wslupath
wslupath (-dOr) [-D|-A|-T|-S|-W|-s|-su|-H|-P|...NAME...]
wslupath (-h|-v|-R)オプション

主なオプション

スタイル関連のオプション

オプション 表示される項目
-O, –originalそのままのパスを出力する。
-d, –doubledash-dir バックスラッシュ1つを、2つに変換する。

パス関連のオプション

オプション表示される項目
-D, –desktopDesktop へのパスを出力する。
レジストリからデスクトップへのパスを取得している。
-A, –appdataWindowsの環境変数 %APPDATA% へのパスを出力する。
-T, –tempWindowsの環境変数 %TMP% へのパスを出力する。
-S, –sysdirC:\Windows\System32 へのパスを出力する。
-W, –windirC:\Windows へのパスを出力する。
-s, –start-menuStart Menu へのパスを出力する。
-su, –startupStartup へのパスを出力する。
-H, –homeWindowsの環境変数 %HOMEDRIVE%%HOMEPATH% へのパスを出力する。
-P, –program-filesWindowsの環境変数 %ProgramFiles% へのパスを出力する。

その他のオプション

オプション表示される項目
-r, –reg-data レジストリ「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders」内の項目を指定する時に使う。「Desktop」「Start Menu」「Startup」などが指定できる。
-R, –avail-reg-r オプションで指定できる項目名を一覧表示する。

以下は、レジストリエディタで、「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders」内を表示した画面です。赤枠で囲った「名前」欄に表示されているのが、-r オプションで指定できる名前です。

実行サンプル

$ wslupath ~
c:\Users\foo
  → オプションなしだと、Windows用のパスフォーマットになる。

$ wslupath -O ~
/mnt/c/Users/foo
  → オプションなしだと、WSL用(Linux)のパスフォーマットになる。

$ wslupath -d ~
/mnt/c/Users/foo
  → 何も変わらない。

$ wslupath -d $(wslupath ~)
c:\\Users\\foo
  → バックスラッシュ1つが2つに変換される。

$ wslupath -T
/mnt/c/Users/foo/AppData/Local/Temp

$ wslupath -d -T
C:\\Users\\foo\\AppData\\Local\\Temp

$ wslupath -R
Available registery input:
AppData %USERPROFILE%\AppData\Roaming
Cache %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache
Cookies %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCookies
Desktop %USERPROFILE%\Desktop
Favorites %USERPROFILE%\Favorites
History %USERPROFILE%\AppData\Local\Microsoft\Windows\History
Local AppData %USERPROFILE%\AppData\Local
My Music %USERPROFILE%\Music
My Pictures %USERPROFILE%\Pictures
My Video %USERPROFILE%\Videos
NetHood %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Network Shortcuts
Personal %USERPROFILE%\Documents
PrintHood %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
Programs %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Recent %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent
SendTo %USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo
Start Menu %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu
Startup %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Templates %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Templates
...

wslusc

概要

  • Windows 側のデスクトップ上に、WSL側の実行ファイルへのショートカットファイルを作成するコマンドです。

注意点

引数にファイルパスを指定すると、そのファイルへのショートカットファイルを Windows側のデスクトップ上に作成くれます。作成先のパスを指定することはできないようです。

また、引数に指定するファイルパスは、絶対パスか、ホームディレクトリからの相対パスを指定します。そうしないと、できあがったショートカットファイルが動かなくなることがあります。

ヘルプを表示

-h オプションを指定してヘルプを表示します。

$ wslusc -h
wslusc - Component of Windows 10 Linux Subsystem Utility
Usage: wslusc (-i|-g|-h|-v) ...NAME...

使用例

(1) a.sh という名前のシェルスクリプトファイルを用意します。

以下の内容のファイルを、a.sh という名前で、ホームディレクトリ直下に作成します。

#/bin/sh
echo "Hello!"
sleep 3

「”Hello!” と出力して、3秒待つ」という処理です。

(2) 以下のコマンドを実行して、ショートカットファイルを作成します。

$ wslusc /mnt/c/Users/foo/a.sh
1回目の実行時には、ホームフォルダー直下に wslu というフォルダーが作成され、その中にrunHidden.vbswsl.ico という2つのファイルが作成されます。ショートカットファイルを作る時にこれらが利用されます。

 

(3) デスクトップにショートカットができます。

[プロパティ] – [ショートカット]タブ にある [リンク先] は、以下となっていました。

C:\Windows\System32\bash.exe -c "cd ~ && /mnt/c/Users/foo/a.sh"

(4) このショートカットファイルを実行します。

成功です。

wslview

概要

  • WSL側から、Windows側のブラウザでリンクを開くためのコマンドです。
  • ブラウザの起動処理は、「powershell.exe Start 」コマンドを実行しています。

ヘルプを表示

-h オプションを指定してヘルプを表示します。

$ wslview -h
wslview - Component of Windows 10 Linux Subsystem Utility
Usage: wslview (-u|-r|-h|-v) ...LINK...

主なオプション

オプション表示される項目
-r, –register以下を実行します。
update-alternatives --install /usr/bin/x-www-browser /usr/bin/wslview 1
update-alternatives --install /usr/bin/www-browser /usr/bin/wslview 1

 

これにより、www-browserx-www-browser コマンドでブラウザを起動することができるようになります。

-u, –unregister-r で追加した update-alternatives の設定を削除します。

実行例

以下は、Yahoo! JAPAN を Windows側の既定のブラウザで開くコマンドです。

$ wslview https://www.yahoo.co.jp/

問題なく、Yahoo! JAPAN のページがブラウザで表示されました。

Yahoo! JAPAN のページがブラウザで表示されました
Yahoo! JAPAN のページがブラウザで表示されました

6. まとめ

すぐに必要になりそうなコマンドはないように思いました。

WLinux には最初から wslu がインストールされているということですが、少なくともこの部分に関しては、特に大きなメリットになっているということはなさそうです。

📂-Windows Tips

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Windows

Windows 10 のクイックアクセスを使いこなそう

目次1. クイックアクセスとは?2. クイックアクセスで表示されるフォルダー表示されるフォルダーの種類ピン留めしたフォルダーよく使用するフォルダー表示される場所ピン留めする手順ピン留めを外す手順表示順 …

WSL

【WSL】パスのフォーマットを変換する wslpath コマンドの使い方

目次1. はじめに2. wslpath コマンドオプション-a オプション-u オプション-w オプション-m オプション3. WSL を Windows Terminal で利用する場合4. おわり …

Creators Update 導入後に、「ファイル名を指定して実行」で履歴が表示されなくなった場合の対処法

Windows 10 Creators Update 導入後、「ファイル名を指定して実行」で履歴が表示されなくなった場合の対処法を紹介します。 目次1. 状況2. 対処法3. まとめ 1. 状況 [フ …

Windows

【Windows 10】スタートメニューからアプリの一覧を消して、アプリを素早く起動する

目次1. はじめにスタートメニューのデフォルトの状態2. アプリの一覧を消す3. タイルをカスタマイズする4. ショートカットキーでアプリを起動する5. まとめ 1. はじめに スタートメニューのデフ …

Git

Git for Windows のインストール手順

Git for Windows のインストール手順について説明します。