2012年9月1日土曜日

Ubuntu 10.04 Server で Vnc4server で Gnome デスクトップ


お知らせ:
Ubuntu 13.04 Server で Vnc4Server で Gnome」も書きました。よろしければどうぞ。



 本当は Ubuntu 12.04 でやりたかったんだけど、Vnc4server, Gnome デスクトップ, Geany の組み合わせだとなぜか Geany の背景が緑色になってしまうんです。
 どうしても解決方法がわからなかったので、やむを得ず 12.04 の次にサポート期間が長い 10.04 Server を使いました。

必要パッケージをインストール
$ sudo apt-get install gnome-shell
$ sudo apt-get install vnc4server
$ sudo apt-get install ttf-vlgothic
$ sudo apt-get install ibus-anthy
$ sudo apt-get install gnome-terminal
  • 依存関係のあるパッケージとか大量にインストールされます
最初は ~/.vnc/xstartup ファイルが無いので、とりあえず vncserver を起動
$ vncserver :1
  • 初めて vncserver を起動したときはパスワードを聞いてくるので入力
  • 次回から vnc クライアントで接続する時はこのパスワードを入力
~/.vnc/xstartup ができたのを確認していったん vncserver を停止
$ vncserver -kill :1
~/.vnc/xstartup をこんな感じに編集
$ diff -U 1000 xstartup.Original xstartup
--- xstartup.Original 2012-09-08 10:10:09.336636767 +0900
+++ xstartup 2012-09-08 10:12:03.019137940 +0900
@@ -1,12 +1,16 @@
 #!/bin/sh
 
 # Uncomment the following two lines for normal desktop:
-# unset SESSION_MANAGER
+unset SESSION_MANAGER
 # exec /etc/X11/xinit/xinitrc
 
+export GTK_IM_MODULE=ibus
+export XMODIFIERS=@im=ibus
+export QT_IM_MODULE=ibus
+
+/usr/bin/gnome-session
+
 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 xsetroot -solid grey
 vncconfig -iconic &
-x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
-x-window-manager &
vncserver を起動
$ vncserver :1 -geometry 1260x685
  • 「-geometry 1260x685」はデスクトップのサイズです。お好みのサイズでどうぞ。
vnc クライアントから接続
$ vinagre VncServerName:1
  • コマンドラインから vnc クライアントの vinagre を起動するならこんな感じ。
  • 初めて Gnome デスクトップに接続する時は「The panel encountered a problem while loading "OAFIID:GNOME_FastUserSwitchApplet". Do you want to delete the applet from your configuration?」というエラーメッセージが出ましたが、とりあえず「Delete」を選択しました。いまのところ特に不具合は出てないです。
日本語で入力ができるようにする
vnc で接続したデスクトップで gnome-terminal を開き以下実行
$ ibus-daemon &
  • ibus-daemon を起動した後は gnome-terminal 閉じても良いです。
vncserver 起動時に ibus-daemon が自動的に起動するように設定
  • デスクトップのメニューで [System] -> [Preferences] -> [Startup Applications] を選択
  • [Startup Programs] タブで [Add] ボタンをクリック
    • [Name] は適当に「ibus-daemon」とか
    • [Command] は「/usr/bin/ibus-daemon -d」
    • [Add] ボタンをクリック
  • [Close] ボタンをクリック

サーバー起動時に vncserver が自動的に起動するように /etc/rc.local の最後の方に以下のように追加
$ diff -u rc.local.Original rc.local
--- rc.local.Original 2012-09-08 10:14:42.696681103 +0900
+++ rc.local 2012-09-08 10:14:42.666673920 +0900
@@ -11,4 +11,6 @@
 #
 # By default this script does nothing.
 
+su - user -c "/usr/bin/vncserver :1 -geometry 1260x685"
+
 exit 0
  • 「user」は実際に vncserver を起動するユーザー名
  • 解像度もお好みで
デスクトップアプリはまだほとんど何もインストールされていないので、好みに応じて Gedit とかいろいろインストールして使います。

セキュリティ設定はパスワード以外特にしていませんので後は各自でどうぞ。


おまけ: Ubuntu 11.10 での ~/.vnc/xstartup
$ diff -U 1000 xstartup.Original xstartup
--- xstartup.Original   2012-09-03 11:59:41.398267541 +0900
+++ xstartup    2012-09-03 11:59:41.390267542 +0900
@@ -1,12 +1,18 @@
 #!/bin/sh

 # Uncomment the following two lines for normal desktop:
-# unset SESSION_MANAGER
+unset SESSION_MANAGER
 # exec /etc/X11/xinit/xinitrc

+export QT_IM_MODULE=xim
+export GTK_IM_MODULE=ibus
+export XMODIFIERS=@im=ibus
+
+gnome-session --session=gnome-classic &
+
 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 xsetroot -solid grey
 vncconfig -iconic &
-x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
-x-window-manager &
+# x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
+# x-window-manager &
  • Unity ではなく、Gnome デスクトップにするするために gnome-session に「--session=gnome-classic」を付けます。
  • 「unset SESSION_MANAGER」の下に「unset DBUS_SESSIION_BUS_ADDRESS」を追加しないと うまく動かない場合もありました。
「--session=」に指定するのは以下のように /usr/share/gnome-session/sessions/ にあるファイルのファイル名から「.session」を除いたものを使います。
$ ls -la /usr/share/gnome-session/sessions
合計 28
drwxr-xr-x 2 root root 4096 2012-03-06 12:04 .
drwxr-xr-x 3 root root 4096 2012-02-23 18:04 ..
-rw-r--r-- 1 root root  337 2011-12-05 15:15 gnome-classic.session
-rw-r--r-- 1 root root  233 2011-12-05 15:15 gnome-fallback.session
-rw-r--r-- 1 root root 1510 2011-12-05 15:15 gnome.session
-rw-r--r-- 1 root root  259 2011-12-05 15:15 ubuntu-2d.session
-rw-r--r-- 1 root root  268 2011-12-05 15:15 ubuntu.session
  • ubuntu-2d とか ubuntu にすると Unity になるのですが、私の Vnc 環境ではうまく動かないです (ToT)

0 件のコメント:

コメントを投稿