PDA

View Full Version : Two people working at the same time in 1 Mac Pro, can be done?




knucles
Sep 14, 2010, 07:38 PM
So imagine that i have 2 monitors, two keyboads and mice....

I have a Mac Pro and i want two workers working at the same time in the same machine.

That way i only have to buy 1 version of the software involved.....



ovrlrd
Sep 14, 2010, 07:45 PM
Might be possible with some sort of software out there that lets you split OS X logins onto a second screen, but I don't know anything about doing that. There is definitely nothing you can do with the built in software.

Cindori
Sep 15, 2010, 05:52 AM
not possible, as there is only one chipset in the computer it can not handle separate traffic

Queso
Sep 15, 2010, 06:12 AM
not possible, as there is only one chipset in the computer it can not handle separate traffic
It's the software where the limitation is. There's no reason why hardware that supports multiple monitors, multiple USB devices and multiple network cards couldn't separate out the user sessions, but the OS would need to tell the hardware how to separate them.

I'm just wondering whether you could actually do this in VMWare if one of the users didn't mind being on Windows or Linux. It would all depend on whether you could dedicate the second USB keyboard and mouse only to the guest OS whilst it ignored the first. Hmmm....

Spanky Deluxe
Sep 15, 2010, 06:14 AM
Actually yes, it is possible in a way.

1. Buy VMWare Fusion.
2. Buy Snow Leopard Server (or work out how to use standard Snow Leopard in VMWare Fusion).
3. Run Snow Leopard in VMWare, maximised on the second screen and connect a usb and keyboard mouse directly to the virtual machine.

However, since you'd be running two operating systems you'll need licenses for both OSs and both copies of the software you want to use.

Queso
Sep 15, 2010, 06:16 AM
But can you configure VMWare not to send the main keyboard and mouse I/O requests to the guest OS? That's key to the whole setup IMO.

Spanky Deluxe
Sep 15, 2010, 06:24 AM
But can you configure VMWare not to send the main keyboard and mouse I/O requests to the guest OS? That's key to the whole setup IMO.

Just don't have the VM active - if the main user doesn't click on the VM or move their mouse over it then the second user can work in peace.

maflynn
Sep 15, 2010, 06:24 AM
not possible, as there is only one chipset in the computer it can not handle separate traffic

It is possible, the hardware has nothing to do with it. In fact today's computers are by far more powerful then the multiuser mini and mainframe computers if the 70s/80s and possibly the 90s at this stage.

the difference is the OS is not designed for multi-user, and so the products that exists try to get around this with varying degrees of success. Personally, given the low cost of computers, even the Mac Mini, I'd opt for just getting a cheap computer to be used along side the main one and set up some shares or a NFS to centralize the data.

Queso
Sep 15, 2010, 06:30 AM
Just don't have the VM active - if the main user doesn't click on the VM or move their mouse over it then the second user can work in peace.
I see. It would need the host OS user to be a bit disciplined with their mouse pointer but you're right in that it would work.

Spanky Deluxe
Sep 15, 2010, 06:45 AM
I see. It would need the host OS user to be a bit disciplined with their mouse pointer but you're right in that it would work.

The easiest thing would be to setup the second display so that it's positioned in an awkward location like so:

251767

sushi
Sep 15, 2010, 06:49 AM
The easiest thing would be to setup the second display so that it's positioned in an awkward location like so:

251767
But I believe the displays must have a common pixel so the mouse can travel between them.

If your Mac display (upper right in this case) has any functions activated by moving to the lower left, you may end up on the other display. For example, if I drag my mouse to the bottom left I start my screen saver (with password).

So you would need to deconflict something like this with your display placement for both the Mac and PC.

gnasher729
Sep 15, 2010, 06:52 AM
It is possible, the hardware has nothing to do with it. In fact today's computers are by far more powerful then the multiuser mini and mainframe computers if the 70s/80s and possibly the 90s at this stage.

the difference is the OS is not designed for multi-user, and so the products that exists try to get around this with varying degrees of success. Personally, given the low cost of computers, even the Mac Mini, I'd opt for just getting a cheap computer to be used along side the main one and set up some shares or a NFS to centralize the data.

