Comment 2 for bug 980141

Revision history for this message
LaƩrcio de Sousa (lbssousa) wrote :

1) I think that the "seat" part of a multiseat system can be merged into the "computer" part as far as the GUI is concerned. So I don't think there's need to add extra label options, only to put the seat name/number as a suffix after the computer name.

I agree, but I think this suffix makes no sense if my computer is "single-seat". I would be better if I can tell epoptes that a given computer of my network is "multiseat" or "single-seat", and it will display the suffix only for multiseat computers.

The most common way to identify a seat in a multiseat network is by its hostname/IP and by the value of DISPLAY variable for the Xorg instance running in that seat. This is exactly what I have when I open VNC sessions with epoptes: the title of VNC window shows the hostname and the DISPLAY value of that seat (for example, "alice:0.0", "alice:1.0", "bob:0", "bob:1", etc.). The other common way to identify seats is by the user logged in, but it only works for stantard usernames (e.g., user1 for seat 1, user 2 for seat 2, etc.)

2) Each of those root terminals has access to a different display, that of the user sitting in that seat. So if the epoptes user selected many seats and clicked on that menu, maybe he wants to do something with each seat separately, we can't assume that he only wanted one terminal even though he selected many...

Well... I did a simple test in epoptes: run a root terminal for each seat and execute "echo $DISPLAY". Both of them gave me the same value (DISPLAY = :0), so they are running on the same seat.

Normally, when I open a terminal as root, I want to make changes in the base system (e.g.: install/uninstall/update packages, edit system config files, etc.). Most of this tasks is desktop-independent, and even if I want to run a command as root on a given desktop, I just need to prefix the DISPLAY number in the command line (e.g.: "DISPLAY=:1 <command>").

Anyway, I think epoptes could, at least, give an option to launch just one root terminal per computer when accessing the menu "Clients -> Run -> Open terminal" with no client selected, so it launches terminals for all available clients, one per computer or one per user, depending on the option chosen.

The worst problems with multiseat are that (a) there are many different implementations and (b) the developers have no access to any multiseat system to test with. So we have no clue about how the seats are named, if they're static or dynamic etc.

I would append (c) it isn't trivial how to list/kill processes by display.

For example, if I have a Firefox instance running on each seat, a single "killall firefox" would kill all Firefox processes --- in all seats --- so I need something like "killall-by-display firefox :0" or "killall-by-display firefox :1". But this could be beyond epoptes scope.

My multiseat system is of static type (two video cards, two audio USB hubs, two sets of monitor/keyboard/mouse). I will study epoptes code and try to contribute some patches.