最近、UbuntuでiPhone対応の環境を構築してみたので、今回は、Ubuntuの初期設定例を紹介してみます。photo credit: Freimut
今回は、 MacBookAir 以外のパソコンを使って環境を構築してみたので、最初にやったことのメモを残しておきたいと思います。使用したOSは、`Ubuntu`です。最近、 VirtualBox が`Mountain Lion`に対応したらバーチャル環境に`Mac`を入れて、`Linux`をメインに使って行きたいなぁと考えています。
まず、Ubuntuのインストールですが、 日経Linux に付属しているCDを使って`Ubuntu`をインストールすると楽でした。

なお、今回は、USBに`Ubuntu`をインストールしてみました。パソコンを2台も3台も持っている人はほとんどいないと思いますので、このようにUSBを使ったOS環境の構築はとても有効だと思います。なお、作成したUSBは家や学校のパソコンに差し込んで使えます。

よりオリジナルなUSBを作りたければ、 Twitterアイコンをシールにしてくれるサービス なんかを利用してもいいかもと思っています。
ルートのパスワード設定
rootのPassword設定は最初にやっておくべき設定だと思います。rootのPasswordを設定するには、以下の様なコマンドを使用します。
sudo passwd
ホームフォルダの英語化
ホームフォルダは日本語では扱いづらいので、 英語化 してみます。
LANG=C xdg-user-dirs-gtk-update
リモート接続
スマートフォンやメインパソコンを使ってリモート接続できるようにすると、便利なこともあるかもしれません。
サーバー側の設定
sudo apt-get update && sudo apt-get -y install openssh-server
ifconfig
sudo vi /etc/network/interfaces
IP Addressの固定
# The primary network interface
auto eth0
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.0.7
network 192.168.0.1
netmask 255.255.255.0
broadcat 192.168.1.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1
sudo /etc/init.d/networking restart
クライアント側の設定
ssh 192.168.0.7
ローカルで使用する場合は、通常、このままでもいいのですが、インターネットを介して接続する場合は、グローバルIPアドレスとセキュリティの設定が必要になってきます。
WAN経由のリモート接続
まずは、公開鍵をサーバーにコピーし、それを使ってログインします。
ssh-keygen
ssh-copy-id 192.168.0.7
ssh 192.168.0.7
次に、 Vim や zsh をインストールし、最低限の作業効率を確保します。その後、SSHの設定を変更します。
sudo apt-get -y install zsh && sudo apt-get -y install vim
chsh -s /bin/zsh
sudo vim /etc/ssh/sshd_config
# ルートログインの禁止
PermitRootLogin no
# ポートの変更
Port 22113
# パスワードログインの禁止
PasswordAuthentication no
# DNSの無効化
UseDNS no
ファイアウォールの設定を行います。
sudo service ssh restart
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 22113/tcp
ダイナミックDNSを設定し、ルーターのグローバルIPアドレスを登録します。使用するのは、 MyDNS がお勧めです。 アカウント登録 して、 ドメイン設定 しましょう。
ルーターのアドレスをMyDNSに定期的に通知するようにします。まずは、メールソフトの 設定 からです。
sudo apt-get -y install fetchmail
vim ~/.fetchmailrc
set no bouncemail (送信者にエラーメッセージを送らない。)
defaults
uidl (重複したメールを読み取らない。)
no mimedecode (MIME 形式のメッセージに変換しない。)
keep
poll pop.xxxxxxx.ne.jp (pop、imapメールサーバーを設定。)
protocol pop3 (pop3、imapを設定。)
user AAAAA (アクセスに必要なユーザIDを設定。)
password BBBBB (アクセスに必要なパスワードを設定。)
smtphost localhost (転送先のホストを設定。)
is CCCCC here (配信するユーザ名を設定。hereがある場合はローカルユーザ。)
次に、コマンドを定期的に実行するソフトを 設定 します。
crontab -e
# m h dom mon dow command
0 * * * * /usr/bin/fetchmail -f $HOME/.fetchmailrc 1> /dev/null 2>&1
最後に、MyDNSへの通知と確認を行います。
sudo chmod 710 ~/.fetchmailrc
fetchmail
nslookup xxxxxx.server-on.net
これで、WAN経由で使用出来るドメインが使えるようになりました。後は、ルーターにて、ポートマッピングの 設定 を行えば、WAN経由でSSH接続ができるようになります。
sudo apt-get -y install w3m
w3m 192.168.0.1
ポートマッピングの設定を終えたら、以下のコマンドでサーバーに接続できると思います。
ssh -p 22113 user@xxxxxx.server-on.net
スマホでの接続
ここでは、 iPhone を使用して、サーバーへの接続を試みます。SSHクライアントには、以下のアプリがおすすめです。
Prompt 1.3.2(¥700)
カテゴリ: ユーティリティ, ビジネス
販売元: Panic, Inc. - Panic, Inc.(サイズ: 6.8 MB)
全てのバージョンの評価:



(49件の評価)
iPhone/iPadの両方に対応まずは、サーバーの秘密鍵をiPhoneにコピーします。それには、サーバーで秘密鍵を作成し、クライアントでダウンロードしなければなりません。
ssh user@192.168.0.7 -p 22113
ssh-keygen
exit
sftp -P 22113 user@192.168.0.7
> cd ~/.ssh
> get id_rsa
open -a iTunes

