web-dev-qa-db-ja.com

1枚の物理グラフィックカードのみでマルチシートをセットアップするにはどうすればよいですか?

16.04を実行しているUbuntuコンピューターがあり、グラフィックカードは1つしかありません。

Specs

兄と私は常に誰がそれを使用するかをめぐって争うので、私はみんなに恩恵を与えてマルチシートをインストールしようとしています。

  • 私はseat0で、VGAポート、マウス、キーボード、コンピューターの背面にあるヘッドフォンジャックを備えています。

  • 彼はseat1で、DVI-Dポート、マウス、キーボード、コンピューターの前面にあるヘッドフォンジャックを備えています。

  • Wi-Fiドングルを共有してインターネットに接続します。

私はこれを行う方法について完全に途方に暮れています。どのファイルを作成し、どこに保存し、何を入れますか?適切な形式の回答(オンラインガイドではない)がいいでしょう。

lspciの出力:

00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.1 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #2 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation C220 Series Chipset Family H81 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
01:00.0 PCI bridge: PLX Technology, Inc. PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA (rev ba)
01:00.1 System peripheral: PLX Technology, Inc. PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA (rev ba)
02:01.0 PCI bridge: PLX Technology, Inc. PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA (rev ba)
02:05.0 PCI bridge: PLX Technology, Inc. PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA (rev ba)
02:07.0 PCI bridge: PLX Technology, Inc. PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA (rev ba)
02:09.0 PCI bridge: PLX Technology, Inc. PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA (rev ba)
03:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
04:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
05:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
06:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
08:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
09:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

ls /dev/input/by-path/の出力:

pci-0000:00:14.0-usb-0:1:1.2-event-kbd
pci-0000:00:14.0-usb-0:2:1.0-event-kbd
pci-0000:00:14.0-usb-0:7:1.0-event-mouse
pci-0000:00:14.0-usb-0:1:1.2-event-mouse
pci-0000:00:14.0-usb-0:3.1:1.0-event-mouse
pci-0000:00:14.0-usb-0:7:1.0-mouse
pci-0000:00:14.0-usb-0:1:1.2-mouse
pci-0000:00:14.0-usb-0:3.1:1.0-mouse
platform-eeepc-wmi-event
13
Soren

したがって、これは古いガイドですが、まだ機能する可能性があります。 MultiSeatOneCard

指示を持ち出す前の注意事項:

  • 必要なすべてのgdm構成は必要ない場合もあります。 GNOMEを使用している場合は、すでにgdm(およびより新しいバージョン)を使用しています。 Unityはlightdmを使用しますが、動作しないようです。 gdmをインストールし、それを使用してこのガイドを試してください。

  • ちょうど別の警告:古いガイド。動作しなかったり、Ubuntuを壊したり、マシンを爆破したりする可能性があります(もちろんそうではありません)。注意してバックアップしてください。

今、ガイドのために

Wikiでは、次のようにスプラッシュスクリーンを無効にすることを提案しています。手順がまだ機能するかどうかはわかりません。

多くの場合、このセットアップはうまくいかず、起動中の派手なスプラッシュスクリーンは役に立ちません。これを無効にするには(一時的に)/ etc/default/grubを編集し、GRUB_CMDLINE_LINUX_DEFAULTの割り当てをquiet splashからnomodeset noplymouthに変更します。次に、Sudo update-grubを実行します。

「拡張デスクトップ」に関する次の部分もおそらくスキップできます。両方のモニターを接続し、モニター設定で「拡張モード」に設定するだけです。

次に、いくつかの構成について説明します。

