LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   Best way to build a computer for 2 users? (https://www.linuxquestions.org/questions/linux-general-1/best-way-to-build-a-computer-for-2-users-567529/)

otoomet 07-08-2007 12:25 AM

Best way to build a computer for 2 users?
 
Hi,

I intend to (let my boss to) buy a new pc at work. As I share the desk with another linux guy, I think we could benefit from a single a bit fatter pc instead of two separate ones. The point is that we would both work at this concurrently.

Suggestions? I am considering the following options:

* use LAN for the other guy to log-in, using an older pc as the thin client. Perhaps a bit slow or using a lot of bandwidth?

* Use a direct ethernet cable from pc to the client. Need two network cards but should be fast and not use LAN ressources.

* Use dual-head graphics card and two keyboards. Anyone has any experience with this?

What about the other ressources? Is it possible to config the usb/cd-rom to be used by both of us regardless of how we log in?

It should support at least 4G ram. Should we switch to 64bit or will 32bit do as well?

Tinkster 07-08-2007 12:33 AM

More than what you asked for, but have a look - this should
get you started :}

http://www.linuxtoys.org/multiseat/multiseat.html


As for the 64-bit vs 32-bit. If you need Flash or other
proprietaty stuff that wasn't ported to 64-bit I'd stay
clear of it.


Cheers,
Tink

IBall 07-08-2007 12:34 AM

I would go with the LAN option or the direct ethernet cable. Make it 1000Mb/s.

For the login, look into XDMCP, which can be setup easily using GDM.

--Ian

UK MAdMaN 07-09-2007 10:26 AM

To get the full 4GB RAM you have to use 64 bit.

jay73 07-09-2007 11:13 AM

I'm really confused when it comes to that RAM part. Some things I read seem to imply that the 32 bit kernel will accept up to and including 4GB, but other ones place it beyond the pale already. Even so, 32 bit should work with considerably more than 4GB providing that PAE extensions are used. There appears to be a slight impact on performance but apparently nothing catastrophic.

Tinkster 07-09-2007 01:00 PM

Quote:

Originally Posted by UK MAdMaN
To get the full 4GB RAM you have to use 64 bit.

What?

You only get better memory performance, and larger
chunks for userspace programs. The kernel will
quite happily support 4GB on a 32-bit system. In
fact I've set-up 32-bit servers that quite happily
run with 8 and 16GB.



Cheers,
Tink

UK MAdMaN 07-10-2007 11:13 AM

I'll admit I may be thinking about how Windows handles it. Not that interested in using that much at the moment as 2GB suits me fine, so not looked into it too much.

IsaacKuo 07-10-2007 01:21 PM

I'd avoid multi-seat, at least for now. Using a second PC as an XDMCP client is easy and will just plain work. As the other guy said, it's easy to set up using gdm. 100Mbit is actually quite good, but gigabit will be even better.

Tinkster 07-10-2007 05:55 PM

I don't think you'll notice much of a performance impact
switching between 100 & 1000MBit for just an X redirect ...
but then prices for Gigabit hardware have become so low
that it doesn't make much of a difference anymore :}


Cheers, Tink

jschiwal 07-10-2007 06:18 PM

If you use a cross over cable to connect the new pc to the thin client, since the connection is direct, you can ease up on security for that interface.

Some distro's are biarch. On SuSE for example, the 32bit versions of some programs like firefox are installed by default to avoid the problem of not having a 64 bit plugin. You could always install both and dual boot to try both versions out.

Be sure to check out your distro's specific documentation if you want to be able to log into a remote session. Generic instructions for setting up XDCMP may not work as expected. They probably have a gui config option to allow this and make the necessary adjustments to the PAM and gdm or kdm configurations.

otoomet 09-19-2007 08:41 AM

So I ended up building a dual-seat.

What we have:
  • Intel Core 2 E6550 2.33 GHz
  • 2x Nvidia GeForce 7300
  • 2G RAM (supports 8G)
  • 250G HDD

We run 32bit ubuntu gutsy (7.10).

My impression? A nice and fast computer which mostly works. The main issue was to get it running as a dual seat -- this was probably because of a bug in X.org or gdm in gutsy (it suddenly worked after an upgrade).

We attached one mouse to ps2 (just to save one USB port), another to USB and both keyboards to USB. Sharing the ressources is not a problem, given we switch off automagic mounting of removable media. Sound works also, although we have to share a single output channel.

