Bash on Ubuntu on Windowsで日本語ターミナル環境を快適に使う2
OpenSSHのsshdが起動しないって書いたのですが、どうやら私の環境がダメなだけかもしれません。
下記のリンク先で自動起動も含め、sshdの使用法が紹介されていますので参考にしてみてください。
Bash on Ubuntu on Windows で SSH を利用する
私もやってみましたが何故か上手くいかなかったので、前回までの設定を行った上でとりあえず安直にスタートアップにbash.exeを登録しました。
Windowsのプログラムも実行したい
さて、今までWindows上のCygwin環境でやっていた事の殆どをBash on Windowsに置き換えて作業できる様になって来たので、後はターミナルからWindowsのプログラムを実行出来れば完全に移行できそうな気がします。まぁ、普通はそんなに必要無いんでしょうが、私の場合w3mから外部ブラウザを開く操作を頻繁にしますし、CUIのファイラからエクセルとかを起動するなんて事もあるので結構必須な機能なんです。
Cygwinの場合だと /cygdrive/c を起点としてフルパスで指定すれば難なく設定出来ますが、Bash on Windowsではそう簡単にはいかないので、一般的なLinux上からネットワーク経由でWindowsのコマンドを実行するのと同じ手段で実現する形になります。ちょっと調べてみたらWindows用のRSHデーモンや"winexe"というツールを使用する方法が見つかりましたが、どちらも上手く行きませんでした(winexecはCUIコマンドならOK、GUIを起動するオプションは最近のWindowsでは効かないみたい)。
なので今回はandLinux向けの下記サイトの情報を参考にdRubyを使用して実現したいと思います。
andLinuxからWindowsコマンドの呼び出し
Windows側の設定
まずはWindowsにRubyをインストールします。私は今回はUSB Rumix 2っていうインストーラ無しでコンパクトにRuby環境を整えるパッケージを使用しましたが、RubyInstallerや参考サイトの様なCygwinのRuby等、なんでもイケると思います。
準備出来たら下記の内容でwinexec-executer.rbというファイルを作って適当な場所に保存し、起動しておきましょう。
#!/usr/bin/ruby
require 'drb/drb'
require 'open3'
DRb.start_service('druby://127.0.0.1:12346', Open3)
sleep