Windows 10でLinuxを使う(その7)- Windowsから編集しよう

【連載】

にわか管理者のためのLinux運用入門

【第105回】Windows 10でLinuxを使う(その7)- Windowsから編集しよう

[2017/12/19 08:00]後藤大地 ブックマーク ブックマーク

サーバ/ストレージ

Windowsから使うLinux

Windows 10のWSL(Windows Subsystem for Linux)機能を活用してLinuxを使う場合、Windowsのアプリケーションを使ってLinux環境のほうを扱いたいと考える方も多いだろう。毎日Windowsで使っているエディタや統合開発環境を使ってそのままLinuxの設定ファイルを編集したり、Webアプリを開発できたりすれば便利だ。特にVimの使い方を知らないユーザーなら、そっちのほうが都合がよいと思う。その場合の作業ルーチンは、次のようになるだろう。

  1. Linuxでサーバなどをインストール
  2. WindowsからLinuxサーバの設定ファイルを編集
  3. Linuxでサーバを起動
  4. WindowsからLinuxのWebアプリケーションなどを開発
  5. Windowsから開発したWebアプリケーションの動作チェック


WSLではWindows 10のファイルシステム上にそのままLinuxファイルが展開されているため、Windowsのエディタを使ってLinuxファイルを編集することができる(なお、いろいろ考える必要はあるが、その逆もできる)。Windowsに慣れたユーザーであれば、LinuxのVimを使うよりもWindowsのエディタを使ったほうが作業しやすい方が多いだろう。

では、アプリストア経由でインストールしたLinuxはWindowsのどこに配置されているのかということになるわけだが、例えばLinuxの/etc/に配置されていることが多い「os-release」などのファイル名で検索をかけると、Linuxディストリビューションの中身がどこに展開されているかを調べることができる。筆者の手元の環境の場合、次のパスにUbuntuとopenSUSEが展開されていた。

  • C:\Users\daich\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs
  • C:\Users\daich\AppData\Local\Packages\46932SUSE.openSUSELeap42.2_022rs5jcyhyac\LocalState\rootfs

エクスプローラで調べてみると、「rootfs」がLinuxの/に相当する仕組みになっていることがわかる。

Ubuntu on Windows 10のトップフォルダ

openSUSE on Windows 10のトップフォルダ

上記フォルダのパスはそのままでは扱いにくいので、ショートカットを作成するなどしてアクセスしやすくしておくとよいのではないかと思う。

WindowsからLinuxファイルを編集

WindowsからLinuxファイルを編集してみよう。例えば、Nginxの設定ファイルを編集する場合を考えてみる。Linuxだと、Nginxの設定ファイルは/etc/nginx/nginx.confとして用意されることが多いように思う。Windowsのエクスプローラから先ほどのパスにさらに\etc\nginxを追加すると、次のような感じでLinuxの/etc/nginx/と同じ場所が見える。

WindowsからLinuxの設定ファイルをチェック

nginx.confをメモ帳で開くと、次のようになる。

メモ帳だとまともに編集できない

WindowsとLinuxとではテキストデータの改行コードが異なっているので、メモ帳だと思ったように編集できない。このあたりをよきに計らってくれる多機能エディタを使うほうがよい。例えば、「Atom」などだ。

人気のエディタ「Atom」

Atomでnginx.confを編集

Windowsからファイルを編集してLinux側からファイルを確認してみると、次のように編集されていることを確認できる。

Windowsから編集した内容がLinux側から見ても反映されている

ただし、今のところパーミッションの問題が発生する。例えば、編集前または編集後にファイルのパーミッションが次のようになっていたとする。

daichi@DESKTOP-DVVLKV9:~$ ls -al /etc/nginx/nginx.conf
-rw-r--r-- 1 root root 1601 Dec 18 12:47 /etc/nginx/nginx.conf
daichi@DESKTOP-DVVLKV9:~$

Windowsから該当ファイルの中身を編集して保存した後、例えばUbuntuのコンソールを再起動すると、次のようにファイルのパーミッションが書き換わってしまう。

daichi@DESKTOP-DVVLKV9:~$ ls -al /etc/nginx/nginx.conf
---------- 1 root root 1601 Dec 18 12:52 /etc/nginx/nginx.conf
daichi@DESKTOP-DVVLKV9:~$
編集前 編集後 コンソール再起動後
パーミッション rw-r—r— rw-r—r— ————-

これでは使い物にならない。パーミッションを変更すれば元に戻るが、このようにLinuxのファイルをWindows側から編集する行為はあまりうまくいかないようになっている。基本的にはLinuxはLinux、WindowsはWindowsから操作してほしいというスタンスだ。この辺りは、もしかすると今後のアップデートでよりシームレスになっていく可能性もあるが、今のところWSLの中と外を横断的に編集して利用することはそれほどうまくいかないような作りになっている。WindowsからLinuxのファイルを編集して利用する場合には、この辺りの仕組みを把握した上で利用する必要がある。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします
3338
2
【連載】にわか管理者のためのLinux運用入門 [105] Windows 10でLinuxを使う(その7)- Windowsから編集しよう
今回は、Windows 10のWSL機能を利用して、Windows側のアプリケーションを使ってLinuxの設定ファイルを編集する方法について説明しよう。
https://news.mynavi.jp/itsearch/assets_c/2017/12/1218Linux105_001-thumb-300xauto-16190.jpg
今回は、Windows 10のWSL機能を利用して、Windows側のアプリケーションを使ってLinuxの設定ファイルを編集する方法について説明しよう。

会員登録(無料)

注目の特集/連載
AI人材に必要なもの
DMM.make AKIBAから生まれたスタートアップたち
はじめてのRPA導入
教えてカナコさん! これならわかるAI入門
RPA入門
PowerShell Core入門
Swagger 3.0 入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
クラウドアンケート

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る