Deprecated: WindowsにおけるLinux環境の構築
2022.3.22 本ページの情報はやや古い情報であるが,有益な内容もあるため残している.
1.はじめに
Windows上でLinuxと同等のCUI環境を構築する. 本ページでは,Windows 10にインストールすべきソフトウェアについて説明する.
なお,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 開発者用の基本パッケージ
より一般的な方法としては,gccなどのコンパイラを含め, 開発用にほぼ必須となるパッケージ一式をインストールする.
$ sudo apt install build-essential
パスワードを聞かれた場合は,WSLのユーザのパスワードを入力する.
2.2.2 Emacs (Full)
演習室の環境では Emacs を標準的なテキストエディタとして利用する. 自習環境でも練習のために利用したいのであれば,入れておくとよい.
$ sudo apt install emacs
なお,Emacs を起動してしまった場合,終了は C-x C-c である.
y/n等の入力が求められているなら,そのメッセージに従うこと.
入力が効かないようであれば,何回か C-g を押してから,入力してみること.
2.2.3 pLaTeX
演習室の環境では,レポート作成の際に 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の記事を参照せよ.
以下,抜粋して説明する.
ダウンロード
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 などのコマンドが実行できなくなってしまった場合は,
以下のページを見よ.
5. 普段の作業
以上がインストールされていれば,およそ毎日の自習作業は以下のような手順になるだろう.
WSL Terminal を実行して,ターミナル環境を作成し,作業する