LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General > LinuxQuestions.org Member Success Stories
User Name
Password
LinuxQuestions.org Member Success Stories Just spent four hours configuring your favorite program? Just figured out a Linux problem that has been stumping you for months?
Post your Linux Success Stories here.

Notices


Reply
  Search this Thread
Old 03-23-2011, 08:27 AM   #1
JZL240I-U
Senior Member
 
Registered: Apr 2003
Location: Germany
Distribution: openSuSE Tumbleweed-KDE, Mint 21, MX-21, Manjaro
Posts: 4,629

Rep: Reputation: Disabled
Multiuser / Multiseat


I did it. I’m somewhat bemused and in a way I still don’t believe it. But it works: Multiuser / Multiseat. .

I first heard (read) about it right when I started with Linux (1999), you know, all those function keys that give you another terminal or even desktop environment. The knowledge that one can have even more than one monitor / keyboard / mouse running independently and in parallel came a little later.

From then I started collecting information and links on how to do it (see the end of this post). So I had hoarded e.g. an old xorg.conf from 2005 which fit my even older second monitor for the time when I would have something bigger than my old 700 Mhz Athlon with .5 GB of RAM.

I’m not entirely computer illiterate, but when I started there was no one to ask as it is (nearly?) entirely a windows environment here. While I’m not afraid to brazenly edit config-files as I think they might be edited (which is not always the way they should be edited *hrmph*) I have only one box at home. That is the machine my wife uses too. She does taxes, homebanking, recipes, lately her photos and whatnot on it. She is definitely not amused when I mess up that box. As a matter of fact she is still grumping about an Excel file which got, shall we say – mislaid, nearly 10 years ago (darn, and I was sure I had it backed up properly). In short, I have to tread carefully.

Still, I did it, during running operations, so to say.

I don’t think yet another howto is called for but I’ll name a few of the in retrospect most glaring pitfalls I had to circumvent (as one can’t surmount them, I believe). I’ll post the resources I used at the end of my ramblings. And my working xorg.conf with snatches from kdmrc. Oh yes, and did I tell you about that marvelous resource in the net, called LinuxQuestions.Org ? I don’t think I would have done it without them.



Hello reader .
If you are going to try this too, here comes my counsel for what it is worth.

First, please keep in mind that X is a software not really beloved (and sometimes even understood) by some its past and present wardens. Why? Here is an example from the man page of xorg.conf reproduced verbatim:

Code:
VIDEOADAPTOR SECTION
Nobody wants to say how this works. Maybe nobody knows ...
See what I mean? This is what the maintainers write in the official documentation. It also means that you might get error messages which are simply – umm – not to the point? Wrong? Not understandable (at least by me)? More often than not you’ll also get NO message at all when something doesn’t work – or you’ll get a message that something was done four times in a row (seriously).

Then there is the parser for xorg.conf. You’d better not annoy it e.g. by using an editor of the microsoft ilk. Dos2unix and others won’t help you there, either. Type-again on your *ix system it is, or you’ll get e.g.

Code:
Parse error on line 1 of section InputClass in file /etc/X11/xorg.conf
"" is not a valid keyword in this section
or something comparable. This is highly irritating, even the more so since you (or rather I) haven’t got any section InputClass at all...

