2014年モデルのMacbookPro RetinaにUbuntu系のElmentaryOSを入れたときのログです。
この内容と関係aにけど、友人と酒飲みながら片手間でよく確認せずにインストーラー触ってたら、もともと入ってたmacOSはすべて消えてました。
#設定の退避
普段、DotfilesはXDG_CONFIG_HOME=~/.config
に固めるようにしてるので、このディレクトリだけ先に圧縮して退避してから作業をはじめました。
ちなみに、公開できない情報を含むのでXDG_CONFIG_HOMEをGitHubで管理してない。
#ElmentaryOSのインストール
USBに焼いたインストーラーからGUIをポチポチしてインストールを完了する。
最初の起動が完了したらOSのバージョンだけ見ておく。
cat /etc/lsb-release
> DISTRIB_ID="elementary"
> DISTRIB_RELEASE=0.4
> DISTRIB_CODENAME=loki
> DISTRIB_DESCRIPTION="elementary OS 0.4 Loki"
ElementaryOSとベースのUbuntuのバージョンは下記の対応になっているようだ。
バージョン | コードネーム | リリース日 | ベース |
---|---|---|---|
0.1 | Jupiter | 2011年3月31日 | Ubuntu 10.10 |
0.2 | Luna | 2013年8月10日 | Ubuntu 12.04 LTS |
0.3 | Freya | 2015年8月11日 | Ubuntu 14.04 LTS |
0.3.1 | Freya | 2015年9月3日 | Ubuntu 14.04 LTS |
0.3.2 | Freya | 2015年12月9日 | Ubuntu 14.04 LTS |
0.4 | Loki | 2016年9月9日 | Ubuntu 16.04 LTS |
#aptの更新
いろいろとツールのインストールし始める前に、aptを更新して、とりあえず再起動する
sudo apt-get update
sudo apt-get upgrade
reboot
#aptに非公式リポジトリを追加できるようにする
apt-get add-apt-repository
を使えるようにします。
sudo apt-get install software-properties-common
#AppCenter
デスクトップ左上のアプリケーションからAppCenterを起動します。いろいろアプリケーションが配信されていたりインストール済みアプリケーションの更新ができます。
自分はElementaryOSの更新をしてから、パッケージアップデーターを入れました。
#ログインシェルの変更
zshを使ってるのでインストールします。
sudo apt-get install zsh
ログインシェルに反映します。
chsh
> kaizoa のログインシェルを変更中
> 新しい値を入力してください。標準設定値を使うならリターンを押してください
> ログインシェル [/bin/bash]: /bin/zsh
#XDG_CONFIG_HOME(個人設定)を復元する
退避してたXDG_CONFIG_HOMEを落としてきて復元しました。
tar zxvf ~/Downloads/config.tar.gz
ln -fns ~/.config/zsh/zshenv ~/.zshenv
ln -fns ~/.config/ssh ~/.ssh
ln -fns ~/.config/git/config ~/.gitconfig
あとよく使うツールもついでにここで入れます。
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl git tmux direnv jq awscli tig ranger
#ファンクションキーの入れ替え
Macbook Pro の F1〜12 のファンクションキーがデフォルトだとFnキーと組み合わせないと押せないので、キーコンビネーションなしで認識されるようにします。
sudo sh -c 'echo options hid-apple fnmode=2 >| /etc/modprobe.d/hid-apple.conf'
sudo update-initramfs -u
#スクラッチパッドの設定
sudo mkdir -m 755 /etc/X11/xorg.conf.d
sudo cp /usr/share/X11/xorg.conf.d/50-synaptics.conf /etc/X11/xorg.conf.d/
sudo chmod 644 /etc/X11/xorg.conf.d/50-synaptics.conf
sudo vi /etc/X11/xorg.conf.d/50-synaptics.conf
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "PalmDetect" "0"
Option "PalmMinWidth" "10"
Option "PalmMinZ" "200"
Option "TapButton2" "3" # two-finger tap
Option "TapButton3" "0" # three-finger tap
Option "VertScrollDelta" "-110"
Option "HorizScrollDelta" "-90"
Option "HorizTwoFingerScroll" "1"
Option "FingerLow" "10"
Option "FingerHigh" "85"
Option "FingerPress" "255"
Option "MinSpeed" "0.8"
Option "MaxSpeed" "1.2"
Option "AccelFactor" "0.012"
Option "MaxTapTime" "220"
Option "MaxDoubleTapTime" "180"
Option "MaxTapMove" "100"
Option "HorizHysteresis" "75"
Option "VertHysteresis" "75"
Option "AreaLeftEdge" "-4720" # x-min: 4750
Option "AreaRightEdge" "4300" # x-max: 5280
Option "SHMConfig" "on"
Option "VertResolution" "70"
Option "HorizResolution" "45"
EndSection
#日本語入力 - fcitx-mozc
sudo apt-get install fcitx-mozc
念の為、im-configで設定ダイアログから、fcitxを有効にして再ログインします。
im-config
ログインしたら、fcitx-configtoolで設定ダイアログを表示して、
- Input Methodにmozcを追加
- 切り替えのキーコンビネーションを設定
fcitx-configtool
デスクトップ上部のwingpanelに表示されるmozcアイコンは、バーと高さがあってないので24x24にGimpでリサイズしました。
(GimpはAppCenterから入れると楽)
sudo gimp /usr/share/fcitx/mozc/icon/mozc.png
#elementary-tweaks
システム設定からPantheonの見た目を変えられる、elementary-tweaksを入れます。
リポジトリはOSのバージョンに合わせたものを選ぶ必要があります。例はLokiに対応したリポジトリです。
sudo add-apt-repository ppa:philip.scott/elementary-tweaks
sudo apt-get update
sudo apt-get install elementary-tweaks
インストールするとシステム設定にtweaksのアイコンが表示されます。
わたしはアニメーションをOffにして、デスクトップのテーマを暗いやつにしました。
#ブラウザのインストール - Chrome
cd ~/Downloads
sudo dpkg -i google-chrome-stable_current_amd64.deb
#エディタのインストール - NeoVim
NeoVim
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim
sudo apt-get install python-dev python-pip python3-dev python3-pip
NeoVimをシステム標準のエディタにします。
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/nvim 60
sudo update-alternatives --config vi
sudo update-alternatives --install /usr/bin/vim vim /usr/bin/nvim 60
sudo update-alternatives --config vim
sudo update-alternatives --install /usr/bin/editor editor /usr/bin/nvim 60
sudo update-alternatives --config editor
#プログラミングフォント
mzyy94/RictyDiminished-for-Powerlineをダウンロードします。
cd ~/Downloads
unzip RictyDiminished-for-Powerline-master.zip
cd RictyDiminished-for-Powerline-master
mkdir ~/.fonts
cp RictyDiminishedDiscord-Regular-Powerline.ttf RictyDiminishedDiscord-Regular.ttf RictyDiminished-Regular-Powerline.ttf RictyDiminished-Regular.ttf ~/.fonts
fc-cache -vf
#Goのビルド環境
anyenv+goenvで最新バージョンを追えるようにしときます。
git clone https://github.com/riywo/anyenv ~/.anyenv
export ANY_ENV_HOME=$HOME/.anyenv'
export PATH=$PATH:$ANY_ENV_HOME/bin; eval "$(anyenv init -)"
zshrcをsourceするかzshに再ログインします。
mkdir -p $ANY_ENV_HOME/plugins
git clone https://github.com/znz/anyenv-update.git $ANY_ENV_HOME/plugins/anyenv-update
git clone https://github.com/znz/anyenv-git.git $ANY_ENV_HOME/plugins/anyenv-git
anyenv update
goenvとgoをインストール
anyenv install goenv
goenv install 1.8.1
goenv global 1.8.1
goenv rehash
go version
> go version go1.8.1 linux/amd64
#Docker
最新のce-edgeをDocker公式の方法を参考にインストールします。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial edge"
sudo apt-get update
sudo apt-get install docker-ce
通常add-apt-repositoryの行のxenial
のところはlsb_release -cs
の結果をディストリビューションのIDとして指定しますが、ElementaryOSの場合、それだとloki
になってしまってパッケージがないため手打ちでベースのディストリであるxenial
を指定しています。
また、edge
と指定しているところをstable
にすればチャンネルを変えることができます。
docker-composeもインストールします。
VER="1.12.0"
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/$VER/docker-compose-`uname -s`-`uname -m` >| /usr/local/bin/docker-compose"
sudo chmod +x /usr/local/bin/docker-compose
次にdockerコマンドをsudoなしで起動できるようにます。
sudo groupadd docker
sudo gpasswd -a $USER docker
sudo systemctl restart docker
再ログインすると反映されます。
#IntellijIDEA
使うのでインストールします。
cd ~/Downloads #先にダウンロードしておく
tar zxvf ideaIU-2017.1.1.tar.gz
sudo mv idea-IU-171.4073.35 /usr/local
cd /usr/local/idea-IU-171.4073.35
./bin/idea.sh
#ターミナル
標準のpantheon-terminalの完成度高いです。
ですが自分はドロップダウン型(quake型とかトップダウン型と呼ばれる)のターミナルが好きなので、xfce4-terminalに--drop-down
オプションをつけて使用しています。
ドロップダウン型のターミナルには他にGuake、Tildaがあるようです。今後も最適な端末エミュレーターの模索は続きそう。
#諸々の感想
これで久々のLinux作業環境がてにはいりました。
##はまった
IntellijIDEAのインストール後にDeskctop Entryを作成してから、展開したディレクトリの場所を移動したらwingpanelが起動不能になり、最終的にデスクトップマネージャも起動できなくなりました。
きっとDesktop Entryを消せば問題は解決したのだろうけど面倒でOSインストールからやり直しました。
そもそもXを立ち上げないで起動する方法がわからないので近いうちに調べないと・・・
##省電したい
macOSのときより、Chromeの電力消費が気になります。
Chromeがのo電力消費はともかく、powertopというものを使って省電力化できるらしいのでやりたい。
##パッケージ管理とアプリケーションのインストール
ほとんどの場合、apt-get install
では入れたいアプリケーションが入らない、または入れたいバージョンが入らないのは普通に考えると面倒です。
最新を追っかけたいgoやdockerはapt使いたくないし、webサイトからdebファイルを落としてdpkg使うとかadd-apt-repositoryしないと入らないなど、初心者におすすめできない。けど嫌いじゃないです。
##ドライバーまわりで一切てこづらなかったのは嬉しい
ElmentaryOS自体はMacbookProに普通にインストールしてドライバーまわりの調整を一切せずに使えてるので最高でした。きっとmacOSと相性のいいディストリなんだと思います。
##LinuxでDockerが使えるのが嬉しい
仕事の開発環境はほぼDockerのため、Volume共有まわりのストレスが解消されるのはでかいです。
#参考
なんかいろいろ他にも参考にした気がします