WSL の Ubuntu コンソールから Atom を起動できない件
2018/10/18
『改訂4版基礎Ruby on Rails』の P.34 のコラム「Atom をターミナルから起動するには」に次のように記載されています。
macOS、WSL/Ubuntu、MSYS2/MinGW のターミナルから Atom を起動するには、開きたいディレクトリに移動してから「atom .」というコマンドを実行してください。
しかし、
net.js:200
this._handle.open(options.fd);
^
Error: EINVAL: invalid argument, uv_pipe_open
at new Socket (net.js:200:18)
at createWritableStdioStream (internal/process/stdio.js:164:16)
at process.getStdout [as stdout] (internal/process/stdio.js:14:14)
at console.js:246:38
at NativeModule.compile (bootstrap_node.js:596:7)
at Function.NativeModule.require (bootstrap_node.js:541:18)
at setupGlobalConsole (bootstrap_node.js:310:41)
at startup (bootstrap_node.js:70:7)
at bootstrap_node.js:608:3
のようなエラーが出てしまいます。
この記事では、この問題への対処法を説明します。
まず、Windows 側で Atom を起動し、Atom のバージョン番号を調べます。「Help」メニューから「About Atom」を選択すると、About タブが開きます。そこに 1.32.2 x64
のような文字列が書かれています。1.32.2
がバージョン番号です。
次に、Ubuntu ターミナルを開きます。そして、次のコマンドを実行します。
$ echo 'alias atom="/mnt/c/Users/XXXX/AppData/Local/atom/app-YYYY/atom.exe"' >> ~/.bashrc
$ source ~/.bashrc
ただし、XXXX
の部分は Windows のユーザー名、YYYY
の部分はバージョン番号で置き換えてください。
例えば、Windows のユーザー名が kuroda
で、Atom のバージョン番号が 1.32.2
であれば、具体的なコマンドは次のようになります。
$ echo 'alias atom="/mnt/c/Users/kuroda/AppData/Local/atom/app-1.32.2/atom.exe"' >> ~/.bashrc
$ source ~/.bashrc
これで解決するはずです。うまくいかない場合は、hermes@oiax.jp までご連絡ください。
なお、上記の問題は、WSL の不具合(バグ)です。Windows 10 October 2018 Update で直る予定です(筆者未確認)。
参考資料: