The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: downing.nick@gmail.com (Nick Downing)
Subject: [TUHS] X, Suntools, and the like
Date: Fri, 17 Mar 2017 12:15:19 +1100	[thread overview]
Message-ID: <CAH1jEza3P0ja9QLi68f_TFRFxb8CBrj96LoHsK5Go1tSnJEExA@mail.gmail.com> (raw)
In-Reply-To: <CAAFR5pYtwrGh+DCMBjpVvuxg3kAV1-CRrtuk8jipiLtKEX3c7A@mail.gmail.com>

I think the main difference being discussed here is 3 approaches to
remote logins:
(1) the user has a single login session, effectively a console, and
can connect to it/view it/interact with it from anywhere
(2) the user creates a new login session whenever they connect to the
server from a new station (or separately from the same station)
(3) the user has a local GUI console and login session, but windows
can be created in it that connect to remotely running apps
I would say that VNC, RDP are cases of type (1) whereas standard X
remoting (where a display manager runs on a diskless client, say) is
type (2) and "ssh -X" type X remoting is type (3).

Ignoring type (3) for the moment, I would say these approaches have
the following advantages/disadvantages:
- (1) is failsafe to dropped connections, etc, where (2) is not
- (1) is helpful for remote assistance since multiple parties can view
or interact with the desktop, where (2) is not
- (2) should be IMO more efficient since all context is maintained in
the terminal and the running applications can store stuff in offscreen
memory, invoke complex drawing primitives, etc, where (1) lends itself
more naturally to doing the drawing operations locally and then
sending bitmap "patches" to the changed areas of the screen (this is
what gives it the failsafe nature and also why apparently some people
see it running faster, because of bitmap compression)
- (2) is more powerful and scriptable IMO since a new session doesn't
hurt or depend on any other session, it seems more unix-like
considering how we use ssh and subshells and so on, basically
multiuser facilities being used single-user, whereas the type (1) IMO
seems limited in scalability and might also run into performance
problems with super high resolution displays, or lesser hardware that
can't compress bitmaps quickly.

Types 1 and 2 have a direct analogue to console terminal sessions: (1)
is where the user runs "screen" (or something like "nohup") whereas
(2) is where the user does an "ssh" to the server causing the sshd to
fork a new session.

Personally, I think the type (2) should be extended to handle the use
cases of type (1) since I believe it is more efficient for context to
be stored in the terminal and drawing operations carried out there. So
the ideal way I believe to handle these cases in a "new generation,
de-bloatified X" would be to provide an optional utility like "screen"
which caches any state which has been sent to the terminal, keeping
dirty flags etc to indicate whether such state has also been forwarded
onto the real terminal, and re-generate the protocol and all drawing
commands having sent any dependencies such as offscreen bitmaps first.
That way, you could have a type (2) system, but log into shared
sessions and/or re-log into dropped sessions, migrate sessions and so
on. But since the "screen" like program would be a separately
installed, optional package, it wouldn't impact on the simplified base
system unless you wanted this function.

cheers, Nick



