Edited at

VNCServerをUbuntu14.04で建てる。

More than 3 years have passed since last update.


前提

Ubuntu14.04にvncserverを入れた。vncはいい、どんなマシンでもつながるし実績が豊富だ。

動画はとってもカクつくけどね。AndroidもiOSも分け隔てしない。

ただし、当方のマシンはUbuntu12.04からのアップグレードである。

問題発生以降はトラブルシューティングなので、最初の方で成功したらあとは無視していい。


手順

※ネットで出てくる順当な方法

Ubuntu14.04をインストールした前提で

sudo apt-get install vnc4server

vncserver :1

パスワード8文字を決める。

vncpasswd 

確認

netstat -an | grep 5901

これで

tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN

が出てくればOK


設定ファイル~/.vnc/xstartup

標準ではgnomeとか慣れ親しんだ系が出てこないのでgnomeを使えるようにする。

sudo apt-get install gnome-core gdm

現在このような設定で動かしている。

nano ~/.vnc/xstartup


~/.vnc/xstartup

#!/bin/sh

# Uncomment the following two lines for normal desktop:
#export XKL_XMODMAP_DISABLE=1
#unset SESSION_MANAGER
#日本語入力設定
unset DBUS_SESSION_BUS_ADDRESS
export GTK_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"
export QT_IM_MODULE=ibus
/usr/bin/ibus-daemon -dxr

#/usr/bin/gnome-session --session=ubuntu-2d

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
exec gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus -n &
gnome-terminal &



日本語入力を行う場合

日本語言語パックと、ibusを使うという前提でibus-mozcを入れる。

sudo apt-get install language-pack-ja-base language-pack-ja ibus-mozc

ロケールを日本語にして、面倒なので再起動する。

sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"

ここは適当で申し分けないのだが、英語版から入れたのでフォントがなく、上記の設定のみでは動かないようである。

lxdeとフォントも入れておくことにする。多分フォントだけが必要。

sudo apt-get install lxde fonts-ipafont-mincho


音楽を流したい場合

ストックしてある音声ファイルをvncserverから流したい場合は次のようにuserをaudioグループに追加する。

※userAを自分のユーザに置き換え

sudo gpasswd -a userA audio

画面のないつないでない、画面をいちいち見たくないマシンを音声再生専用マシンにするには便利である。


問題発生


  • つながらない。再起動前はつかえていたのに。


  • netstat -an | grep 5901とやると tcp6 0 0 :::5901 :::* LISTENなんて帰ってくる。ipv4が開いてない。

  • ipv6を無効化しても同じ。
    > sudo nano /etc/sysctl.conf
    > 以下のような行を追加した。
    > net.ipv6.conf.all.disable_ipv6 = 1
    > net.ipv6.conf.default.disable_ipv6 = 1
    > 反映
    > sudo sysctl -p

※新規インストールの場合はvnc4serverでもipv6でも使えた。


  • Unity-2d(/usr/bin/gnome-session --session=ubuntu-2d)は使えなくなった。仕方ないのでgnome-fallbackを使う。※上記xstartupファイルを参照

  • apparmorを無効化しても効果がない。


解決方法

Xvnc4というのがはじめにvnc4serverとして入るのだがこれをtightvncに切り替える。

sudo apt-get purge vnc4server

sudo apt-get install tightvncserver

これで当方は解決した。


キーボード問題

以下の事象はvnc4serverでは発生しないようでは有る。


sとdと上、下キーの挙動がおかしい・・


  • s:キーを押すとgnomeのメニューが開く

  • d:キーを押すとデスクトップ表示になる。

  • 上:キーを押すとWindowが最大化表示になる。

  • 下:キーを押すとWindowが最小化表示になる。


解決策

VNCなどGnomeの表示が生きている状態で

* gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "['<Alt>F1']";

* gsettings set org.gnome.desktop.wm.keybindings show-desktop "['<Shift><Alt>F1']";

* gsettings set org.gnome.desktop.wm.keybindings maximize "['<Primary><Super>Up','<Alt>KP_5']";

* gsettings set org.gnome.desktop.wm.keybindings unmaximize "['<Primary><Super>Down','<Alt>F5']";

もしくは

gconf-editorを使ってもorg→gnome→desktop→wm→keybindingsから設定は可能ではある・・・もちろんキーボードが正確に動けばだが。

まあマウスで消していくことも可能。目安としてキーになっている奴はが有効に選抜に関われてないので問答無用でキーアクションを上書きしてしまうようだ。

これで解決。