物理と数学とITのあれこれ

物理や数学、パソコンの設定とかプログラミングとかいろいろ書きなぐってます。

Ubuntuにrootを入れる

さて、Ubuntu 16.04 LTSをPCに入れることができたので、次にrootを入れる。

rootっていうのはCERN(欧州原子核研究機構)で開発されている、高エネルギー物理解析でよく使われるデータ解析用のフレームワークです。

 

rootをインストールする方法は大きく分けて3つあって

1、ソースコードを持ってきて自分で展開する

2、バイナリ形式のものを持ってくる

3、gitを使う

の3つである。(他にもあるかも)

どの方法がベストなのかはよくわからにが、僕の周りでは「ubuntu16.04をPCに入れてみたけどroot入らないよ〜」という悲鳴がちょくちょく聞こえてくる。いやな予感しかしない。。

今回は1の方法で入れてみる。僕は1の方法でしか入れたことないけど、2の方法が一番楽らしい。バイナリ形式のファイル持ってくるだけだしね。3の方法はrootのバージョンを頻繁に変えたりする人にとっては便利なのかな?

 

1、ソースコードを持ってきて自分で展開する

なんか過剰書きみたいに書いちゃったけど今回はこの方法しか書かないよ!

まずはcernの公式サイトに行ってソースコードをダウンロードするよ!

https://root.cern.ch/downloading-root

現在(2016年7月)時点で一番最新なのはVersion6のRelease 6.04/18 - 2016-06-22

である。最新のはなんとなく不具合が怖いので、今回はちょっとだけ古いRelease 6.04/16-2016-03-17を選んだ。

 

f:id:hakase73:20160704014738p:plain

 

すると一番上にsource、ちょっと下にいくとBinaryとgitがある。(gitは画面に写ってないけど)

sourceのroot~~.tar.gzをクリックするとダウンロードできるので適当な場所に保存する。僕は/Downloadsに入れた。

ダウンロードが完了したらいよいよインストールするのだけど、その前にubuntuに足りないパッケージをいろいろと入れる必要がある。

$ sudo apt-get install libx11-dev
$ sudo apt-get install build-essential
$ sudo apt-get install libxpm-dev
$ sudo apt-get install libgl1-mesa-dev
$ sudo apt-get install libxext-dev
$ sudo apt-get install libxft-dev

 

このへんをターミナルに打ち込んでぱぱーと入れる。これが終わったらrootのインストールに映る。

$ tar zxvf root_v***.source.tar.gz  (***の部分はバージョンの名前)

でダウンロードしたファイルを展開。するとrootディレクトリができるはずなので


$ cd root
$ ./configure --prefix=/usr/local/root

とする。今回は/usr/local/root以下にインストールする。うまくいったら


$ make
$ sudo make install

でおわり。makeは20〜30分くらい時間がかかるので気長に待つ。

 

うまくダウンロードができたら次にpathを通す。今のままだとpathが通ってないので、ターミナルで$rootと打っても起動しないからである。

ホームディレクトリで.bashrcを適当なエディタで開いて

export ROOTSYS=/usr/local/root
export PATH=$PATH:$ROOTSYS/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib/root

 

の3行を加えて保存。これでpathが通ったはず。ターミナルを開きなおすか

$source .bashrc

をする。ターミナルで

$root

と打ったらrootが起動起動してrootの画面↓が出てきた。わぁい。

f:id:hakase73:20160704020915p:plain

 

 ちなみに、毎回この画面が出てくるのはうざいので、

 

$root -l

 

とすればこの画面は出てこない。-lのオプションを毎回打つのも面倒なので、.bashrcに

alias root='root -l'

と一行加えれば、次からこのオプションをつけなくてもよくなるね。

 

あー1回で入ってよかったー。

 

 

 

 

 

Ubuntu16.04を入れたときの最初にした設定

おうちのPCにUbuntu16.04を入れたので、最初にした設定等をめも。

16.04は比較的新しく出たばかりなのでいろいろと不安ではある。

 

 

1、ディレクトリを英語表記にする

