2025/12/22: wslttyの相性問題が落ち着いてきたので、WSL2の場合について記載しました。
PHP8.*を使用する必要があり、現環境にインストールしようとしたら問題が発生したため、 前に書いたWSL2設定まとめの記事を書き直します。
主な変更は以下の通りです。
ちなみに問題というのは、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時の高速化