There is actually very little to be added to the OS. MacOS X _is_ designed for multiple users. If you use "Fast User Switching", you can have two or more users using the same Macintosh, and the software of one user keeps actively running and updates its own virtual screen while the other user controls the main screen. One thing I tried (and it worked) was starting to burn a DVD, switching to another user, and a while later the DVD was done.

The problem is that the OS assigns _all_ monitors to the same user, and _all_ keyboards and mice to the same users. And if you have two monitors attached, each user believes they have two monitors (even though the monitors of one user are invisible). All that would be needed is an interface that lets you assign each monitor to a specific user, and each keyboard to a specific user. The operating system itself will handle this without any problems.

As for the cost: Many people need lots of power _sometimes_. It would be great if four users could share a 12 core MacPro. When one of them does something that would bring a MacMini to its knees for an hour, that MacPro would handle it in a few minutes - with enough power to spare that the other three users wouldn't even notice. So if that 12 core MacPro saves _you_ an hour every day, it will save you and three colleagues four hours every day.

Spanky Deluxe
Sep 15, 2010, 07:02 AM
But I believe the displays must have a common pixel so the mouse can travel between them.

If your Mac display (upper right in this case) has any functions activated by moving to the lower left, you may end up on the other display. For example, if I drag my mouse to the bottom left I start my screen saver (with password).

So you would need to deconflict something like this with your display placement for both the Mac and PC.

Yeah you need a common pixel so you'd lose one hot spot. That's pretty easy to live with though.

sushi
Sep 15, 2010, 07:07 AM
Yeah you need a common pixel so you'd lose one hot spot. That's pretty easy to live with though.
Understand and agree.

However, someone like me who just drags down and to the left at the max would probably transition to the other screen. In my case I would need to set up the screens differently so that wouldn't happen. YMMV.

The 64 dollar question. Has anybody tried to do this with a Mac Pro?

pukifloyd
Sep 15, 2010, 07:17 AM
Great thread. It would be so awesome if 2 or more people are working from the same machine. Somebody should try it :)

Queso
Sep 15, 2010, 07:21 AM
The 64 dollar question. Has anybody tried to do this with a Mac Pro?
Technically you could even try it on a MacBook. All you need is an external screen, a copy of VMWare and a USB keyboard/mouse.

Spanky Deluxe
Sep 15, 2010, 07:31 AM
Understand and agree.

However, someone like me who just drags down and to the left at the max would probably transition to the other screen. In my case I would need to set up the screens differently so that wouldn't happen. YMMV.

The 64 dollar question. Has anybody tried to do this with a Mac Pro?

Great thread. It would be so awesome if 2 or more people are working from the same machine. Somebody should try it :)

Well, in the interests of the 'why not' sentiment, I've given it a try (I already had a Snow Leopard Server vm open on my desktop for testing some other things, I have a second display and I have a spare keyboard to hand). In this manner you could have as many clients as you wanted.

For anyone wanting to actually use this in the future, note that you have to open up the contents of your virtual machine (show package contents ~/Documents/Virtual Machines/Mac OS X....vmware), open up the vmx file in there in notepad and add the following line at the end:

usb.generic.allowHID = "TRUE"

That allows you to send USB mice and keyboards etc to the virtual machine.

It works just as expected. I've got my spare Apple keyboard and Microsoft mouse sent through to the virtual machine and I'm using my normal Apple keyboard and magic trackpad on my main machine. VMware is maximised in the second display.

I've edited the two screenshot files together here:

251774

Edit: You could even go another step further and use a usb to vga/dvi adapter too. You could attach a mouse, keyboard and vga adapter to a hub and then connect that hub to the VM. One cable to add a second user.

Mr. Zarniwoop
Sep 15, 2010, 07:36 AM
So imagine that i have 2 monitors, two keyboads and mice....

I have a Mac Pro and i want two workers working at the same time in the same machine.

That way i only have to buy 1 version of the software involved.....
I've done this using VNC and fast user switching. Vine (VNC) Server is running on the background users session. You have to configure it so it runs on a different port from the built-in VNC service (screen sharing).

