5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows 10 で i3 window manager を使う

Last updated at Posted at 2020-04-21
  • 2020-05-30 更新:WSL2対応版を書きました。(この記事を読んでる前提ですので先にこちらを読んでから)

普段 Debian GNU/Linux Desktop 環境で使っている i3 window manager を Windows 10 でも使いたい。Windows Terminal も悪くないんだけど、やっぱり使い慣れている xfce4-terminal や Thunar が使いたい。そのためだけに VirtualBox 入れるのも良いのだけど、それはそれで独立環境になっちゃうので、Windows 10 そのものとシームレスに使いたい。

必要なもの

  • Windows 10
  • WSL (私の場合は Debian)
  • VcXsrv

セットアップ

Windows 10

  1. WSL を有効にする
  2. Debian を入れる
    1. Microsoft Store から WSL 用 Debian を入れる
    2. /etc/apt/sources.list を編集する(任意): 私は Sid を使っちゃう

VcXsrv

  1. VcXsrvのサイトから、ダウンロードする
  2. ダウンロードしたインストーラからインストールする

WSL上での作業

$ sudo apt install i3 j4-dmenu-desktop xfce4-terminal thunar dunst i3pystatus uim-mozc uim-gtk3

その他、入れておきたいパッケージは適宜入れる

i3 設定

WSL のユーザホームディレクトリに .config/i3 ディレクトリを作って、そこに i3 設定ファイル config を作る。
キモは、i3 の終了方法。以下のように書く。

# Exit i3 and VcxSrv Together (Thanks for https://gist.github.com/marfillaster/85a3da3a19902236655db1232fa9d8df)
bindsym $mod+Shift+e exec "taskkill.exe /IM vcxsrv.exe /T"

i3 を終了する際に、Windows の taskkill コマンドで vcxsrv も終了させる

WSL 起動時に i3 を動かす shellscript を書く

#!/bin/bash
# .scripts/wm
export DISPLAY=:0
source ~/.bashrc
cd
i3

これを ~/.scripts/wm として保存する。

VcXsrv を起動して、WSL を実行する vbscript を書く

Set shell = CreateObject("WScript.Shell" ) |
shell.Run """C:\Program Files\VcXsrv\vcxsrv.exe"" :0 -fullscreen -wgl", 0, false |
shell.Run "debian -c "" ~/.scripts/wm""", 0, false |

これを i3wm.vbs とか名前を付けて保存する。

起動

Windows 10 で、i3wm.vbs をダブルクリックすると VcXsrv が起動して、X Client として i3 wm が動作する

  • 各種設定ファイルやスクリプト類は こちら
5
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
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?