There is still a number of minor issues:
  • 'swith user' (a call to gdmflexiserver) tends to crash one of the X-s (fortunately you don't need to switch user too often at a dual-seat)
  • mice tend to swap on reboot, so we have to switch them manually
  • various issues related to kde, compiz and other programs, I believe these are gutsy bugs

In conclusion, I can recommend dual-seat. It does not "plainly work", you have to fiddle a bit with config, but if you are even slightly technically minded, I would rather spend the money on extra ram and save my desk for my (far too big) paper mess.

Thanks for everyone for suggestions and comments!

Best,
Ott
-------------
I post my Xorg.conf and gdm.conf here, just in case anyone would like to follow us.

Code:

# xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#  sudo dpkg-reconfigure -phigh xserver-xorg

Section "ServerFlags"
        Option                "DontVTSwitch"
        Option                "HandleSpecialKeys"        "Always"
EndSection

Section "Files"
    RgbPath        "/usr/X11R6/lib/X11/rgb"
EndSection

Section "Module"
    Load          "dbe"
    Load          "extmod"
#    Load          "type1"
    Load          "freetype"
#    Load          "glx"
EndSection

Section "InputDevice"
        Identifier        "Generic Keyboard"
        Driver                "kbd"
        Option                "CoreKeyboard"
        Option                "XkbRules"        "xorg"
        Option                "XkbModel"        "evdev"
        Option                "XkbLayout"        "ee"
EndSection

Section "InputDevice"
        Identifier        "Configured Mouse"
        Driver                "mouse"
        Option                "CorePointer"
        Option                "Device"        "/dev/input/mice"
        Option                "Protocol"        "ImPS/2"
        Option                "ZAxisMapping"        "4 5"
        Option                "Emulate3Buttons"        "true"
EndSection


Section "InputDevice"
        Identifier        "Keyboard1"
        Driver                "evdev"
        #        Option                "Device" "/dev/input/event3"
        Option                "Phys"        "usb-0000:00:0b.0-4/input0"
                Option                "XkbRules"        "xorg"
                Option                "XkbModel"        "evdev"
                Option                "XkbLayout"        "ee"
EndSection

Section "InputDevice"
        Identifier        "Keyboard2"
        Driver                "evdev"
        #        Option                "Device" "/dev/input/event1"
        Option                "Phys"        "usb-0000:00:0b.0-2/input0"
                Option                "XkbRules"        "xorg"
                Option                "XkbModel"        "evdev"
                Option                "XkbLayout"        "ee"
EndSection

Section "InputDevice"
        Identifier        "Mouse1"
        Driver                "mouse"
        #        Option                "CorePointer"
        Option                "Device"        "/dev/input/mouse1"
        Option                "Protocol"        "ImPS/2"
        Option                "ZAxisMapping"        "4 5"
        Option                "Emulate3Buttons"        "true"
EndSection


Section "InputDevice"
        Identifier        "Mouse2"
        Driver                "mouse"
        #        Option                "CorePointer"
        Option                "Device"        "/dev/input/mouse2"
        Option                "Protocol"        "ImPS/2"
        Option                "ZAxisMapping"        "4 5"
        Option                "Emulate3Buttons"        "true"
EndSection

#Section "Device"
#        Identifier        "Dummy"
#        Driver                "nvidia"
#        Videoram        75
#        Option                "AddARGBVisuals"        "True"
#        Option                "AddARGBGLXVisuals"        "True"
#        Option                "NoLogo"        "True"
#EndSection

Section "Device"
        Identifier        "nvidia1"
        Driver                "nvidia"
        VendorName    "NVIDIA Corporation"
        BoardName      "GeForce 7300 SE"
        Busid                "PCI:1:0:0"
        Option          "AddARGBVisuals"        "True"
        Option          "AddARGBGLXVisuals"    "True"
        Option          "NoLogo"        "True"
EndSection

Section "Device"
        Identifier        "nvidia2"
        Driver                "nvidia"
        VendorName    "NVIDIA Corporation"
        BoardName      "GeForce 7300 SE"
        Busid                "PCI:2:0:0"
        Option          "AddARGBVisuals"        "True"
        Option          "AddARGBGLXVisuals"    "True"
        Option          "NoLogo"        "True"
EndSection

#Section "Monitor"
#        Identifier        "Generic Monitor"
#        Option                "DPMS"
#        Horizsync        30-70
#        Vertrefresh        50-160
#EndSection


Section "Monitor"
        Identifier        "Monitor1"
        Option                "DPMS"
        Horizsync        30-70
        Vertrefresh        50-160
EndSection

Section "Monitor"
        Identifier        "Monitor2"
        Option                "DPMS"
        Horizsync        30-70
        Vertrefresh        50-160
EndSection

#Section "Screen"
#        Identifier        "Dummy Screen"
#        Device                "Dummy"
#        Monitor                "Generic Monitor"
#        Defaultdepth        24
#        SubSection "Display"
#                Modes                "320x240"
#        EndSubSection
#EndSection

Section "Screen"
        Identifier        "Screen1"
        Device                "nvidia1"
        Monitor                "Monitor1"
        Defaultdepth        24
    SubSection    "Display"
        Depth      24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen"
        Identifier        "Screen2"
        Device                "nvidia2"
        Monitor                "Monitor2"
        Defaultdepth        24
    SubSection    "Display"
        Depth      24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection


Section "ServerLayout"
        Identifier        "Seat1"
        Screen 0 "Screen1" 0 0
        Inputdevice        "Keyboard1"        "CoreKeyboard"
        Inputdevice        "Mouse1"        "CorePointer"
        Option                "SingleCard"        "Yes"
        Option "IsolateDevice"  "PCI:1:0:0"
EndSection

Section "ServerLayout"
        Identifier        "Seat2"
        Screen 0 "Screen2" 0 0
        Inputdevice        "Keyboard2"        "CoreKeyboard"
        Inputdevice        "Mouse2"        "CorePointer"
        Option        "IsolateDevice"  "PCI:2:0:0"
        Option                "SingleCard"        "Yes"
EndSection

#Section "ServerLayout"
#        Identifier        "MultiSeat"
#          screen "Dummy Screen"
#        Inputdevice        "Generic Keyboard"
#        Inputdevice        "Configured Mouse"
#        Option "SingleCard" "Yes"
#EndSection

#Section "Module"
#        Load                "glx"
#EndSection

And here is the gdm.conf-custom:

Code:

# GDM Configuration Customization 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.
#
# 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.
#
# To hand-edit this file, simply add or modify the key=value combination in
# the appropriate section in the template below.  Refer to the comments in the
# /usr/share/gdm/defaults.conf file for information about each option.  Also
# refer to the reference documentation.
#
# If you hand edit a GDM configuration file, you should run the following
# command to get the GDM daemon to notice 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]
#VTAllocation=false
[security]

[xdmcp]

[gui]

[greeter]

[chooser]

[debug]

[servers]
#0=MultiSeat
#1=Standard1
#2=Standard2
0=Standard1
1=Standard2
#FirstVT=6

[server-Standard1]
name=Seat 1
command=/usr/bin/X0 -nolisten tcp -audit 0 -layout Seat1 -sharevts -isolateDevice PCI:1:0:0
flexible=false


[server-Standard2]
name=Seat 2
command=/usr/bin/X1 -nolisten tcp -audit 0 -sharevts -isolateDevice PCI:2:0:0 -layout Seat2
flexible=false


ethana2 01-23-2008 05:57 PM

I'm going to be doing a dual seat setup as well:
 
Ubuntu Feisty->Gutsy
Ubuntu Hardy Alpha3

2.8GHz Intel Celeron
768MB of RAM
AT->PS/2 keyboard
USB keyboard
Two USB optical mice
ATi Radeon 9200SE PCI: 4xx glxgears
Intel integrated gpu: 3xx glxgears

One seat needs to use the qwerty keyboard layout; the other should be colemak. I want the new USB keyboard, so we'll just match the ancient keyboard with the ancient layout; seems proper. The keys even feel hard and unforgiving like those of the typewriters qwerty was made for.

I'm going to Radio Shack to pick up the keyboard and mouse right now.
We have two CRT VGA monitors of equal specs.

otoomet 01-24-2008 04:02 AM

Cool. Let us know how is it going.
Ott

ethana2 01-24-2008 08:43 PM

I've got the hardware all in place now. The machine and all is where I want it, the peripherals have been purchased... I shall begin configuration with the help of this guide here:
https://help.ubuntu.com/community/MultiseatX

It's weird typing with one hand on each keyboard...
Now I begin.

ethana2 01-24-2008 09:03 PM

oh yeah, almost forgot: I'm adding this in there too:
http://colemak.com/Unix
..or perhaps I shouldn't... that may just add complication right now. Besides, my user account has an icon in the tray at the top to switch it anyway...

Meh, I'll leave the layout alone for now.


All times are GMT -5. The time now is 01:34 PM.