From https://www.testplant.com/multidesktop.html:

* First download Vine Server (OSXvnc) on your computer. Vine Server (OSXvnc) is freely available in our download area.
* Once downloaded, just move the Vine Server (OSXvnc) application into your Applications folder to install it.
* You'll need to enable Fast User Switching if you haven't already done so. It can be found under System Preferences -> Accounts. Choose "Login Options" near the bottom and check the box to "Enable Fast User Switching".
* The following process should be repeated for EACH USER that wants access to the machine through VNC:
o Log in via Fast User Switching (if not already logged in).
o Launch Vine Server (OSXvnc) from inside the Applications folder.
o You should see the message "Server Running" near the bottom of the configuration panel. If you get a message stating "Port In Use" try setting a different Display Number and hitting the "Start Server" button. Each user must be running on a different port.
o Now Ctrl-Click on Vine Server (OSXvnc) in the dock and choose "Open At Login"; this will set it to launch whenever this user logs in.
o Launch a VNC viewer on another machine and enter the connection information for the machine that you just configured. If you are using Chicken of The VNC you should see each screen via Bonjour. Otherwise, each user has an associated Display Number which corresponds to the port number 5900.

Notes and Caveats

* Each user MUST be logged in using Fast User Switching. If you reboot the computer you will need to go and log-in each user with Fast User Switching to enable access via VNC.
* It's still a single machine. If lots of people are doing lots of things at once you will notice a slowdown.
* This doesn't duplicate your hardware. Two people can't try to play music out the speakers at the same time, you can't have different people each copying files from the same USB camera, things like that.
* We have seen inconsistencies when different users try changing the desktop size/color depth. Sometimes this will have an impact on other users or cause things to behave strangely.
* Trying to Fast User Swtich from a user who is already "off-screen" will be ignored.
* There is currently a bug in Apple's keyboarding routines which causes some keyboard states to persist across sessions. If the user at the Mac's keyboard is holding down a modifier key (like Command) when you hit another key (like A), you will get their modifier in addition to your key.
* If you have difficulties getting the server to run (or stay running) we recommend verifying these settings in Vine Server (OSXvnc):
o Set a UNIQUE Display Number (or choose "Auto") on the General Panel.
o Set a UNIQUE Desktop Name on the General Panel.
o ENABLE "Start Server when Application Launches" on the Startup Panel.
o DISABLE "Terminate Server on a Fast User Switch" on the Startup Panel.
o ENABLE "Restart Server when it terminates unexpectedly" on the Startup Panel.

Spanky Deluxe
Sep 15, 2010, 07:44 AM
I've done this using VNC and fast user switching. Vine (VNC) Server is running on the background users session. You have to configure it so it runs on a different port from the built-in VNC service (screen sharing).

From https://www.testplant.com/multidesktop.html:

Interesting. So, in theory, the OP could do exactly what he wanted by using a combination of the VNC and the VMware method.

Setup Windows/OSX/Linux in the VMware, maximise to secondary display and send a mouse and keyboard to it as I described above. Then setup the fast user switching + vnc server method on the main machine and then use the OS in the VM machine to VNC in to the main machine. This will then allow the second user to use the same apps that are installed on the main machine.

Both parts have been proven to work separately so there's no reason to think that they couldn't work together. Doing so would mean you wouldn't need a second physical computer at all to do this.

cube
Sep 15, 2010, 08:09 AM
Mac is so complicated...

That is what happens when you don't use the standard Unix windowing mechanisms.

knucles
Sep 15, 2010, 08:14 AM
Man, this is amazing. i never thought it would be possible. It actually work seamless?

This can very well revamp my small 3 ppl company, i can have 1 employer doing 3d modelling while another do Pages work and i respond to some e-mails.....in my Hex Mac Pro and avoid the hole let me use your computer thing

gnasher729
Sep 15, 2010, 08:18 AM
Mac is so complicated...

That is what happens when you don't use the standard Unix windowing mechanisms.

Most Macintosh users are very, very, very happy that Apple doesn't use the standard Unix windowing mechanisms.

