欲しいものリスト

Ubuntuで使用しているアプリ

GNU Linuxここでは、私がUbuntuで使用しているアプリを紹介して移行と思います。ただし、こちらで紹介したアプリと重複するアプリも多く、その場合は省略します。なお、解説は、Ubuntu12.04をベースとします。
photo credit: Flodigrip's world


ibus

日本語入力には、ibusがお勧めです。その他、SKKもお勧めですが、一番手軽で簡単な日本語入力は、Ubuntuでは、ibusだと思います。



sudo apt-get -y install ibus-mozc


Dock > システム設定 > 言語サポート


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と同じような使い勝手を実現できます。



Server側(Ubuntu)

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/git


Client側(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/




最後に、アラートが送信されるかの確認です。sudo pkill apache2を実行してみましょう。



Ubuntuは、USBにもインストールできるよ

Ubuntuのインストールですが、 日経Linux に付属しているCDを使って`Ubuntu`をインストールすると楽でした。

nikkei_linux


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

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



次に、 Vimzsh をインストールし、最低限の作業効率を確保します。その後、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)App
カテゴリ: ユーティリティ, ビジネス
販売元: 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


itunes_iphone_app_prompt


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

ios_prompt


スマホ利用時に便利な設定


スマホを利用する際に、サーバーに設定しておくと便利なものはたくさんあります。今回は、その中の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
iphone_pptpd


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)App
カテゴリ: ユーティリティ, 仕事効率化
販売元: BananaGlue GmbH - BananaGlue GmbH(サイズ: 10.5 MB)
全てのバージョンの評価: (22件の評価)



ios_inet_wol


なお、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)"


その他必要なものもありますが、適時設定、インストールしてください。


tmux_powerline_setting


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以上でないと選択できない?)


x


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


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