Puttyが自動的に特定ホストに接続するように設定する

Updated:

Puttyを使って、あるホストに接続(ログイン)できるようにする方法のメモです。

ここでは、myhostというセッションのホストに接続させるように設定するものとします。

1. デスクトップにPuttyへのショートカットを作成する。
Puttyをインストールしたフォルダを開き、その中のPuttyの実行ファイル(puttyjp.exe)のアイコンを右クリックして[送る]-[デスクトップ(ショートカットを作成]とする。

2. デスクトップに作成された「puttyjp.exe - ショートカット」というショートカットを右クリックして、[プロパティ]を選択する。このショートカットのプロパティダイアログを表示される。

3. 「ショートカット」タブを開き、「リンク先」フィールドの中を編集して、プログラム名の後ろに「 -load myhost」を追加する。追加したらOKをクリックして、プロパティダイアログを閉じる。
例えば、「リンク先」フィールドに

"C:\Program Files (x86)\putty-0.63\puttyjp.exe"
という値(putty実行ファイルの名前)が入っていたとすると、これを次のようにします。

"C:\Program Files (x86)\putty-0.63\puttyjp.exe" -load myhost

4. ショートカットをダブルクリックすると、セッションmyhostに設定してあるホストに接続してくれるはずです。

5. ショートカットの名前をわかりやすい名前に変えておきます。例えば名前を「ホスト名」(この例ではmyhost)にしておけばよいでしょう。

VMWare Plalyerで、ゲストOSの時刻が同期しない現象を解決

Updated:

VMWare Playerでは、ゲストOSの時刻を自動的にホストOSに同期させることができます。それには次のように設定しておきます。

1. ゲストOSにVMWare toolsをインストールする
2-1. VMWare Playerを起動して、対象となる仮想マシンを選択する。
2-2. 仮想マシンの設定の編集]をクリックして「仮想マシンの設定」ダイアログを表示する
2-3 [オプション]タブを選択してから[VMWare Tools]をクリックする。
2-4 「ホストとゲスト時間を同期」チェックボックスをオンにする。

これで、ゲストOSを起動したり、サスペンドから復帰する際に、ホストOSと時刻が同期します。

上記の設定を1回だけ行なえば、あとは何もしなくても、ゲストOSの時刻が常に正しく設定されます。

しばらくは自動的に時刻が同期されていたのですが、なぜかいつの間にかゲストOSの時刻が同期されなくなってしまいました。例えば、サスペンドから復帰した場合に、サスペンドした時の時刻のままなのです。

これでは不便なので、いろいろといじってみました。結果としては、VMWare toolsを再インストールすることで再び時刻が同期されるようになりました。