cube
Sep 15, 2010, 08:26 AM
Most Macintosh users are very, very, very happy that Apple doesn't use the standard Unix windowing mechanisms.

You can use X Window and have a nice toolkit on it. Happy Mac users have nothing to do with it.

sushi
Sep 15, 2010, 10:21 AM
Well, in the interests of the 'why not' sentiment, I've given it a try
Thanks! That's really cool.

I've got my spare Apple keyboard.
Is your spare keyboard the same as your main keyboard?

Man, this is amazing. i never thought it would be possible. It actually work seamless?

This can very well revamp my small 3 ppl company, i can have 1 employer doing 3d modelling while another do Pages work and i respond to some e-mails.....in my Hex Mac Pro and avoid the hole let me use your computer thing
Now that would be interesting. :)

alphaod
Sep 15, 2010, 10:34 AM
Everyone gets a cheap computer for emails and since only one person will be doing 3D modeling at a time they can use the specialized Mac Pro.

notjustjay
Sep 15, 2010, 10:46 AM
Everyone gets a cheap computer for emails and since only one person will be doing 3D modeling at a time they can use the specialized Mac Pro.

Or is there some way to set up a KVM switch so that everyone has their own cheap computer but they can also cycle the Mac Pro screen to their workstation when they need to use it?

I don't suppose they could use a remote desktop connection from their own computer to the Pro (not for 3D modelling, anyway).

goMac
Sep 15, 2010, 11:10 AM
I hate to be the killjoy here, but wouldn't this setup be more expensive, more complicated, and slower than just buying a Mac Mini as a second machine?

The VM won't even have graphics acceleration available to it. And I think everyone has missed the original point of only having to buy software once. Legally (and activation wise), the VM isn't going to fix that.

hugodrax
Sep 15, 2010, 11:51 AM
Sure, you can have hundreds of user sharing a mac. You just need to set up the Getty process on OS X and buy a large number of Wyse VT-100 terminals.

notjustjay
Sep 15, 2010, 12:07 PM
Sure, you can have hundreds of user sharing a mac. You just need to set up the Getty process on OS X and buy a large number of Wyse VT-100 terminals.

So they can all do their 3-D modelling work using a command shell? :D

Spanky Deluxe
Sep 15, 2010, 12:09 PM
Man, this is amazing. i never thought it would be possible. It actually work seamless?

This can very well revamp my small 3 ppl company, i can have 1 employer doing 3d modelling while another do Pages work and i respond to some e-mails.....in my Hex Mac Pro and avoid the hole let me use your computer thing

It would take a bit of fiddling to setup but yes, it would work, You'd only really want to do the 3d modelling on the setup that has direct access though due to 3D acceleration.

Is your spare keyboard the same as your main keyboard?

No, my main keyboard is one of the current gen Aluminium keyboards with numpad while the second keyboard is an old Apple Pro keyboard - the ones with the black keys.

I hate to be the killjoy here, but wouldn't this setup be more expensive, more complicated, and slower than just buying a Mac Mini as a second machine?

The VM won't even have graphics acceleration available to it. And I think everyone has missed the original point of only having to buy software once. Legally (and activation wise), the VM isn't going to fix that.

No, it wouldn't be more expensive unless you went the Snow Leopard Server route. If you're prepared to do a bit of hacking to get Snow Leopard standard working in VMWare Fusion then all you'd need (apart from screens) is a licences for SL for each setup and VMWare Fusion - an OSX family pack would likely do. If you go the whole hog with the VNC/VMWare route then you'd just need a license for VMWare Fusion. Of course it's complicated but basically the more effort you're prepared to put in to the setup, the more money you could save.

Edit: With the VNC method (just giving it a try now) you might run into screen setup issues when changing screen resolutions etc but if you use identical sized monitors in your setup and make sure that each user's screens are set up like the layout I linked earlier then this shouldn't be too much of a problem.

