今日から始めるubuntu


#はじめに
学校でLinuxPCが配られました。いままでmacを使っていたので、勝手がわからないず手探りで設定していくことになりました。
  
あとで見返せるようにメモの目的で書いていますが、おすすめの設定などがありましたら、教えてください。

まだ途中段階です。

##スペック

+ ノートpc
+ ubuntu14.04LTS
+ corei7-3630QM
+ メモリ16GB
+ GPU内蔵
+ HDD320GB

(無駄にスペック高いな...)

#パッケージマネージャー
macでいうHomebrewに変わるもの。  
Ubuntuを含むDebian系はapt-getが普通のよう。  
ubuntu14.04からは[apt(Advanced Package Tool)](http://gihyo.jp/admin/serial/01/ubuntu-recipe/0327)というのも入ってる。
こちらはapt-getやapt-cacheをまとめたコマンドのみたいでHomebrewに似ているのでこっちを使うことに。(ただし完全な代替というわけでもないらしい。要検討)  
他にaptitudeという高機能版も存在する。
GUI版としてSynaptic パッケージマネージャーもあるので一応インストールしておく。

##aptの使い方

```
$ apt help
apt 1.0.1ubuntu2 for amd64 コンパイル日時: Apr 10 2014 13:03:39
使用法: apt [オプション] コマンド

apt 用コマンドラインインターフェイス
基本コマンド:
 list   - パッケージ名を基にパッケージの一覧を表示
 search - パッケージの説明を検索
 show   - パッケージの詳細を表示

 update - 利用可能パッケージの一覧を更新

 install - パッケージをインストール
 remove  - パッケージを削除

 upgrade - パッケージをインストール/更新してシステムをアップグレード
 full-upgrade - パッケージを削除/インストール/更新してシステムをアップグレード

 edit-sources - ソース情報ファイルを編集
```

##レポジトリの追加
初期の状態では公式のパッケージしかインストール出来ないので、他のパッケージをインストールするにはレポジトリを追加する必要がある。Homebrewでいうtapだね。

```
$ sudo add-apt-repository ppa:****/***

```

##パッケージにインストール
なにはともあれパッケージの更新

```
$ suod apt update
$ sudo apt upgrade
```

```
$ sudo apt install synaptic zsh git vim
```
gitやvimは最初から入ってた。(お下がりだからね)


#dotfiles設定
macではzshを使っていたのでシェルをzshに変更する。

```
$ which zsh #(zshの場所を調べておく)
$ chsh (上で調べたzshの場所を設定)
```
terminalを再起動して、以下のコマンドで確認

```
$ echo $SHELL
```

お次はzshrcの設定！と言ってもdotfilesをgithubにあげてるのでcloneするだけ。(だと思う。完璧にmacようだから何かしらの不具合があるかも)

```
$ git clone git://github.com/vintersnow/dotfiles.git
$ git submodule init
$ git submodule update
$ ~/.dotfiles/setup.sh
```


```
$ source ~/.zshrc
```
これを実行して表示が変われば成功。 

移行このdotfilesがインストールされていることを前提とするが、自分の設定を保持したい人は該当箇所だけを参考にしたらいい。てか、いろんなエラーが出てるからいまんところクローンしないほうがいいかも。

<!-- ##lsカラー設定
これだけ少し特殊。カラー設定は[.zsh.d/useful_setting.zsh](https://github.com/vintersnow/dotflies/blob/master/.zsh.d/useful_setting.zsh)で行っている。

```
$ ln -s ~/.dotfiles/dircolors-solarized/dircolors.ansi-universal ~/.dircolors
``` 
-->


#pecoインストール
pecoが無くては行きていけない体になってしまいました。  
それぐらい便利。  
ということでubuntuでも設定する。

##その前にgoのインストール
なんかaptでインストール出来るみたい。

```
$ sudo apt install golang
```
がversionが古い。(15年4月現在1.4.2が最新版だが1.2.1がインストールされた。)

```
$ sudo apt remvoe golang # とりあえず削除
```
なので、ソースから修得することに。
goのソースはMercurialで管理されているのでまずMercurialをインスト

```
$ sudo apt isntall mercurial
```
ちゃんとインストールされたか確かめる。

```
$ hg --version
```

cloneしてビルド。もしdotfilesをcloneしていない場合は自分でGOPATHなどの設定が必要。[ここ参照](http://d.hatena.ne.jp/katz_24/20140107/1389100678)

```
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
$ cd $GOROOT/src
$ ./all.bash
```

```
$ go version
```
で確認。すると1.3.3だった。なぜ？？(要検討)  
GOPATH用のディレクトリも作っておく。自分の[zshrc](https://github.com/vintersnow/dotflies/blob/master/.zsh.d/1devlop.zsh)では```GOPATH=${HOME}/gopath```となっているので(GOPATHはどこでもいい)

```
$ mkdir ~/gopath
```

##peco
気を取り直してpecoを持ってくる。

```
$ go get github.com/peco/peco/cmd/peco
```


[pecoの設定はすでにしてあるので](https://github.com/vintersnow/dotflies/blob/master/.zsh.d/peco.zsh)

```
$ source ~/.zshrc
```
したあと、ctrl-rでコマンドの履歴が出てきたら成功。

|key-bind|info|
|:---|:----|
|ctrl-r|コマンド履歴|
|ctrl-x|ディレクトリ履歴|
|pk|ps aux一覧からkillする|
|gh|ghq list一覧からcdする|


# ghqインストール
ghqも便利なんで入れておこう

```
$  go get github.com/motemen/ghq
```

##使い方
ghqはgithubなどになるリモートレポジトリを管理するためのコマンド。
デフォルトでは~/.ghq/いかに配置される。場所の指定はgitconfigで変えられる。

**get**
```git clone```と大体一緒。

```
$ ghq get git://github.com/vintersnow/dotfiles.git
$ ghq get vintersnow/dotfiles
```

**update**
get に-uオプションをつける。

```
$ ghq get -u vintersnow/dotfiles
```

**list**
```ghq get```したものの一覧

```
$ ghq list
$ ghq list foo (fooという文字列を含んだレポジトリのlist)
```

**look**
ghqで管理しているレポジトリに移動できる(僕はpecoを使っているのでほぼ使わない)

```
$ ghq look vintersnow/dotfiles
	cd /home/****/.ghq/github.com/vintersnow/dotfiles
```


#dropboxのインストール
入れとくと便利
[本家サイト](https://www.dropbox.com/install?os=lnx)からダウンロード


#SublimeText3のインストール

```
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer
```
以下のコマンドでsublme textが起動します。

```
$ subl
```

sublimetextの設定はdropboxで共有しているので、シンボリックリンクを張ります。  
パッケージなどの設定は```~/.config/sublime-text-3```にあるようです。  

```
$ ln ~/Dropbox/sublime3/Installed\ Package ~/.config/sublime-text-3/
$ ln ~/Dropbox/sublime3/Package ~/.config/sublime-text-3/
```

#vimの設定

# neobundle
~~まだしていない。
てかvimを開こうとするとNeoBundle関連のエラーが出る。~~
->NeoBuble関連のは.dotfilesのgitに含まれてないからだね。
解決策:もう一度NeoBundleを入れなおす。
~~(gitからはずさないとな~)~~ gitから外した。

~~現状.vim/bundle/以下に何も入っていないので一から設定する必要がある。~~submodule化したので以下の作業はしなくてよい。

```
$ ~~git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim~~
```

## color scheme
color schemeはdracula themeを使っているがghqで管理しているのでシンボリックリンクを作る。

```
$ ghq get zenorocha/dracula-theme
$ ln -s ~/.ghq/github.com/zenorocha/dracula-theme/vim/colors/dracula.vim ~/.vim/colors/
```

これでok(てかgit submoduleを使えばいいのだろうか?)


#その他のインストールしたもの

+ debで
	- google chrome
		+ ところでchromeだけ閉じるボタンが右にあるのはなぜ？？
+ aptで	
	- tmux
	- tree


~~がtmuxが起動しないorz
->tmux.confの~~

```
set-option -g default-command "reattach-to-user-namespace -l zsh"
```
~~をコメントアウトしたら直った。
でもたしかこれってクリップボードの共有に必要なんだよな。~~
linuxとmacで読み込むファイルを変えるようにしたのでもう問題ないはず。

#ナチュラルスクロール
macとスクロール方向が違うのは気持ち悪いので、ナチュラルスクロールに変更。
今回はubuntu tweakを使う。このソフトは他にUI関連の設定がいろいろ出来るみたいなので入れといて損はないんじゃないかな？

```
$ sudo add-apt-repository ppa:tualatrix/ppa
$ sudo apt update
$ sudo apt install ubuntu-tweak
```

ubuntu-tweakを起動して、```tweak->外観：その他->ナチュラルスクロールを有効にする```で有効にしログインし直すとおｋ。

#ショートカット

| キー               | 動作          |
| :--                | :---          |
| Ctrl + Alt + T     | open terminal |
| Super(windows key) | open Dash     |