読者です 読者をやめる 読者になる 読者になる

$ service ssh0 start

from everything import *

【備忘録】Ubuntuをインストールしたあとにやったこと

Ubuntu Linux

このまえ、それまでUbuntu12.04が入っていた自分のノートパソコン(lenovo ideapad S10e)に、Ubuntu14.04LTSをインストールしたので、そのときに入れたパッケージやアプリケーションについてまとめておきたいと思います。

普段使っているPCもOSはUbuntuで、ほとんど同じ構成なのですが、自分が何を入れたかとか、どこを設定したかとかいうは、不便な点が見つかってはじめて思い出せるものなので。。

ということで、このエントリの目的はあとで自分で見返した時に、新しく別のPCにインストールした時も簡単に環境を作り直せるようにすることです。 しかし、他の人がこの通りにしてもその人にとって使いやすい構成にはならないと思うので、おすすめのソフトウェアの紹介と思ってもらって読んで貰えればと思います。

基本方針:

  • 設定ファイルはGitHubでdotfilesとして管理しておく
  • それ以外に必要はパッケージはリスト化し、コマンドとしても残しておく(コピペ用)
  • gitでインストールする必要のあるものは、その場所とインストールするためのコマンドを残しておく

(大体)セットアップする順番

[前準備]プロキシの設定が必要な場合

.bashrc、/etc/environment、/etc/apt/apt.confを編集

.bashrc

export http_proxy=http://http_proxy_host:http_proxy_port

/etc/environment, /etc/apt/apt.conf

http_proxy=http://http_proxy_host:http_proxy_port

大文字バージョンを書いてもいいかも

Wi-Fiのドライバをインストール

lenvo S10e固有の問題として、普通にインストールしただけだと、Wi-Fiがうまく動作しないことがある。(というか、自分の場合は間違いなく動作しなかった) これを期待通りに動かすためには、既存のパッケージのアンインストールと新たなパッケージのインストールが必要となる。

sudo apt-get purge bcmwl-kernel-source broadcom-sta-common broadcom-sta-source
sudo apt-get install b43-fwcutter firmware-b43-installer

これで再起動すれば、うまくWi-Fiを掴んでくれるようになると思う。 また、このインストールを実行するために、インターネットに接続できる環境にいる必要があるわけなのだが、それは有線でつなぐなどしていればそれはきちんと動作するので問題はない。

git

設定ファイルとかインストールするのにまず必要。

sudo apt-get install git

以後gitを使う場面でうまく行かない時には、~/.netrcに以下のように記述する:

machine github.com
login your_user_name
password your_password

GitHubのユーザー設定

git config --global user.email "user_email@example.com"
git config --global user.name "user_name"

vim

設定ファイルをいじるのにも、まずはこれがないと。

sudo apt-get install vim vim-gtk

次に、後で設定ファイルを入れた時のために、NeoBundleを入れておく。

mkdir -p ~/.vim/bundle
git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

zsh

自分は基本的にzshを使っているので、できるだけ早くに設定してしまいたい。

sudo apt-get install zsh

oh-my-zshをインストールする:

wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh

確か、上のコマンドを実行するだけでzshをデフォルトにするかどうか訊かれると思うが、自分で実行する方法も書いておくと

sudo chsh -s /bin/zsh 

zshをデフォルトのシェルに設定できる。

pluginとしてzsh-syntax-highlightingをインストールする:

cd .oh-my-zsh/custom/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

すでにある関数やプログラムの場合には緑色、候補がある場合にはデフォルトの色、それに続くプログラム名が存在しない時には黄色で表示されるようになる。 記憶力がなく、自分のコマンドに自信のない場合や、タイプミスの多い人にはとってもおすすめなプラグイン

dotfiles(各種設定ファイル)のインストール

これは自分用に作った設定ファイル群であるが、基本的にはホームディレクトリ以下に配置する形式のもので、パスワードなどの個人情報が載っていないものはすべてGitHubにあげて管理しておくことにしている。 dotというスクリプトを実行することで、新しい環境の正しい位置にシンボリックリンクを貼ることができる。

git clone https:github.com/ssh0/dotfiles.git ~/.dotfiles
cd ~/.dotfiles/bin
dot set

もし、環境に依存する設定が必要な場合には、dot unlink ファイル名を実行すれば,シンボリックリンクを削除してファイルをコピーしてきてくれる。

build-essential:

大体ソフトウェアのコンパイルに必要なパッケージをまとめてインストール

内訳:

  • dpkg-dev
  • g++
  • gcc
  • libc6-dev
  • make
sudo apt-get install build-essential

xmonad, xmobar

