现在来看看指南

现在来看看指南

我有一台运行 16.04 的 Ubuntu 计算机,并且只有一块显卡。

眼镜

我和我兄弟不断地争论谁可以使用它,所以我试图帮大家一个忙并安装多座位。

  • 我会的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

答案1

虽然这是一个旧指南,但它可能仍然有效。多席位一卡

在我开始传达指示之前,请注意以下几点:

  • 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。

这可能是你遇到问题的地方。你可能需要尝试 3.18(适用于 16.04),而不是 2.20。

找到 [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

登录monitorTTY中的用户并创建~/.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它应该会启动。

如果有效,请以 root 身份编辑文件,并将以以下/etc/init/tty6.conf内容开头的行替换为/sbin/getty

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

如果可以,但你还想分离音频,链接的多座位指南为您提供了一些东西。

请记住,这可能行不通。我很快就打出了这个字,如果有必要,希望能编辑得更清楚一些。我已经调整了指南的部分内容,使其更加及时,并增加了成功的机会。

祝你好运!

答案2

听起来很酷,所以我浏览了一下,发现此 wiki 条目链接自此维基百科条目。它基本上使用一个名为 xephyr 的工具来组织输入/输出。

该条目相当老旧,仅针对 ubuntu 12.04 进行了更新,但 xephyr 仍在标准存储库中(刚刚在我的计算机上测试了它的存在)。配置编辑看似复杂但非常简单,它可能仍然有效。这里是一个始于2014年的博客,也让人充满希望。

请让我们知道您的情况!

答案3

我认为这是不可能的,因为你不能有两套输入设备。也许像 synergy 这样的工具可以帮到你,但会很麻烦。

您可以再买一台机器并将其用作 X 终端,这台机器只需要足够快来更新屏幕,因此请向您的朋友索要他们的旧电脑。如果您将原来的机器配置为运行 XDMCP,它将允许另一台机器登录到自己的桌面。

当 X windows 被 Mir 取代时,该功能将从 ubuntu 中删除,这可能发生在下一个 LTS 版本发布时。

这是 ubuntu 的 XDMCP 指南 -https://wiki.ubuntu.com/xdmcp

相关内容