FC2ブログ

本を読む

読書やコンピュータなどに関するメモ

技術カンファレンスWSLConf 2020をちょっと覗いた

 WSL(Windows Subsystem for Linux)に関する技術カンファレンス「WSLConf 2020」が、MicrosoftとCanonicalにより2020年3月10日〜3月11日に開催されました。

 本当はレドモンドで開催されるはずだったのですが、COVID-19アウトブレイクでオンライン(Bluejeans)開催になりました。しかも、なぜかスケジュールが東海岸時間に(レドモンドとロンドンの間をとったのでしょうか)。これを幸いと、スケジュール上の午前のセッションだけちょっと覗きました。

 タイミング的にWSL2の話が多かったなとか、その流れでDocker/Kubrenetesネタも目立ったなとか、WSL専用ディストロのPengwin(旧名WLinux)関係者もけっこう出てたなとか思いました。あと、オンライン開催だと休憩時間がなかったりするなあとか。

 以下、レポート。

Welcome Remarks + Team Updates(Sohini Roy / Hayden Barnes / Craig Loewen)

 オープニングトークとして、中心メンバーが挨拶しました。

 CanonicalのHayden Barnesは、2016年にBash on Ubuntu on Windowsが発表されて、1年前にWSL2が発表され、もうすぐshippingされると話しました。

 Sohini Royは、WSLがコミュニティで広がってディストロも集まったことを紹介し、「Telegramチャンネルに参加しよう」「フィードバックしよう」と話しました。

オープニングトークのHayden BarnesとSohini Roy

 Craig Lowenは、MicrosoftのWSLのProgram Managerです。VS Codeとのインテグレーションや、Visual Studioとのインテグレーション、関連プロダクトのPowerShellやWindows Terminalなどを紹介しました。さらに、いろいろなWSL上にさまざまなディストロが登場していることに触れ、「Thank you to distros」と語りました。

 ちなみに、ゲーム会社のEA(Electronic Arts)が開発でVisual StudioとWSLのインテグレーションを活用しているとか。

Craig Lowen「Thank you to distros」

Terminal Team Update(Kayla Cinnamon)

 Windows TermianlのProgram Managerの人です。Windows Terminalのいろいろな機能をデモしていました。

 たとえば表示からの検索やら、設定JSONでカスタマイズして特定ディストロ対応設定を作ったり。あとVS CodeでJSONを編集するときに、JSON Schemaから値の候補を出したり、色をカラーピッカーで選んだり。

Windows Terminalの設定JSONをVS Codeで編集

 そのほか、Midnight Commanderを開いてマウスイベントを拾うところや、そのへんにバグがあって直した話などもありました。

Windows TerminalのWSLでMidnight Commander

Distro Reports(Pengwin, Kali, and Ubuntu teams)

 WSL上のディストロとして、Ubuntu、Pengwin、Kali Linuxから短い近況報告がありました。

 Ubuntu(Hayden Barnes)については、次のUbuntu 20.04の話をしていました。

 Pengwin(Carlos Ramirez Castilio)は、TUIのセットアップツールのpengwin-setupの紹介や、GUIを動かすところ、Qtサポート強化などを動画でデモ。さらに最新状況として、GNOME TerminalやKonsoleといったさまざまなターミナルエミュレーターをインストールして動かすところをデモしました。

PengwinのCarlos Ramirez
さまざまなターミナルエミュレーターをインストール

 ペネストレーションテストのディストロのKali Linux(Steev Klimaszewski)は、最新状況として、ビルドの自動化に取り組んでいると離していました。

Kali LinuxのSteev Klimaszewski

How We Use WSL at Kali(Steev Klimaszewski)

 Steev Klimaszewskiはそのまま、Kali Linuxのセッションに。難しい点としてはWSLからの外部ハードウェアのアクセスが語られました。

 デモとして、WindowsのPowerShellからKaliをAppxでインストールし、ツールをaptでインストールし、msfconsoleを起動してユーザーリスト取得などを実行していました。

WSL上のKali Linuxからmsfconsoleでユーザーリスト取得

