VMware仮想マシン内のヘッドレスサーバーでXubuntu 12.04を実行しています。 LightDMとLightDMによって起動されたXサーバーを使用するために(およびxfce4ではなくXubuntu-sessionを使用してログインするため)、Xvncよりもx11vncを使用することをお勧めします。
問題は、x11vnc
がXvnc
(vnc4server
とtightvncserver
の両方のフレーバー)よりもはるかに遅いことです。低速のブロードバンド接続を使用しています。 x11vnc
では、ウィンドウのドラッグが目に見えて遅くなります。
X11vncとXvncの両方で16ビットと1280x800を強制していますが、x11vncが実際に16bppを使用していることはわかりません(以下のログを参照)。
/ etc/init/x11vncの起動スクリプトを使用してx11vncを起動します。
start on login-session-start
script
x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 \
-auth /var/run/lightdm/root/:0 -forever -shared -bg \
-o /var/log/x11vnc.log -rfbport 5901 -localhost -nopw -xrandr
end script
デフォルトでは、これは32bppの800x600で開始されますが、コマンドラインパラメーターでは変更できません。私がしなければなりませんでした:
apt-get install xserver-xorg-video-dummy
そして、次の内容で/etc/X11/xorg.conf(デフォルトでは存在しませんでした)を作成します:
Section "Device"
Identifier "Configured Video Device"
Driver "dummy"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1280x800"
EndSubSection
EndSection
/var/log/x11vnc.logに接続すると、次のように表示されます。
30/11/2013 07:12:32 Pixel format for client 127.0.0.1:
30/11/2013 07:12:32 16 bpp, depth 16, little endian
30/11/2013 07:12:32 true colour: max r 31 g 63 b 31, shift r 11 g 5 b 0
30/11/2013 07:12:32 no translation needed
true color
の部分に注意してください。
また、x11vncで16bppを使用すると、下部パネルに透明度が維持されますが、Xvncで「-depth 16」を使用すると、すべての透明パネルが無地になり、パネル構成の「アルファ」オプションがなくなります。これにより、x11vncを使用しているときにXFCEが32ビットディスプレイをまだ検出していると思うようになります。
xserver-command=X -depth 16
で/etc/lightdm/lightdm.conf
も試しましたが、違いはありませんでした。
やった:
apt-get install vnc4server
vncserver :1 -depth 16 -geometry 1280x800
~/.vnc/startup
の内容に応じて、新しいXセッションが開始されます。
#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
# x-window-manager &
startxfce4 &
デフォルトではワイヤーフレームはありません。ウィンドウをドラッグすると、境界線だけでなくウィンドウ全体が表示され、ウィンドウのドラッグ時にワイヤフレームのみが表示されるx11vncよりも高速です明らかにです! vnc4serverをtightvncserverに置き換えた場合も同様です。
何か手がかり x11vncを同じくらい速くする方法について?なんとかできるはずです!
X11vncに対するあらゆる種類のオプション(すべてのthos -nox * -nowireframeなどから)を試してみましたが、役に立ちませんでした。
別の方法、LightDMを停止してXvncを〜/ .vnc/xstartupで起動して、XFCE4セッションではなくLilghtDMログイン画面から実行するのと同じXubuntuセッションを開始することができます...方法がわからない。 startxfce4
を/etc/X11/Xsession
に置き換えましたが、見た目は同じではありません。フォントは小さく、アーティファクトがあります。
助けていただければ幸いです!
私は私の質問のAlternative部分に答えることができました。つまり、vnc4serverまたはtightvncserverを使用して、プレーンXFCEセッションの代わりにXubuntuセッションを開始しました。これはLightDMとは別であり、LightDMは停止したり、手動で設定したりできます。後でニコラスの提案を調査します。
これは、XubuntuセッションでLightDM経由でログインするのと同じです。vnc接続が切断されたり切断されたりしても、Xubuntuのカスタマイズを楽しむことができます。
そのためには、~/.vnc/xstartup
に次のもののみを含めるようにします。
#!/bin/sh
export XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg
export XDG_DATA_DIRS=/usr/share/xubuntu:/usr/local/share/:/usr/share/:/usr/share
vncconfig -iconic &
. lightdm-session
. lightdm-session
をexec startxfce4
またはstartxfce4 &
に置き換えることができます。前者はLightDMが実際に呼び出すものですが、最終的にはxfce4-sessionを呼び出します。
これにより、プレーンなXFCEセッションではなく、Xubuntuセッションが開始されます。X/キーボードアクセスが必要ない場合は、LightDMを完全に停止できます。
/etc/init/vncserver.conf
に以下を配置することにより、デーモンを構成できます。
start on runlevel [2345]
stop on runlevel [016]
post-start script
su USER -c "vncserver :1 -geometry 1280x800 -depth 16 -localhost -SecurityTypes None"
end script
post-stop script
su USER -c "vncserver -kill :1"
end script
次に、start vncserver
で開始/停止します。上記はvnc4server用で、12v7.0.0.1でのみXvncリスニングを開始し、パスワードは不要です。とにかくsshトンネルを使用するので、これは私にとって便利です。
ssh -L6901:127.0.0.1:5901 [email protected]
Tightvncserverを使用する場合は、オプション-SecurityTypes Noneを削除してください。理解できないためです。 tightvncserverは常にパスワードを要求します(パスワードなしにすることはできません)。
注:上記のUSERがrootでない場合、または「vncserver:1 [options]」を非rootとして実行する場合、XFCE内では、基になるSudoが原因でGUIアプリへのSudo-ingの問題が発生します-edアプリはXディスプレイを見つけられません。私はまだこれに対する修正を見つけていません。 x11vncでは、x11vncは:0を含む既存のXセッションに接続するため、機能します。