2013/04/07

いい感じのLinuxMintなUltrabook環境を手に入れた


これまで自宅メインPCとしてMacBookPro(Late2011)を使ってきました。

ただここのところ、
メモリを無駄にバカスカ食いまくりで、使っていてもそこまで快適に感じなくなってきたこともあり
あまりMacにこだわることも減ってきてBootCamp領域にUbuntuをぶち込んでごまかしたりもしてましたが、
先日kaoriyaさんのエントリに影響されてDELL XPS13に関して色々調べてみたところ
かなりコスパがいいんじゃないかと思って思いきって購入しちゃいました。

今回は購入後にやったこととか軽く見触ってみた感想など。

保護フィルム貼ったが気泡が入りまくりで貼り直したい...


マシンのスペックとか

あまり詳細にレビューする気は無いですが、
一応電気屋で実物を触ってみた上で
Mem8G, SSD256GB, CPU Core-i5, 英字キーボードな感じの構成で注文。
届くまでちょうど1週間程度でした。

やったこと

普段使いだとWindows7でも問題ないんですが、やはりUnix系環境メインで使いたいなーと思ってたので
リカバリディスクを作成し、GpartedでWindows領域を40GB程度まで縮小。残りのスペースにLinuxMint14 Cinnamonをインストールしました。

リカバリ手段を確保してLinuxMint/Windows7のデュアルブート環境を構築

まずはWindows7で起動。
DELLのマシンの場合リカバリディスクの作成は
プリインされている「Dell DataSafe Local Backup」というツールで行います。


DVD-Rを使った場合は2枚必要でした。
これで出荷常時の状態に戻せる手段を確保しておきます。

リカバリ手段が確保できたら LinuxMintのisoイメージを公式サイトからダウンロードして
ブートUSBメモリなりDVDメディアを作りXPS13をLinuxMintのLiveCDイメージで起動。

その際ちょっと問題になるのが
XPS13をリカバリ領域内包で購入した場合はデフォルトでパーティションが4つ確保されており、
LinuxMintのインストーラーを走らせても「Window7消さないとインストールできないよ!」という感じで手詰まりしてしまいます。

そのため、予めLiveCDイメージで起動したLinuxMintに収録されているGPartedでパーティションの調整をしておきます。
ターミナルを起動して
 
gksudo gparted
 
と実行。GUIなのでそれほど操作は難しくないです。
ここでやることとしては。

  • Windows7の領域の縮小
  • /dev/sda4 が特に使われてなさげだったので削除
    ※ Windowsを使ってる時にもしかしたら何か問題が発生するかもしれないんで注意.今回私はそれを承知でやっています。
    今のところ深刻な問題は出ていないです。

という感じ。
あとは昔書いたエントリ Thinkpad X100e を Ubuntu10.10&Windows7でデュアルブート環境にしてみた。
の3以降と同じ要領でLinuxMintをインストールすればOK。


LinuxMintの諸々ツールのインストールや設定など。

リポジトリのミラー設定と更新
LinuxMintの場合はaptなどで利用するリポジトリの向き先がミラーになっていません。
そのため、諸々のツールインストールや更新がものすごく遅くなってしまうので、ミラーの設定をします。
Ubuntuのものが利用できるので、こちらのリストから適宜選んで設定を変更します。

以下は理科研究所のものに変更する場合。
 
sudo sed -i.bak 's;http://archive.ubuntu.com/ubuntu/;http://ftp.riken.jp/Linux/ubuntu/;g' /etc/apt/sources.list

sudo aptitude update
sudo aptitude safe-upgrede
 

日本語入力まわり+α
私の場合は基本的なメニューなんかは英語のままにしてしまいますが、
さすがに日本語入力はできないと困るんでやっておきます。

まずは日本語入力に必要なツールをインストール。
ipaフォントは入れておかないと一部漢字が中国語っぽい旧字体で表示されてしまので忘れずに入れておきます。
 
sudo aptitude install language-pack-ja ttf-takao fonts-ipafont-gothic fonts-ipafont-mincho ibus ibus-mozc mozc-server
 

