たぶんArchじゃなくても日本語入力できると思う
Arch Linuxをインストールする
yuk7/ArchWSL: Install ArchLinux as a WSL Instance and Launch it (for Windows 10 FCU 64bit or later)
べんり
Hyperをインストールする
Windowsでも比較的マシな品質のターミナルが使える
WindowsからWSLを触らないなら無くてもいい
👇オススメ設定(カラースキームはArgonaut準拠)
// -- hyper-stylesheet-hash:5a843a19b2f591c89623dca08a5fa929 --
module.exports = {
config: {
// default font size in pixels for all tabs
fontSize: 18,
// font family with optional fallbacks
fontFamily: 'Cica',
// terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
cursorColor: 'rgba(248,28,229,0.6)',
// `BEAM` for |, `UNDERLINE` for _, `BLOCK` for █
cursorShape: 'BLOCK',
// color of the text
foregroundColor: '#fffaf4',
// terminal background color
backgroundColor: '#232323',
// border color (window, tabs)
borderColor: '#333',
// custom css to embed in the main window
css: '.unicode-node {width: 18px !important;}',
// custom css to embed in the terminal window
termCSS: '',
// set to `true` (without backticks) if you're using a Linux setup that doesn't show native menus
// default: `false` on Linux, `true` on Windows (ignored on macOS)
showHamburgerMenu: '',
// set to `false` if you want to hide the minimize, maximize and close buttons
// additionally, set to `'left'` if you want them on the left, like in Ubuntu
// default: `true` on windows and Linux (ignored on macOS)
showWindowControls: '',
// custom padding (css format, i.e.: `top right bottom left`)
padding: '12px 14px',
// the full list. if you're going to provide the full color palette,
// including the 6 x 6 color cubes and the grayscale map, just provide
// an array here instead of a color map object
colors: {
black: '#232323',
red: '#ff000f',
green: '#8ce10b',
yellow: '#ffb900',
blue: '#008df8',
magenta: '#6d43a6',
cyan: '#00d8eb',
white: '#d0d0d0',
lightBlack: '#444444',
lightRed: '#ff2740',
lightGreen: '#abe15b',
lightYellow: '#ffd242',
lightBlue: '#0092ff',
lightMagenta: '#9a5feb',
lightCyan: '#67fff0',
lightWhite: '#ffffff'
},
// the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
// if left empty, your system's login shell will be used by default
// make sure to use a full path if the binary name doesn't work
// (e.g `C:\\Windows\\System32\\bash.exe` instad of just `bash.exe`)
// if you're using powershell, make sure to remove the `--login` below
shell: 'C:\\Windows\\System32\\bash.exe',
// for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
// by default ['--login'] will be used
shellArgs: ['--login'],
// for environment variables
env: {},
// set to false for no bell
bell: false,
// if true, selected text will automatically be copied to the clipboard
copyOnSelect: false
// if true, on right click selected text will be copied or pasted if no
// selection is present (true by default on Windows)
// quickEdit: true
// URL to custom bell
// bellSoundURL: 'http://example.com/bell.mp3',
// for advanced config flags please refer to https://hyper.is/#cfg
},
// a list of plugins to fetch and install from npm
// format: [@org/]project[#version]
// examples:
// `hyperpower`
// `@company/project`
// `project#1.0.1`
plugins: [
'hyper-stylesheet',
],
// in development, you can create a directory under
// `~/.hyper_plugins/local/` and include it here
// to load it and avoid it being `npm install`ed
localPlugins: []
};
WindowsにXサーバーをインストールする
- VcXsrvをインストールする
C:\Program Files\VcXsrv\run-linux.js
を作成
C:\Program Files\VcXsrv\run-linux.js
var shell = new ActiveXObject("WScript.Shell");
var args = WScript.Arguments;
var cmd = [];
var i;
for (i = 0; i < args.length; i++) {
cmd.push(args(i));
}
shell.Run("bash -lc '" + cmd.join(' ') + "'", 0, true);
※ JScriptなのでlet
とかconst
を使うのは、たぶんダメ
start.xlaunch
を(デスクトップとかに)作成
<?xml version="1.0" encoding="UTF-8"?>
<XLaunch
WindowMode="MultiWindow"
ClientMode="StartProgram"
LocalClient="True"
Display="-1"
LocalProgram="wscript run-linux.js cd; lxpanel --profile LXDE"
RemoteProgram=""
RemotePassword=""
PrivateKey=""
RemoteHost=""
RemoteUser=""
XDMCPHost=""
XDMCPBroadcast="False"
XDMCPIndirect="False"
Clipboard="True"
ClipboardPrimary="True"
ExtraParams="-dpi 96"
Wgl="True"
DisableAC="False"
XDMCPTerminate="False"
/>
参考
Windows Subsystem for Linux + X Windowを1.024倍くらい使いこなすための方法 - Qiita
Hyper(bash.exe)で環境を整える
パッケージインストール
sudo pacman -S fcitx-im fcitx-configtool firefox-developer-edition firefox-developer-edition-i18n-ja gedit neofetch noto-fonts noto-fonts-cjk lxde zsh
.bashrc
ログインシェル($- != *i*
)ではない場合は、必要な環境変数をexportしたりスタートアップアプリを準備する
- DISPLAY: Windows上のXサーバーを指定
- GTK_IM_MODULE, XMODIFIERS, QT_IM_MODULE: インプットメソッドを指定(fcitxとかuimとか)
- fcitxを起動
- 早期リターン
ログインシェルの場合はzsh
を起動
※ WSLはchsh
をしても強制的にbashが起動するので.bashrc
に全部書く
export LANG='ja_JP.UTF-8'
export SHELL=$(which zsh)
if [[ $- != *i* ]]; then {
export DISPLAY=localhost:0.0
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
fcitx
return
} fi
exec zsh
GUIで環境を整える
startx.xlaunch
をダブルクリックするとLXDE(のパネルとウィンドウマネージャー)が起動する
LXDEのパネルを右クリック👉高度な設定👉ログアウトのコマンド にlxpanelctl exit
と入れておくと、LXDEでログアウトをクリックしたときにVcXsrvも終了してくれる
参考
Windows Subsystem for Linux + X Windowを1.024倍くらい使いこなすための方法 - Qiita
遊ぶ
左はWindowsのChrome
右はArch LinuxのChrome