Help, Multi user PC with LMDE

Quick to answer questions about finding your way around Linux Mint as a new user.
Forum rules
There are no such things as "stupid" questions. However if you think your question is a bit stupid, then this is the right place for you to post it. Stick to easy to-the-point questions that you feel people can answer fast. For long and complicated questions use the other forums in the support section.
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
Koninator

Help, Multi user PC with LMDE

Post by Koninator »

I have connected to my dual core PC 2 monitors, 2 keyboards and 2 pointing devices.

So now i like to configure Linux for multiple user operation. So user one will be using 1 monitor one keyboard and mouse. Same for user 2. I have heard this is possible weary easy in Linux but i don't know how to begin.
In end result users (one and two) will be able to use same PC at same time. Ruining same applications.

So if any one knows what I'm talking and how to achieve this please tell me.

edit:
I found this http://research.edm.uhasselt.be/~jori/p ... .DualSeatX and http://ubuntuforums.org/showthread.php?t=707796 .It is the same thing.
Linux mint doesn't have gizmod so see this thread http://forums.linuxmint.com/viewtopic.php?f=90&t=65270 and also doesn't have xserver-xgl.

When i want to compile xevdevserver-2.0.0 I get some errors

Code: Select all

admin@-desktop ~/Downloads/xevdevserver-2.0.0 $ ./configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for ranlib... ranlib
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
admin@-desktop ~/Downloads/xevdevserver-2.0.0 $ make
Making all in src
make[1]: Entering directory `/home/admin/Downloads/xevdevserver-2.0.0/src'
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"xevdevserver\" -DVERSION=\"2.0.0\"  -I. -I.     -g -O2 -MT xevdevkeyinfo.o -MD -MP -MF ".deps/xevdevkeyinfo.Tpo" -c -o xevdevkeyinfo.o xevdevkeyinfo.cpp; \
	then mv -f ".deps/xevdevkeyinfo.Tpo" ".deps/xevdevkeyinfo.Po"; else rm -f ".deps/xevdevkeyinfo.Tpo"; exit 1; fi
xevdevkeyinfo.cpp: In function ‘void printUsage()’:
xevdevkeyinfo.cpp:40: error: ‘exit’ was not declared in this scope
xevdevkeyinfo.cpp: In function ‘int processDeviceEvents()’:
xevdevkeyinfo.cpp:136: error: ‘u_int8_t’ was not declared in this scope
xevdevkeyinfo.cpp:136: error: expected ‘;’ before ‘buffer’
xevdevkeyinfo.cpp:145: error: ‘buffer’ was not declared in this scope
make[1]: *** [xevdevkeyinfo.o] Error 1
make[1]: Leaving directory `/home/admin/Downloads/xevdevserver-2.0.0/src'
make: *** [all-recursive] Error 1
So my final result shud be something like this.
Image Four users working on one PC at same time.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Koninator

Re: Help, Multi user PC with LMDE

Post by Koninator »

I have made contact with developer of xevdevserver program, and with his help i successfully installed the xevdevserver.
The original 2.0.0 version isn't working, for me, so he make 2.0.1b version for me. You can get it here
http://research.edm.uhasselt.be/~jori/p ... .1b.tar.gz
Extract folder,
then go to .../xevdevserver-2.0.1/src folder
and add "#include <stdint.h>" to xserverconnection.cpp file.
Example shown below.

Code: Select all


*/
#include <stdint.h>
#include "xserverconnection.h"
#include <X11/XKBlib.h>
After that go to .../xevdevserver-2.0.1 folder and run

Code: Select all

./configure
make
sudo make install
DrHu

Re: Help, Multi user PC with LMDE

Post by DrHu »

OK, so the server option you are using is the question, how to enable/allow multiple user connections with that server

In general, since Linux is a multiuser, multiple logon OS, and can act as both a server and client, even if you were using a desktop Linux distribution
  • This is unlike windows OS, which is a multi-user, single logon OS
In Linux, you simply have to add another user name (as the admin/root user of the system) to enable a new user to login, any combination of keyboad mouse and user login will work

