Xubuntuで開発/執筆環境をセットアップする(2018年10月版)

[Visual Studio Code](https://code.visualstudio.com/)で開発も執筆もこなす8amjpです。

さて、開発するにも執筆するにもPCは必須アイテムです。安いものでもいいので、まずはPCを用意しましょう。格段に作業効率が上がります。
……と言ってはみましたが。
実際、安価で非力なPCにプリインストールされているWindows 10というOS、とにかく重くて重くてまったく動かない。カーソルがくるくる回るだけで何の操作もできない画面をただただ眺めるだけの日々。おまけに勝手に始まる自動更新で作業中のデータが消し飛ぶ恐怖にただただ怯える日々。
自分はそんな事をするためにPC買ったんじゃないんだよ！ストレスなく開発も執筆もしたいよ！とお嘆きの方、ご安心を。非力なPCでもサクサク動くOS、[Xubuntu](https://xubuntu.org/)にさっさと入れ替えて、快適な開発/執筆環境を手に入れましょう。

というわけで、Xubuntuのセットアップ手順を残しておきます。
(2018年10月19日更新)

## Xubuntuのインストール

さて、Linuxをインストールするなら[Ubuntu](https://www.ubuntu.com/)がいいなー、と前から思っていたのですが、いざ調べてみると、使用しているデスクトップ環境によっていろんな種類があるみたいですね。本家UbuntuはUnityというデスクトップだったり、徹底的な軽量化を目指したLXDE採用の[Lubuntu](https://lubuntu.me/)があったり……
いろいろ試してみた結果、一番しっくりきたのがXubuntuでした。Xfceというデスクトップを採用しており、軽量で見た目も好みで気に入りました。

というわけで、今年公開されたばかりのXubuntu 18.04 LTSをインストールします。
本家サイトからISOイメージをダウンロードして、ブータブルなUSBメモリを作成してインストールしましょう。

### WindowsでUSBメモリを作成する

[本家Ubuntuのチュートリアル](https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-windows#0)のとおり、[Rufus](https://rufus.akeo.ie/)でブータブルUSBメモリを作成します。

### UbuntuでUSBメモリを作成する

同じく[本家Ubuntuのチュートリアル](https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-ubuntu#0)のとおり、「Startup Disk Creator」をインストールして作成しましょう。

## 日本語環境をセットアップする

さて、執筆に一番大事なのが、**日本語をストレスなく入力できること**。
これができなかったら、Windowsに続けてUbuntuも窓からぶん投げる羽目になります……が、結果的には快適な日本語入力環境になりました。
まず、「言語サポート」を起動すると、「言語サポートが完全にはインストールされていません」というダイアログが出るので、「インストール」を選択すると必要なものを自動でセットアップしてくれます。
その上で、普段の日本語入力にはMozc(「Google 日本語入力」のオープンソース版)を使いましょう。これで満足してます。
コツ……というか自分の好みの設定は、「入力メソッドのオンオフ」のキーにはデフォルトで「Ctrl+Space」と「Zenkakuhankaku(半角/全角)」が割り当てられているんですが、そのうち「Zenkakuhankaku」を外しておくことです。そうすれば、常にMozcをオンにしつつ、「ひらがな」キーを押せば日本語入力モードに、「半角/全角」キーを押せば直接入力モードに切り替わってくれるので、快適な入力ができます。

## 開発/執筆環境をセットアップする

では、さっそく開発/執筆環境を構築しましょう。ソフトウェアはすべてapt(パッケージ管理システム)でセットアップします。
流れは決まっていて、

1. (パッケージの正常性を保証するための)GPGキーを取得する
2. aptのリポジトリリスト(パッケージの一覧)に追加する
3. aptコマンドでインストールする

という手順です。個別にパッケージをダウンロードしてきてもいいんですが、慣れればこちらのほうが快適ですよ。
さて、1の手順(GPGキー取得)でcurlかwgetコマンドを使うんですけど、curlがインストールされていないので、まずはそれをセットアップします。

```
sudo apt install curl
```

では、私の必須ソフトとそのセットアップ手順を紹介していきます。

### [Visual Studio Code](https://code.visualstudio.com/)
参考ページ: [Running VS Code on Linux](https://code.visualstudio.com/docs/setup/linux)

GitHubとスムーズに連携できて、開発にも執筆にも適したエディタといったら、実質Visual Studio CodeかAtomの二者択一になりますね。あとは正直好みの問題なのですが、より動作が機敏なところと、より直感的な操作ができるという点で、ふだんはVisual Studio Codeを愛用しています。
あと、[執筆に便利な拡張機能も公開してます](https://qiita.com/8amjp/items/e2d485c6f222e2e4cd16)ので、よろしければどうぞ。
(皮肉なことに、WindowsからLinuxに乗り換えて最も重宝しているのがマイクロソフトのパッケージという……)
下記の手順でセットアップします。

```
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code
```

~~※2018年3月現在、code(通常版)をインストールするとなぜかエラーになるので、code-insiders(インサイダービルド版)の方をインストールしています。~~
2018/3/28 追記
エラーになる原因が判明しました。Sophos Antivirusのせいでした。

ちなみに、Atomの方が好きな方は次の手順で。

### [Atom](https://atom.io/)
参考ページ: [Installing Atom](https://flight-manual.atom.io/getting-started/sections/installing-atom/#platform-linux)

```
curl -L https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
sudo apt update
sudo apt install atom
```

### [Git](https://git-scm.com/)

Gitがないと開発ができないのでサクッとインストールします。

```
sudo apt install git
```

2018年4月29日時点、aptでインストールされるバージョンは2.17.0です。最新ですね。
あとは初期設定。

```
git config --global user.email "メールアドレス"
git config --global user.name "名前"
```

ついでに、コミット時に何度もパスワードを聞かれないようにする。

```
git config --global credential.helper cache
git config --global credential.helper store --timeout=86400
```

### [Node.js](https://nodejs.org/ja/)

JavaScript大好きな私としては、Node.jsのセットアップは必須です。
[Node.js 公式のバイナリディストリビューション](https://github.com/nodesource/distributions/blob/master/README.md)の「Debian and Ubuntu based distributions (deb)」の記載のとおりに行えばあっという間に終わります。

```
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
```

無事Node.jsがインストールできたら、他にも楽しいツールを追加しときましょう。
[Angular CLI](https://cli.angular.io/)やら[Visual Studio Code Extension Manager](https://code.visualstudio.com/docs/extensions/publish-extension)やら。

```
sudo npm install -g @angular/cli
sudo npm install -g vsce
```


## そのほか

### [Google Chrome](https://www.google.com/chrome/)
参考ページ: [Linux Software Repositories](https://www.google.com/linuxrepositories/)

XubuntuにはFirefoxがプリインストールされていますが、個人的にはGoogle Chromeの方が好きですし、Web開発のためには両方で確認した方がいいのでセットアップしておきましょう。

```
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt update
sudo apt install google-chrome-stable
```

### [Pinta](https://pinta-project.com/pintaproject/pinta/)

実にちょうどいい感じの画像編集ツールです。画像をささっと作成したい時に重宝します。

```
sudo apt install pinta
```

### [Sophos Antivirus for Linux](https://www.sophos.com/ja-jp/products/free-tools/sophos-antivirus-for-linux.aspx)

ウィルス対策ソフトです。信頼のSophos製。
ダウンロードまでにかなり面倒な手順を踏まなければいけないのが難点なので、一度ダウンロードしたインストーラーは大事に持っておくことをおすすめします。

#### 注意
Sophos Antivirusのオンアクセス検索を有効にしていると、aptでのインストール時にエラーが頻発します。
具体的には、下記のようなエラーがでます。

> '/usr/share/xxx/xxx/xxx.dpkg-new' をオープンできません: 許可されていない操作です

なので、拡張子がdpkg-newのファイルをオンアクセス検索から除外しましょう。

```
sudo /opt/sophos-av/bin/savconfig add ExcludeFileOnGlob *.dpkg-new
```

## おわりに

これで、一通りの開発/執筆環境が揃いました。
古いPCでも即戦力にできるXubuntu、ぜひ一度お試しください。