Haskell製タイリングウィンドウマネージャ。最近はWindows10でもタイル機能が本格的に実装されたりしたが、xmonadは他のawesomeなどのタイリングウィンドウマネージャに比べてもかなり細かく設定ができ、完全なオレオレデスクトップを構成することができる。

sudo apt-get install xmonad xmobar

設定ファイルは~/.xmonad/xmonad.hs~/.xmonad/xmobarrc

関連して、dmenuアプリケーションランチャーをインストール

sudo apt-get install dmenu

urxvt

普段使用する端末は、urxvt。 他のターミナルエミュレータに比べると軽量で、後で紹介するCLIファイルマネージャrangerで画像プレビューがきちんと行える点で優れている。

sudo apt-get install rxvt-unicode-256color

設定ファイルは~/.Xdefaults。色の設定もここに書かれている。

フォント設定

上の端末の設定とzshの設定に関して、powerlineに対応したフォントを使用したい。 自分の好みのフォントはInconsolataなので、このフォントをダウンロードしてきて、これにpowerlineパッチを適用する。 適用するのにfontforgeが必要。

~/.vimrcに以下を書いておく

NeoBundle 'Lokaltog/vim-powerline'

ターミナルで以下を実行する(NeoBundleでvim-powerlineはインストール済みとする):

sudo apt-get install python-fontforge
git clone https://github.com/powerline/fonts/ ~/.font/powerline_fonts
sudo fontforge $HOME/.vim/bundle/vim-powerline/fontpatcher/fontpatcher $HOME/.font/powerline_fonts/Inconsolata/Inconsolata\ for\ Powerline.otf 

日本語入力

日本語入力は、ibus-mozcを使うことにする。

sudo apt-get install mozc-utils-gui ibus-gtk3 ibus-mozc

コマンドラインから

ibus-setup

を実行して、mozcをaddしてから、mozcの設定を行う。大体デフォルト通りで、数字や記号が半角になるようにする。

ubuntu-extras-keyring

いろいろ入る。

sudo apt-get install ubuntu-extras-keyring

dropbox

dropboxを使って複数のマシンで普段のタスクを共有する。 リンクが変わっている可能性もあるので、一度確認すること。

wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
~/.dropbox-dist/dropboxd 

ファイルマネージャnautilusdropboxの動作状況を確認できるようにする

sudo apt-get install nautilus-dropbox

vimperator

普段のブラウジングFirefoxプラグインのvimperatorを使っている。 Firefoxを起動してsyncにログイン後、しばらく待てば自動的にvimperatorを含めたプラグインがインストールされる。

現段階で入れているプラグインを列挙しておくと、

設定ファイルは、~/.vimperatorrcと、~/.vimperator/ディレクトリ以下に入れる。

vimperatorのプラグイン管理: vimppm

更にvimperatorのプラグインを管理するために、vimppmという管理プラグインを入れておく。

mkdir -p ~/.vimperator/vimppm
cd ~/.vimperator/vimppm
git clone https://github.com/cd01/vimppm.git

~/.vimperatorrcにこのファイルを読み込むように書いてあるので、Firefoxコマンドラインから:vimppm installとすると、設定ファイルに書かれているプラグインがすべてインストールされる。 現段階でインストールしているプラグインの一覧は以下:

  • appendAnchor.js
  • copy.js
  • PDF.js.js
  • nicontroller.js

カラーテーマを適用する

git clone https://github.com/vimpr/vimperator-colors.git ~/.vimperator/colors

google-chrome

Google Mapなどについては、FirefoxよりGoogle Chromeの方が軽いみたいなので、こちらもインストールしておく。

公式の用意しているppaパッケージからインストールする。

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c `echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list`

2つ目のコマンドがパーミッションがないとかでうまく行かない時は、自分で対象のファイルを編集すれば良い。 この後に

sudo apt-get update && sudo apt-get install google-chrome-stable

google-chromeをインストールしたあとは、これを起動してGoogleアカウントでログイン。 自動で履歴や設定、ブックマークなどが読みこまれるので、しばらくじっと待つ。

tmux, tmuxinator

tmux: ターミナルマルチプレクサ

sudo apt-get install tmux

tmuxinator: tmuxをより便利に使うためのRuby製ソフトウェア

sudo gem install tmuxinator

Paper icon theme & gtk theme

screenshots

sudo add-apt-repository ppa:snwh/pulp
sudo apt-get install paper-icon-theme paper-gtk-theme

peco

Go製のCLIのあいまい検索できるツール

(下のコマンドには注意。i386のPCにインストールしているし、バージョンも上がるかもしれない。一度確認しよう)