そして、iPhoneの Prompt でSSHサーバーの情報を設定して接続します。

スマホ利用時に便利な設定
スマホを利用する際に、サーバーに設定しておくと便利なものはたくさんあります。今回は、その中の2つを紹介していこうと思います。
VPN
SSHサーバーとして利用する場合、同時に、VPNサーバーとしても利用できるようにしておくと便利です。VPNサーバーに接続することで、スマホがローカルのIPアドレスを取得したのと同じ効果があります。以下の 設定 をすることで、VPN接続できるようになります。
sudo apt-get -y install pptpd
sudo vim /etc/pptpd.conf
localip 192.168.0.7 # pptpdの動作しているマシンのIPアドレス
remoteip 192.168.0.190 # クライアントに割り当てるIPアドレス
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sudo vim /etc/ppp/chap-secrets
username pptpd "password" * # ユーザ名、サーバ名、パスワード、クライアントIPアドレス
ここまで設定できたら、後は、スマホの設定を行います。
設定 > 一般 > ネットワーク > VPN

WOL
WOLを 設定 することで、リモートでパソコンの電源をいれることができます。BIOSの 設定 が必要になりますが、便利です。
sudo apt-get install ethtool
sudo ethtool -s eth0 wol g
sudo vim /etc/rc.local
/usr/sbin/ethtool -s eth0 wol g
exit0
あとは、スマホのアプリでマジックパケットを送りつければ指定したMacアドレスのパソコンが起動します。
iNet Pro - Network scanner 2.0.6(¥500)
カテゴリ: ユーティリティ, 仕事効率化
販売元: BananaGlue GmbH - BananaGlue GmbH(サイズ: 10.5 MB)
全てのバージョンの評価:



(22件の評価)
なお、WAN経由でルーター下にあるパソコンにマジックパケットを届けたければ、モデムの 設定 や VPN接続 が必要になってきます。
デスクトップのカスタマイズ
次に、デスクトップ環境を構築します。`Ubuntu12.04`で採用されている Unity は非力なパソコン(Memory512MB)には向いていません。私が気に入っているデスクトップは以下の様なものです。
sudo apt-get -y install lxde
sudo apt-get -y install gnome-panel
sudo apt-get -y install awesome
これらのデスクトップテーマを適用するには、一度ログアウトしてからログイン画面にてテーマを選択します。
また、デスクトップのカスタマイズには、以下の アプリ が便利です。
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak
sudo add-apt-repository ppa:cairo-dock-team
sudo apt-get update
sudo apt-get install cairo-dock cairo-dock-plug-ins
dotfiles
即座に環境を構築したければ、GitHubにあがってる様々な dotfiles を参考にしてみるのがお勧めです。ここでは、 yuroyoro さんの設定ファイルを適用してみます。なお、用意されている setup.sh を実行してもいいのですが、ここでは、手動で適用してみようと思います。
sudo apt-get -y install git
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
git clone https://github.com/yuroyoro/dotfiles.git
cd dotfiles
cp .zshrc .vimrc .tmux.conf ~/
vim
そして、 :BundleInstall を実行し、プラグインをインストールします。
プラグインをインストールした後は、最低限エラーを出さない設定を施します。
cd ~/.vim/bundle/vimproc
make -f make_unix.mak
sudo apt-get -y install catgs
sudo apt-get -y install tmux
最後に、オリジナルの設定を施したり、設定ファイルを修正したりすることで、効率的に環境の構築が行えます。
オリジナルの設定
私は、オリジナルの設定やプロンプトの設定は分けていることが多いです。
echo "source ~/Dropbox/dotfiles/.zshrc.original" >> ~/.zshrc
設定ファイルのアップロード
scp -P 22113 -r dotfiles user@192.168.0.7:/tmp
tmuxのプロンプトのカスタマイズ
tmux-powerline というものが公開されています。
cd
git clone https://github.com/erikw/tmux-powerline.git
sudo apt-get -y install curl
vim ~/.tmux.conf
なお、ここでは、競合する設定はコメント化することが前提です。以下を設定ファイルの末尾に追記してください。
set-option -g status on
set-option -g status-interval 2
set-option -g status-utf8 on
set-option -g status-justify "centre"
set-option -g status-left-length 60
set-option -g status-right-length 90
set-option -g status-left "#(~/tmux-powerline/status-left.sh)"
set-option -g status-right "#(~/tmux-powerline/status-right.sh)"
その他必要なものもありますが、適時設定、インストールしてください。

Rictyフォントを使用する
プログラミング用のフォント Ricty をターミナルの適用すると、そこそこ文字が読みやすくなるような気がします。
git clone https://github.com/yascentur/Ricty.git
cd Ricty
sudo apt-get install fontforge
wget http://levien.com/type/myfonts/Inconsolata.otf
w3m http://mix-mplus-ipa.sourceforge.jp/download.html
(`Migu 1M`をダウンロードします。)
unzip migu-1m-20120411-2.zip
sh ricty_generator.sh Inconsolata.otf migu-1m-regular.ttf migu-1m-bold.ttf
SSH接続して設定する場合は、以下のようにします。
ssh -P 22113 -Y -C user@192.168.0.7
nautilus
`Ritcy.ttf`を開き、フォントをインストールします。
gnome-terminal
編集 > プロファイル > フォント > Ricty (17以上でないと選択できない?)

なお、フォントが出来上がったら、次から設定しやすいように共有しておくと便利です。