MacBookAir Hack
photo credit: Flodigrip's world
ibus
日本語入力には、ibusがお勧めです。その他、SKKもお勧めですが、一番手軽で簡単な日本語入力は、Ubuntuでは、ibusだと思います。sudo apt-get -y install ibus-mozcDock > システム設定 > 言語サポート

Menubar > Keyboard > 設定

なお、`メニューバー`に`キーボード`アイコンが表示されない場合は、以下のコマンドを実行します。
rm -rf "$HOME/.cache/ibus/" && sudo shutdown -r nowそして、最後にvim-ibusを導入します。
Bundle 'bouzuya/vim-ibus'これで、Vimでの日本語入力が多少は簡単になります。
clipit
Clipitとは、クリップボード拡張アプリです。まあ、Glippyのほうがおすすめではありますが、Clipitのほうが手軽に導入できます。sudo apt-get update && sudo apt-get -y install clipit試しに使ってみましょう。例えば、以下のコマンドを実行します。
clipit & ls -a | xclip -selection clipboardすると、ディレクトリの一覧がクリップボードに取得できます。

ホームディレクトリを英語にする
以下のコマンドを実行します。その後、日本語ディレクトリを削除するかどうかを聞かれます。 $ LANG=C xdg-user-dirs-gtk-update
aptitude
`Ubuntu`のパッケージ管理にaptitudeを利用する人が多いように思います。aptitudeを利用したい人は、以下のようにしてaptitudeをインストールすることができます。
sudo apt-get -y install aptitude
Pinfo
Pinfoは、マニュアル等の情報を表示するアプリです。
sudo apt-get -y install pinfo設定ファイルにエイリアスを設定し、例えば、以下のように使います。
echo "alias info='pinfo'" >> ~/.zshrc && source ~/.zshrc sudo apt-get -y install gimp pinfo gimp
SparkleShare
SparkleShareとは、自分で作るDropboxのようなものです。サーバーとクライアントの設定を行えば、Dropboxと同じような使い勝手を実現できます。
ssh 192.168.1.100 sudo apt-get -y install git sudo adduser --disabled-password git sudo mkdir /home/git/.ssh sudo touch /home/git/.ssh/authorized_keys sudo chmod 600 /home/git/.ssh/authorized_keys sudo git init --bare /home/git/MyShare sudo chown -R git:git /home/gitClient側(Mac)
port search sparkleshare sudo port install sparkleshare ...Error w3m https://github.com/hbons/SparkleShare/downloads unzip sparkleshare-mac-0.9.0.zip open SparkleShare.app

scp "~/xxx key.txt" 192.168.1.100: sudo nano /home/git/.ssh/authorized_keys^Rを押し、先ほどコピーした鍵ファイルを選択します。 ~/xxx key.txt を入力し、 Enter を押します。
LAMP
LAMPとは、Linux, Apache, MySQL, PHP/Perl/Python の頭文字を合わせたものです。Webアプリケーションのプラットフォームとなるオープンソースソフトウェアの組み合わせで、OSの「Linux」、サーバーソフトウェアの「Apache」、データベース管理システムの「MySQL」、そしてオブジェクト指向のスクリプト言語である「PHP」(あるいはPerl、Python)のセットのことである。 http://www.sophia-it.com/content/LAMPここでは、このLAMPとその他の役立つアプリケーションをインストールする方法を紹介します。
#LAMPのA,M,P sudo apt-get install apache2 mysql-server php5 #MySQLを操作するWebアプリ sudo apt-get install phpmyadmin #人気のあるブログシステム sudo apt-get install wordpress #フォーラム運用のためのWebアプリ sudo apt-get install phpbb3 #Wiki運用のためのWebアプリ sudo apt-get install dokuwiki #コンテンツ管理システム sudo apt-get install drupal6
Monit
Monitとは、サーバーの監視を行うためのソフトです。メールでサーバーの変化を通知してくれます。Monitの設定はいろいろなものがあります。ここでは、設定の一例を紹介していきたいと思います。 $ sudo apt-get install monit 設定ファイルを好きなエディタ、例えば、sudo vim /etc/monit/monitrcで編集します。以下を追記してください。set mailserver smtp.gmail.com port 587 username "Mail_Address" password "Gmail_Password" using TLSV1 set alert xxxxxx@gmail.com set httpd port 2812 and allow localhost allow 192.168.1.100 allow admin:passwordそして、各種設定ファイルをmonit/conf.d以下に追加していきます。
システムリソース監視の設定
check system syui-VirtualBox if loadavg (1min) > 4 then alert if loadavg (5min) > 2 then alert if memory usage > 75% then alert if swap usage > 25% then alert if cpu usage (user) > 70% then alert if cpu usage (system) > 30% then alert if cpu usage (wait) > 20% then alert
Apache監視の設定
check process apache with pidfile /var/run/apache2.pid start program = "/usr/sbin/service apache2 start" with timeout 60 seconds stop program = "/usr/sbin/service apache2 stop" if failed host localhost port 80 protocol http and request "/index.html" then alert
ディスク使用量監視の設定
check filesystem fs_root with path /dev/sda1 if space usage > 80% then alert次に、ポートの開放と設定ファイルのリロード、Webユーザーインターフェースを確認してみます。
sudo ufw allow 2812/tcp sudo monit -t sudo monit reload w3m http://192.168.1.100:2812/


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