No need to install a Linux server to get the LAN setup you wanted!...
As to installing a server distribution for Linux, Ubuntu has provided that, and there are many others that can do the same, such as Novell's Suse or Red Hat's Fedora or their own Red Hat system..
--and many many more, including Debian
http://www.serverwatch.com/columns/arti ... utions.htm

Differences between Linux servers and Linux desktops
http://en.wikipedia.org/wiki/Linux
I see the main difference being the possible use of the remote console for servers (headless servers), and the missing desktop like applications, as well as the different purposes..
  • for servers: throughput of the network
  • for desktops: foreground applications for the users
--Such as the desktop GUI (Gnome, Kde, and alternates like XFCE or LXDE or Rox filer or Rox desktop[/list]
http://www.xfce.org/
http://lxde.org/
http://rox.sourceforge.net/desktop/static.html
Koninator

Re: Help, Multi user PC with LMDE

Post by Koninator »

I have configured /etc/gdm/gdm.conf file

Code: Select all

# GDM Custom Configuration file.
#
# This file is the appropriate place for specifying your customizations to the
# GDM configuration.   If you run gdmsetup, it will automatically edit this
# file for you and will cause the daemon and any running GDM GUI programs to
# automatically update with the new configuration.  Not all configuration
# options are supported by gdmsetup, so to modify some values it may be
# necessary to modify this file directly by hand.
#
# This file overrides the default configuration settings.  These settings 
# are stored in the GDM System Defaults configuration file, which is found
# at the following location.
#
# /usr/share/gdm/defaults.conf.  
#
# This file contains comments about the meaning of each configuration option,
# so is also a useful reference.  Also refer to the documentation links at
# the end of this comment for further information.  In short, to hand-edit
# this file, simply add or modify the key=value combination in the
# appropriate section in the template below this comment section.
#
# For example, if you want to specify a different value for the Enable key
# in the "[debug]" section of your GDM System Defaults configuration file,
# then add "Enable=true" in the "[debug]" section of this file.  If the
# key already exists in this file, then simply modify it.
#
# Older versions of GDM used the "gdm.conf" file for configuration.  If your
# system has an old gdm.conf file on the system, it will be used instead of
# this file - so changes made to this file will not take effect.  Consider
# migrating your configuration to this file and removing the gdm.conf file.
#
# If you hand edit a GDM configuration file, you can run the following
# command and the GDM daemon will immediately reflect the change.  Any
# running GDM GUI programs will also be notified to update with the new
# configuration.
#
# gdmflexiserver --command="UPDATE_CONFIG <configuration key>"
#
# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable".
#
# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and
# re-read the new configuration settings.  You can also restart GDM by sending
# a HUP or USR1 signal to the daemon.  HUP behaves like gdm-restart and causes
# any user session started by GDM to exit immediately while USR1 behaves like
# gdm-safe-restart and will wait until all users log out before restarting GDM.
#
# For full reference documentation see the gnome help browser under
# GNOME|System category.  You can also find the docs in HTML form on
# http://www.gnome.org/projects/gdm/
#
# NOTE: Lines that begin with "#" are considered comments.
#
# Have fun!

[daemon]
AlwaysRestartServer=true


[security]

[xdmcp]

[gui]

[greeter]

[chooser]

[debug]

# Note that to disable servers defined in the GDM System Defaults
# configuration file (such as 0=Standard, you must put a line in this file
# that says 0=inactive, as described in the Configuration section of the GDM
# documentation.
#
[servers]
0=MainServer
1=Xgl1
2=Xgl2

[server-MainServer]
name=MainServer
command=/usr/X11R6/bin/Xorg
handled=false
flexible=false

[server-Xgl1]
name=Xgl1
command=/usr/local/sbin/XglScript.sh -display :0.1 -keyboard usb-0000:00:1d.3-1/input0 -mouse usb-0000:00:1d.1-2/input0 -dpi 86 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer -xkbmap be -softcursor
handled=true
flexible=false

[server-Xgl2]
name=Xgl2
command=/usr/local/sbin/XglScript.sh -display :0.0 -keyboard usb-0000:00:1d.2-2/input0 -mouse usb-0000:00:1d.1-1/input0 -dpi 86 -fullscreen -ac -accel glx:pbuffer -accel xv:pbuffer -xkbmap be
handled=true
flexible=false



# Also note, that if you redefine a [server-foo] section, then GDM will
# use the definition in this file, not the GDM System Defaults configuration
# file.  It is currently not possible to disable a [server-foo] section
# defined in the GDM System Defaults configuration file.
#


# Definition of the standard X server.
[server-Standard]
name=Standard server
command=/usr/bin/X1 :0 -layout X1 -dpi 110 -deferglyphs 16 -isolateDevice PCI:01:00:0 vt7
flexible=true

# Definition of the second X server.
[server-2nd]
name=2nd server
command=/usr/bin/X0 :1 -layout X0 -dpi 110 -deferglyphs 16 -isolateDevice PCI:01:00:0 -sharevts
flexible=true

and /etc/X11/xorg.conf file

Code: Select all

Section "ServerLayout"
    Identifier     "Layout0"
    Screen 0       "Screen0"
    Screen 1       "Screen1" rightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "LG M237WD"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9600 GT"
    BusID          "PCI:1:0:0"
    Screen         0
    Option         "UseDisplayDevice" "CRT-0"
    Option         "RenderAccel" "true"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9600 GT"
    BusID          "PCI:1:0:0"
    Screen          1
    Option         "UseDisplayDevice" "CRT-1"
    Option         "RenderAccel" "true"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes       "1920x1080"
        ViewPort    0 0 
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth      24
        Modes      "1280x1024"
        ViewPort   0 0
    EndSubSection
EndSection
When PC starts up X server crashes, 3 times, because i start up X server for 3 times.

Code: Select all

GDM: Xserver not found /usr/X11R6/bin/Xorg :O -auth /var/lib/gbm/: 0.Xdu
Error: Command could not be executed!
Please install the X server or correct GDM configuration and restart GDM

GDM: Xserver not found: /usr/local/sbin/XglScript.sh :1 -display :0.1 -k
Error: Command could not be executed!
Please install the X server or correct GDM configuration and restart GDM

GDM: Xserver not found: /usr/local/sbin/XglScript.sh:2 - display: 0.0 -k
Error: Command could not be executed!
Please install the X server or correct GDM configuration and restart GDM
So my question is how to install extra X server in /usr/X11R6 directory?
Koninator

Re: Help, Multi user PC with LMDE

Post by Koninator »

I have partly successful make multi seat working with this tutorial for ubuntu 8.04
http://netpatia.blogspot.com/2008/02/mu ... u-804.html
I can log in and mouses, keyboards are working fine. Only problem is that is one window above another.
so he problem is here "-screen 1280x1024+1280+0 " the second screen begins at 0 0 but it has to be at 1280 0.
So screens are one above another.

/etc/X11/xorg.conf

Code: Select all

# nvidia-settings: X configuration file generated by nvidia-settings nvidia-settings: 
# version 1.0 (buildd@biber) Tue May 18 10:36:08 UTC 2010

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (pbuilder@windlord)  Sun Jun 13 06:03:17 UTC 2010

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
	Load "extmod"
	Load "dri"
	Load "drm"
	Load "glx"
EndSection

Section "DRI"
	Mode 0666
EndSection

Section "Extensions"
	Option "Composite" "Enable"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 9600 GT"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "CRT: 1280x1024_60 +1920+0, DFP: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "ServerFlags"
	Option "AllowMouseOpenFail" "yes"
	Option "DontVTSwitch" "yes"
	Option "DontZap" "yes"
EndSection
I make xorg.conf file with nvidia-setings - TwinView one 3200x1080 screen trough 23 and 19 inch monitor and added ServerFlags, Module, DRI and Extensions sections.

/etc/gdm/gdm.conf - i'm using gdm package not gdm3

Code: Select all

# GDM Custom Configuration file.
#
# This file is the appropriate place for specifying your customizations to the
# GDM configuration.   If you run gdmsetup, it will automatically edit this
# file for you and will cause the daemon and any running GDM GUI programs to
# automatically update with the new configuration.  Not all configuration
# options are supported by gdmsetup, so to modify some values it may be
# necessary to modify this file directly by hand.
#
# This file overrides the default configuration settings.  These settings 
# are stored in the GDM System Defaults configuration file, which is found
# at the following location.
#
# /usr/share/gdm/defaults.conf.  
#
# This file contains comments about the meaning of each configuration option,
# so is also a useful reference.  Also refer to the documentation links at
# the end of this comment for further information.  In short, to hand-edit
# this file, simply add or modify the key=value combination in the
# appropriate section in the template below this comment section.
#
# For example, if you want to specify a different value for the Enable key
# in the "[debug]" section of your GDM System Defaults configuration file,
# then add "Enable=true" in the "[debug]" section of this file.  If the
# key already exists in this file, then simply modify it.
#
# Older versions of GDM used the "gdm.conf" file for configuration.  If your
# system has an old gdm.conf file on the system, it will be used instead of
# this file - so changes made to this file will not take effect.  Consider
# migrating your configuration to this file and removing the gdm.conf file.
#
# If you hand edit a GDM configuration file, you can run the following
# command and the GDM daemon will immediately reflect the change.  Any
# running GDM GUI programs will also be notified to update with the new
# configuration.
#
# gdmflexiserver --command="UPDATE_CONFIG <configuration key>"
#
# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable".
#
# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and
# re-read the new configuration settings.  You can also restart GDM by sending
# a HUP or USR1 signal to the daemon.  HUP behaves like gdm-restart and causes
# any user session started by GDM to exit immediately while USR1 behaves like
# gdm-safe-restart and will wait until all users log out before restarting GDM.
#
# For full reference documentation see the gnome help browser under
# GNOME|System category.  You can also find the docs in HTML form on
# http://www.gnome.org/projects/gdm/
#
# NOTE: Lines that begin with "#" are considered comments.
#
# Have fun!

[daemon]

[security]

[xdmcp]

[gui]

[greeter]



# The greeter for attached (non-xdmcp) logins.  Change gdmlogin to gdmgreeter
# to get the new graphical greeter.
# Greeter=/usr/lib/gdm/gdmgreeter
#Greeter=/usr/sbin/Xephyr-login.sh


[chooser]

[debug]

# Note that to disable servers defined in the GDM System Defaults
# configuration file (such as 0=Standard, you must put a line in this file
# that says 0=inactive, as described in the Configuration section of the GDM
# documentation.
#
[servers]

# Also note, that if you redefine a [server-foo] section, then GDM will
# use the definition in this file, not the GDM System Defaults configuration
# file.  It is currently not possible to disable a [server-foo] section
# defined in the GDM System Defaults configuration file.
#


# ****************************************************************************

# Modificaciones multiseat (20080109)

0=Xephyr0
1=Xephyr1
2=Xephyr2

[server-Xephyr0]
name=Xephyr0
command=/usr/bin/X -br -dpms -s 0
handled=false
flexible=false

[server-Xephyr1]
name=Xephyr1
command=/usr/sbin/Xephyr-path.sh -display :0 -br -xauthority /var/lib/gdm/:0.Xauth -screen 1920x1080+0+0 -kbdpath pci-0000:00:1d.1-usb-0:2:1.0-event-kbd -mousepath pci-0000:00:1d.2-usb-0:2:1.0-event-mouse 
handled=true
flexible=false

[server-Xephyr2]
name=Xephyr2
command=/usr/sbin/Xephyr-path.sh -display :0 -br -xauthority /var/lib/gdm/:0.Xauth -screen 640x480+1920+0 -kbdpath pci-0000:00:1d.2-usb-0:1:1.0-event-kbd -mousepath pci-0000:00:1d.3-usb-0:2:1.0-event-mouse
handled=true
flexible=false

# ****************************************************************************

Added last #**** section and text under [greeter] which is commented because there is no difference, if this text is in configuration or not. (attest i can't see it)
If i comment everything between #*** lines PC returns to normal mode.

I set second seat to 640x480 resolution so it doesn't cover entirely seat1. I log in with seat1 and then i log off so seat1 restarts and covers whole screen - can't see seat2 any more.
If i log on as admin there is no sound and sound card is "dummy output", and if user1 logs on sound is working - it doesn't mater where i log in seat1/seat2.
For seat position i need xwininfo, wmctrl packages. I have installed wmctrl package but there is no xwininfo package. But xwininfo is in x11-ultis package witch is installed.

Anyone have any clue how to move screen2/seat2 for 1920 dots to the left?
Locked

Return to “Beginner Questions”