Ubuntuを普段使いするにあたってのメモ

Dell XPS13 にUbuntuをインストールして、Windowsとデュアルブートしているので、その際の環境構築をメモ書きします。
あくまで自分メモなので、雑に記載しています。


# XPS13固有の問題

~~http://hgdev.co/installing-ubuntu-15-04-on-the-xps-13-9343-2015-a-complete-guide/~~
~~ここを読め。まずは、それからだ。~~

https://gist.github.com/keijiro/fdf733b71e6e6595d234

## WiFi

```
$ sudo apt-get install bcmwl-kernel-source
```


# インストール時の設定

http://sicklylife.at-ninja.jp/memo/ubuntu1604/settings.html

## キーボード設定

xmodmap で設定していたけど、xmodmapとかxkbとかの設定が、 Fcitx+Mozc で 半角英数と全角とを切り替えた時にリセットされる現象があり対応できず。

gnome-tweak-tool をインストールして、設定した。

```
タイピング -> Caps Lock キーの動作 -> Make Caps Lock an additional Ctrl
```

## 仮想スクリーン(デスクトップ)の設定

システム設定 -> 外観 -> 挙動 -> ワークスペースを有効にする

http://linux.just4fun.biz/Ubuntu/Ubuntu14.04%E3%81%A7%E4%BB%AE%E6%83%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%EF%BC%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9)%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.html

## DNS設定

DNSエラーが頻発するので設定をした。

```/etc/sysctl.conf

# 追記
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
```

```/etc/resolvconf/resolv.conf.d/base

# 追記
nameserver 8.8.8.8
nameserver 4.4.4.4
```

↑効果がなかった

```/etc/NetworkManager/NetworkManager.conf
 

[main]
plugins=ifupdown,keyfile,ofono
# dns=dnsmasq # ここをコメントアウトした
 
[ifupdown]
managed=false
```

```
$ sudo service network-manager restart
```


### 参考
http://techblog.show-ya.blue/?p=571
http://d.hatena.ne.jp/zzkater/20140713/1405250096
http://askubuntu.com/questions/838948/16-10-fail-to-resolve-dns
http://www.lighthouse-w5.com/index.php/25-linux/62-ubuntu-dnsmasq.html

# secure boot の無効化
Linuxカーネル 4.4.0 以降で必要
secure bootを無効化しないと、wifiやvirtualboxが使えないので無効化する
無効化するにはブートメニューに SecureBootの項目があるので、解除する

その後下記のコマンドを実行

```
sudo /sbin/vboxconfig
```

ダメなら下記を参考に実行

http://askubuntu.com/questions/760671/could-not-load-vboxdrv-after-upgrade-to-ubuntu-16-04-and-i-want-to-keep-secur

## その他

* unity tweak tool
* GoogleChrome
* DropBox
* [Shutter](http://shutter-project.org/)(スクリーンショットアプリ)
* [Slack](https://slack.com/downloads/linux)

## 開発環境構築

* java
* IintelliJ Idea
* git
* gvim/vim
* atom
* curl
* lftp
* zsh/oh-my-zsh
* Go(pecoの利用に必要)
* peco

### Java
* http://qiita.com/civic/items/daefe465600ca45d6c11
* http://qiita.com/minecraft/items/3ca7e9897fa8ec7099ae


### gvim/vim

gvimはUbuntuソフトウェアセンターで。vimは `apt-get` する。
設定は、下記を参考にdotfilesを読み込む。

http://qiita.com/jnchito/items/5141b3b01bced9f7f48f


### lftp

```
sudo apt-get install lftp
```

### zsh/oh-my-zsh
http://snowsunny.hatenablog.com/entry/2014/04/03/211105
最後に再起動が必要そう

### Go

1.https://golang.org/dl/ から Linux むけ tar.gzをDLする

2.[ここ](https://golang.org/doc/install)を参考に展開する

```bash
tar -C /usr/local -xzf {DOWNLOADED_GO}.tar.gz
```

3.環境変数を設定する

**~/.zshrc**

```bash
export GOROOT=/usr/local/go # go本体のディレクトリ
export GOPATH=$HOME/go # go packageなどのインストールディレクトリ
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin # Go本体とGoPackageにパスを通す
```

### peco

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

#### peco 利用Tips

##### ssh/sftp(lftp)管理

1.`~/.ssh/config`を編集
http://superbrothers.hatenablog.com/entry/20090730/1248971671

2.`~/.zshrc` にfunctionを追加

```zsh

# s[Enter] で 任意ホストにssh接続
function s() {
  ssh $(awk '
    tolower($1)=="host" {
      for (i=2; i<=NF; i++) {
        if ($i !~ "[*?]") {
          print $i
        }
      }
    }
  ' ~/.ssh/config | sort | peco)
}

# sf[Enter] で 任意ホストにsftp(lftp)接続
function sf() {
  lftp sftp://$(awk '
    tolower($1)=="host" {
      for (i=2; i<=NF; i++) {
        if ($i !~ "[*?]") {
          print $i
        }
      }
    }
  ' ~/.ssh/config | sort | peco)
}
```

### AWS

```bash
sudo apt install libssl-dev
sudo pip install aws
```

# フォントの設定

## とりあえず追加しておくフォント

- https://github.com/edihbrandon/RictyDiminished
- http://tanukifont.com/tanuki-permanent-marker/
- http://www.ankokukoubou.com/font/hakidame.htm
- http://www.fontna.com/blog/379/

# インストール済アプリの設定

Launcherとかで出てくるアプリケーションの設定のパス

```
~/.local/share/applications/hoge.desktop
```

#### ex

```
~/.local/share/applications/jetbrains-idea-ce.desktop
```