LoginSignup
6
14

More than 5 years have passed since last update.

WSLを使ってWindowsの操作性を向上させる

Posted at

やりたいこと

WSLを使ってもっとWindowsを便利にしたい。次のことを実現する

  • ファイルマネージャーをキーボードで利用できるようにする(rangerの利用)
  • rangerからMS OfficeAdobe Readerを使ってファイルを開けるようにする
  • ドラッグアンドドロップのためにbashからExplorerを開けるようにしておく(パワポとかで画像をドラッグアンドドロップすることが多いため)

環境

  • Windows10
  • Windows Subsystem for Linux (WSL) (私はUbuntuを入れています)

実現方法

rangerのインストール

rangerとは、bash上で利用できるファイルマネージャーです。windowsでいうところのExplorerです。その大きな特徴はVimのようにファイルマネージャーを操作できる点です。つまりマウスがいりません。

こちらのサイトを参考にしました。
CLI で Linux ファイルマネージャ ranger を使うことのメモ

前提としてPythonがパソコンに入っていることが必要ですが、WSLなら最初から入っているので気にしなくてよいです。ただ、pipが必要なので、入れておきます。

bash
$ sudo apt-get install python-pip

次のコマンドを打てばrangerのインストールは終わりです。

bash
$ sudo pip install http://nongnu.org/ranger/ranger-stable.tar.gz

bash上でrangerと打てば下のような画面が起動します(薄いのは私のbashの設定です、スミマセン)。
無題.png

Vimのようにh,j,k,lで移動ができます(h, lはディレクトリの上下の階層への移動になっています。)。操作方法は上のリンクが詳しいです。

rangerではVimと同様に:qで抜け出すことができますが、抜け出したときにrangerでいたフォルダに移動していたら何かと便利です。これを実現するためにはこちらのGitHubのbash_automatic_cd.shの内容を~/.bashrcに記述しておきます。ただし、/usr/bin/rangerはWSLの場合には次のように変えておきます。

~/.bashrc
/usr/local/bin/ranger

これでCtrl+oでrangerが起動し、さらに:qで抜けたときにフォルダ移動がされます。

rangerからWindows上のソフトウェアを使ってファイルを開く

さて、rangerはrと打てばカーソルのある位置のファイルを開くことができます。私は普段の作業ではMS OfficeやAdobe Readerを使っているので、rangerでこれらを使ってファイルを開きたいわけです。

しかし、WSL上で、~/.profileでOfficeやAdobeにパスを通しておいてもrangerから開こうとするとファイルが見つかりませんというエラーが出ます。これを解決するためには~/.config/ranger/rifle.confに次のような行を追加します。

~/.config/ranger/rifle.conf
ext docx? = echo "$@" | sed -e 's;/mnt/\(.\);\1:;' -e 's/.*/"&"/' -e 's:/:\\:g' | xargs cmd.exe /C start winword
ext xlsx? = echo "$@" | sed -e 's;/mnt/\(.\);\1:;' -e 's/.*/"&"/' -e 's:/:\\:g' | xargs cmd.exe /C start excel
ext pptx? = echo "$@" | sed -e 's;/mnt/\(.\);\1:;' -e 's/.*/"&"/' -e 's:/:\\:g' | xargs cmd.exe /C start powerpnt
ext pdf = echo "$@" | sed -e 's;/mnt/\(.\);\1:;' -e 's/.*/"&"/' -e 's:/:\\:g' | xargs cmd.exe /C start "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
ext exe = echo "$@" | sed -e 's;/mnt/\(.\);\1:;' -e 's/.*/"&"/' -e 's:/:\\:g' | xargs cmd.exe /C start

これを追加しておけば、rコマンドをranger上で打ったときに、OfficeやAdobeが候補として出てきて、それを選択すればちゃんと開けるようになります。

bash上からExplorerを開けるようにする

rangerは非常に操作性が高く、使いやすいのですが、一つExplorerに負けている点があります。それがドラッグアンドドロップです。パワポなどを使っていると、画像を張るためにパワポ上にファイルをドラッグアンドドロップすることがあります。

rangerには残念ながらその機能がないため、仕方ないのでせめてbashからカレントディレクトリをExplorerで開けるようにしておきます。~/.bashrc上に次を追加します。

~/.bashrc
function winp {
    pwd | sed -e "s;/mnt/c;C:;" -e "s;\/;\\\\\\\\;g" | xargs explorer.exe
}  

これを通しておけば、bash上でwinpと打てばカレントディレクトリがExplorerで開きます。

参考サイト

6
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
14