LoginSignup
3
3

More than 5 years have passed since last update.

Win10でbashを使う~X11転送まで~

Last updated at Posted at 2016-08-04

はじめに

8月2日にAnniversery UpdateがWindows10に来たのでついにWindowsでBashが使えるようになりました。
なのでBashを使うようにする手段と軽い活用方法を書きます。

前提

  • OS:Windows10
  • 8月2日公開のWindows Updateを行っている

bashを使う手順

基本的にはInsiderの時と変わっていません。
変わった点はbashを起動する際のみなので簡単に終わります。

開発者モードに変更

win10の設定からセキュリティ->開発者向け に移動し、開発者モードに変更します。
再起動するまで、一部の機能は動作しない可能性があります。とありますがbashの有効化の時に再起動するので今はいいです。

win10設定者.png

bashの有効化

コントロールパネル->プログラム->プログラムと機能->Windowsの機能の有効化または無効化
からWindows Subsystem for Linux (Beta)にチェックを入れてOK
ここで再起動しますか、と出るので再起動をします。

windows機能.png

bashを起動

再起動後コマンドプロンプトを起動(「Win」+「R」cmdを入力してEnter)
bashコマンドを実行します。ここでyを入力するとインストールが始まります。

bashinstall.png

インストールが進むと新しいUNIXユーザの作成を要求されます。(自分はアンインストールして入れたので復元が入りました。)ここでユーザ名とパスワードを設定することでインストールが完了します。画像では前にインストールしたときに.bashrcをいじったので起動できずにコマンドプロンプトに戻されていますが、初めての場合普通に起動します。

basninstall2.png

bashインストール後

bashをインストールしたことによってapt-getも使えるようになります。なのでapt-getを利用していろいろなことをやっていきます。

apt-getを使う

まず下記のコマンドを行ってください。

$ sudo apt-get update
$ sudo apt-get upgrade

ここで要求されるパスワードはbash起動時に作成したパスワードとなります。

zshを使う

zshはapt-getでインストールできますが、chshで変更はなぜかできなかったので代替案を使います。日本語の表示はされますが入力は標準ではできないのでzshをいれておくと日本語ディレクトリの移動ができるようになるのでやったほうがいいと思います。(tabを使った予測から)

$ sudo apt-get install zsh
$ touch ~/.zshrc
$ vim ~/.bashrc


# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# ここから以下4行を書き込む
#Launch Zsh
if [ -t 1 ]; then
exec zsh
fi
# ......

$ source ~/.bashrc

こうすることでbash起動時にzshが動くようになります。

その他コマンド

ここから先は確認だけ、今後いろいろ試したい。

sshでX11転送

Xming X Server for Windowsをインストールする(sourceforgeに飛びます)

インストールしたらXmingを起動

起動後にdisplayを確認
xming.jpg

bashで以下のコマンドを行う。

$ export DISPLAY=localhost:0.0

これでssh接続時に-XYオプションをつければx11転送ができるようになります。

ping

普通にやると下の結果になる

% ping google.com
ping: icmp open socket: Permission denied

bashを開くcmdを管理者権限で開く必要があり、そうするとpingコマンドが使えるようになる。(情報提供:緋雪さん)

% ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=0.000 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=0.000 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1013ms
rtt min/avg/max/mdev = 0.000/0.000/0.000/0.000 ms

nslookup

問題ない模様

% nslookup google.co.jp
Server:         x.x.x.x
Address:        x.x.x.x#53

Non-authoritative answer:
Name:   google.co.jp
Address: 216.58.221.195

nmap

これもダメ

% nmap server
Starting Nmap 6.40 ( http://nmap.org ) at 2016-08-04 19:32 DST
Problem binding to interface , errno: 22
socket_bindtodevice: Invalid argument
NSOCK ERROR [1.0570s] mksock_bind_device(): Setting of SO_BINDTODEVICE failed (IOD #1): Invalid argument (22)
NSOCK ERROR [1.0570s] mksock_bind_device(): Setting of SO_BINDTODEVICE failed (IOD #2): Invalid argument (22)
NSOCK ERROR [1.0570s] mksock_bind_device(): Setting of SO_BINDTODEVICE failed (IOD #3): Invalid argument (22)
Problem binding to interface , errno: 22
socket_bindtodevice: Invalid argument

感想

今日気づいて投稿したのでいろいろ確認したくてもできてない部分が多い。
ネットワーク系統はもうちょっと見てみたい。
windowsで仮想マシン使わずにctfができたらいいよね!

3
3
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
3
3