vncserverの代替

#contents

#navi(Sakura/VPS)

**概要 [#n009c1d5]
vncserverを使ったリモートデスクトップで、Drag and Dropができない。
ファイル・マネージャで Drag and Drop はあまり使わないので気にならなかったが、
Thunderbirdでのメールの振り分けなどもできないので調べて見ることにした。

-[[[ubuntu] Drag and Drop failing with VNC - Ubuntu Forums:http://ubuntuforums.org/showthread.php?t=1497635]] - Xvfb + x11vncで凌げということか
-[[Bug 620240 – GNOME Drag & Drop broken for remote X sessions:https://bugzilla.gnome.org/show_bug.cgi?id=620240]] - gtkのバグ?
-[[Bug #587856 in gtk+2.0 (Ubuntu): “GNOME Drag & Drop broken for remote X sessions”:https://bugs.launchpad.net/ubuntu/+source/gtk+2.0/+bug/587856]]

**コンソール画面の転送 [#l42a2be5]
解像度が 800x600以上大きくなってくれない。
 $ xrandr
 xrandr: Failed to get size of gamma for output default
 Screen 0: minimum 640 x 480, current 800 x 600, maximum 800 x 600
 default connected 800x600+0+0 0mm x 0mm
    800x600        61.0* 
    640x480        60.0  
検証方法
 $ sudo vi /etc/X11/xorg.conf
 $ sudo /etc/init.d/gdm start
 $ sudo x11vnc -display :0 -rfbport 5901 -localhost -auth /var/lib/gdm/:0.Xauth
解像度が低すぎて、メニューからログアウトが実行できない。
vncviewerを切断すると x11vnc が終了するので、
 $ sudo /etc/init.d/gdm stop
とすればおしまい。

/etc/X11/xorg.conf: に以下のように足してみたが効果なし
 Section "Screen"
        Identifier      "Default Screen"
        Device          "Configured Video Device"
        Monitor         "Configured Monitor"
        DefaultDepth    24
        SubSection      "Display"
                Depth           24
                Modes           "1280x1024"
        EndSubSection
 EndSection
 
 Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Configured Mouse"
 EndSection

/var/log/Xorg.0.log を見ながら "Monitor" Section に何か書けばいいのかもしれない。

**Xvfbとの組み合わせ [#sce31b33]
aptitude -i xvfb して、下記のスクリプトで立ち上げに成功。
Drag & Drop もできるようになった。

 $ cat bin/xvfbvnc.sh
 #!/bin/sh
 
 unset SSH_AUTH_SOCK
 export DISPLAY=:1
 
 Xvfb :1 -screen 0 1280x1024x24 &
 sleep 2
 [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
 /etc/X11/Xsession &
 x11vnc -rfbport 5901 -forever -shared -localhost -usepw -o ~/.x11vnc-errors &

止めるときは、killall Xvfb でよい。
起動したシェルを終了しても大丈夫なようだ。

gdmは不要なので削除してもよいが、sudo mv /etc/X11/default-display-manager /etc/X11/default-display-manager.stopped として起動しないようにしたつもりだが、起動してしまうようだ。

***問題点 [#xaa07370]
+後から接続してきた vncviewer に、先の接続を切断してつなぎ直すという動作ができない。
--dontdisconnect がデフォルトで有効なので切断しないようだ。このオプションを否定するオプションが見つからない
--暫定的に -shared をつけて、後から接続してきたら同時にアクセスできるようにする 
+キーリピートが効かない
--xset r on を3回唱えればリピートするようだ。なぜ3回?
 19/11/2011 00:49:16 Disabled X server key autorepeat.
 19/11/2011 00:49:16   to force back on run: 'xset r on' (3 times)
--xvfbvnc.sh の中では、xset r on を4回実行してもリピートは有効にならない
+Chromeで右クリックするとメニューが出ずに新しいタブで開く
--Button Downした後、右に数ドット動いてから Button Upのイベントを送っているのではないか
--Firefoxではあまり気にならない
--Gnome Terminalで、キーボードフォーカスを与えるために本文中に左クリックすると、一行選択してしまう
+Drag & Drop 中にアイコンが変化しない
+フォント等が精細になった気がする
+何か起動する度に Xlib:  extension "RANDR" missing on display ":1.0" といったエラーが出る
--Xvfb :1 +extension RANDR -screen 0 1280x1024x16 &  で起動してみたが効果なし


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS