Ubuntuインストールから開発環境の準備まで
Linux にもっと親しみを持ち、慣れるために自宅の開発環境を Ubuntu で構築することにしました。この記事では Ubuntu を動かすまでに困ったところ、必要なソフトのインストール方法などをメモとして書きます。Ubuntu を選択したのは Linux の開発マシンでは選んでいる人が多いように感じたからです。
Windows や Mac に強い不満を持っているから Linux に移行するというわけでもありません。暫く ubuntu をメインにはしますが気分によって使い分けます。
インストールした Ubuntu
LTS ではなく Ubuntu 19.04 にしました。メインマシンというより開発マシンの1つとして使うので、新しいほうが面白いかなという理由です。
DVD からインストール
Ubuntu の USB からのインストールはうまくいかなかったので DVD からインストールしました。DVD は windows10 で作成、公式から Ubuntu のイメージをダウンロードして、windows10 の機能で DVD に iso を書き込めます。特に苦労することなく日本語でインストールでき、特に設定せずに日本語で打ち込み可能、グラフィックドライバやマウス系のドライバも自動で入りました。
必要なアプリケーションのインストール
思い出せる範囲で必要なものをインストール。他のものは必要になったタイミングで導入します。
sudo apt-get update
chrome と 1password
firefox からインストール。1password は linux だとブラウザの拡張機能のみで専用のアプリケーションがありません。
VisualStudioCode
Web サイトからダウンロードしてインスト ➖ ル。Ubuntu のアプリケーションからインストールすると、日本語入力がおかしかったので WEB からインストールしています。
git と github
git をインストールして github に ssh キーを登録。
sudo apt-get install git
github に ssh キーの登録
Generating a new SSH key and adding it to the ssh-agent
公式の手順通りに設定。
ssh-keygen -t rsa -b 4096 -C 自分のメールアドレス
Enter a file in which to save the key で Enter 押し、次のパスフレーズでパスワードを設定
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
yarn
npm は yarn に付属しているものを使います。
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
golang のインストール
apt からだと 1.10、snap だと 1.12 が入るようです。今回は公式の tar ファイルで 1.12.7 をインストール
tar -C /usr/local -xzf ダウンロードしたgo1.12.7.linux-amd64.tar.gzのパス
export PATH=$PATH:/usr/local/go/bin
go version
home 内に dev フォルダを作成して GOPATH を通す
export GOPATH=$HOME/dev
docker と docker-compose
公式の手順に従いインストール。
docker
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \S
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
※最新の disco には Release がなかったので$(lsb_release -cs)ではなく1つ前の cosmic を指定しています。
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
cosmic \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
これで dockersudo コマンドと共に動かすことができます。
sudo docker version
sudo コマンドを毎回打ちたくない場合は docker グループにユーザーを追加します。
sudo usermod -aG docker $USER
docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
DBeaver
公式のインストーラーからインストール
font のインストール
コード表示に適したフォントのインストール。
git clone https://github.com/adobe-fonts/source-han-code-jp
./source-han-code-jp/commands.sh
GCP 用の gcloud
公式の手順を通りにインストール。追加で appengine-go と datastore-emulator をインストール。
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
sudo apt-get install google-cloud-sdk-app-engine-go google-cloud-sdk-datastore-emulator
不足したアプリ
Ubuntu は Adobe や Sketch に対応していないので、デザイン系ツール使うときは Mac か Windows が必要。Gimp などもありますが移行コストを考えると厳しい。
今の所心配な点は 1password のアプリと iTunes がないところです。音楽はいろいろ試して Apple Music に落ち着いたのですが Linux で動く Google の方が良い気もしてきました。iPhone で使いやすかったら移行するかもしれません。
キーボードの問題
Windows、Mac、Ubuntu のキーボードの使い方がそれぞれ違うと気持ち悪かくストレスなので、今回で 3 つのショートカットだけは揃えることにしました。
- 半角/全角 : Ctrl + Space
- Copy : Ctrl + C
- Paste: Ctrl + V
Windows は Caps Lock の位置を Ctrl にして変換方法を Ctrl + Space にする。Mac は半角/全角を下のボタンから Ctrl + Space にして Command で行うコピペを Ctrl に移行する予定。Ubuntu はそのまま。
使っているキーボードは日本語配列のものですが、OS によって変換とコピペの位置が変わるとどうしてもタイプミスが増えます。
また、HHKB の変換、無変換の位置にあるキーが Ubuntu で認識が難しく、そんなに使いやすいとも思っていなかったので Ctrl ベースのキー配置に慣れることにしました。Ctrl が使えないキーボード、OS は見たことがないので。
しばらくは Ubuntu をメインに
自宅での開発は Mac をメインにしていましたが暫くは慣れるために Ubuntu を中心にして、Mac の方が明確に良ければ Mac に、そうでもないなら Mac + Ubuntu か Mac + Windows かを考え直し。