Setting of WSL
This article was written in 2019-03-09.
Please note that version of Windows, WSL, and other installed applications on Ubuntu may differ when you are reading this article; there is no guarantee to success those installation.
Install Ubuntu 18.04 from Windows Store
Install Ubuntu 18.04 by GUI. Google it for instructions.
Windows settings
Install VcXsrv from https://sourceforge.net/projects/vcxsrv/
see installation process
bash on Ubuntu
start bash by clicking Windows' start menu -> Ubuntu 18.04. Then,
$ sudo apt update && sudo apt upgrade -y
X11
$ cat << EOF >> .bashrc
export DISPLAY=localhost:0.0
export LIBGL_ALWAYS_INDIRECT=1
EOF
# check
$ source .bashrc # need reload
$ sudo apt install x11-apps
# check launch
$ xeyes
Then install other x11s
$ sudo apt install x11-utils x11-xserver-utils dbus-x11
Language
Set Japanese.
$ sudo apt install language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF-8
# check
$ echo $LANG
$ locale
Timezone
# selected Asia/Tokyo
$ sudo dpkg-reconfigure tzdata
Japanese input on Xapp
I tried to install ibus-mozc, but it didn't work. So decided to use uim-anthy. See fcitx-mozc installation at https://qiita.com/maromaro3721/items/be8ce6e3cec4cbcdac00
reference: https://tobubiyori.blogspot.com/2017/04/creaters-update-ubuntu-1604bash-on.html
uim-anthy
$ sudo apt install leafpad uim uim-xim uim-anthy
# font for x11
# $ sudo apt install fonts-ipafont
$ sudo apt install fonts-noto-cjk fonts-noto-color-emoji
# check Ctrl-Space or 半角/全角 ボタン
$ echo << EOF >> .bashrc
# for uim input
export XIM=uim
export XMODIFIERS=@im=uim
export UIM_CANDWIN_PROG=uim-candwin-gtk
# export UIM_CANDWIN_PROG=uim-candwin-qt
export GTK_IM_MODULE=uim
export QT_IM_MODULE=uim
#
if [ $SHLVL -eq 1 ]; then
uim-xim &
fi
EOF
# for Japanese keyboard
$ echo << EOF >> .uim
(define default-im-name 'anthy)
(define-key generic-on-key? '("Henkan_Mode" "zenkaku-hankaku" "<Control> " "<Control>\\"))
(define-key generic-off-key? '("Muhenkan" "zenkaku-hankaku" "<Control> " "<Control>\\"))
(define-key anthy-extend-segment-key? '("<Control>o"))
(define-key anthy-shrink-segment-key? '("<Control>i"))
EOF
$ source .bashrc
$ leafpad
Desktop -> LXDE
$ sudo apt install lxde
$ startlxde
or
$ sudo apt install lxpanel
$ lxpanel --profile LXDE &
Change default directory names from Japanese to English like デスクトップ -> desktop
sudo apt install xdg-user-dirs-gtk
LANG=C xdg-user-dirs-gtk-update
Intellij
Note: snap
command is not working on WSL now.
Interacting with snapd is not yet supported on Windows Subsystem for Linux.
This command has been left available for documentation purposes only.
Unofficial Debian / Ubuntu packages of IntelliJ IDEA from JetBrains.
https://launchpad.net/~mmk2410/+archive/ubuntu/intellij-idea
Note: It is your responsibility to use unofficial installer
sudo add-apt-repository ppa:mmk2410/intellij-idea
sudo apt update
sudo apt install intellij-idea-community
IDE -> プログラミング -> IntelliJ IDEA Community Edition
(/usr/share/applications/intellij-idea-community.desktop)
docker on WSL
Note: Ubuntu 18.04 on WSL with Windows 10 1803 does not support latest docker of version 18.
You need to update windows 10 from 1803 to 1809.
(https://www.microsoft.com/ja-jp/software-download/windows10)
reference: http://j-levia.hatenablog.jp/entry/2019/01/02/234032
$ uname -a
Linux *** 4.4.0-17763-Microsoft #253-Microsoft Mon Dec 31 17:49:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"
The below operation is bad installation, showing only for demostrate purpose
# install (fails)
sudo apt update && sudo apt upgrade
sudo apt install -y docker.io
sudo apt-get install -y docker.io
# restart bash as Admin priviledge (meaning cmd or other console runs as Admin and typo `bash`)
sudo usermod -aG docker $USER
sudo cgroupfs-mount
sudo service docker start
docker run hello-world
Error occurs. Need to downgrade (see https://github.com/docker/for-linux/issues/591)
$ docker run hello-world
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:301: running exec setns process for init caused \"exit status 23\"": unknown.
ERRO[0009] error waiting for container: context canceled
Install docker-ce, not docker.io
(https://www.quora.com/What-is-the-difference-between-docker-engine-and-docker-io-packages)
# https://docs.docker.com/install/linux/docker-ce/ubuntu/
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# check previous version
apt-cache madison docker-ce
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu # this version works
# service
sudo usermod -aG docker $USER
sudo cgroupfs-mount
sudo service docker start
docker version
If docker service is resistered, you do not need run bash as Admin.
Restart your windows shell as normal user.
$ docker run -it --rm hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
That's all.