9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacbookProにElementaryOS(Loki)をいれたときの記録

Last updated at Posted at 2017-04-18

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
vi
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
zshrcに追記する
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共有まわりのストレスが解消されるのはでかいです。

#参考

なんかいろいろ他にも参考にした気がします

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?