Ubuntu のセットアップメモ

2020年4月5日 engineering

こんにちは、 @kz_morita です。

新しくPCを購入し、Windows とデュアルブートさせる形で、ubuntu をインストールしました。 また、ubuntu も色々とセットアップを行いましたので現状までのセットアップ内容をまとめておきます。

ちなみに、デュアルブートはこちらの記事を参考にさせていただきました。
https://ja.unflf.com/tech/dualboot-ubuntu-windows/

また、設定ファイルは下記にありますので良かったら参考にしてみてください。
https://github.com/foresta/dotfiles/blob/master/README.md

この記事では触れませんが、今回は .bashrc, .bash_profile 周りも整理したりしました。

Setup したもの

  • Google Chrome
  • ディレクトリ名を英語にする
  • Capslock を Ctrl に変更
  • パッケージを最新にする
  • neovim
  • pbcopy
  • Docker
  • Hugo
  • nvm
  • IME toggle 用の設定

Google Chrome

まずは、Google Chromeをインストールします。

https://www.google.co.jp/chrome/

ディレクトリ名を英語にする

今回は、ubuntu 18.04 LTS を日本語版でインストールしたので初期のディレクトリ名が日本語になっています。日本語はなにかとつらいにで英字に修正します。

$ LANG=C xdg-user-dirs-gtk-update

Capslock を Ctrl に変更

/etc/default/keyboard に以下の記述をします。

+ XKBOPTIONS="ctrl:nocaps"
- XKBOPTIONS=""

パッケージを最新にする

あっぷでーと。

$ sudo apt update & sudo apt upgrade -y

neovim

neovim を入れます。

手順は以下のとおりです。

  • python のためのビルドツールを入れる
  • pyenv & python インストール
  • python の neovim インストール
  • neovim 本体のインストール

python のためのビルドツールを入れる

pythonのビルドのために必要なツール類をインストールします。

$ sudo apt install build-essential libbz2-dev libdb-dev \
  libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
  libncursesw5-dev libsqlite3-dev libssl-dev \
  zlib1g-dev uuid-dev tk-dev

pyenv & python インストール

Github から clone してきます。

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

pyenv 系の環境変数は、.profile に設定します

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"

pyenv の初期化処理は、 .bashrc に設定します。

# existsCmd は 指定したコマンドが存在するかどうかを確認する自作関数
if existsCmd pyenv; then
    eval "$(pyenv init -)"
fi

ここまでで、pyenv の設定は完了です。terminal を再起動 (もしくは、source .bash_profile )すれば反映されると思います。

$ pyenv -v
> pyenv 1.2.18

今回は、python 3.7.7 をインストールしました。

# バージョン確認
$ pyenv instlal -l

$ pyenv install 3.7.7

$ python --version
> Python 3.7.7

python の neovim をインストール

python の設定が完了したら、 pip で neovim をインストールします。

$ pip install neovim

neovim 本体のインストール

neovim 本体のインストールを行います。

$ sudo add-apt-repository ppa:neovim-ppa/stable
$ sudo apt-get update
$ sudo apt-get install neovim

terminal で nvim と入力すると、neovim が起動します。

pbcopy

macOS で使っていた、標準入力を clipboard に貼り付けるツールに pbcopy というものがあります。 今回はそれと同じようなことができる xsel というコマンドをインストールします。

$ sudo apt install xsel

インストールが完了したら、.bashrc に alias をはっておきます。

$ alias pbcopy="xsel --clipboard --input"

これで以下のように利用することが可能になります。

# file.txt の内容をコピー
$ cat file.txt | pbcopy

Docker

Docker と docker-compose も何かとよく利用するのでインストールしておきます。

準備

Docker を追加するために必要なツール類をインストールします。

udo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

Docker のインストール

次に Docker公式の、GPG key を追加します。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Docker を apt repositoyr に追加します。

$ sudo add-apt-repository \
     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
     $(lsb_release -cs) \
     stable"

repository を更新して、Dockerをインストールします。

$ sudo apt update
$ sudo apt install -y docker-ce

インストールが完了したら、起動確認をします。

$ sudo systemctl status docker

$ sudo docker ps

このままだと、root ユーザーでしか docker を実行できないので通常ユーザーでも実行できるようにします。

$ cat /etc/group | grep docker
> docker:x:999:

# kz_morita というユーザーを docker のグループに追加
# kz_morita 部分は各々のユーザー名で置き換えてください
$ sudo gpasswd -a kz_morita docker


$ cat /etc/group | grep docker
> docker:x:999:kz_morita


$ sudo chmod 666 /var/run/docker.sock

これで無事 Docker を実行することができます。

$ docker ps

docker-compose のインストール

docker-compose もインストールします。

# 記事執筆当時の最新バージョンをインストールします。
# release はこちらで確認 https://github.com/docker/compose/releases
$ export compose='1.25.1'

$ sudo curl -L https://github.com/docker/compose/releases/download/${compose}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

$ sudo chmod 0755 /usr/local/bin/docker-compose

$ docker-compose -v

Hugo

公式サイトを参考にして、インストールをします。 https://gohugo.io/getting-started/installing/

# Check hugo version
$ snap info hugo

# instlal hugo
$ sudo snap install hugo
$ hugo version
> Hugo Static Site Generator v0.68.3 linux/amd64 BuildDate: 2020-03-24T16:10:53Z

nvm

下記の手順通りインストールスクリプトを用いてインストールを行います。 https://github.com/nvm-sh/nvm#install-script

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

.bashrc に nvm 用の設定を追加します。

# nvm
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

.profile に環境変数を追加します。

## nvm
export NVM_DIR="$HOME/.nvm"

これで、terminal 再起動 or source .bash_profile で nvm が使用可能になります。

$ nvm version
> v12.16.1

ついでにnode もインストールしました。

$ nvm install 12.16.1
$ node -v
> v12.16.1

$ npm -v
> 6.13.4

IME toggle 用の設定

やりたいことは、左 Ctrl 空打ちでIMEをtoggle するということです。

このために fcitx をインストールします。

$ sudo apt install fcitx fcitx-mozc

インストールが終わったら反映させるために、PCを再起動します。

設定アプリを開き、 地域と言語 > インストールされている言語の管理を押し、「言語サポート」を開きます。 言語サポートの、「キーボード入力に使うIMシステム」の欄で「fcitx」 を選択します。

fcitx 設定 アプリを開きます。 全体の設定 > 入力メソッドのオンオフ の欄のボタンを押し、IME toggle に利用したいボタン (今回で言えば、左 Ctrl) を押し設定完了です。

左 Ctrl 空打ちで、IME toggle できることを確認します。

まとめ

今回は、新調したPCに入れたubuntu 18.04 LTS の設定で行ったことを簡単にまとめました。 環境構築系はさくさく進めば、自分好みにPCをカスタマイズしていく感じが楽しいですね。

環境構築系は一度しかやらないので、なかなか覚えられないことが多いので今回メモを取りながらやりました。 多分、数年先にまた新しくPCを購入したときにまた役に立ちそうな記事がかけたと思います。

同じように環境構築する方のお役に立てれば幸いです。

この記事をシェア