47歳でやむなくセミリタイア

病気のためセミリタイアをすることに。現在は週20時間程度のバイトをしています。その他、雑多なことを記録として書いています。

WSL設定まとめ (2025年6月版)

2025/12/22: wslttyの相性問題が落ち着いてきたので、WSL2の場合について記載しました。

PHP8.*を使用する必要があり、現環境にインストールしようとしたら問題が発生したため、 前に書いたWSL2設定まとめの記事を書き直します。

主な変更は以下の通りです。

  • Ubuntu 18.04(サポート停止)からUbuntu 24.04に変更
  • WSL1 を使用 (WSL2とwslttyの相性問題)

ちなみに問題というのは、Ubuntu 18.04がphpの公式レポジトリ(ppa:ondrej/php)から削除されてしまい、インストールできなかったことです。 無理やりインストールできないこともないのですが、今後のことも考えて最新にしてしまいます。

WSLのインストール

PowerShellからwsl --installを実行します。 古いバージョンが使いたい場合には、バージョンを指定してインストールします。 インストール可能な一覧は、wsl -l -oで表示できます。

PS> wsl --install Ubuntu-24.04

(最初に設定した場合には)再起動を行った後、ユーザとパスワードの設定を行えばインストール完了です。

WSL1に変更します(WSL2では不要)

wsl --set-version Ubuntu-24.04 1

systemdの無効化 (WSL2では不要)

WSL1ではsystemdが動作しないため無効化します。

$ sudo apt-mark hold systemd
$ sudo apt-mark hold systemd-dev
$ cd /bin && sudo mv -f systemd-sysusers{,.org} && sudo ln -s echo systemd-sysusers && cd -

パッケージの最新化

以下を実行してパッケージをアップデートしておきます。

$ sudo apt update
$ sudo apt upgrade

wslttyのインストール

ここ(Releases · mintty/wsltty · GitHub)から、wsltty-***-x86_64-install.exeをインストールします。 Optionsで以下を設定します。

  • TextのFontをMSゴシック, 9ptにする
  • MouseのRight mouse buttonをPasteにする
  • WindowのDefault sizeを 155 x 36 にする
  • TerminalのBellを no beep にする

claunchからwslttyを起動しようとするとアイコンが表示されないことがあります。この場合claunchの右クリックメニューで「アイテム登録」で登録する際に、「ショートカットをリンク先に変換」のチェックを外しておくと表示されるようになります。

また、Ubuntuをアップデートした際に、アイコンが表示されなくなることがありますが、wslttyを上書きインストールすると直ります。

古いUbuntuを削除した場合には、C:\Users\<ユーザ名>\AppData\Local\wsltty\uninstall.batを実行してから、C:\Users\<ユーザ名>\AppData\Local\wslttyを削除し、再インストールします。

ロケール設定

.bashrcに以下を追加する。

export LANG=ja_JP.UTF-8
export LANGUAGE=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8

以下を実施して、CUIでja_JP.UTF-8を選択した後、ターミナル(wsltty)を再起動します。

$ sudo locale-gen ja_JP.UTF-8

.inputrcの設定

~/.inputrcを作成し、bellをoffにする設定を行います。

set bell-style none

vimの設定

カラースキームにhybridを設定する

$ git clone https://github.com/w0ng/vim-hybrid
$ mv vim-hybrid/colors/hybrid.vim ~/.vim/colors/

.vimrcに以下を追加する。

set background=dark
colorscheme hybrid
set t_Co=256            " need for colorscheme hybrid

pathogen.vimのインストール (syntasticの準備)

vim編集中にphpなどの構文チェックを行ってくれるsyntasticを設定します。 本家(GitHub - vim-syntastic/syntastic: Syntax checking hacks for vim)にある方法そのままです。

まずはvimプラグインを管理するパッケージのpathogen.vimをダウンロードします。

$ mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

.vimrcに以下を追加する。

execute pathogen#infect()

syntasticを設定

syntasticをダウンロードします。

$ cd ~/.vim/bundle && git clone --depth=1 https://github.com/vim-syntastic/syntastic.git

.vimrcに以下を追加する。

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

vim pluginをインストール

VUE/javascript/typescriptのハイライトを行ってくれます。.vimrcの設定の追加は不要です。

$ cd ~/.vim/bundle && git clone https://github.com/leafoftree/vim-vue-plugin
$ cd ~/.vim/bundle && git clone https://github.com/pangloss/vim-javascript
$ cd ~/.vim/bundle && git clone https://github.com/leafgarland/typescript-vim
$ cd ~/.vim/bundle && git clone https://github.com/jason0x43/vim-js-indent.git

試行錯誤中。VUEは以下を使用していたが、今は上の2つを使っている。

$ cd ~/.vim/bundle && git clone https://github.com/posva/vim-vue.git

.vimrcの設定

上記のものも含めて.vimrcのまとめです。

execute pathogen#infect()

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

syntax enable
set autoindent        " phpのインデントにはsmartindentとcindent も必要
set smartindent
set cindent
set vb t_vb=            " bellのoff
set background=dark
colorscheme hybrid
set t_Co=256            " need for colorscheme hybrid
set encoding=utf-8
set expandtab
set tabstop=4
set shiftwidth=4
set cursorline
set ambiwidth=double
set redrawtime=10000
set regexpengine=1  " syntax on時の高速化