まず、/ etc/gdm/gdm.confの[servers]セクションで、0 = ....で始まる行を見つけます(行の先頭に#を付けない)。その前に#を付けます。

それは多くのトラブルなしで可能になるはずです。

次に、/ etc/gdm/gdm.conf-customを編集します。 [security]セクションを見つけて、PamStack = gdm-2.20という行を追加します。

ここで問題が発生する可能性があります。 2.20の代わりに、3.18を試す必要があります(16.04の場合)。

[xdmcp]セクションを見つけて、Enable = true行を追加します。

それは問題を引き起こさないはずです。

XDMCPは特に安全なプロトコルではないため、gdmに他のコンピューターからの接続を拒否させることをお勧めします。 /etc/hosts.allowにgdm:127. *行を追加し、/ etc/hosts.denyにgdm:ALL行を追加します。

これは、しないことを選択できます。セキュリティに関心がある場合は、それを行うことをお勧めしますが、そうでない場合は、そのままにしておくことができます。

次に、再起動してgdmを再起動します(おそらく最も簡単な方法です)。 GDMログイン画面が表示された場合、何か問題があります。元のガイドを確認し、いくつかの設定を調整します。

ログイン画面がない場合は、TTYに移動してX -query 127.0.0.1を実行します。 GDMが起動したら、それを強制終了します(TTYに戻り、そこで強制終了します)。

monitorという新しいユーザーを作成します。

addgroup --gid 983 monitor
adduser --uid 983 --gid 983 monitor

/etc/udev/rules.d/my.rulesにファイルを作成し(ガイドには名前の仕様はありません)、以下を入力します。

SUBSYSTEM=="input", OWNER="monitor", GROUP="monitor"

いくつかのパッケージのインストール:

apt-get install x11-utils xserver-xephyr

いくつかのエイリアスでモニターを分離する必要があります。

ln -s xmessage /usr/bin/xmessage0
ln -s xmessage /usr/bin/xmessage1

TTYでmonitorユーザーにログインし、~/.xsessionを作成します。

これを中に入れてください:

runscreen () {
    # $1 = number
    # $2 = geometry
    local xpid winid k
    while :; do
        xmessage$1 -geometry $2 "Window $1" &
        xpid=$!
        k=10
        while \
            winid=`xwininfo -name xmessage$1|grep 'Window id'|cut -d' ' -f4` \
            && [ $k -gt 0 -a ! "$winid" ]
        do
            sleep 1
            k=$(($k - 1))
        done
        if [ "$winid" ]; then
            Xephyr :1$1 -parent "$winid" -dpms -keybd "evdev,,device=$3,$xkb" -mouse "evdev,,device=$4" -query 127.0.0.1 
        fi
        kill $xpid
        sleep 3
        kill -9 $xpid
    done 
}

# For some reason I was unable to set the following in xorg.conf
# We need to turn off power management of the main X server because it doesn't
# see either of the keyboards and the mice so it will enter power-saving mode
# after 10 minutes
xset s off
xset dpms 0 0 0
xset -dpms

xkb='xkbrules=xorg,xkbmodel=evdev,xkblayout=us'

# PS/2 keyboard and mouse
kbd1=`ls /dev/input/by-path/platform-*-event-kbd`
mouse1=`ls /dev/input/by-path/platform-*-event-mouse`

# USB keyboard and mouse
kbd2=`ls /dev/input/by-path/pci-*-event-kbd`
mouse2=`ls /dev/input/by-path/pci-*-event-mouse`

runscreen 1 1280x1024+1920+0 "$kbd2" "$mouse2" &
runscreen 0 1920x1080+0+0 "$kbd1" "$mouse1"

解像度を反映するように編集することを忘れないでください。

startxユーザーとしてmonitorを実行し、動作するかどうかを確認します。

これが機能する場合は、起動時に起動するようにする必要があるため、これを~/.profile(モニターアカウント用)の最後に追加します。

if [ "`tty`" = /dev/tty6 ]; then
    exec startx
fi

GUIを強制終了して、TTY6に進みます。 monitorとしてログインすると、起動するはずです。

それが機能する場合、ファイル/etc/init/tty6.confをルートとして編集し、/sbin/gettyで始まる行を次のように置き換えます。

exec /bin/login -f monitor tty6 </dev/tty6 >/dev/tty6 2>&1

それは機能するが、オーディオも分離したい場合は、リンクされた MultiSeatX ガイドにいくつかのものがあります。

これはうまくいかないかもしれないことを覚えておいてください。私はこれをかなり素早く入力し、必要に応じて編集して、より明確になるように願っています。ガイドの一部を最新の状態に調整し、成功の可能性を高めました。

幸運を!

5
TheWanderer

とてもクールに聞こえるので、周りを見てみると このwikiエントリ からリンクされている このwikipediaエントリ が見つかりました。基本的にxephyrと呼ばれるツールを使用して入力/出力を整理します。

エントリはかなり古く、ubuntu 12.04向けにのみ更新されていますが、xephyrはまだ標準リポジトリにあります(コンピューターでの存在をテストしただけです)。構成の編集は複雑に見えますが、非常に簡単で、まだ機能する可能性があります。 Here は2014年に作成されたブログで、希望も持てます。

運賃について教えてください!

2
Jeroen

2セットの入力デバイスを使用できないため、これが可能だとは思わない。ここでは相乗効果のようなツールが役立つ場合がありますが、面倒です。

別のマシンを取得してXターミナルとして使用することもできますが、これは画面を更新するのに十分な速さである必要があるため、友達に古いPCを尋ねてください。 XDMCPを実行するように元のマシンを構成すると、他のマシンが独自のデスクトップにログインできるようになります。

この機能は、XウィンドウがMirに置き換えられたときに、ubuntuから削除される予定です。これは、おそらく次のLTSリリースの時期になるでしょう。

これがubuntuのXDMCPガイドです- https://wiki.ubuntu.com/xdmcp

1
Amias