Another concern is the defaults in your system. They are set (from where?) in either /etc/X11/xorg.conf or in /etc/X11/xorg.conf.d/* which look a little like the udev rules files. All might interfere with your shiny new attempts in mainframe-setup . I edited (after saving the original) /etc/X11/xorg.conf and renamed /etc/X11//etc/X11/xorg.conf.d – which promptly got re-created during the next boot (albeit with only a 90-keytable.conf in it).

There are (at least) three FontPaths hardwired into X. I consistently and always get

Code:
[    15.348] (WW) The directory "/usr/share/fonts/TTF/" does not exist.
[    15.348]    Entry deleted from font path.
[    15.348] (WW) The directory "/usr/share/fonts/OTF/" does not exist.
[    15.348]    Entry deleted from font path.
[    15.348] (WW) The directory "/usr/share/fonts/misc/sgi" does not exist.
even though I never defined those fonts in the Section InputFiles... On the other hand, I couldn’t identify any problems caused from this, but keep in mind that there might be other defaults on your system which might cause a scrambling of your settings.

Some options etc. I simply copied without understanding them, based on the reasoning that they worked in my old system(s) and probably were there due to (unknown by me) reasons. Now, wouldn’t it be great to have one comprehensive list of all sections and their possible options and what those do and in which sequence they are to put where? And no, you won’t get that by typing "man <something desperate>" in your console.

On the other hand, during the further development of x some options lately became redundant or even obsolete (cf. http://wiki.debian.org/XStrikeForce/HowToRandR12). I have the nagging suspicion that some option or other I use even block(s) the <Ctrl><Alt><Keypad plus-or-minus> so I can’t change resolutions on the fly. Ah, well, maybe I’ll find out later.

When "X" complains about not having definitions for something, give it to that poor program . In my wanderings through the x-country it once complained about not having any "Section Screen" for all three sockets of a graphics card. In retaliation it "ate" the one existing "Section Screen" for the DVI-0 socket and then grumbled that since there were no "Section Screen"s for the HDMI-0 and VGA-1 sockets it would use its inbuilt defaults ... all the while ignoring the monitor at VGA-1 and my imploring to get the DDC data (display data channel). I resolved this by assigning my "Section Screen" thrice – once to every socket. If you are interested, you can read up my meanderings and the exact procedure here: http://www.linuxquestions.org/questi...tclass-865299/

"X" didn’t answer my call for a nice 96x96 dpi resolution. Ah, well. I outflanked it with this: http://www.linuxquestions.org/questi...5/#post1309027. Serves it right.

What usually does help is a thorough look at the log file(s). It is time consuming but rewarding more often than not, since one can get at least a hint what went on in the background.

Here are some resources I used in no particular sequence, but I suggest you start with the first:

https://wiki.archlinux.org/index.php/Xorg_multiseat
http://wiki.c3sl.ufpr.br/multiseat/index.php/Mdm
http://cambuca.ldhs.cetuc.puc-rio.br/multiuser/
http://wiki.c3sl.ufpr.br/multiseat/index.php/Main_Page
http://wiki.open-slx.de/Multiseat
http://www.c3sl.ufpr.br/multiseat/index-en.php
http://blog.chris.tylers.info/index....11R6.97.0.html
http://www.ltsp.org/
http://userful.com/products/free-2-user
http://linuxgazette.net/124/smith.html
http://www.linuxtoys.org/multiseat/multiseat.html
https://help.ubuntu.com/community/MultiseatX
http://en.wikibooks.org/wiki/Multise...guration/evdev
http://linuxagora.com/vbforum/showthread.php?p=3710
http://www.ltn.lv/~aivils/
http://www.heise.de/newsticker/foren...15029462/read/
http://en.wikipedia.org/wiki/Multiterminal
http://en.wikibooks.org/wiki/Multiterminal_with_evdev
http://wpkg.org/Configuring_multiseat_X_workstation
http://www.tldp.org/HOWTO/XFree-Loca...WTO/index.html
http://www.linuxhq.com/ldp/howto/XFr...ti-user-HOWTO/


This is my xorg.conf (note that I bought a new second monitor):

Code:
# "man radeon" for more options

Section "Files"
     FontPath   "/usr/share/fonts/75dpi"
     FontPath   "/usr/share/fonts/100dpi"
     FontPath   "/usr/share/fonts/cyrillic"
     FontPath   "/usr/share/fonts/encodings"
     FontPath   "/usr/share/fonts/misc"
     FontPath   "/usr/share/fonts/Speedo"
     FontPath   "/usr/share/fonts/truetype"
     FontPath   "/usr/share/fonts/Type1"
     FontPath   "/usr/share/fonts/URW"
     FontPath   "/usr/local/share/fonts"
EndSection


Section "DRI"
     Group      "video"
     Mode       0666
EndSection


Section "Extensions"
     Option          "Composite" "off"
EndSection


#### MODULES ####

Section "Module"
     Load       "DDC"      # to read out monitor specs
     Load       "type1"
     Load       "freetype"
     Load       "speedo"
     SubSection "extmod"
           Option          "Omit xfree86-dga"
     EndSubSection
EndSection


### SERVERFLAGS ####

Section "ServerFlags"
     Option          "DontZap"       "false"
     Option          "AutoAddDevices" "false"
     Option          "AutoEnableDevices"   "false"
     Option          "AllowMouseOpenFail"  "on"
     Option          "ZapWarning"          "on"
     Option          "DefaultServerLayout" "Seat0"
     Option          "HandleSpecialKeys"   "on" # Zapping on
     Option          "DontZoom"      "false" # <Ctrl><Alt>resolution
     Option          "DRI2"                "on"
EndSection


##### VIDEO CARDS #####

Section "Device"
     Identifier "Sapphire AMD/ATI Radeon 5450"
     Driver                "radeon"
     BusID           "PCI:02:00:00"  # change hexadecimal in decimal!
     Option                "MonitorLayout"       "NONE, TMDS, NONE"
EndSection

Section "Device"
     Identifier "AMD/ATI onboard graphics / integrated Radeon 4290"
     Driver                "radeon"
     BusID           "PCI:01:05:00"  # change hexadecimal in decimal!
     Option                "MonitorLayout"       "NONE, TMDS, NONE"
EndSection


##### MONITORS #####

Section "Monitor"
     Identifier "MULTISYNC LCD2000"
     VendorName      "NEC"
     ModelName       "MULTISYNC LCD2000"
     Option                "DPMS"     "on"
     Option                "CalcAlgorithm" "XServerPool"
     DisplaySize           442 277 # in mm
     Option                "PreferredMode" "1680x1050"
EndSection

Section "Monitor"
     Identifier "SyncMaster 2243DW (V5LU4S)"
     VendorName      "SAMSUNG"
     ModelName       "SyncMaster 2243DW (V5LU4S)"
     Option                "DPMS"     "on"
     Option                "CalcAlgorithm" "XServerPool"
     DisplaySize           442 277 # in mm
     Option                "PreferredMode" "1680x1050"
EndSection


##### SCREENS #####

Section "Screen"
     Identifier      "Screen0"
     Device          "AMD/ATI onboard graphics / integrated Radeon 4290"
     Monitor         "MULTISYNC LCD2000"
     DefaultDepth    24
     Option          "DPI"      "96x96"

     SubSection      "Display"
           Viewport   0    0
           Depth      15
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

     SubSection      "Display"
           Viewport   0    0
           Depth      16
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

     SubSection      "Display"
           Viewport   0    0
           Depth      24
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

     SubSection      "Display"
           Viewport   0    0
           Depth      32
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

EndSection


Section "Screen"
     Identifier      "Screen1"
     Device          "Sapphire AMD/ATI Radeon 5450"
     Monitor         "SyncMaster 2243DW (V5LU4S)"
     DefaultDepth    24
     Option          "DPI"      "96x96"

     SubSection      "Display"
           Viewport   0    0
           Depth      15
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

     SubSection      "Display"
           Viewport   0    0
           Depth      16
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

     SubSection      "Display"
           Viewport   0    0
           Depth      24
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

     SubSection      "Display"
           Viewport   0    0
           Depth      32
           Modes      "1680x1050" "1280x1024" "1152x864" "1024x768"
     EndSubSection

EndSection


##### KEYBOARDS #####

Section "InputDevice"
     Identifier "USBKeyboard"
     Driver                "evdev"
     Option                "Device"        "/dev/input/by-path/pci-0000:04:07.0-usb-0:2:1.0-event-kbd"
     Option                "XkbModel"            "evdev"
     Option                "XkbLayout"           "de"
     Option                "Protocol"      "Standard"
     Option                "XkbRules"      "xfree86"
     Option                "XkbVariant"         "nodeadkeys"
EndSection

Section "InputDevice"
     Identifier "PS2Keyboard"
     Driver                "evdev"
     Option                "Device"        "/dev/input/by-path/platform-i8042-serio-0-event-kbd"
     Option                "XkbModel"      "evdev"
     Option                "XkbLayout"           "de"
     Option                "Protocol"      "Standard"
     Option                "XkbRules"      "xfree86"
     Option                "XkbVariant"         "nodeadkeys"
EndSection



##### MICE #####

Section "InputDevice"
     Identifier "USBMouse"
     Driver                "evdev"    # help.ubuntu.com
     Option                "Device"        "/dev/input/by-path/pci-0000:04:07.0-usb-0:1:1.0-event-mouse"
     Option                "GrabDevice"    "on" # help.ubuntu.com
     Option                "Protocol"      "ExplorerPS/2"
     Option                "ZAxisMapping"        "4 5"
     Option                "Emulate3Buttons"     "true"
     Option                "Buttons"       "5"
EndSection

Section "InputDevice"
     Identifier "PS2Mouse"
     Driver                "evdev"    # help.ubuntu.com
     Option                "Device"        "/dev/input/by-path/pci-0000:00:13.0-usb-0:1:1.0-event-mouse"
     Option                "Protocol"      "ExplorerPS/2"
     Option                "ZAxisMapping"        "4 5"
     Option                "Emulate3Buttons"     "true"
     Option                "Buttons"       "5"
EndSection


############# SEATS #############

Section "ServerLayout"
     Identifier      "Seat0"
     Screen                "Screen0"       0 0
     InputDevice           "USBMouse"      "CorePointer"
     InputDevice           "USBKeyboard"        "CoreKeyboard"
     Option                "Clone"               "off"
     Option                "Xinerama"      "off"
     Option                "AutoAddDevices" "off"
EndSection

Section "ServerLayout"
     Identifier      "Seat1"
     Screen                "Screen1"       0 0
     InputDevice           "PS2Keyboard"        "CoreKeyboard"
     InputDevice           "PS2Mouse"      "CorePointer"
     Option                "Clone"               "off"
     Option                "Xinerama"      "off"
     Option                "AutoAddDevices" "off"
EndSection

############# SEATS #############

This is my kdmrc:

Code:
[General]
ConfigVersion=2.4
ConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6
PidFile=/var/lock/kdm.pid
ReserveServers=:2,:3,:4,:5
SUSEConfigVersion=2
ServerVTs=-7
StaticServers=:0,:1

[Shutdown]
BootManager=None
HaltCmd=/sbin/halt
RebootCmd=/sbin/reboot

[X-*-Core]
AllowShutdown=None
AutoReLogin=false
ClientLogFile=.xsession-errors-%d

[X-*-Greeter]
AntiAliasing=true
ColorScheme=
FaceSource=AdminOnly
FailFont=Sans Serif,10,-1,5,75,0,0,0,0,0
ForgingSeed=1278466138
GUIStyle=
GreetFont=Serif,20,-1,5,50,0,0,0,0,0
GreetString=Welcome to %s at %n
GreeterPos=50,50
HiddenUsers=
Language=de
LogoArea=Logo
LogoPixmap=/usr/share/kde4/apps/kdm/pics/kdelogo.png
MaxShowUID=65000
MinShowUID=500
SelectedUsers=
ShowUsers=NotHidden
SortUsers=true
StdFont=Sans Serif,12,-1,5,50,0,0,0,0,0
Theme=/usr/share/kde4/apps/kdm/themes/oxygen
UseBackground=true
UseTheme=true
UserCompletion=false
UserList=true

[X-:*-Core]
AllowNullPasswd=true
AllowShutdown=All
NoPassEnable=false
NoPassUsers=
ServerArgsLocal=-nolisten tcp
ServerArgsRemote=-nolisten tcp

[X-:*-Greeter]
AllowClose=false
DefaultUser=matthias
FocusPasswd=true
LoginMode=LocalOnly
PreselectUser=Previous

[X-:0-Core]
AutoLoginEnable=false
AutoLoginLocked=false
AutoLoginUser=
ClientLogFile=.xsession-errors
ServerArgsLocal=-nolisten tcp -sharevts -keeptty -layout seat0 -isolateDevice PCI:02:00:00
ServerCmd=/usr/bin/X0
ServerVT=7
TerminateServer=true

[X-:1-Core]
ClientLogFile=.xsession-errors
ServerArgsLocal=-nolisten tcp -sharevts -keeptty -layout seat1 -isolateDevice PCI:01:05:00
ServerCmd=/usr/bin/X1
ServerVT=8
TerminateServer=true

[X-:93-Core]
TerminateServer=true

Good luck to those of you who’ll try it out, too. Have fun .

<edit> Here https://features.opensuse.org/310913 I requested a new feature for YAST for setting up a mulitiuser-multiseat machine. Feel free to support it on the Novell / SuSE site... </edit>

Last edited by JZL240I-U; 04-27-2011 at 02:19 AM.
 
Old 05-22-2011, 10:48 AM   #2
neildaemond
LQ Newbie
 
Registered: May 2011
Posts: 7

Rep: Reputation: 12
Thanks for the great post! will definatley help me figure out X a bit better. I'm going to check out those resources you linked and try this out when I get my new graphics card...
 
Old 08-08-2011, 10:47 AM   #3
barquette
LQ Newbie
 
Registered: Aug 2011
Location: Brazil
Distribution: opensuse
Posts: 3

Rep: Reputation: 0
Thanks for this excellent post. Before read it I've followed the first link (excellent article from archlinux), but something happend over kdmrc and I didn't know what was...
Reading your kdmrc I saw the parameter "-isolateDevice" and thought "that's it". Now I'm enjoying so much the seats!!!! However the sound doesn't work on seat1 maybe because I don't have another sound card. Is this correct?
thanks in advance!
 
Old 08-11-2011, 02:21 AM   #4
JZL240I-U
Senior Member
 
Registered: Apr 2003
Location: Germany
Distribution: openSuSE Tumbleweed-KDE, Mint 21, MX-21, Manjaro
Posts: 4,629

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by barquette View Post
...However the sound doesn't work on seat1 maybe because I don't have another sound card. Is this correct?...
I honestly don't know, since I have no experience with sound. I only recently bought some boxes but didn't try them yet, sorry...
 
Old 08-11-2011, 10:09 AM   #5
barquette
LQ Newbie
 
Registered: Aug 2011
Location: Brazil
Distribution: opensuse
Posts: 3

Rep: Reputation: 0
Quote:
Originally Posted by JZL240I-U View Post
I honestly don't know, since I have no experience with sound. I only recently bought some boxes but didn't try them yet, sorry...
No problem! A PCI-soundcard is now in the box and I'm googling about the solution. I found on http://multiseatonlinux.blogspot.com/ an entry like this in Section ServerLayout

Code:
Option         "Audio"    "pci-0000:00:14.2"
I added in my xorg.conf for seat1 but it doesn't work yet:

Code:
Option         "Audio"  "PCI:02:08.0"
I think there is another directive to kdmrc like "-isolateDevice"... I'll keep searching a solution.

thanks for your replay!

Oh! I know... my writings are so terrible because I'm learning English yet!
 
Old 08-12-2011, 12:56 AM   #6
JZL240I-U
Senior Member
 
Registered: Apr 2003
Location: Germany
Distribution: openSuSE Tumbleweed-KDE, Mint 21, MX-21, Manjaro
Posts: 4,629

Original Poster
Rep: Reputation: Disabled
When you do a
Code:
lspci
you get two addresses for each device (or at least I do). You might want to try out both...
 
Old 08-12-2011, 11:50 AM   #7
barquette
LQ Newbie
 
Registered: Aug 2011
Location: Brazil
Distribution: opensuse
Posts: 3

Rep: Reputation: 0
Quote:
Originally Posted by JZL240I-U View Post
When you do a
Code:
lspci
you get two addresses for each device (or at least I do). You might want to try out both...
Ok! But it didn't need because I tested using
Code:
startx -- -layout seat1 -config xorg.conf
And the sound works!

Also configuring both serverLayout with the option "Audio" wich one with their respective pciID, the seat0 is still controlling the soundcards (I mean: playing!) and seat1 didn't play any sound.

On kdmrc:
Code:
ServerArgsLocal=-nolisten tcp -layout seat1 -sharevts -keeptty -isolateDevice PCI:4:0:0,PCI:00:14.1
I haven't problems, but no solution either.

I keep googling...

thanks
 
  


Reply

Tags
multihead, multiseat, multiuser



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Linux Multiseat - Getting Started jdbrock Linux - Newbie 3 01-25-2011 08:16 AM
multiseat logout problem Reinhard F Linux - General 2 08-24-2008 02:03 PM
3D Multiseat darion Linux - Software 0 07-24-2008 06:22 AM
Multiseat configuration on xorg gamers2000 Linux - General 1 05-10-2007 09:25 AM
Multiseat xgl Salamanca Linux - Server 0 11-17-2006 01:17 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General > LinuxQuestions.org Member Success Stories

All times are GMT -5. The time now is 02:21 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration