[an error occurred while processing this directive]
デスクトップ(Xfce)+遠隔操作(VNC)で開発環境を作ろう(part2)

第345日目:デスクトップ(Xfce)+遠隔操作(VNC)で開発環境を作ろう(part2)

【追記2 2013/02/21 08:55】
ども、ども、▲('A`)/です。
おはようございます。
えーと、、、札幌は昨夜から今日にかけて天候が荒れています。
(今日はこちらの様に札幌市内では大雪警報が出ています。)

Yahooニュースでも出ていましたが、昨夜は旭川行きの特急とかが立ち往生して
止まったりしていました。
今日も朝から大量の雪が降っていて、ダイヤは大幅に遅れると思います。

出勤時に眺めている大倉山方面[1]も藻岩山方面[2]も、そして新札幌のダイエー前[3]も
こんな感じで白、白、白づくしです。
[1]   [2]   [3]
写真を撮った時間は朝の7時〜8時の間なのですが、ちょっと薄暗くて、道行く車も
ヘッドライトを灯火して走ってました。
(そうでもしないと気づいてもらえないからです。これだけ視界は白くなると、
黒塗りの車でも気づくのが遅くなります。)

今日何らかの事情で札幌にお越しになる人がいらっしゃったら、ニュースとか
天気予報には注意してください。特に交通機関はマヒ状態になると思います。
(雪が多いので、バス通りとかも車がすれ違うのが大変で、すぐに渋滞になります。)

今日は何とか会社に出社できましたが、除雪が続いて体に疲れがたまったせいか、
また右のお尻に粉瘤(ふんりゅう)が溜まって、痛いです。
今日は早々に病院に行く羽目になるかも。トホホ・・・

それでは、また!▲('A`)/

【追記 2013/02/18 12:00】
ども、ども、▲('A`)/です。
えーと、只今Ivy-dokuo号のデスクトップ環境に色々とソフトをインストールして
インストールはどの程度時間がかかるのかとか試しに動かしてみてどうか、を
みています。
まあ、libreofficeのインストールは色んな意味で大変でしたけど、ね。

さて、札幌はまだ冬真っ盛りですが、これから暖かくなって移動にも
苦労しなくなる季節が来たら、以下のサイトが重宝すると思います。

[1] さっぽろ観光ナビ(初級者向け)
札幌とその近郊を見てまわるのに役立つかも、です。

[2] 乗合バス会社ホームページ一覧 by 北海道運輸局(上級者向け)
北海道の地図を見ながら北海道の各地のバス会社のホームページを
閲覧できるサイトです。

[1]は札幌に不慣れな人でも行ってみたい所をテーマ別とか写真を見ながら
探せるサイトです。
[2]はテレビ東京さんの「ローカル路線バス乗り継ぎの旅」ばりに道内を
巡りたい時に役立つサイトだと思います。

まあ、今の時期は野宿なんかできませんからねえ・・・
それでは、また!▲('A`)/

↓ 本編はこちらです。

(2013/02/18 09:30)
ども、ども、▲('A`)/です。
おはようございます。
えーと、今日は前回の日記(第344日目)の続きでして、、、
前回はFreeBSD上でデスクトップ環境を作りましたが、今回は
リモートデスクトップの様な遠隔操作の環境を作って、その後
VirtualBoxも入れて自席に居ながらGUIで開発環境を作ってみたのを
説明しようかな、と。

前回はIvy-dokuo号にFreeBSD 8.3R(amd64)をインストールして、下で掲載した
環境 [1] までを構築しました。
今日は[2]と[3]の環境を構築します。

[1] デスクトップ環境(Xfce)で日本語入力ができる様にする。(前回説明済)
[2] Windowsのリモートデスクトップみたいに遠隔操作できる様にする。(今回)
[3] VirtualBoxを使って仮想化環境を構築する。(今回)


[2] VNCを使った遠隔操作環境の構築

まずは遠隔操作の核となるVNCの仕組みをインストールします。

pkg_add -r x11vnc
pkg_add -r tightvnc
rehash

x11vncがサーバ本体、tightvncはクライアントなのですが、外部から
接続した時にはサーバとして振る舞います。
(仮想のサーバと言っても良いかもしれません。)

インストールが終わったら、/etc/servicesにVNC用のポートを
開けておきます。

▲('A`)の場合にはこんな感じで設定しました。
VNCで使用するポートはデフォルトでは5900番なのです。
今回は更に2つ割り当てました。
この理由は後で説明します。

vnc5900 5900/tcp #VNCserver
vnc5901 5901/tcp #VNCserver
vnc5902 5902/tcp #VNCserver

で、一番最初にVNCサーバを動かす場合にはコンソールから
以下の様にrootユーザになってからコマンドを実行します。

vncserver :1 -geometry 1280x1024 -depth 24

このコマンドの意味は、VNCサーバのポートが5901(5900 + 1)で、
デスクトップの解像度が 横1280 x 縦1024 ですよ、
画面の色(ビットカラー)は24(1600万色)ですよ、となります。
色を指定するdepthでは以下のどれかの値を指定することになります。

8:256色
16:65536色
24:約1600万色

これらの値は遠隔操作するクライアントのマシンが使用するディスプレイに
依存します。

すると、以下のメッセージが表示されパスワードを要求されます。
VNCでログインする時に入力するパスワードを指定しましょう。

# vncserver :1 -geometry 1280x1024 -depth 24
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
xauth: file /root/.Xauthority does not exist

New 'X' desktop is w48.maido3.cc:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/w48.maido3.cc:1.log

#

このコマンドを実行した場合、/rootのホームディレクトリで
/root/.vnc というディレクトリが作成され、その中に passwd という
名称でファイルが作成されパスワード情報が格納されます。

# ls -l /root/.vnc total 8 -rw------- 1 root wheel 8 Feb 4 09:07 passwd -rw-r--r-- 1 root wheel 664 Feb 4 09:07 w48.maido3.cc:1.log -rw-r--r-- 1 root wheel 4 Feb 4 09:07 w48.maido3.cc:1.pid -rwxr-xr-x 1 root wheel 124 Feb 4 09:07 xstartup #

と同時に、xstartupというファイルも作成されます。
これが遠隔操作の時に動くデスクトップ環境の設定になります。

# cat /root/.vnc/xstartup
#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
#

ここで、[1]の時に設定した .xinitrc の内容を反映させましょう。
エディタを使って /root/.vnc/xstartupを開きます。

(変更前)
#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &


(変更後)
#!/bin/sh

export LANG=ja_JP.eucJP
export XMODIFIERS=@im=SCIM
scim -d

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
exec /usr/local/bin/startxfce4 &


変更前のXウィンドウズのマネージャーはtwmが指定されていました。
それを青文字で書かれた所の様にして Xfce(startxfce4)に変更したのです。
そして先頭の方に追加されたexport以下の3行(赤文字)は日本語環境の設定です。
こうする事で、VNCサーバにログインした時に日本語表示のXfceデスクトップが
現れる事になります。

えーと、最後になっちゃいましたけど、VNCサーバにログインするにはクライアントソフトが
必要になります。
(窓の杜とかに行くと見つかります。▲('A`)はRealVNCのビューワーを使っています。)

あ、そうだ。今動いているvncserverはXウィンドウズのマネージャーは
変更前のtwmで動いているんだった・・・
ごめんなさい。ここでマシンを1回再起動してから、もう一度rootユーザに
なって、以下のコマンドを実行してください。

vncserver :1 -geometry 1280x1024 -depth 24

さて、お待たせしました。
ではVNCサーバにログインしてみましょう。
▲('A`)が使っているVNCビューワーは [1] の通りです。

[1]   [2]   [3]

VNCのビューワーを立ち上げて、先ほど表示されたメッセージ

New 'X' desktop is w48.maido3.cc:1

に出てきた w48.maido3.cc:5901 を[2]の様にサーバ欄に入力し、
「OK」ボタンをクリックしてください。
すると、続いて、[3]の様にユーザ認証としてパスワードの入力欄が
出てくるので、一番最初に設定したパスワードを入力し、「OK」ボタンを
押します。
ちなみにユーザ名の所は入力できない状態になっていますが
問題ありません。なぜならroot権限というかrootユーザでVNCが
動いているからです。

すると、こんな画面が表示されると思います。

[ポート5901]

表示されたら、「おめでとう!」なのです。
これで遠隔でデスクトップ環境で色々できる様になりました。

さて、お気づきの人もいるかと思いますが、これ、まだ不完全なんです。

マシンを再起動する度毎に毎回コマンドを入力するのは大変ですので、
こんなスクリプト(vncserver.sh)を作って /usr/local/etc/rc.d に設置します。
(設置したら、忘れずにパーミッションを 755に設定しておいてください。)

[vncserver.sh]

#!/bin/sh
su root -c "/usr/local/bin/vncserver :1 -geometry 1280x1024 -depth 24"
su root -c "/usr/local/bin/vncserver :2 -geometry 1024x640 -depth 16"

このスクリプトでは解像度とビットカラーを変えたものを2つ動かします。
ポートが 5901(5900 + 1)では解像度が縦1280、横1024、色は1600万色
ポートが 5902(5900 + 2)では解像度が縦1024、横640、色は65536色
となります。

ちなみに普段▲('A`)が使用しているディスプレイはIO DATA社製の LCD-A173GB
なのです。解像度は最大で1280 x 1024なのでポート5901で接続した時は
ディスプレイ全体の表示になるのです、ハア。
(もう製造中止だったりするのね・・・)
なので5902の様な設定だと易しかったりします。

ちなみにポート5901で接続した時のVNCビューワーでの表示はこんな風になります。
本当にディスプレイいっぱいいっぱいの表示になるのです。
自分のデスクトップが隠れてしまうのです・・・
一方、ポート5902で接続した場合には少しゆとりを持っての表示になります。
自分のマシンのデスクトップも表示できています。

[ポート5901]   [ポート5902]

さて、それではマシンを再起動して、ちゃんとvncserverが動くか確かめましょう。

それぞれ接続できる事を確認できたら、
/root/.xinitrc をリネームするなり、内容を修正するなりしておきましょう。
こうする事でマシンを起動した際にメインコンソールでXウィンドウの
ログインマネージャーではなく、いつものテキストベースのログイン画面が
表示される様になります。

[3] VirtualBoxを使った仮想化環境の構築

まずはVirtualBoxをインストールします。
VirtualBoxについては第312日目にご紹介しましたが、あの時は8.2Rでの
挑戦でした。おんなじ方法でいけるのかな?と試したのですが・・・

# pkg_add -r virtualbox-ose
Error: Unable to get ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/Latest/virtualbox-ose.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.jp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/Latest/virtualbox-ose.tbz' by URL
#

「virtualbox-ose なんてものは無いぞ!」と怒られちゃいました。
えーと、、、FTPサーバの中を色々調べると、代わりに virtualbox-ose-legacy が
見つかりました。レガシーって何だ?

portsを色々調べてみたら、8.3Rのportsには以下の様なバージョンになっています。

virtualbox-ose -> VirtualBoxのバージョンは 4.1.10
virtualbox-ose-legacy -> VirtualBoxのバージョンは 4.0.16

えーと、現在VirtualBox本家で公開されている最新バージョンは4.2.6というのがあります。
4.1系では4.1.24、4.0系では4.0.18というのが最新となります。
FreeBSD本家のportsに収録される最新バージョンは
virtualbox-ose が 4.1.22、virtualbox-ose-legacy は 4.0.16_2 となります。

えーと先ほどの「レガシーって何だ?」の答えになるかどうか判りませんが、
何とか説明書いてみます。
レガシーの意味合いは、「古いバージョン」という事です。
現行のOSバージョンでサポートされないバージョンですよー、というものです。
つまり8.3Rだと一部機能が動かないかも、という事です、ハイ。

ports(ソース)からコンパイルしてインストールする分には4.1系(4.1.22)が
packages(バイナリ)でインストールする場合は4.0系(4.0.16)が利用できます。
まあ、今回は最新を求めるのではなく、「動けばいいや」的なスタンスなので、
インストール負荷の軽いバイナリ版を入れてみます。

という事で、改めて呪文を唱えます。

pkg_add -r virtualbox-ose-legacy
rehash

これでソフトのインストールが終わりましたが、まだこれでは動かせません。
第312日目でも書いた様に設定が必要です。
設定する内容を改めて以下で書きます。

[/boot/loader.conf]
vboxdrv_load=YES

[/etc/rc.conf]
vboxnetadp_load="YES"

[ユーザの登録]
pw groupmod vboxusers -m root

で、ここまで済んだらマシンを一度再起動します。
再起動して、VNC経由でマシンにログインすると、デスクトップ上に以下の様に
VirtualBoxをデスクトップメニューから呼び出せる様になります。

     

あとの操作は第312日目に書いていますので、そちらをご覧ください。
(今回はportsからのインストールは省きました。面倒くさがりやですみません。。。)

さて、デスクトップ環境としてはブラウザソフトも使いたいし、Openofficeの様な
オフィスソフトも使えたら便利だなあ。開発環境上での作業メモとかを作れるから。
今はそれらをインストールするのを続けています。
幾つか成功したら、後日小ネタとして説明書きますね。

さて、札幌は先週季節が1ヶ月巻き戻ったかの様に雪が降りました。
もうね、住宅街とかは雪かきしても雪を置く場所が無くなってきています。
歩道の雪山も気がつけば150cm位の高さになっている所が多くなっています。
(札幌市では札幌管区気象台からの雪データをこんな風にページでグラフで
公開してくれているので、どんな状況なのか判るのです。)
春はまだ遠いですね・・・

それでは、また!▲('A`)/

344日目に戻る。   346日目に続く。

目次に戻る
1日目 2日目 3日目 4日目 5日目 6日目 7日目
8日目 9日目 10日目 11日目 12日目 13日目 14日目
15日目 16日目 17日目 18日目 19日目 20日目 21日目
22日目 23日目 24日目 25日目 26日目 27日目 28日目
29日目 30日目 31日目 32日目 33日目 34日目 35日目
36日目 37日目 38日目 39日目 40日目 41日目 42日目
43日目 44日目 45日目 46日目 47日目 48日目 49日目
50日目 51日目 52日目 53日目 54日目 55日目 56日目
57日目 58日目 59日目 60日目 61日目 62日目 63日目
64日目 65日目 66日目 67日目 68日目 69日目 70日目
71日目 72日目 73日目 74日目 75日目 76日目 77日目
78日目 79日目 80日目 81日目 82日目 83日目 84日目
85日目 86日目 87日目 88日目 89日目 90日目 91日目
92日目 93日目 94日目 95日目 96日目 97日目 98日目
99日目 100日目 101日目 102日目 103日目 104日目 105日目
106日目 107日目 108日目 109日目 110日目 111日目 112日目
113日目 114日目 115日目 116日目 117日目 118日目 119日目
120日目 121日目 122日目 123日目 124日目 125日目 126日目
127日目 128日目 129日目 130日目 131日目 132日目 133日目
134日目 135日目 136日目 137日目 138日目 139日目 140日目
141日目 142日目 143日目 144日目 145日目 146日目 147日目
148日目 149日目 150日目 151日目 152日目 153日目 154日目
155日目 156日目 157日目 158日目 159日目 160日目 161日目
162日目 163日目 164日目 165日目 166日目 167日目 168日目
169日目 170日目 171日目 172日目 173日目 174日目 175日目
176日目 177日目 178日目 179日目 180日目 181日目 182日目
183日目 184日目 185日目 186日目 187日目 188日目 189日目
190日目 191日目 192日目 193日目 194日目 195日目 196日目
197日目 198日目 199日目 200日目 201日目 202日目 203日目
204日目 205日目 206日目 207日目 208日目 209日目 210日目
211日目 212日目 213日目 214日目 215日目 216日目 217日目
218日目 219日目 220日目 221日目 222日目 223日目 224日目
225日目 226日目 227日目 228日目 229日目 230日目 231日目
232日目 233日目 234日目 235日目 236日目 237日目 238日目
239日目 240日目 241日目 242日目 243日目 244日目 245日目
246日目 247日目 248日目 249日目 250日目 251日目 252日目
253日目 254日目 255日目 256日目 257日目 258日目 259日目
260日目 261日目 262日目 263日目 264日目 265日目 266日目
267日目 268日目 269日目 270日目 271日目 272日目 273日目
274日目 275日目 276日目 277日目 278日目 279日目 280日目
281日目 282日目 283日目 284日目 285日目 286日目 287日目
288日目 289日目 290日目 291日目 292日目 293日目 294日目
295日目 296日目 297日目 298日目 299日目 300日目 301日目
302日目 303日目 304日目 305日目 306日目 307日目 308日目
309日目 310日目 311日目 312日目 313日目 314日目 315日目
316日目 317日目 318日目 319日目 320日目 321日目 322日目
323日目 324日目 325日目 326日目 327日目 328日目 329日目
330日目 331日目 332日目 333日目 334日目 335日目 336日目
337日目 338日目 339日目 340日目 341日目 342日目 343日目
344日目 345日目 346日目 347日目 348日目 349日目 350日目
351日目 352日目 353日目 354日目 355日目 356日目 357日目
358日目 359日目 360日目 361日目 362日目 363日目 364日目

いま一番お得なページ! 解析
[an error occurred while processing this directive]