LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Multiple displays with the cli (https://www.linuxquestions.org/questions/slackware-14/multiple-displays-with-the-cli-668147/)

cwwilson721 09-07-2008 09:34 AM

Multiple displays with the cli
 
Is it possible to have two different cli sessions open on separate displays (rather than using the ctrl-fn, just have two different logons at once)?

I have a Nvidia 6200 AGP as primary, and a Nvidia MX440 PCI as my secondary.

Ideas?

T3slider 09-07-2008 09:48 AM

It would be nice to be wrong, but I don't *think* it can be done (but I'm definitely not very knowledgeable on the subject). The VESA console framebuffer only supports one display (I think), and I don't think VESA framebuffer replacements like uvesafb support multiple displays. I think you're stuck with X if you want to use multiple displays. You could always try a VERY lightweight WM (like EvilWM...;)) and just open a terminal if you are trying to save resources.

cwwilson721 09-07-2008 09:55 AM

It's more of an exercise in possibilities than a need. My resources are fine (2GHZ AMD CPU, 2GB memory).

It's more like "Why not" than anything. Especially with multi-user and multi threading OS like Linux, it should be possible. (Maybe a variation on the old 'dumb terminal' concept, using video ouput instead of complete terminal)

As I said, it's more of a conceptual exercise than a need. And since I don't even pretend to be a programmer, I was more wondering if it is possible.

Without X, that is.

vharishankar 09-07-2008 09:59 AM

I thought the concept of virtual terminals emulated real terminal sessions in a multi-terminal set up (say in a UNIX computer labaratory).

So it should be possible to have a headless server with multiple "dumb" clients all running the same OS? I thought that was the reason why *nix had the concept of "multi-user"?

Alien Bob 09-07-2008 10:03 AM

When you install that second card and boot Slackware, will there be additional tty devices for your secondary card? Will the card be detected at all? I have no idea since I do not have hardware with multiple graphics cards.

Eric

cwwilson721 09-07-2008 10:05 AM

Quote:

Originally Posted by harishankar (Post 3272380)
I thought the concept of virtual terminals emulated real terminal sessions in a multi-terminal set up (say in a UNIX computer labaratory).

So it should be possible to have a headless server with multiple "dumb" clients all running the same OS? I thought that was the reason why *nix had the concept of "multi-user"?

Bingo.

So, what ever happened to it?

Or did it just head in another direction? (Thank you, Bill Gates)

I know the history of the PC had alot to do with it. 'Real' computers instead of dumb terminals made this a non-viable alternative.

cwwilson721 09-07-2008 10:08 AM

Quote:

Originally Posted by Alien Bob (Post 3272386)
When you install that second card and boot Slackware, will there be additional tty devices for your secondary card? Will the card be detected at all? I have no idea since I do not have hardware with multiple graphics cards.

Eric

As for the first part, Can they be added? Will it work? Will my son EVER stop playing with Transformers? All of those questions are answered, by me, the same way. "Heck if I know". I doubt there are any new tty devices. But can they be added?

As for the card being detected, yes, it is. I can pull up/post the snippet of dmesg that confirms this.

Alien Bob 09-07-2008 10:19 AM