よりオリジナルなUSBを作りたければ、 Twitterアイコンをシールにしてくれるサービス なんかを利用してもいいかもと思っています。
ルートのパスワード設定
rootのPassword設定は最初にやっておくべき設定だと思います。rootのPasswordを設定するには、以下の様なコマンドを使用します。
sudo passwd
リモート接続
スマートフォンやメインパソコンを使ってリモート接続できるようにすると、便利なこともあるかもしれません。
サーバー側の設定
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クライアントには、以下のアプリがおすすめです。
カテゴリ: ユーティリティ, ビジネス
販売元: Panic, Inc. - Panic, Inc.(サイズ: 6.8 MB)
全てのバージョンの評価:
まずは、サーバーの秘密鍵を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アドレスのパソコンが起動します。
カテゴリ: ユーティリティ, 仕事効率化
販売元: BananaGlue GmbH - BananaGlue GmbH(サイズ: 10.5 MB)
全てのバージョンの評価:

なお、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 ctags 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 cd migu-1m-20120411-2/ && cp *.ttf ~/Ricty && cd .. 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以上でないと選択できない?)

なお、フォントが出来上がったら、次から設定しやすいように共有しておくと便利です。
jdownloader
WindowsやUbuntuで使えるダウンローダーです。
sudo apt-add-repository ppa:jd-team/jdownloader sudo apt-get update sudo apt-get install jdownloader
UbuntuでRARの日本語が文字化けする時の対処法
# rarをインストールしている場合(不要なパッケージも含め完全削除) sudo apt-get --purge autoremove rar sudo apt-get -y install p7zip-rar
https://wiki.ubuntulinux.jp/UbuntuTips/Application/PackageManagementSystem/Apt
UbuntuでZIPを解凍する場合などの文字化け対策
ikoinoba-release
sudo add-apt-repository ppa:ikoinoba/ppa && sudo apt-get update && sudo apt-get upgrade
IKOINOBA APT/YUM repository
atool
ちなみに、コマンドラインで圧縮/解凍を行う場合は、atoolが便利です。
sudo apt-get -y install atool
コマンド | 解説 | 使用例 |
---|---|---|
aunpack | 圧縮ファイルを指定し、解凍を行います | $ aunpack hoge.zip |
apack | フォルダ・ファイルを指定し、圧縮を行います | $ apack hoge.tar.bz2 hoge |
als | アーカイブの中身を表示します | $ als hoge.zip |
http://www.glidenote.com/archives/1076
UbuntuでNexus7をUSB接続し、メディアデバイスとして認識する方法
Ubuntu 13.04では、デフォルトでもマウントできると思いますが、 12.04, 12.10では、 gvfs-mtpをインストールする必要があるようです。
sudo add-apt-repository ppa:langdalepl/gvfs-mtp && sudo apt-get update && sudo apt-get upgrade
後は、再起動して、Nexus7をUSB接続すると、Nexus7がメディアデバイスとして自動マウントされます。
UbuntuでexfatでフォーマットされたHDDをマウントする
# http://aruneko.ie-t.net/archives/70 $ sudo add-apt-repository ppa:relan/exfat $ sudo aptitude update $ sudo aptitude upgrade $ sudo aptitude install fuse-exfat