Edit 2: Actually, I just tried it again and it did work with changing the resolution for the second user. I was just limited to the resolutions capable by my main display (so couldn't set it up to 1200x1600 portrait to fit nicely into my second display). It all seemed to work just as expected.

One computer running one copy of Snow Leopard with two clients:

251811

Second display is running Linux Scientific 5.5 and is using vncviewer to connect to Vine Server running with port 5901 on a user activated via Fast User Switching running at a different resolution to the primary setup (accessing only one display - second display is moved to awkward location as I suggested earlier in this thread). VMWare is passing full control of my mouse and secondary keyboard to Scientific Linux which in turn is passing it straight to the second user.

The only reason the second user view isn't full screen is because the portrait resolution of my second display isn't listed in the options - this could probably be fixed if necessary via SwitchResX though. The only real problem that I can see is that VMWare's little top menu bar remains on screen at all times when the VMware isn't active by the primary user (which will always be the case in such a setup).

sushi
Sep 15, 2010, 12:45 PM
No, my main keyboard is one of the current gen Aluminium keyboards with numpad while the second keyboard is an old Apple Pro keyboard - the ones with the black keys.
I see. I wonder if using the same model keyboard would make a difference?

Spanky Deluxe
Sep 15, 2010, 12:50 PM
I see. I wonder if using the same model keyboard would make a difference?

It shouldn't. You'd get two identically named keyboards in the VMWare USB section to choose to connect to the machine and you'll have to guess but it will work.

My options were "Apple Extended USB Keyboard" and just "Apple Keyboard". The latter being the aluminium one, the other being the black keyed one (I guessed wrong the first time).

goMac
Sep 15, 2010, 01:04 PM
No, it wouldn't be more expensive unless you went the Snow Leopard Server route. If you're prepared to do a bit of hacking to get Snow Leopard standard working in VMWare Fusion then all you'd need (apart from screens) is a licences for SL for each setup and VMWare Fusion - an OSX family pack would likely do. If you go the whole hog with the VNC/VMWare route then you'd just need a license for VMWare Fusion. Of course it's complicated but basically the more effort you're prepared to put in to the setup, the more money you could save.

Given that the OP has indicated the entire reason for doing this is to be legal with his software licenses, and using Snow Leopard standard in a VM is against the software license, it doesn't make too much sense...

Besides, as I said, the VM has no graphics card support. If you're going to be dedicating a VM to reading email, it seems far far far easier to just get a machine for reading email. You could even pick up a used machine for $100 for that.

Spanky Deluxe
Sep 15, 2010, 01:12 PM
Given that the OP has indicated the entire reason for doing this is to be legal with his software licenses, and using Snow Leopard standard in a VM is against the software license, it doesn't make too much sense...

Besides, as I said, the VM has no graphics card support. If you're going to be dedicating a VM to reading email, it seems far far far easier to just get a machine for reading email. You could even pick up a used machine for $100 for that.

Yeah, using Snow Leopard standard is against the EULA - not that it's valid in a lot of countries though.

Using the combination like I tested out a couple of posts back would cost no more than the license for VMWare Fusion and wouldn't break the EULA if that's really something you're worried about. It's not that hard to set up, took me about five minutes (although I did already have a Linux VMWare install, a second user setup and fast user switching already enabled).

Of course having another computer is going to be far less hassle and provided all you need it for is email etc then yes a cheap second/third hand computer will do the task for you. I could see something like this setup being useful in say a startup company requiring two or three people to use expensive non-3D intensive software that doesn't burn the CPU all the time. As niche as that might be, it could prove useful to someone one day - software like Matlab and other development packages etc are very expensive and using a setup like this could make a small cash poor startup to buy one license and share it amongst several users on one system rather than just pirating the darned thing.

seek3r
Sep 15, 2010, 01:15 PM
So they can all do their 3-D modelling work using a command shell? :D

Most of mine is (NAMD, DOCK, nwchem.... all remote to linux clusters, I work primarily in a shell) Now post-process display work, that's another matter :-p

sushi
Sep 15, 2010, 09:42 PM
It shouldn't. You'd get two identically named keyboards in the VMWare USB section to choose to connect to the machine and you'll have to guess but it will work.

My options were "Apple Extended USB Keyboard" and just "Apple Keyboard". The latter being the aluminium one, the other being the black keyed one (I guessed wrong the first time).
Makes sense.

VMware Fusion does makes it easy to select USB devices.