インストールができたら入力ツールにibusを使うように設定をします。


「System Tools」→「System Setting」→「Language Support」と辿り、
「Keyboard input method system:」 のところをibusにします。
またibus側でもInput MethodにMozcを使うように設定します。
ターミナル上で
 
ibus-setup
 
と実行するとウィンドウが上がってくるので、


「Input Method」タブを選択、「Select an input method」→「Japaneses」→「Mozc」を選択し、
「Add」をクリック。
Input Method一覧にMozcが追加されたことを確認したらOKです。

通常はこのままcloseすればいいのですが、私は基本的に英語配列キーボードを使っているので
日本語と英語入力の切換を行うキーも、ついでに変更しておきます。

ウィンドウをそのままで、「General」タブに移動して「Enable or disable」の右側 [...] の部分をクリック
ここで、後ほど入れるSynapseのショートカットに使いたいので「Control+Space」を削除し、
「Alt_R」と「Super_R」を追加しておきます。
これでキーボード右側のAltキーと右側のSuper(Windows)キーで文字入力の切り替えができます。


普段使いそうなもの全般のインストール
  • aptで入れれるもの
     
    sudo aptitude install keepass2 xdotool git-core mercurial curl
     
    
    ※ Keepass2、Git、Mercurial、curlコマンド
  • Dropbox
    debパッケージとってきて普通にインストール
  • GoogleChrome
    debパッケージとってきて普通にインストール
  • Hotot
    公式サイトの手順まんまでOK
  • Firefox(64bit)

    デフォルトで入っているFirefoxはXPS13の解像度との相性がわるいのか最大サイズにするとおかしくなるので、
    せっかくなので64bit版に入れ替えます。
     
    ## 既存のfirefoxはバッティングしないように削除
    sudo aptitude purge firefox
    
    mkdir ~/local/
    cd ~/local/
    
    ## 英語環境にしたいのでen-USで、日本語がいいならjaあたりにすれば多分OK
    curl http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-x86_64/en-US/firefox-20.0.tar.bz2 | tar jxvf -
     
    
    こんな感じで $HOME/local 配下設置。
    あとはデスクトップ左下の Menuのところで右クリック → Edit Menu として出てきたウィンドウの
    Internetのグループあたりに以下のような感じでItemを追加すれば普通に使えるようになります。


    Commandのところはターミナルで
     
    echo $HOME/local/firefox/firefox
     
    
    と実行した結果を貼っておけば間違い無いです。アイコンは自動的に選択されます。


ランチャー導入
Linux環境だと個人的には Synapseは必須なんで導入します。
MacのQuickSilver的なランチャーツールです。
 
sudo aptitude install synapse
 
インストールをしたら「Startup on login」とActiveのキーバインドを「control+space」に変更しておきます。
これでほとんどメニューを漁る必要はなくアプリケーションが実行できます。



トラックパッド周り
タッチパットを使う際は2本指スクロールをしたいのですが、
LinuxMintではデフォルトでは違う設定になっているので変更します。


「Menu」→「System Tools」→「System Setting」→「Mouse and Touchpad」→「Touchpad」タブと選択
「Scrolling」を [Edge scrolling]から[Two-finger scrolling]に変更すればOK

※ Enable horizontal scrolling にチェックを入れると水平方向もスクロールができますが、
   感度が良すぎるのか縦方向にスクロールしても横に流れたりするんであまりおすすめしないです。
また、スクロール方向に関してもMacのナチュラルスクロールに慣れてしまったので、
naturalscrolling-testing」をインストールします。今のところテスト版のようですがXPS13では特に問題なく挙動しています。

手順がGithubのものと微妙に違います。
 
sudo add-apt-repository ppa:zedtux/naturalscrolling
sudo aptitude update
sudo aptitude install naturalscrolling-testing
 
インストールが完了したら
メニューバーのアイコンから「Preferences」→「Start at login」を忘れずに選択しておきます。

