web-dev-qa-db-ja.com

モニターが接続されていないときに偽のディスプレイを追加する

外部モニターが接続されていないUbuntu 14.04サーバーがあります。 NoMachineを使用して、マシンをリモートコントロールします。その場合、Unity/Gnomeインターフェースにはモニターが接続されていないため、NoMachineで接続する場合は800x600しか使用できません。モニターを接続すると、リモートコンピューター上のNoMachineウィンドウのサイズに解像度を設定できます。

Ubuntuで「偽の」モニターデバイスを作成して、Unity/Gnomeでデスクトップ解像度を設定できる方法はありますか?

45
John Chapman

ダミープラグを必要とせずにそれを行う方法を見つけました: http://blog.mediafederation.com/andy-hawkins/ubuntu-headless-vnc-vesa-800x600-fix/

基本的にダミードライバーをインストールします。

Sudo apt-get install xserver-xorg-video-dummy

次に/usr/share/X11/xorg.conf.d/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 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

その後、コンピューターを再起動します。

50
John Chapman

モニターが接続されていないUbuntu 14.04デスクトップで解像度を指定します。

Xrandrのmanページから:

--fb widthxheight
   Reconfigures the screen to the specified size. All configured 
   monitors must fit within this size. When this option is not 
   provided, xrandr computes the smallest screen size that will 
   hold the set of configured outputs; this option provides a 
   way to override that behaviour.

したがって、接続後にコマンドを使用します。

xrandr --fb 1280x1024
20
Eric Leschinski

これはハードウェアソリューション/回避策であり、一部のグラフィックハードウェア/ドライバーで機能する場合があります。

  • ダミーVGA(またはDVIアナログ)プラグを購入するか、ダミードングルと呼ばれるプラグを購入します。

  • または、VGA出力で約75オームの3つの抵抗を使用するだけです:1→6、2→7、3→8。

    +/- 10オームは問題なく動作する場合があります。一部のカードは、1つの抵抗器だけで動作します。 (Intelのように、2→7または3→8がモニターとして検出されます)

参照: グラフィックスカードのダミープラグの作成方法

8
user.dz

私はUbuntu 18.04にいますが、これが私がそれを解決した方法です:

この質問に対する答えを使用して仮想ディスプレイを作成しました: https://unix.stackexchange.com/questions/378373/add-virtual-output-to-xorg

20-intel.confファイルを作成します。

Sudo vi /usr/share/X11/xorg.conf.d/20-intel.conf

次の構成情報をファイルに追加します。

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

これにより、Intel GPUに2つの仮想ディスプレイを作成するよう指示します。 VirtualHeadsの数は必要に応じて変更できます。

次に、シェルスクリプトを作成し(実行可能ファイルを設定することを忘れないでください)、それをスタートアップアプリケーションに配置します。

#! /bin/bash

/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"
/usr/bin/xrandr

これにより、VIRTUAL1が出力として設定され、接続されます。ブート時に、新しいモード(「cvt 1600 900」を使用して検出)が作成され、VIRTUAL1に指定されます。

これに関する唯一の問題は、再起動時にドックが見つからないことです...まだ解決していません。

3
Stefan Lemmens

Xvfb を検討してください。これは、実際のモニターを実際に接続したときに、おそらくディスプレイを台無しにする可能性が最も低いです。

次のコマンドは、ID 1および解像度1024x76の偽のディスプレイでlightdmを起動します

export DISPLAY=:1
Xvfb :1 -screen 0 1024x768x16 &
sleep 1

#exec gnome-session & # use gnome-session instead of lightdm
exec lightdm-session &
2
Rufus