wget "https://github.com/peco/peco/releases/download/v0.3.3/peco_linux_386.tar.gz"
tar xzvf peco_linux_386.tar.gz
cd peco_linux_386
sudo chmod +x peco
sudo cp peco /usr/local/bin

Python 関連

pipのインストール&各種モジュールのインストール

sudo apt-get install python-pip
sudo apt-get install python-numpy
sudo apt-get install python-scipy
sudo apt-get install python-matplotlib
sudo python pip install -U pip
sudo python pip install "ipython[all]"

pipだけaptからインストールしてきて、その後のパッケージはpipでインストールする方法もあるが、aptで入れると前提のライブラリも入れてくれるので、一旦このようにインストールしてから、後で

sudo python pip install -U numpy

のようにすればよい。

youtube-dl

コマンドラインで動く動画ダウンロードツール

sudo pip install youtube-dl

CLIファイルマネージャranger

コマンドラインで動くファイルマネージャranger。おすすめ。Python製。

cd ~/.git
git clone https://github.com/hut/ranger.git
cd ranger
sudo make install
ranger --copy-config=all

追加して入れておくといいモノ

  • atool
    アーカイブファイルの管理ツール
  • w3m
    CLIウェブブラウザ
    • w3m-img
      ターミナル内での画像表示
  • lynx CLIウェブブラウザ
  • highlight
    Universal source code to formatted text converter
  • mediainfo
    command-line utility for reading information from audio/video files
  • xpdf
    Portable Documnet Format (PDF) reader
  • caca-utils
    text mode graphics utilities
  • ffmpegthumbnailer
    fast and lightweight video thumbnailer
sudo apt-ge install atool w3m w3m-img lynx highlight mediainfo xpdf caca-utils ffmpegthumbnailer

TeX関連

TeXLive日本語版をインストールする(時間がかかる):

sudo apt-get install texlive-lang-cjk

bibtexを便利に編集するのにVimのquickrunを使った構成を考えた(コマンドラインで動かすファイルマネージャrangerの設定)が、そこで必要

sudo apt-get install bibclean bibtex2html

コマンド一つでLaTeXコンパイルを必要な回数行ってくれるソフトウェア。 vim-quickrunと使うと幸せ。

sudo apt-get install latexmk

設定ファイルは~/.latexmkrc

編集環境はVimで。

arandr:

xrandrのシンプルなGUIフロントエンド

sudo apt-get install arandr

音楽・動画関連

sudo apt-get install ffmpeg ffmpeg2theora cmus mplayer2 mpv pulseaudio-module-jack

画像表示・編集

sudo apt-get install feh imagemagick

その他(重要度が低いとは言ってない)

  • colordiff
    diffに色をつけて表示する
  • figlet
    端末上で、ある文字列を複数の文字の並びで表示する
  • luakit
    firefox+vimperatorのように操作できる軽量ウェブブラウザ。個人的にFirefoxにとってかわる期待のホープ。
  • lxappearance
    GNOME環境やUnity環境以外でGTKテーマなどを変更するのに便利なGUIアプリケーション
  • mupdf, mupdf-tools
    軽量なPDFファイルビューアー
  • mutt
    CLIメールクライアントソフト
  • pandoc
    様々な形式のテキストファイルからHTMLやPDF、等多くの形式に変換できるソフトウェア。Haskell製。
  • recordmydesktop
    画面の録画
  • speedometer
    ネットワーク接続のデータ送信受信速度をグラフ化して表示するCLIアプリケーション。Python製。
  • tree
    ファイルをツリー状に見やすく表示。デフォルトでは入っていなかったと思う
  • xautomation
    スクリプトでマウス操作とキーボード操作を行う
  • xbacklight
    画面の明るさを変更するフロントエンド
  • xclip
    コンソールからクリップボードを操作する
  • xsel
    xclipに似ている
  • xscreensaver
    スクリーンセーバ
sudo apt-get install colordiff figlet locate luakit lxappearance mupdf mupdf-tools mutt pandoc par recordmydesktop speedometer tree tty-clock tudu xautomation xbacklight xclip xsel xscreensaver

まとめ

大体こんな感じでパッケージをインストールして、dotfileからリンクを貼って、ってして、一日もかからずにほとんどいつもどおりの環境に戻りました。 これもGit、GitHubなんていう便利なものがあったり、設定ファイルをまとめて管理するLinuxらしさだったり、またaptやpip、gemといったお利口なパッケージマネージャがあったりしたおかげで、かなり楽ちんでした。 Windowsではこうはいかなかったんじゃないかと思う。。

ということで、ここで一旦おしまいです。

次はluakitについて少し書きたいと思います。結構気に入ってきたので。