Vimのセットアップ
vimはaptで入れてもいいのですが、クリップボードとヤンクが共有できなかったりと
個人的に使い勝手が悪いなーと感じることがあるので、ソースからkaoriyaパッチをあててコンパイルします。

基本的にはこちらに従う形になります。
四角革命前夜 | UbuntuでKaoriYa-Vimをコンパイル

自分の環境用に読み替え+αで以下のような感じです。
 
cd /usr/local/src
sudo hg clone https://vim.googlecode.com/hg vim.src
cd vim.src

sudo curl -o vim73w64.zip http://files.kaoriya.net/goto/vim73w64 -L
sudo unxip vim73w64.zip
cd vim73-kaoriya-win64

## パッチを当てるベースバージョンの確認
head -3 CHANGES.txt | grep -o -E '7.[3-4].[0-9]+'
cd ..

## パッチを当てるバージョンが7.3.882 だったとする。
hg log --keyword '7.3.882' | grep changeset

## 該当のリビジョンに移動 (4262だったとする)
sudo hg update -r 4262

## パッチを当てる (hgのユーザー情報がない的な警告は無視でOK)
sudo hg import vim73-kaoriya-win64/patch/kaoriya-hg.diff -m "patched"

## コンパイルに必要なライブラリなどをインストール
sudo aptitude install make build-essential libncurses5-dev libgtk2.0-dev xorg-dev

## コンパイル
sudo ./configure \
--prefix="/usr/local/vim-kaoriya" \
--bindir="/usr/local/bin" \
--disable-darwin \
--disable-selinux \
--enable-multibyte \
--enable-fontset \
--with-tlib=ncurses

sudo make
sudo make install

## 一旦Vimのバージョンの確認(kaoriyaがあったらOK)
vim --version | grep kaoriya

## kaoriyaの設定ファイルを設置
cd /usr/local/vim-kaoriya/share/
sudo mv vim73{,.org}
sudo cp -pR /usr/local/src/vim_src/vim73-kaoriya-win64/{switches,plugins,vim73,vimrc,gvimrc} .
cd switches/enabled
sudo ln -s ../catalog/utf-8.vim .

## update-alternativeに追加
sudo update-alternatives --install /usr/bin/vim vim /usr/local/bin/vim 100
sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 100
 

この段階で普通にvim,gvimが使えるようになっているので、
firefoxのとき同様にメニュー追加すればSynapseからも拾われていい感じです。(手順省略)

ターミナル用のフォントの用意

Rictyフォントに変更したTerminal

LinuxMintだとフォントはそれほど汚くはないですが、
日本語込みで見やすいフォントがいいのでRictyをインストールします。
他のフォントと違ってライセンスの関係で自分の環境で生成する必要があります。

※ 公式サイトに手順があるので端折り目で
 
## ~/.fonts 配下にmigu-1m-regular.ttf migu-1m-bold.ttf Inconsolata.otfがあることを前提

cd ~/local/
git clone git://github.com/yascentur/Ricty.git
cd ~/.fonts

sudo aptitude install fontforge
~/local/Ricty/ricty_generator.sh auto
fc-cache -vf

## Terminalのフォントを無理やり変更(メニューからはできない)
gconftool-2 --set /apps/gnome-terminal/profiles/Default/font --type string "Ricty Regular 12"
 

Open usp Tukubaiのインストール
シェル芸人必須の便利なコマンド郡。
Githubに上がっているバージョンを入れておきます。
 
mkdir ~/local/{bin,src}
cd ~/local/src
git clone git://github.com/usp-engineers-community/Open-usp-Tukubai.git
cd Open-usp-Tukubai/

