Yalnızca tek bir fiziksel grafik kartıyla çoklu oturmayı nasıl ayarlayabilirim?


16

16.04 çalıştıran bir Ubuntu bilgisayarım var ve sadece bir grafik kartım var.

gözlük

Kardeşim ve ben sürekli onu kimin kullanacağı konusunda savaşıyoruz, bu yüzden herkese bir iyilik yapmaya ve çoklu oturmayı yüklemeye çalışıyorum.

  • seat0VGA bağlantı noktası, fare, klavye ve bilgisayarın arkasındaki kulaklık jakları ile olurdum .

  • seat1DVI-D bağlantı noktası, bir fare, bir klavye ve bilgisayarın önündeki kulaklık jakları ile olurdu .

  • İnternete bağlanmak için Wi-Fi dongle'ı paylaşırdık.

Bunu nasıl yapacağımı tamamen kaybettim. Hangi dosyaları yaratırım, nereye giderler ve bunlara ne koyarım? İyi biçimlendirilmiş bir yanıt (çevrimiçi bir rehber değil) iyi olurdu.

Çıktı 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)

Çıktı 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
Hiç denemedim, ama WIKI'ye baktın mı?
ridgy

@ridgy Bu çoklu kartlar için
Soren

1
(Xephyr, cevap bakmak gibi başlarına çözüm vardır bu Soru ). Ancak oyunlar gibi GPU yoğun uygulamalar için, bunların hiçbiri gördüğüm kadarıyla yeterince önceden hazır olmayacak ve X istemcilerini çalıştıran bilgisayarın GPU'sunu kullanamayacakları için X sunucularını da uzaktan kullanmayacaklar.
ridgy

xdmcp, yerel render motorunu kullanacak ve uzaktan gösterecek, ancak meraklılardan bazılarını sihir gibi daha modern xtenstions'ı işe yaramayabilir
Amias

Yanıtlar:


7

Yani bu eski bir rehber, ama yine de işe yarayabilir. MultiSeatOneCard .

Talimatları getirmeye başlamadan önce bazı notlar:

  • gdmYapmanızı istediği tüm yapılandırmalar bile gerekli olmayabilir. GNOME'unuz varsa, zaten var gdm(ve çok daha yeni bir sürüm). Birlik lightdm, işe yaramayabilecek gibi görünüyor. gdmBu kılavuzu denemek için yüklemeniz ve kullanmanız gerekir.

  • Bir uyarı daha: ESKİ KILAVUZ. Çalışmayabilir, Ubuntu'yu kırabilir, makinenizi havaya uçurabilir (gerçekten değil). Lütfen dikkatli olun ve geri alın.

Şimdi rehber için

Wiki, açılış ekranını aşağıdakilerle devre dışı bırakmanızı önerir. İşlemin hala işe yarayıp yaramadığını bilmiyorum.

Bu kurulumla çok şey yanlış olabilir ve önyükleme sırasında süslü açılış ekranı yardımcı olmaz. Devre dışı bırakmak için (geçici olarak) / etc / default / grub'u düzenleyin ve GRUB_CMDLINE_LINUX_DEFAULT atamasını sessiz sıçramadan nomodeset noplymouth'a değiştirin. Ardından sudo update-grub komutunu çalıştırın.

"Genişletilmiş masaüstü" ile ilgili bir sonraki bölüm de atlanabilir. Her iki monitörü de takın ve monitör ayarlarınızda "genişletilmiş moda" ayarlayın.

Şimdi, bazı yapılandırmalar için.

İlk olarak, /etc/gdm/gdm.conf içinde, [sunucular] bölümünde 0 = .... ile başlayan bir satır bulun (satırın başında # olmadan). Önüne # koy.

Çok fazla sorun olmadan bu mümkün olmalı.

Ardından /etc/gdm/gdm.conf-custom öğesini düzenleyin. [Güvenlik] bölümünü bulun ve bir satır ekleyin PamStack = gdm-2.20.

Burada bir sorun olabilir. 2.20 yerine, 3.18'i denemeniz gerekebilir (bu 16.04 içindir).

[xdmcp] bölümünü bulun ve bir satır ekleyin Enable = true.

Hiç sorun çıkarmaz.

XDMCP özellikle güvenli bir protokol değildir, bu nedenle diğer bilgisayarlardan gdm reddetme bağlantılarını yapmak iyi bir fikirdir. /Etc/hosts.allow içine bir gdm: 127. * satırı ve /etc/hosts.deny'de bir gdm: ALL satırı ekleyin.

Bunu yapmamayı seçebilirsiniz. Eğer güvenliği önemsiyorsanız, bunu yapmanızı öneririm, ama aksi halde bence bırakabilirsiniz.

Şimdi yeniden gdmbaşlatarak (muhtemelen en kolay yol) yeniden başlatın . GDM giriş ekranını görüyorsanız, bir şey var. Orijinal kılavuzu kontrol edin ve bazı ayarları düzenleyin.

Bir giriş ekranınız yoksa, TTY'ye gidin ve çalıştırın X -query 127.0.0.1. GDM ortaya çıkarsa öldürün (TTY'ye geri dönün ve orada öldürün).

