仮想X11モニタ拡張画面の問題であるVNCサーバー

仮想X11モニタ拡張画面の問題であるVNCサーバー

追いかけようとするこれ vncクライアントを使用してリモートモニタに表示できるように、モニタに仮想画面を作成します。

しかし、パターンを追加しようとすると、xrandr --addmode VIRTUAL1xrandrはそのような出力がないと言います。

これは私の現在の出力ですxrandr -q

Screen 0: minimum 8 x 8, current 4224 x 1080, maximum 16384 x 16384                                               
VGA-0 connected 1024x768+0+312 (normal left inverted right x axis y axis) 304mm x 228mm                           
   1024x768      60.00*+  75.03    70.07                                                                          
   800x600       75.00    72.19    60.32    56.25                                                                 
   640x480       75.00    72.81    59.94                                                                          
   640x350       70.07                                                                                            
DVI-D-0 connected 1280x1024+2944+56 (normal left inverted right x axis y axis) 376mm x 301mm                      
   1280x1024     60.02*+                                                                                          
   1024x768      75.03    75.03    70.07    60.00                                                                 
   800x600       75.00    72.19    60.32    56.25  
   640x480       75.00    72.81    59.94  
HDMI-0 connected primary 1920x1080+1024+0 (normal left inverted right x axis y axis) 531mm x 298mm
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93 

一部の内容を読んだ後は、仮想デスクトップ拡張画面の仮想出力を生成する方法が見つかりません。

vncを使用してリモートモニタにストリーミングできるように、新しい「仮想画面」をどのように追加しますか?

新しいモニターを作成してvncを使用して接続できますが、このモニターをすでに使用しているモニターに拡張することはできません。

答え1

Fedora 26では、xrandrコマンドがVIRTUAL1を表示しないのと同じ問題が発生しました。

だから私も従うこのメモ、HDMI-2などの空の出力を再利用するのはうまく機能しますが、次のようになります。

  • Gnome(およびxrandr)は空の出力をリンクとして認識せず、拡張デスクトップまたはレプリカの場所を並べ替えるために仮想モニタを表示しません。異なる出力間に新しい物理モニタを接続するたびに破損する可能性が高くなります。

  • 悪いことに、gnome-shell(および下のつぶやき)は新しい仮想モニタを複合フレームバッファの見える領域の一部と見なしていないため、正しく再描画されず、移動中にウィンドウが破れたり、さらに離れたりします。ウィンドウを閉じた後も永続的なアニメーショントレースが発生し、x11vncを再起動した後も残ります。

それから私はガイドに従った。このリンク、仮想ドライバに対する短い試行錯誤後にこれは必要ないことがわかりました。 VIRTUAL1およびVIRTUAL2の出力を有効にするには、/etc/X11/xorg.conf.dディレクトリの下のファイルに「インテル」ドライバ情報を追加するだけです。 gnome-shellがそれを有効な出力として認識するようにします。 (また、出力名が「eDP-1」から「eDP1」にわずかに変更されていることを確認しました。)また、複合マネージャが再描画しない場合は、ドライバを再描画するように「TearLess」オプションをtrueに設定しました。

~# vi /etc/X11/xorg.conf.d/01-dummy-monitor.conf
Section "Device"
        Identifier      "Configured Video Device"
    Driver "intel"         #CHANGE THIS
    Option "TearLess"   "1"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

GDMセッションを再開し、ドロップダウンログインリストから「Gnome on Xorg」オプションを選択した後、推奨されるxrandrコマンドをVIRTUAL1出力として実行し、x11vncを簡単に接続できます。その後、VIRTUAL1出力をGnome画面設定で管理できます。解像度の変更、移動、デスクトップモニタのジオメトリの並べ替え、複製の選択、拡張などが可能です。 x11vncが実行されていて、お気に入りのVNCビューアが接続されていると、すべてがうまく機能します。

デバイス画面解像度モードを定義し、それをVIRTUAL1出力に追加します。

## For Samsung Galaxy Tab 10.1
~$ cvt 1280 752
# 1280x752 59.83 Hz (CVT) hsync: 46.72 kHz; pclk: 77.75 MHz
Modeline "1280x752_60.00"   77.75  1280 1344 1472 1664  752 755 765 781 -hsync +vsync
~$ xrandr --newmode "1280x752_60.00"   77.75  1280 1344 1472 1664  752 755 765 781 -hsync +vsync
~$ xrandr --addmode VIRTUAL1 1280x752_60.00

## For monitor HD 1920x1080
~$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
~$ xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
~$ xrandr --addmode VIRTUAL1 1920x1080_60.00

結果はxrandrとGnomeの画面設定で見ることができます。

~$ xrandr
Screen 0: minimum 8 x 8, current 3200 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
   1920x1080     60.00*+
   1400x1050     59.98
   1600x900      60.00
   1280x1024     60.02
   1280x960      60.00
   1368x768      60.00
   1280x720      60.00
   1024x768      60.00
   1024x576      60.00
   960x540       60.00
   800x600       60.32    56.25
   864x486       60.00
   640x480       59.94
   720x405       60.00
   640x360       60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP2-1 disconnected (normal left inverted right x axis y axis)
DP2-2 disconnected (normal left inverted right x axis y axis)
DP2-3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 connected 1280x752+1920+330 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x752_60.00  59.83*
   1920x1080_60.00  59.96
VIRTUAL2 disconnected (normal left inverted right x axis y axis)

これで x11vnc を仮想モニターに簡単に接続できるようになりました。

  • VNCパスワードを使用する場合:

    ~$x11vnc -display:0 -clip xinerama1 -usepw -xrandr -forever -nonc -noxdamage -repeat

  • GDM/XDM 認証を使用する場合:

    ~$ x11vnc -display :0 -clip xinerama1 -xauth /var/lib/gdb/:0.Xauth -xrandr -forever -nonc -noxdamage -repeat

VNCクライアントから接続し、新しいモニターをお楽しみください!

関連情報