## HOME配下にインストールする
LOCALBASE=$HOME/local/open-usp-tukubai make
cd ~/local/bin
ln -s ../open-usp-tukubai/bin/* .

## PATHを追加
echo 'PATH="$HOME/local/bin:$PATH"' >> ~/.bashrc

 

perlbrewで最低限のperl環境整備
perlのコードを書く際に、システムのperlはCPANモジュールなどを下手に突っ込みたくないので
perlbrewで各種バージョンをインストールします。
 
curl -kL http://install.perlbrew.pl | bash
echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc

source ~/.bashrc

## インストールできるバージョンを確認
perlbrew available


## 直近のバージョンと5.8系を入れておく(時間がかかるのでtestはパスで)
perlbrew install --notest perl-5.17.10
perlbrew install --notest perl-5.16.3
perlbrew install --notest perl-5.8.9

## cpanminus も忘れずに入れておく
prelbrew install-cpanm

 


その他の設定など
  • 既存のCtrlはそのままにCapslockにCtrlキーをバインド

    Aの隣にCtrlキーがないと嫌なので設定変更します。
    また、HHKBを接続して利用することもあるので既存のCtrlも残します。


    「System Tools」→「System Setting」→「Keyboard Layout」→「Layouts」タブまで辿り、
    「English(US)」を選択。
    「Options...」をクリックし、「Ctrl key position」で「Caps Locks as Ctrl」にチェックを入れればOK
        
  • fstabの設定変更

    最初に紹介した kaoriyaさんのエントリでもあったように
    SSDの寿命対策として、fstabに設定を加えます。
     
    sed -i.bak 's/errors=remount-ro/errors=remount-ro,noatime/g' /etc/fstab
     
    

  • OpenVPNクライアントの導入

    以前にこんな記事書いてますが、
    Ubuntu12.04以降は普通にnetwork-managerのプラグイン追加でいけるようになっているので、以下の手順で導入。
     
    sudo aptitude install network-manager-openvpn
     
    

    この状態で 「System Tools」→「System Setting」→「Network」からVPNを追加してやれば
    OpenVPNが選択できるようになっているはずです。

  • ローカル仮想環境の準備

    せっかくSSD 256GBと容量に余裕がるので
    話題のVagrant+VirtualBoxを色々いじり倒すべく、ひとまずインストールだけしておきます。
     
    sudo aptitude virtualbox vagrant
     
    


仕上げ

ここまで来てようやく最低限の環境が整って来ました!
最後にシステムを一度再起動すれば完了です。

 
sudo shutdown -r now
 


XPS13を軽く触ってみた感想など
正直言ってしまうと私は完全にThinkpad派なのですがXPS13にはいい意味で色々と裏切られました。
全体的にほんとに買ってよかったと思える端末です。
以下つらつらと思ったことを。

  • 体感スペックは申し分なし
    購入したのはCore-i5モデルなので最上スペックというわけではないですが、
    Mem8GB,SSD 256GBということもあり、はっきり言ってこれで3年サポートつけて13万円超えないとか本当に申し分ないです。
    vimやperlbrewのコンパイルをした際なんかも体感的にかなり短時間で終わりました。
  • キーボードも使いやすい
    英語配列が選べるだけでも個人的にはありがたいのですが、
    スペースにも余裕があってかなり使いやすい方に入るキーボードではないかと。
  • トラックパッドはまずまず
    特別いいというわけではないですが、個人的には2本指のジェスチャーが使えるんでそれだけで十分です。
    とはいえボタンと一体型になっている影響か、
    結構右クリックと左クリックが誤爆してしまうのがちょっと気になるところではあります。
  • 解像度が非常に良い
    13.3インチの1920x1080は最初は確かに字が小さく感じられましたが
    むしろ一つの画面に一度に大量の情報を表示できるメリットのほうが大きくあまり気にならなくなりました。
    私の場合はノートPCもモニタにつないで使うことが多いですが、これくらいの解像度だと無理につながなくても十分に使えるなと。
  • 発熱量はそこそこある
    Youtubeやニコ動を作業用BGM代わりに流したりすると結構熱くなります。
    特にキーボードのボタンが熱くなってしまうので、タイプするのがちょっときつくなる感じはあります。

難点がないわけではないですが、全体的な満足度は非常に高く
いろいろな場所に持ち歩いて長い間付き合っていけそうだなと思える端末かなという感じはします。

それにしても新しいPCで環境を作るのは結構な重労働ではありますが
なぜかワクワクしちゃいますね。これからXPS13で色々なことを実現していくのが楽しみです。