Well, UDEV adds the tty symlinks as well as the /dev/vc/* devices for you. Hence my question whether additional tty devices & symlinks would also be created automatically when the kernel detects a second graphics card.

Eric

keefaz 09-07-2008 10:22 AM

I don't get the picture well, sorry :)

You want 2 displays, each with one user session opened, 2 different logon
So I have one question:
When you type commands on keyboard, how the system could detect in which user session you want to execute the commands ?

[edit]
Maybe a way is to use screen and on the second display, issue a su <username>
and switch between display with screen shortcut (ctrl+a, "...)
[edit2]
Can't figure out how to start screen on 2 displays :/

cwwilson721 09-07-2008 10:36 AM

Quote:

Originally Posted by Alien Bob (Post 3272405)
Well, UDEV adds the tty symlinks as well as the /dev/vc/* devices for you. Hence my question whether additional tty devices & symlinks would also be created automatically when the kernel detects a second graphics card.

Eric

Not that I've noticed. No additional.

cwwilson721 09-07-2008 10:37 AM

Quote:

Originally Posted by keefaz (Post 3272412)
I don't get the picture well, sorry :)

You want 2 displays, each with one user session opened, 2 different logon
So I have one question:
When you type commands on keyboard, how the system could detect in which user session you want to execute the commands ?

[edit]
Maybe a way is to use screen and on the second display, issue a su <username>
and switch between display with screen shortcut (ctrl+a, "...)
[edit2]
Can't figure out how to start screen on 2 displays :/

I think that would be the first step

keefaz 09-07-2008 10:43 AM

I don't know, maybe it could be easier to stick with Linux console, and switch user sessions with [ctrl-alt F1-F6] or just [alt F1-F6] (if you are in console). Now I don't know how to open tty2 on display 1 and tty3 on display 2 for example :)

gnashley 09-07-2008 10:59 AM

Background ruby (bruby) sounds like what you (would) want. It was an attempt at enabling multiple local Xsessions/monitors:
Quoting from a web page entitled "Faketty Quick How-To for Dual-X-Headed/LEGGED Linux"
2006 June 28th by - Jean-Daniel Pauget - dualh@disjunkt.com

This document intend to describe how I managed to get a PC with :

*two different monitors plugged to ...
*two different graphic-cards, each matching ...
*two different keyboards and mice

in order to run ...

*two instances of XFree86, each one having it's own login screen, and thus having ...
*two different users working on the same PC box at a time.



Such configurations are often called multiseat linux, multi-seat linux, multiuser X11, or some variations around those themes.
=========================
Also search for:
XFree Local Multi-User HOWTO
=========================

You'll say that you didn't mean running X on two heads, but backgroundruby is the kernel part -the other patches were for the Xserver itself.

The upshot is that the project is not maintained and was really aimed at using X. It allowed you to have multiple local users on the same box by using two graphics cards, two keyboards and two mice (or more than two -up to six reported).
Since you want cli sessions, you should be able to come up with sokme creative solutions using screen and/or some variant of getty. It is, of course, easy to be logged in twice on two separate terminals, but doing that from just one terminal will require some creative work. You might look into the use 'chvt'.

keefaz 09-07-2008 11:06 AM

I just read <kernel source dir>/Documentation/fb/fbcon.txt
(the framebuffer console), of course the kernel needs to be compiled with framebuffer + framebuffer console support
Quote:

Originally Posted by /Documentation/fb/fbcon.txt
3. fbcon=map:<0123>

This is an interesting option. It tells which driver gets mapped to
which console. The value '0123' is a sequence that gets repeated until
the total length is 64 which is the number of consoles available. In
the above example, it is expanded to 012301230123... and the mapping
will be:

tty | 1 2 3 4 5 6 7 8 9 ...
fb | 0 1 2 3 0 1 2 3 0 ...

('cat /proc/fb' should tell you what the fb numbers are)

In my understanding, with 2 video cards, you end with /dev/fb0 and /dev/fb1
So to display tty 1 on display 1 and tty 2 on display 2 (tty3 on display 1, tty4 on display2...), I would add this option to the kernel (in bootloader config):
fbcon=map:<01>
I don't know if it will work :)
[edit]
Better try: fbcon=map:01 (don't write the < and >)

cwwilson721 09-07-2008 12:27 PM

Quote:

Originally Posted by keefaz (Post 3272444)
I just read <kernel source dir>/Documentation/fb/fbcon.txt
(the framebuffer console), of course the kernel needs to be compiled with framebuffer + framebuffer console support

In my understanding, with 2 video cards, you end with /dev/fb0 and /dev/fb1
So to display tty 1 on display 1 and tty 2 on display 2 (tty3 on display 1, tty4 on display2...), I would add this option to the kernel (in bootloader config):
fbcon=map:<01>
I don't know if it will work :)
[edit]
Better try: fbcon=map:01 (don't write the < and >)

I'll give this a shot. Will be interesting to try....

keefaz 09-07-2008 01:35 PM

Please report, if you test it :)
Be carefull though, it should be safier to boot the kernel (with framebuffer and framebuffer console built-in) without the fbcon option, just to see the fb behaviour with the 2 video cards, then check /proc/fb and see the fb numbers


All times are GMT -5. The time now is 10:17 AM.