これは16.04に限った話じゃないけど、Ubuntuディレクトリ名はデフォルトで日本語になっている。これはGUIでポチポチマウスで開いたりする分にはいいのだけれど、ターミナル操作だとすごいめんどくさい。なのでこれらをすべて英語にする。

 

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

 

ターミナルでこのコマンドを打てばおk。ダイアログが出てきて"Update Names"を押せば全部英語になる。

これでターミナル移動もらくちん。

 

2、ストレージの設定

僕の場合はSSDとハードディスクをOS入れる用とファイルとか保存するように分けていて、さらにパーティション区切ってWindowsデュアルブートするというなかなかカオスなことをやっているので最初にストレージの設定。このページを参考にした。

HDDをフォーマットする - Ubuntu 14.04 LTS編

僕は SSDにOSを入れたのでHDDを適当にパーティション区切ってマウントした。

無論1つのHDDに1つのOSをぶち込んでいるだけの場合こんな難しいことは考えなくても良い。

 

3、ctrlとcaps lockを入れ替える

なんのために存在しているのかわからない無能キーナンバーワン"caps lock"キー。

こいつがAの隣というわりといいポジションを陣取っているため、こいつを抹殺してCtrlにするのがよし。

ぐぐっていろいろためしてみたのだが、僕の環境ではどれもうまくいかなかった。。

例えば

$setxkbmap -option ctrl:swapcaps

のコマンドとか。一応このコマンドはきいたのだが、今度は日本語の変換ができなくなってしまった。(ちなみにUSキーボード)うーむ。昔のバージョンはGUIから簡単にキー設定いじくれたらしいが、どうも最近のバージョンではめんどくさいことしなきゃいけないらしい。

結局もともとAの左がCtrlになっているハッピーハッキングキーボードを買うことで解決した。(いや、根本的な解決にはまったくなっていないけど)

恐るべし、caps lockの呪い。

 

4、vimを入れる

僕はvimmerなのでまずvimを入れる。一応Ubuntuにはデフォルトでviが入っているのだけれど、最低限の機能しか使えないらしく、:syntax on  とかやっても色が変わらない。これではどうしようもない。

$sudo apt-get install vim

であっさり解決。

 

5、vimの設定いじくる

次にvimの設定ファイルをいじくる。ホームディレクトリに.vimrcをつくってネットで適当にググった設定をコピペ。例えばこんなん

Vimの設定ファイルを作る - Qiita

今回はここから引っ張ってきたてちょびっと改変した。

1 set number "行番号を表示する
2 set title "編集中のファイル名を表示
3 set showmatch "括弧入力時の対応する括弧を表示
4 syntax on "コードの色分け
5 set tabstop=2 "インデントをスペース2つ分に設定
6 set softtabstop=2
7 set shiftwidth=2
8 set smartindent "オートインデント
9
10 "#####検索設定#####
11 set ignorecase "大文字/小文字の区別なく検索する
12 set smartcase "検索文字列に大文字が含まれている場合は区別して検索する
13 set wrapscan "検索時に最後まで行ったら最初に戻る

 

こんな感じ。特に行番号とsyntaxとオートインデントは必須。リンク元だとtabstop=4になってたけど、個人的にはtabstop=2がおすすめ。だって4だとインデントそろえたときに幅広すぎるんだもん。。

 

 

6、ターミナルの文字色設定

 5まででとりあえず文字色はつくようになったはず。というわけでvimを立ち上げて色の確認用に適当なコード打ち込んでみる

f:id:hakase73:20160703001518p:plain

 

うーん色が微妙。気持ち悪い色をしている。

ターミナル開いて編集→プロファイルの設定で色をいじくることにする。

カラーパレットの色を適当にいじくる。

f:id:hakase73:20160703001658p:plain

うーんちょっとはましになったかな?

なぜかカラーパレットでいじくれる色といじくれない色があって、上のスクショのincludeとintとかの部分の色はなぜかどうやってもいじくれなかった。なぞ。まぁ最初よりはましになったのでよしとしよう。

ほんとは緑をもっと濃くしてincludeをピンクにしたかった。

あ、上のコードreturnうつの忘れてた。まぁ色確認するために打っただけだしいっか。

 

なんか不完全なとこも多いけどとりあえず6個書きなぐった。他にも追々やっていくとしよう。