Şu adla yeni bir kullanıcı oluşturun monitor:

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

Bir dosya oluşturun (kılavuzda ad özelliği yoktur) /etc/udev/rules.d/my.rulesve aşağıdakileri ekleyin:

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

Bazı paket kurulumları:

apt-get install x11-utils xserver-xephyr

Monitörleri bazı takma adlarla ayırmamız gerekir:

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

Kullanıcıya monitorTTY'de giriş yapın ve oluşturun ~/.xsession.

Bunu içine koy:

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"

Kararlarınızı yansıtacak şekilde düzenlemeyi unutmayın.

Kullanıcı startxolarak çalıştırın monitorve çalışıp çalışmadığını görün.

Çalışıyorsa önyüklemede başlaması için bunun yapılması gerekir, bu yüzden bunu ~/.profile(monitör hesabı için) sonuna ekleyin :

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

GUI'yi öldürün ve TTY6'ya gidin. Olarak giriş yapın monitorve başlamalıdır.

Bu çalışırsa, düzenleme dosya /etc/init/tty6.confroot olarak ve satır ile başlayan yerini /sbin/gettyile

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

Çalışıyorsa, ancak sesi ayırmak istiyorsanız, bağlı MultiSeatX kılavuzunda sizin için bazı şeyler var.

Lütfen bunun işe yaramayabileceğini unutmayın. Bunu oldukça hızlı bir şekilde yazdım ve umarım gerekirse biraz daha net olacak şekilde düzenleyeceğim. Kılavuzun bazı bölümlerini daha güncel olacak ve başarı şansını artıracak şekilde uyarladım.

İyi şanslar!


LightDM'ye geçiş hakkında bilgi var mı?
Soren

@moo_we_all_do hayır, hiç yok. Bu prosedürün ne yaptığına ve neden gerekli olduğuna dair sadece belirli bir fikir edinebilirim, ancak GDM'nin LightDM'ye karşı nasıl çalıştığını bilmiyorum. Yine de LightDM yerine GDM kullanmak gerçekten sorun değil. Giriş ekranınız değişiyor ve hepsi bu (gözle görülür).
TheWanderer

3

Kulağa çok hoş geliyor, bu yüzden etrafa göz attım ve bu wiki girişini bu wikipedia girişinden bağlantılı olarak buldum . Temel olarak girişleri / çıkışları düzenlemek için xephyr adlı bir araç kullanır.

Giriş oldukça eski ve sadece ubuntu 12.04 için güncellendi, ancak xephyr hala standart depolarda (sadece bilgisayarımdaki varlığını test etti). Yapılandırma düzenlemeleri karmaşık ancak oldukça basit görünüyor, yine de işe yarayabilir. İşte 2014'ten kalma bir blog, bu da birini umutlu kılıyor.

Lütfen nasıl ücretlendirdiğinizi bize bildirin!


Güzel, teşekkürler! Cevabımdaki kurulumuma uyan talimatların düzenlenmiş bir sürümünü gönderebilir misiniz?
Soren

Bunun mümkün olduğunu bile düşünmüyorum. Hemen hemen tüm adımları (ilk kurulum hariç) gerçekleştirmeniz gerekecek, ayrıca gdm artık lightdm ile değiştirildi. Belki de girişte bahsedilen sihirbazda şansınız var mı? Ama aynı zamanda modası geçmiş gibi görünüyor ...
Jeroen

1

Bunun mümkün olduğunu düşünmüyorum çünkü iki set giriş cihazınız olamaz. Sinerji gibi bir araç burada yardımcı olabilir, ancak dağınık olacaktır.

Başka bir makine alabilir ve X Terminali olarak kullanabilirsiniz, bu sadece ekranı güncellemek için yeterince hızlı olması gerekir, bu yüzden arkadaşlarınıza eski bilgisayarlarını sorun. Orijinal makinenizi XDMCP'yi çalıştıracak şekilde yapılandırırsanız, diğer makinenin kendi masaüstünde oturum açmasına izin verir.

X pencereleri Mir ile değiştirildiğinde bu işlevin ubuntu'dan kaldırılması planlanıyor, bu muhtemelen bir sonraki LTS sürümü sırasında olacak.

Ubuntu'nun XDMCP kılavuzu - https://wiki.ubuntu.com/xdmcp


Sadece 1 iyi bilgisayarımız var. Diğer bilgisayarlarımız yavaş. Bu işe yarar mı?
Soren

Ben bir pre pentium dizüstü bilgisayar ve bir cisco aironet wifi kartı ile
yaptım

Bu cevaba talimatlar ekleyebilir misiniz? Örneğin, "Bunu söylemek için Düzenle (dosya): .."
Soren

i, xdmcp talimatları tüm bu kılavuzda kaplıdır ve burada çoğaltmak için çok uzun. xdmcp yapılandırması önemsiz değildir.
Amias
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.