Bash on Ubuntu on Windows -- WindowsとUbuntuの連携機能を使ってみる
明けましておめでとうございます。本年もよろしくお願い申し上げます。
Bash on Ubuntu on Windows (Windows Subsystem for Linux (WSL))でUbuntuからWindowsアプリケーション、又は、WindowsからUbuntuのアプリケーションを起動させることができます。(恥ずかしながら、つい先日知りました…)
以下の記事を参考に試してみました。
WSL その50 - WindowsからLinuxコマンドを呼び出すコマンドの実行例:kledgeb
WSL その51 - BashからWindowsコマンドを呼び出すコマンドの実行例:kledgeb
WSL その52 - BashからWindowsバイナリーを起動する機能の有効・無効を切り替えるには:kledgeb
WSL その53 - WindowsとBashの相互運用:kledgeb
WSL その59 - Bashからもっと簡単にWindowsアプリを起動できるようになった:kledgeb
ここのサイトの情報は大変充実していて助かりました。ありがとうございます。
その他、開発者による解説サイトはこちら。
Windows and Ubuntu Interoperability:Microsoft Developer
上述のサイトでは、Win32アプリとUbuntuアプリケーションの間でパイプで連携する方法等が解説されています。
Ubuntuのperlから作成したcsvファイルをWindowsで起動したExcelで読み込むデモを試してみたので、その経過をメモ。
なお、実行環境はBuild 14986です。
test01.pl
#/usr/bin/perl
use strict;
use Math::Trig;
#
print "x-axis,y-axis\n";
for (my $i = -2*pi; $i <= 2*pi; $i += pi/100){
print "$i,", sin($i), "\n";
}
UbuntuとWindows相互のファイル受け渡し用に作業ディレクトリを作成します。
例えば、Windowsのドキュメントフォルダ配下に\work\TMPフォルダを作成し、Ubuntuでは~/work/TMPにシンボリックを張ることにして、Ubuntuから以下のコマンドを実行します。
$ mkdir ~/work
$ cd ~/work
$ ln -s /mnt/c/Users/****/Documents/work/TMP .
ここで、"****"は自分のホームディレクトリ名です。
Microsoft Officeアプリケーションにパスを通します。
オフィスのバージョンによりますが、例えばOffice 2013の場合、 ~/.bashrcに、
export PATH="$PATH:/mnt/c/Program Files/Microsoft Office 15/root/office15"
を追加します。
そして、以下のシェルスクリプトを作成して実行します。
test01.sh
#!/bin/bash
#
perl test01.pl > ~/work/TMP/test01.csv
excel.exe "C:\\Users\****\Documents\work\TMP\test01.csv" &
このシェルスクリプトを実行すると、Excelからcsvファイルを開くことができます。
Excelからcsvファイルを開いて、グラフを描画してxlsxファイルとして保存し直したときの画面がこちら。
なお、悩んだところとして、Windowsにおける自分のホームディレクトリに漢字が入っていると、
$ TMP_PATH1=$(cmd.exe /c "echo %HOMEPATH%")
$ echo $TMP_PATH1
すると、きちんとホームディレクトリ名が取得できているのですが、
$ TMP_PATH2="$TMP_PATH1\work"
$ echo $TMP_PATH2
とすると、正常に動作しません。ホームディレクトリ名に漢字が入っていないアルファベット文字だとちゃんと動くので、変数に漢字が入っていると不具合が発生しているように思います。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- ADSLはまだ終わらない・・・(2022.12.31)
- FMV DESKPOWER (FMVFER)内蔵HDDを取り出してデータを保全する(2022.09.20)
- ThinkPad E440の液晶ディスプレイ・パネルを交換してみた(2022.09.18)
- かえうち2を導入してみた(2022.09.04)
- FILCO Majestouch MINILA-R Convertibleを導入して、親指シフトも試してみた(2022.08.03)
コメント