Inside Docker Desktop with WSL 2(Simon Ferquel)

 Docker社のSimon Ferquelが、Docker Desktop for WSLについて解説しました。Docker Desktopのアーキテクチャーについても説明がありました。

Docker Desktopのアーキテクチャー(全体)
Docker Desktopのアーキテクチャー(詳細)

 そのあとでデモ。Visual Studioを使ってDocker Desktop for WSLの中身のコードにブレークポイントを張り、一方でWSLからコンテナの中に入ったりして、コードを実行していきながらコンテナができて実行されていくところが細かく解説されました。

Docker Desktop for WSLの中身をVisual Studioのデバッガで追跡

microk8s on WSL2(Nuno Do Carmo)

 Microsoft MVPのNuno Do Carmoが、Canonicalによるシングルノード用Kubrenetes環境microk8sをWSL 2で動かすところをデモしました。microk8sはUbuntuのsnapでインストールできて、microk8s.*やmkといったコマンドで環境を構築するとのこと。サービスメッシュのMesheryやLinkerDまで含めてデモしていました。

microk8sの紹介
MesheryとLinkerD

Unleash your IoT development tools with WSL(Francesco Valerio Buccoli / Marco Dal Pino)

 ここから2日目。

 MicrosoftのFrancesco Valerio Buccoliと、Projest SpAのMarco Dal Pinoが、組み込みLinux開発ツールチェーンのYoctoをWSLで使って開発する方法を解説しました。

 WSLのセッションなのに1990年代のWindows CE向け開発の話から始まり、組み込みLinuxの話に。そして、ビルドホストと各種開発マシンで開発環境を揃えるためにWSLを使う、という話でした。

Windows CEの話から始まる
Yocto開発環境を揃えるためにWSL

WSL2 Deep Dive/History/Q&A(Craig Loewen / Ben Hillis)

 WSLに関するQ&A形式のセッションが、WSLのProgram ManagerのCraig Loewenと、WSLのSenior Software EngineerのBen Hillisのかけあい形式で行なわれました。

 WSLはもともとWindows Phoneの機能として開発されたとか、WSL2をリリースした後はファイルシステムパフォーマンスやネットワークの改善に取り組むとか、WSL1もサポートを続けるとか、Linuxカーネル5.xへの移行中とか、ベストなエクスペリエンスになるよう9pに対応したとか、Rustはawesomeでセキュアな言語なので興味あるとか、LCOWチームはGoが好きとか。

 その合間に、いろいろデモもありました。WSL上のUbuntuとAlpineの間でファイルコピーしたり、大きなメモリをアロケートして開放するだけのプログラムを繰り返し実行してメモリの開放をモニタリングしたり。あと、開発版のWindows 10では、Windowsエクスプローラーの「Linux」の項目の下に、WSLディストリビューション名が並ぶところも興味深いものでした。

WSL上のUbuntuとAlpineの間でファイルコピー
メモリの開放をモニタリング
開発版のWindows 10ではエクスプローラーにWSLディストリビューションが(拡大表示したところ)

Cross-platform GUI applications with JetBrains Tools on WSL(Carlos Ramirez)

 PengwinのLead DeveloperのCarlos Ramirezが、WindosとLinuxとでアプリケーションを同じように動かす方法を解説しました。メインは、IDEのClionの上でQtでGUIを作る方法で、サンプルは時間管理アプリのToggl。WindowsアプリとLinuxアプリを、プラットフォームごとのコードを含むワンソースで管理するのを紹介しました。

ToggleがWindowsとWSL上のLinuxとで動作

 ちなみにその中で、Pengwinのセットアップも紹介していました。pengwin-setupでVcXSrvの設定もできるとか。

pengwin-setupでVcXSrvの設定

 そのほか、WSLのLinux上のWineでWindowアプリ(サンプルはWinMerge)を動かすという、ちょっと酔狂なクラスプラットフォームの方法も紹介されてました。

Windows上のLinux上のWineでWindowsアプリが動作

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/1518-95a0fc58

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly