Deprecated: WindowsにおけるLinux環境の構築

2022.3.22 本ページの情報はやや古い情報であるが,有益な内容もあるため残している.

1.はじめに

Windows上でLinuxと同等のCUI環境を構築する. 本ページでは,Windows 10にインストールすべきソフトウェアについて説明する.

  • WSL (Windows 10でLinuxと同等の環境を構築する基盤ソフトウェア)

  • wsltty (WSL用の高性能なターミナルソフトウェア)

なお,GUIを使うのであれば,続きの説明ページも読むこと.

インストールの過程ではネットワークからの大量のダウンロードも行われている. 十分にネットワーク帯域が確保できる環境で実施すること. (スマホのテザリング環境等では,絶対に行わないようにすること.)

一連のインストールにより,最終的には5GB程度のディスク容量を占有する.

警告

本ページでインストールしようとしているWSLは,Windows 10 以降で利用可能な機能です. Windows 8.1 等を利用している場合は,まず,利用しているPCがWindows 10に対応しているか, 確認して下さい(PCメーカーのサポートページを見たり,問い合わせなどをしてください). そして,可能であれば,本学情報統括センターの マイクロソフト包括ライセンス 等を利用して,Windows 10へのアップグレードを検討してください.

注釈

本ページの説明でバックスラッシュと表示されている箇所がある. これは,標準的な日本語設定のWindowsでは「¥」として表示されている.適宜,読み替えること.

2. Windows Subsystem for Linux (WSL)

ここでは,Windows 10の拡張機能である Windows Subsystem for Linux (WSL) の インストール手順とその簡単な利用方法を説明する.

2.1 インストール

詳細は,ITMediaの記事を参照せよ.

警告

インストール中に WSL用のユーザとパスワード を作成します. Windowsと同じである必要は無いが,決して忘れないように してください. WSLの「管理者 (Super User)」は,貴方自身 です!! パスワードを忘れたとしても,誰も貴方を助けることはできません.

本資料では,上記記事の手順2においてUbuntuを選択したものとして説明をおこなっていく. また,OS名は,WSLと呼称することにする. 本来は,Ubuntuと呼ぶべきなのだが,ここでは一般的なUbuntuと区別するため,このように扱う.

2.2 WSLへの追加インストール

本学科の講義で多用するソフトウェアを,WSL環境にもインストールしておく. なお,以下の作業は,WSL の中で実施すること. apt install をする前に,一度 apt update をしておくとよい.

$ sudo apt update

なお,上記実行例の $ はプロンプトである.入力しなくても良い.

2.2.1 最小限のインストール

できる限り,ダウンロード量等を制限したい場合,以下の方式でインストールすることで, gccによるコンパイル環境と,Emacsによるファイル編集環境が整う. ただし,演習室よりもソフトウェアに制限が多い場合があるため,注意すること.

$ sudo apt install gcc         # Cコンパイラ
$ sudo apt install emacs-nox   # エディタ

上記実行例で,# 以降の文字列はコメントである.入力しなくても良い.

なお,Emacs を起動してしまった場合,終了は C-x C-c である. y/n等の入力が求められているなら,そのメッセージに従うこと. 入力が効かないようであれば,何回か C-g を押してから,入力してみること.

2.2.2 開発者用の基本パッケージ

※参考:最小限のインストールに留めたいならば,ここはスキップすればよい
    ネットワークからのダウンロードデータ量は約 50 MBになる.
    インストールには約 200 MBのディスク容量が必要となる.

より一般的な方法としては,gccなどのコンパイラを含め, 開発用にほぼ必須となるパッケージ一式をインストールする.

$ sudo apt install build-essential

パスワードを聞かれた場合は,WSLのユーザのパスワードを入力する.

2.2.2 Emacs (Full)

※参考:最小限のインストールに留めたいならば,ここはスキップすればよい
    Emacsそのものというよりは,GUIに必要なファイルをダウンロードしてしまう
    GUIを使う予定がないなら,最小限の emacs-nox にしたほうが良い.

演習室の環境では Emacs を標準的なテキストエディタとして利用する. 自習環境でも練習のために利用したいのであれば,入れておくとよい.

$ sudo apt install emacs

なお,Emacs を起動してしまった場合,終了は C-x C-c である. y/n等の入力が求められているなら,そのメッセージに従うこと. 入力が効かないようであれば,何回か C-g を押してから,入力してみること.

2.2.3 pLaTeX

※参考:最小限のインストールに留めたいならば,ここはスキップすればよい
    ネットワークからのダウンロードデータ量は約 300 MBになる.
    また,インストールには約 1 GBのディスク容量が必要となる.

演習室の環境では,レポート作成の際に pLaTeX による組版をおこなう. 自習環境でも利用したいのであれば,入れておくとよい. なお,演習室の環境よりも少し古いバージョン (TexLive 2017) がインストールされる点には注意すること.

$ sudo apt install texlive-{latex-base,lang-japanese}

2.3 逆引きリファレンス

2.3.1 WindowsからWSLのホームディレクトリにアクセス

例えば,WSLの環境構築時に,ユーザ名 eduuser を作成したならば, 以下のディレクトリに,Explorerでアクセスすればよい.

\\wsl$\Ubuntu\home\eduuser\

2.3.2. WSLからWindowsの「ドキュメント」ディレクトリにアクセス

Windowsのログインユーザ名が,winuser であるならば, 以下のような方法で,ディレクトリにアクセスすればよい.

$ cd /mnt/c/Users/winuser/Documents

注釈

Windowsではいくつかの特殊なディレクトリは,表示だけ日本語にしている場合がある. 他には,「デスクトップ (Desktop)」,「ダウンロード (Downloads)」など.

2.3.3 WSLからWindowsのOneDriveにアクセス

Windowsのログインユーザ名が,winuser であるならば, 以下のような方法で,ディレクトリにアクセスすればよい.

$ cd /mnt/c/Users/winuser/Onedrive

3. wsltty

3.1. インストール

詳細は,ITMediaの記事を参照せよ.

以下,抜粋して説明する.

  • ダウンロード

    • https://github.com/mintty/wsltty/releases

    • wsltty-****-install-x86_64.exe をダウンロードする + 2020.4.9現在の最新版は,wsltty-3.1.4.2-install-x86_64.exe である. + 注:最新版では,インストール時に Windows Defender SmartScreen からの警告(緑のダイアログボックス)が表示される場合がある.

  • インストール

    • インストーラの指示に従うだけ

  • 追加設定(必須ではない)

    • スタートメニューから,「WSLtty」 --> 「add to context menu」を選択する

      • これにより,エクスプローラー上の右クリックメニューに,「WSL Terminal」というメニューが追加される

3.2 使い方

スタートメニューから「WSL Terminal」を選択する.

参考:以下のコマンドが実行されている.

%LocalAppData%\wsltty\bin\mintty.exe --WSL= --configdir="%AppData%\wsltty" -~  -

4. WSL利用上の注意

4.1 文字コードと改行コードについて

WSLを含むLinuxでは,Windowsとは異なる文字エンコーディングや改行コードを用いている. 演習室での利用を鑑みて,できるだけ,以下のルールに統一して,ファイル等の作成をするように注意するとよい.

  • 文字エンコーディング: UTF-8

    • Windows の場合,Shift JIS (CP932) がよく用いられている.

  • 改行コード: LF (10)

    • Windows の場合,CR + LF (13 10) がよく用いられる.

Emacsの場合の扱い方は,文字コード・改行コード関連 を見よ.

また,改行コードについて,C言語でどのように扱っているのか,気になる者は, fopen()b オプションについて調べてみるとよい.

4.2 パスワードについて

WSLのユーザとパスワードはWindowsとは別の管理体系である. パスワードを忘れないようにすること.

もしも忘れてしまって,sudo などのコマンドが実行できなくなってしまった場合は, 以下のページを見よ.

Windows Subsystem for Linux のコマンド リファレンス | Microsoft Docs

5. 普段の作業

以上がインストールされていれば,およそ毎日の自習作業は以下のような手順になるだろう.

  • WSL Terminal を実行して,ターミナル環境を作成し,作業する

6. GUIが使いたい場合

Deprecated: Windows10におけるLinux環境 (GUI編) を参照せよ.

参考文献