Solarizedでターミナルを美しく

Mac で作業している人のターミナルを見てみると、色もフォントも綺麗だし、かっこいいなあっていつも思っていたのですが、Windows, Linux 環境でも綺麗な色とフォントでターミナルを表示することができるので、その方法を紹介します。

Fedora19 on VMware

色を変えるには、カラースキームというのを使うのですが、今回は Solarized というものを使います。
また、フォントには Ricty を使います。

では、環境を整えていきましょう。

まずはターミナルの色を変えましょう。

簡単に説明すると、ターミナルに表示される文字は、HTML のように RGB のメタ情報を持っているわけではなく、何番目の色を使うようにといったような指定がなされています。
そして、1番目は赤、2番目は黄色、というように、おおまかな色合いが決められており、具体的にどんな RGB で表示するかの定義は、PuTTY などのターミナルごとに設定されています。
ターミナルの色を変えるには、この設定を変えればいいのです。

PuTTY の色を変えましょう。

はじめに、PuTTY の色の設定を変更します。
PuTTY の設定画面を開くと、「色」という項目があり、ここでそれぞれの色を RGB で設定することができます。
デフォルトの設定では、どぎつい原色が設定されているので、これを淡い色に変更しましょう。

とはいっても、具体的にどんな色を設定すれば綺麗に見えるか、素人には分かりません。
そこで、デザインの得意な人が作った色のセット、カラースキーマを使うのです。
今回は前述の通り、Solarized というカラースキーマを使います。

Solarized は Github に置いてあります。
以下のリンクを開き、右下の「Download ZIP」ボタンを押して、ファイルをダウンロードしましょう。
解凍してできたファイルの中に、putty-colors-solarized というフォルダがあるので開いて下さい。

まずはサンプルを見てみましょう。
Solarized light
Solarized dark
Solarized には、白地に黒文字の Light と、黒地に白文字の Dark の 2種類のセットが用意されています。
好きな方を使いましょう。僕は Linux の Terminal には Light を、PuTTY には Dark を使いました。

同じフォルダの中に PuTTY 用の設定ファイル (solarized_light.reg / solarized_dark.reg) が入っています。
どちらかのファイルをダブルクリックで実行すると、PuTTY の「セッション一覧」に "Solarized Light" か "Solarized Dark" が追加されますので、この設定を元に、接続先などを変更して保存しましょう。

レジストリ操作に慣れているなら、先ほどの REG ファイルの中身を編集して、自分が普段使っているセッションの色を直接変更できるようにしてみましょう。
例えば、自分が普段使っているセッションの名前が "My Server" だったら、次のように編集します。

[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\My%20Server]

ただ、レジストリをいじるのにはリスクがあるので気を付けて下さいね。

GNOME の Terminal の色を変えましょう。

次は、Fedora に標準搭載されている GNOME の Terminal の色を変えます。

以下にあるスクリプトを使います。

Github からスクリプトを取ってきて、実行します。

$ git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git
$ cd gnome-terminal-colors-solarized
$ ./install.sh

実行すると、次のような感じで、Light にするか Dark にするかと、どのプロファイルの色を変更するか聞かれるので、適当に答えて下さい。

This script will ask you if you want a light or dark color scheme, and
which Gnome Terminal profile to overwrite.

Please note that there is no uninstall option yet. If you do not wish
to overwrite any of your profiles, you should create a new profile
before you run this script. However, you can reset your colors to the
Gnome default, by running:

    Gnome >= 3.8 dconf reset -f /org/gnome/terminal/legacy/profiles:/
    Gnome < 3.8 gconftool-2 --recursive-unset /apps/gnome-terminal

By default, it runs in the interactive mode, but it also can be run
non-interactively, just feed it with the necessary options, see
'install.sh --help' for details.

Please select a color scheme:
1) dark
2) light
#? 2

Please select a Gnome Terminal profile:
1) :bf39c2d8-e74d-45ad-8bed-c3e2d5a9ce8d is not a valid profile
2) 'Unnamed'
#? 2

You have selected:

  Scheme:  light
  Profile: 'Unnamed' (:b1dcc9dd-5262-4d8d-a863-c897e6d979b9)

Are you sure you want to overwrite the selected profile?
(YES to continue) YES
Confirmation received -- applying settings

これでターミナルの色が変わりました。
ためしに ls とかしてみると、綺麗な色で表示されているのが分かると思います。

次に vim の色を変えましょう

Linux で一番よく使うプログラム vim のカラースキーマを変更しましょう。

Solarized に vim 用の設定があるので、それを使います。
今回は NeoBundle を導入してあることを前提とします。

~/.vimrc に次のように書きます。

NeoBundle 'altercation/vim-colors-solarized'
set t_Co=16
set background=dark
let g:solarized_termcolors=16
colorscheme solarized

もし前に記したターミナルの色設定をしていない場合、できない場合は、g:solarized_termcolors=256 に設定すると、それっぽい色になります。
設定している場合は 16 にしましょう。

:NeoBundleInstall をして、vim を再起動すると鮮やかな色が適用されているはずです。

フォントを変えてみよう。

プログラミング用フォント Inconsolata と、日本語フォントの Mig 1M を合成して Ricty というフォントを作ります。

まず、フォントを合成するための FontForge というソフトを Linux にインストールします。

$ sudo yum install fontforge

次に、合成するスクリプトを Github から取ってきます。

$ git clone https://github.com/yascentur/Ricty

すると、Ricty というディレクトリができるので、その中にフォントを用意して入れましょう。

Inconsolata は以下のサイトの、「OpenType file」というリンクからダウンロードできます。

Migu 1M は以下のサイトからダウンロードできます。
ダウンロードして解凍してできたファイルの中で今回使うのは、migu-1m-regular.ttf と migu-1m-bold.ttf というフォントファイルです。

準備ができたらスクリプトを実行します。

$ cd Ricty
$ sh ./ricty_generator.sh auto

これで、フォント Ricty-Regular.ttf と Ricty-Bold.ttf が作られます。
ただ、Windows でこのフォントを使うと、文字が横長に表示されてしまうので、パッチを当てます。

$ sh ./misc/os2version_reviser.sh Ricty*

そしたら、Windows にコピーして PuTTY から使いましょう。

Linux で使うには、/usr/local/share/fonts にコピーしましょう。

$ sudo cp Ricty-*.ttf /usr/local/share/fonts

あとは Terminal のプロファイルの設定からフォントを指定するだけです。
もともと Fedora に入っているフォントもいいのですが、少し細く感じたので、Ricty を使うことにしました。

比較

変更前と後のスクリーンショットを貼っておきます。
作業前のPuTTYとvim
作業後のPuTTYとvim
だいぶ美しくなりました。

僕は更に PuTTY の背景を半透明にして使っています。

参考文献

以下に参考にした記事を書いておきます。

コメントを残す