具体的には、仮想マシンを起動した状態で、[Player]メニューから[管理]-[VMWare toolsの再インストール」を選択すると、ゲストOS側でVMWare toolsのCD-ROMイメージがマウントされます。あとはVMWare toolsを最初にインストールした時と同じ手順です。

現象としては、たぶん次のような感じなのだろうと思われます(ちゃんと調べたわけでないのですけど)。

  • VMWare toolsをインストールすることにより、対応したカーネルイメージ(?)が生成される仕組みになっている
  • apt-get upgradeで新しいカーネルイメージが生成されると、それはVMWare対応ではないので、時刻が同期されなくなってしまう

というわけで、時刻が同期しなくなったらVMWare toolsを再インストールすれば直ります(たぶん)。

Xubuntu 14.04LTSを、VMWare Playerにインストールしました

Updated:

Ubuntuの派生ディストロであるXubuntuの最初バージョン14.04LTSを、VMWare Player(Windows 7マシン上で動作)の仮想マシンにインストールしました。その時の手順のメモです。

近藤は、これまでUbuntu 12.04LTSを使っていました。前回の移行(Ubuntu 10.04LTSから12.04LTS)の際には、既存の10.04LTSの環境に対して、アップグレードをかけました。その時の記録はここにありますが、正直言って、かなり苦労、というか悪戦苦闘しました。

そのこともあったので、今回は、既存環境のアップグレードはせずに、新規にXubuntu 14.04LTSをインストールすることにしました。

UbuntuからXubuntuに移行した理由


まず最初に、なぜ今回は、Ubuntuではなく、Xubuntuを選んだかという話を書いておきます。

近藤は、数年前から、WindowsマシンにVMWare Playerをインストールして、その上で仮想マシンとしてLinux(Ubuntu)を動かしていました。

VMWare Playerには、Unityモードという動作モードがあります。これは、「Linuxのデスクトップを表示せずに、LinuxアプリのウィンドウをWindowsのデスクトップ上に直接表示する」というモードです。つまり、Linuxで起動したアプリ(例えばターミナル)が、あたかもWindowsのアプリのように扱われるのです。私のLinuxの使用目的は主に開発なので、基本的にこのUnityモードを使っています。

しかし、(12.04当たりから?)Ubuntuに導入されたUnityモード(まぎらわしいですね)が、VMWare PlayerのUnityモードと相性が悪いのです。Ubuntu 12.04LTSでは、古いバージョンのVMWare Playerを使って、何とか調整して使っていました。

しかし、最新版のVMWare Playerでは、『(VMWare Playerの)Unityモードは、Ubuntu(のUnityモード)はサポートしない』ということになってしまいました。実際に、VMWare Player 6.0.3に、Ubuntu 14.04LTSをインストールしたところ、Unityモードに切り替えができません。

いろいろ調べたところ、VMWare Unity Mode with Ubuntu 12.10というQAスレッドを見つけました。

ここでは「Unityデスクトップの代わりに、Gnome3デスクトップを使う」という回避策が紹介されてました。また、そのほかには「どうしてもUbuntuを使いたければ、Ubuntu系の派生ディストロのXubuntuを使えばいい。Xubuntuは、XFCEデスクトップを使ってるので、VMWareのUnityモードとコンパチだから」というアドバイスもありました。

そこで、試しにXubuntuを入れてみたら、確かにVMWare PlayerのUnityモードがちゃんと動きました。また日本語環境で使えるという実績も見つかりました。

というわけで、Ubuntu 12.04LTSから、Xubuntu 14.04LTSへと移行したのでした。

Xubuntu 14.04LTSをVMWare Playerにインストールする手順


さて、本題ですが、インストールの手順自体は簡単です。

1. Xubuntuの公式サイトから、14.04LTSの64bit版のISOイメージをダウンロードします。

http://cdimage.ubuntu.com/xubuntu/releases/14.04/release/xubuntu-14.04-desktop-amd64.iso

2. VMWare Playerから、「新規仮想マシンの作成」を実行します。ダイアログでは、「インストーラディスクイメージファイル」として、ダウンロードしたISOイメージを指定してやります。すると、「Ubuntu 64ビット 14.04」と認識してくれて、簡易インストール(ほぼ全自動でインストールくれる)をしてくれます。

3. XubuntuのVMをスタートさせると、シンプルなログイン画面が表示されます。

xubuntu-login

4. ログインすると、シンプルなデスクトップが表示されます。

xubuntu-desktop

5. メニューからターミナルを立ち上げてみます。

xubuntu-desktop-2

6. ユニティモードのアイコン(下のイメージで、赤丸で囲んだアイコン)をクリックすると、ユニティモードに移行します。

xubuntu-unitify-icon

ターミナルがWindowsアプリのようにウィンドウに表示されます。

xubuntu-unity

さて、この状態では日本語文字は表示されるものの、まだ日本語の入力はできません。

日本語入力をするためにiBusをインストールする


日本語入力を可能にするには、iBusをインストールした上で、日本語入力の設定をすればOKです。下記のページの手順で設定を行ないました。


これで、Xubuntu 14.04LTSの開発環境が手に入りました。あとは、必要なソフトをインストールして、設定を行なえばOKです。

Chefを使って、Ubuntuのタイムゾーンを日本時間(JST)に設定する

Updated:

Ubuntu Linuxでは、タイムゾーンは/etc/localtimeファイルの内容で決まります。日本の会社が提供するVPSでは、あらかじめタイムゾーンが日本時間(JST)に設定されています。

しかし、海外のVPSやVagrantのOSイメージでは、タイムゾーンが現地のものなっていたり、UTCになっているのが普通です。このままでは何かと不便なので、タイムゾーンの設定をJSTに変えたいところです。

各タイムゾーンを表わすファイルは、/usr/share/zoneinfoの中に置かれています。例えば、日本時間(JST)の場合には、/usr/share/zoneinfo/Japanです。/etc/localtimeから、/usr/share/zoneinfoのファイルにシンボリックリンクを張ることによって、マシンのタイムゾーン設定を変えることができます。

次のコマンドを実行すると、日本時間(JST)になります。

$ sudo ln -sf /usr/share/zoneinfo/Japan /etc/localtime

これをChefのレシピで実現すると次のようになります。linkリソースによってシンボリックリンクを張るだけの簡単な内容です。

#
# chefのレシピ: UbuntuでTimezoneを日本時間(JST)にする
#

link "/etc/localtime" do
  to "/usr/share/zoneinfo/Japan"
end

Windows 7マシンで、VirtualBox+Vagrantを使いUbuntu 14.04を動かす

Updated:

ノートPC(ASUS Zenbook, Windows 7)上に、VirtualBox + Vagrantを使って、Linux環境(Ubuntu 14.04LTS)を作成した際のメモです。

VirtualBoxのインストール

VirtualBoxの公式サイトから、Windows用の最新バージョンをダウンロードします。
今回は、VirtualBox 4.3.12 for Windows hostsをダウンロードしました。

次にダウンロードしたファイルを実行します。途中に、何回かダイアログ(VMが使用するネットワークやUSBのドライバをインストートするか、など)が表示されますが、デフォルトのままで進んで構いません。最後にマシンを再起動してインストールが完了です。

Vagrantのインストール

Vagrantの公式サイトのダウンロードページから、Windows用の最新版をダウンロードします。今回は、Vagrant 1.6.3 for Windowsをダウンロードしました。

次にダウンロードしたファイルを実行します。途中でダイアログが表示されたら、デフォルトを選んで進みます。最後にマシンを再起動してインストールが完了します。これで仮想マシンを実行する準備が整いました。

Vagrant用のOSイメージをインストール

仮想マシン(VM)で使用するOSのイメージは、http://www.vagrantbox.es/で公開されています。様々なOSやディストリビューションがあるので、使いたいものを選びます。ここではUbuntu 14.04 (64bit)のオフィシャル版を使うことにしました。

Official Ubuntu 14.04 daily Cloud Image amd64 (Development release, No Guest Additions):
https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

vagrant box addコマンドを使い、OSのイメージファイルをvagrant環境にダウンロードします。

vagrant box add NAME URL

ここでNAMEは、ダウンロードしたOSイメージに付ける名称です。Vagrantで仮想マシンを起動する際には、この名称を使います。URLはOSイメージのURLです。

実際には次のように指定しました。

vagrant box add ubuntu14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box

なお、このコマンドは、数百MバイトのOSイメージをダウンロードするので、時間がかかります。しかし、これ以降、実際に仮想マシンを作成して起動する際には、ここでダウンロードしたOSイメージが使用されるので、さほど時間はかかりません。

仮想マシンを初期化して起動する

仮想マシンの設定ファイルを置くために、適当なディレクトリを作成します。仮想マシンを使う際には、このディレトリにcdします。

まず最初にvagrant initコマンドを実行して、仮想マシンを初期化します。2番目の引数にはOSイメージ名ubuntu14.04を指定します。これは、先ほどvagrant box addで指定した名前と同じです。

C:\vagrant\myhost>vagrant init ubuntu14.04
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

仮想マシンを起動するには、vagrant upコマンドを使います。

C:\vagrant\myhost>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu14.04'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: myhost_default_1402444222649_68982
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/vagrant/myhost

これで仮想マシンがスタートしました。ブート時に以下のように、SSH接続のアドレス、ポート、ユーザ名が表示されます(ちなみに、パスワードもvagrantとなっています)。

    default: 22 => 2222 (adapter 1)
 
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant

vagrant本来の使い方では、仮想マシンにログインするにはvagrant sshコマンドを使うのですが、Windowsにはsshコマンドが入っていません。そこで、ターミナルソフト(例えばPutty)を使って、仮想マシンにログインします。

上の実行例では次のように設定すればログインできるはずです。

アドレス: 127.0.0.1
ポート: 2222
ユーザ: vagrant
パスワード: vagrant

ユーザvagrantはsudoできる設定になっているので、あとは好きなようにマシンの環境を設定しましょう。

仮想マシンを停止する

仮想マシンを停止するコマンドはvagrant suspendとvagrant haltの2つがあります。

vagrant suspendコマンド

vagrant suspendは、仮想マシンを「休止状態」(hybernation)にします。つまり現在の仮想マシンの状態をディスクに書き出します。後ほどvagrant upで仮想マシンを起動すると、vagrant suspendした直前の状態からリスタートします。

vagrant haltコマンド

vagrant haltは、仮想マシンの「電源を強制的にオフ」にします。これは起動中のマシンの電源スイッチを切ることに相当します。次にvagrant upすると、仮想マシンはブ一トします。

仮想マシンをシャットダウンする際には、仮想マシンでpoweroffコマンドを実行するほうが良いでしょう。

仮想マシンの状態を調べる: vagrant statusコマンド

仮想マシンの現在の状態を表示します。

suspend状態なら次のように表示されます。

C:\vagrant\myhost>vagrant status
Current machine states:
 
default                   saved (virtualbox)
 
To resume this VM, simply run `vagrant up`.

実行中なら次のように表示されます。

C:\vagrant\myhost>vagrant status
Current machine states:
 
default                   running (virtualbox)
 
The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

仮想マシンの「電源がオフ」ならば次のように表示されます。

C:\vagrant\myhost>vagrant status
Current machine states:
 
default                   poweroff (virtualbox)
 
The VM is powered off. To restart the VM, simply run `vagrant up`