3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Linux)CentOS6でx11vncをインストールする

x11vncに関しては、(Linux)コンソールに表示されているデスクトップ画面をVNC(x11vnc)で操作するで取り上げてます。

CentOSでは通常のリポジトリに x11vnc が存在しないため、rpmforge リポジトリから導入してやらないといけません。

以下のようにして、rpmforgeリポジトリを利用できるようにしてやります。

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# get http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -ihv rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# yum -y update rpmforge-release

ついで、x11vnc をインストールします。

# yum install x11vnc

x11vncのインストールが終わったので、rpmforgeリポジトリを無効化してやります。

# yum-config-manager --disable rpmforge

↑の無効化コマンドは初めて知ったんですが、実際やっているのは /etc/yum.repos.d/rpmforge.repo ファイル内の enabled の値が 0 をしているだけのようです。

あとは、(Linux)コンソールに表示されているデスクトップ画面をVNC(x11vnc)で操作するで書いている内容と同じです。 VNCのパスワードを設定します。

# x11vnc -storepasswd
Enter VNC password:
Verify password:
Write password to /root/.vnc/passwd?  [y]/n y
Password written to: /root/.vnc/passwd

自動起動については、/etc/rc.local ファイルに /usr/bin/x11vnc -rfbauth /root/.vnc/passwd -forever を書いたのではダメでした。

それで xinetd 経由で起動することにしました。

以下のファイルを作成します。

touch /etc/xinetd.d/x11vnc 
vi  /etc/xinetd.d/x11vnc 

service x11vnc
{
    port        = 5900
    protocol    = tcp
    disable     = no
    socket_type = stream
    wait        = no
    user        = root
    server      = /usr/bin/x11vnc
    server_args = -inetd -o /var/log/x11vnc.log -display :0  -rfbauth /root/.vnc/passwd -forever -bg -shared -enablehttpproxy -nolookup -auth /var/run/lightdm/root/:0
}

次に、サービスに対応するポートを設定します。

vi /etc/services
↓を末尾に追加。
x11vnc          5900/tcp                        # VNC Server

xinetdを再起動すれば使えるようになりました。

ディスプレイ番号は0になるので、通常のvncserverとの併用も可能でした。 通常のvncserverについては(Linux)CentOS6でVNCを入れるで取り上げます。

(Linux)Fedora18にVirtualBoxをインストール

WindowsVirtualBoxを使ってたんですが、それをFedoraで動いているLinux機に移行しました。 その時のメモです。

ます、https://www.virtualbox.org/wiki/Linux_Downloadsからディストリビューションに合ったパッケージファイルをダウンロードしインストールします。

# rpm -ihv VirtualBox-4.2-4.2.8_83876_fedora18-1.x86_64.rpm
警告: VirtualBox-4.2-4.2.8_83876_fedora18-1.x86_64.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID xxxxxxx: NOKEY
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:VirtualBox-4.2-4.2.8_83876_fedora################################# [100%]

Creating group 'vboxusers'. VM users must be member of that group!

No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.

Stopping VirtualBox kernel modules                         [  OK  ]
Recompiling VirtualBox kernel modules                      [  OK  ]
Starting VirtualBox kernel modules                         [  OK  ]

それから、Windows側のVirtualBox仮想マシンフォルダーをSambaやFTPを使ってLinux側にコピーします。
仮想マシンフォルダは、VirtualBoxの[ファイル]→[環境設定]→[一般]→[デフォルトの仮想マシンフォルダー]になります。
デフォルトだと、C:\Documents and Settings\ユーザ名\VirtualBox VMs になっていると思います。

VirtualBoxマネージャに表示される仮想マシンのリストの設定はWindowsだと、C:\Documents and Settings\ユーザ名.VirtualBox\VirtualBox.xml に、Linuxだと、/home/ユーザ名/.VirtualBox/VirtualBox.xml にあります。
中身はXMLファイルなので、テキストエディタWindows側の設定をLinux側に追加します。
仮想マシンに関する情報は MachineEntry ノードになるようです。

ただ、パスがWindowsLinuxでは異なるのでこれは以下のように手で治す必要があります。

    <MachineRegistry>
      <MachineEntry uuid="{6169c01d-7bea-4857-8477-5f31f6d32dd0}" src="C:\Documents and Settings\ユーザ名\VirtualBox VMs\Windows XP SP&#x7121;&#x3057;\Windows XP SP&#x7121;&#x3057;.vbox""/>
      <MachineEntry uuid="{bf9bda58-f8d1-4a1e-804b-5514f0d04c18}" src="C:\Documents and Settings\ユーザ名\VirtualBox VMs\Windows XP SP2\Windows XP SP2.vbox"/>
    </MachineRegistry>

    <MachineRegistry>
      <MachineEntry uuid="{2e0b8a56-da69-48e5-998b-4fcbf2f57304}" src="/home/ユーザ名/VirtualBox VMs/Windows XP SP&#x7121;&#x3057;/Windows XP SP&#x7121;&#x3057;.vbox"/>
      <MachineEntry uuid="{bf9bda58-f8d1-4a1e-804b-5514f0d04c18}" src="/home/ユーザ名/VirtualBox VMs/Windows XP SP2/Windows XP SP2.vbox"/>
    </MachineRegistry>

これでLinux側のVirtualBoxマネージャを起動すれば仮想マシンのリストが表示されました。 スナップショットを含む環境でもうまく移行できた。 いちいちエクスポートとかしなくて環境移行できるのはいいですね。