On Fri, Mar 17, 2017 at 10:29 AM, Robert Swierczek
<rmswierczek at gmail.com> wrote:
> Here is my 2 cents to add: I think both approaches have their pro's
> and con's.  This is what I would like to see in an ideal remote GUI
> environment (I'll use the X11 convention for display server and
> application client):
>
> Mostly stateless as in VNC, little or no round-tripping of messages.
>
> Client application contains a very small library (not a whole GUI
> rendering library as needed by remote desk-topping).  Lighter than
> Xlib.  Maybe on the order of curses.  Suitable for embedded devices.
>
> Client should be tolerant of server going down and reconnecting (as in
> VNC) because of a crash or migration.
>
> User should see their application rendered in the servers widget scheme.
>
> Server can be implemented natively or in a browser.
>
> Some form of remote OpenGL supported (as in JS/WebGL)
>
>
> On Thu, Mar 16, 2017 at 7:04 PM, Josh Good <pepe at naleco.com> wrote:
>> On 2017 Mar 15, 09:40, Kurt H Maier wrote:
>>>
>>> Your usage habits are not natural laws.  I'm a systems administrator
>>> too, and I use X11 forwarding every single day, on dozens of different
>>> programs.
>>>
>>> It's all very well for X11's networking tools to be useless for you.
>>> That doesn't make them useless in general, and it doesn't mean the
>>> functionality should be deleted.
>>
>> I don't use X11 forwarding because it works bad/slow over WAN links,
>> but RDP/ICA works just fine over the same. Also, in X11 forwarding any
>> network hiccup means the X11 app you are remoting just crashes, that
>> does not happen in the RDP/ICA world.
>>
>> The real problem is that X11 predates the "GUI desktop metaphor". In X11
>> forwarding you remote bitmaps (or vectors or primitives or whatever)
>> which belong to an app, whereas in RDP you remote bitmaps (and only
>> bitmaps, and never anything more than bitmaps) which belong to a "full,
>> self-contained, GUI desktop".
>>
>> In my opinion, X11 is not appropriate for desktops --it is designed more
>> for a scientific workstation kind of thing--, but currently there is
>> just no mature alternative in the Unix/Linux world (except for Mac OS X,
>> of course).
>>
>> --
>> Josh Good
>>


  reply	other threads:[~2017-03-17  1:15 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-14 18:49 Ron Natalie
     [not found] ` <CAH1jEzY5g6zGSxsXEHc+Q7mYyegU+aSr-zpfJ0cwRfSGSUdgCg@mail.gmail.com>
     [not found]   ` <CAH1jEzb7eSr0xcoBX8bfzL6batBfxOF+8jhbVFs=x1CFWAJ65g@mail.gmail.com>
     [not found]     ` <CAH1jEzY38dmbASRLMrQnoX0-eANA0YBW=j=LLC1y1axi=672yg@mail.gmail.com>
     [not found]       ` <CAH1jEzbYS8fJgNGFMa+2SoLUWCQQAxVSuxrZp-z2uunXS+R8GQ@mail.gmail.com>
     [not found]         ` <CAH1jEza89JHeTZBQ6y_wvu7iVjW+qV2_Ucg1gWbWnhG2Jc9rLg@mail.gmail.com>
     [not found]           ` <CAH1jEzaZxATj5BPu2+d213PpUQqH8Q0LnA2syXxCm4LvpXPqYg@mail.gmail.com>
     [not found]             ` <CAH1jEza6NO3UcZsR4foQwqFosJWRdYCn5FQfxDy596Nj_+SKdA@mail.gmail.com>
     [not found]               ` <CAH1jEzYK04=fDQ8FAu2PvKS=heZK_Da=LB=cQ4g9nZybM-DsMA@mail.gmail.com>
     [not found]                 ` <CAH1jEzYMRu_e4Az1+Ns7JA0K5FUjRCrvjOkWVC85WodtLaB52g@mail.gmail.com>
     [not found]                   ` <CAH1jEzZQXAS+bwqV76J8_WkUD-3tR7P_z-mQrRkFv-Khm-R4Eg@mail.gmail.com>
     [not found]                     ` <CAH1jEzY2L1k4_QNUFtscovpD1_gORPRVY_=n47dmBY3fh=JUXA@mail.gmail.com>
     [not found]                       ` <CAH1jEza5F4oyQ8bByypWevLW3RwZ4Q4Zfz-roiGi5ksyGup9Zw@mail.gmail.com>
     [not found]                         ` <CAH1jEzb9Rv+iER45NSCGfFerrXaD1v8PN=j92iOg7oU=4q62Rw@mail.gmail.com>
     [not found]                           ` <CAH1jEzav9Y0vM75GaVqVBj=0nXmjdjucF+mx=FBkRO4QP8Soeg@mail.gmail.com>
2017-03-15  1:13                             ` Nick Downing
2017-03-15 10:15                               ` Tim Bradshaw
     [not found]                                 ` <CAH1jEzb7tKSa5H_k-pCT_7x6xzJHdavm4dZySnhkmYL7WG2HEA@mail.gmail.com>
     [not found]                                   ` <CAH1jEza9jmb09SDvQi5cQV_g6oO97dgx-VsQobMG=RddqRBxsA@mail.gmail.com>
2017-03-15 11:03                                     ` Nick Downing
2017-03-15 12:03                                       ` tfb
2017-03-15 13:12                                         ` Nick Downing
2017-03-15 14:37                                           ` tfb
2017-03-15 16:40                                           ` Kurt H Maier
2017-03-15 16:52                                             ` Arthur Krewat
2017-03-16 23:04                                             ` Josh Good
2017-03-16 23:29                                               ` Robert Swierczek
2017-03-17  1:15                                                 ` Nick Downing [this message]
2017-03-16 23:29                                               ` Lyndon Nerenberg
2017-03-17  0:05                                                 ` Lyndon Nerenberg
2017-03-17  5:55                                                 ` arnold
2017-03-17 12:56                                                 ` Ron Natalie
2017-03-17 15:19                                                 ` Tim Bradshaw
2017-03-17 20:17                                                   ` Josh Good
2017-03-17 20:30                                                     ` Ron Natalie
2017-03-17 20:44                                                       ` Lyndon Nerenberg
2017-03-17 21:08                                                         ` Dan Cross
2017-03-17 22:50                                                           ` Lyndon Nerenberg
2017-03-17 22:58                                                             ` Dan Cross
2017-03-17 23:17                                                               ` Lyndon Nerenberg
2017-03-17 23:22                                                                 ` Lyndon Nerenberg
2017-03-18 15:45                                                                 ` Steffen Nurpmeso
2017-03-18 16:59                                                                   ` Andy Kosela
2017-03-18 23:05                                                                     ` Steffen Nurpmeso
2017-03-18 23:32                                                                       ` Nick Downing
2017-03-19  7:20                                                                         ` Jason Stevens
2017-03-17  0:13                                               ` Larry McVoy
2017-03-17  3:16                                                 ` jsteve
2017-03-23 19:16                                                   ` Michael Parson
2017-03-17 12:39                                                 ` Steffen Nurpmeso
2017-03-17 12:45                                                   ` Steffen Nurpmeso
2017-03-17 16:49                                                   ` Tony Finch
2017-03-18 15:43                                                     ` Steffen Nurpmeso
2017-03-17 14:39                                                 ` Arthur Krewat
2017-03-17 16:21                                                   ` Larry McVoy
2017-03-17 16:29                                                     ` Tim Bradshaw
2017-03-17 17:42                                                     ` Steve Nickolas
2017-03-17 21:39                                                     ` [TUHS] X->VNC->RDP experience [was " Charles H Sauer
2017-03-19  6:11                                               ` [TUHS] " Robert Brockway
2017-03-19 11:56                                                 ` Josh Good
2017-03-15 20:48                               ` Ron Natalie
2017-03-17 13:05 Noel Chiappa
2017-03-17 15:06 ` Ron Natalie
2017-03-17 15:39 Noel Chiappa
2017-03-17 17:56 ` Ron Natalie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAH1jEza3P0ja9QLi68f_TFRFxb8CBrj96LoHsK5Go1tSnJEExA@mail.gmail.com \
    --to=downing.nick@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).