Ticket #137 (closed defect: fixed)

Opened 15 years ago

Last modified 15 years ago

system-wide bash_login and login should not unconditionally punt zwgc on dialups

Reported by: jdreed Owned by: broder
Priority: normal Milestone:
Component: -- Keywords: proposed
Cc: Fixed in version:
Upstream bug:


/usr/athena/lib/init/login and bash_login refuse to set ZEPHYR_CLIENT if /etc/athena/dialuptype exists. I'm told that this was done on purpose because Linerva maintainers do not think users want to be running zwgc by default in X forwarded ssh sessions.

This is not a decision we should be making for users. If I log into Linerva over a tty session from somewhere, I want zwgc. I expect it to run at startup like every single other Athena machine. The message it displays is not useful for people whose .startup.tty generates a fair bit of output, as mine does (if I have more, say, 20 new mails in my INBOX, then the message about zwgc has scrolled off the screen)

We should conditionalize this on whether or not someone has "fallback = true" in .zephyr.vars. If they have set this, they expect zwgc to be running on dialups by default, and thus will not be surprised by getting multiple zephyrgrams in X forwarding SSH session. If they have not set this, then either they run zwgc -ttymode by in .startup.tty (which will still work), or they don't expect zephyr to be running by default on dialups. It's still a change from the default behavior, and should be documented, but is better than punting zwgc unconditionally.

Change History

comment:1 Changed 15 years ago by jdreed

This is tangentially related to Jira issue ATN-45, which talks about the idea of abandoning zwgc as the default X11 zephyr client in favor of something shinier, possibly geofft's libnotify thing. That would solve this issue and the Compiz/gnome-screensaver interaction.

comment:2 Changed 15 years ago by broder

  • Owner set to broder
  • Status changed from new to accepted
  • Component set to --

Fixed in r23737, which is in -proposed. I attempted to test this by hand with both tcsh and bash, although I'm not /entirely/ convinced that they work.

I'd like confirmation that they work as advertised on both machines with /etc/athena/dialuptype and without, and with both tcsh and bash.

But I'm satisfied enough with my testing that I'll plan to move this to production late Tuesday

comment:3 Changed 15 years ago by broder

  • Keywords proposed added

comment:4 Changed 15 years ago by broder

  • Status changed from accepted to closed
  • Resolution set to fixed

Just deployed to production

comment:5 Changed 15 years ago by andersk

  • Status changed from closed to reopened
  • Resolution fixed deleted

We were also planning to entirely replace the /etc/athena/dialuptype check with a check whether this is a graphical local login.

Here is the full zlog:

debathena / dotfiles / nelhage  23:08
    Because the Linerva maintainers decided it was silly to run zhm on
    Linerva by default
debathena / dotfiles / nelhage  23:09
    Since it's not what most users want.
debathena / dotfiles / andersk  23:12
    zhm?  You mean zwgc, right?  And no, it does not.
debathena / dotfiles / andersk  23:13
    zhm is a single global daemon run at startup; that has nothing to do
    with dotfiles.
debathena / dotfiles / geofft  23:13
    Nelson said zhm when he meant zwgc.
debathena / dotfiles / andersk  23:13
    Ah.  Good, I think we’re all less confused now.
debathena / dotfiles / andersk  23:15
    It should probably conditionalize on whether the session is
    graphical, instead.
debathena / dotfiles / geofft  23:15
    zwgc does that already unless you have the force ttymode option set.
    If you really want to conditionalize, do so on whether you're
    SSH-forwarding the X session
debathena / dotfiles / andersk  23:16
    No.  “Whether the session is graphical” != “Whether a DISPLAY exists”.
debathena / dotfiles / geofft  23:16
    Oh, you mean for local graphical logins. Sure.
debathena / dotfiles / geofft  23:17
    I run barnowl. I ssh -X linerva and run Matlab. Now I get zephyrs
    in barnowl and in zwgc from Linerva.
debathena / dotfiles / geofft  23:17
    I run zwgc on a cluster machine. I ssh -X linerva. Now I get two
    windowgrams per zgram.
debathena / dotfiles / xavid  23:18
    I shouldn't have to never run zwgc on login to avoid running it twice
    when I ssh into a dialup.
debathena / dotfiles / geofft  23:18
    This doesn't deal with the two-zwgcs case.
debathena / dotfiles / andersk  23:19
    Also, zwgc’s focus-stealing prevention doesn’t work over X
    forwarding, which makes it even more obnoxious.
debathena / dotfiles / xavid  23:19
    Most users are only likely to ssh into a dialup with X forwarding from
    another athena machine, which means they'll probably already have zwgc
    if they want it on their local machine, and don't need a second
debathena / dotfiles / geofft  23:20
    We could hack zwgc to do the firefox-remote thing of figuring out if
    a zwgc is already running on this display, and tell VT or barnowl
    users to set ZEPHYR_CLIENT to /bin/false if they want zero zwgcs
    instead of one.
debathena / dotfiles / andersk  23:23
    Like I said, I agree that the exact test it currently uses is a
    little wrong (whether this is a non-dialup machine), but it is almost
    always equivalent in practice to what I think is the right one
    (whether this is a local graphical login).
debathena / dotfiles / geofft  23:25
    Maybe we want to conditionalize on (local graphical login) || (zctl
    show fallback | grep true)
debathena / dotfiles / geofft  23:26
    And maybe we want /etc/X11/Xsession.d/95zwgc for the first one.
debathena / dotfiles / andersk  23:26
    Do you know of anyone that actually expects and wants to get an
    automatic X11 zwgc over a remote ssh session?  That seems really
    strange to me.
debathena / dotfiles / kaduk  23:28
    I expect to get such a zwgc.
debathena / dotfiles / nelhage  23:28
    <stark> whoops, braino. Sorry :)
debathena / dotfiles / andersk  23:28
    Really.  How can you possibly stand that?  :-)
debathena / dotfiles / mitchb  23:28
    I used to before switching to vt.
debathena / dotfiles / geofft  23:29
    Y'all are all talking about graphical, not ttymode, right?
debathena / dotfiles / andersk  23:29
    Wait, what?  I asked about _over a remote ssh session_.
debathena / dotfiles / geofft  23:29
    Sorry, I guess I use graphical to mean "in windowgrams" and you use
    it to mean "from GDM".
debathena / dotfiles / kaduk  23:30
    I log into an athena 9 machine (say, lsc-office).
    I ssh into multics.
    I expect to get windowgrams from multics.
debathena / dotfiles / kaduk  23:30
    Er, I log into lsc-office sitting in front of it, through GDM.
debathena / dotfiles / andersk  23:30
    So now you get two windowgrams of every zephyr?
debathena / dotfiles / geofft  23:30
    Would the firefoxish behavior I suggested suffice?
debathena / dotfiles / kaduk  23:30
debathena / dotfiles / andersk  23:31
    geofft: I’m just trying to figure out what the expected use case is
    before we propose solutions.
debathena / dotfiles / andersk  23:31
    I understand that you may have come to expect that, but how can that
    possibly be _desirable_?
debathena / dotfiles / geofft  23:33
    Er, that doesn't actually seem to jive with your use case of multiple
    graphical zwgcs.
debathena / dotfiles / geofft  23:34
    er, sorry, "X11 zwgcs"
debathena / dotfiles / geofft  23:34
    ... Oh, it does.
debathena / dotfiles / andersk  23:35
    Okay. sure.  If they have actually taken action to set fallback=true,
    then I’m fine with sending back a bunch of obnoxious windows in
debathena / dotfiles / geofft  23:39
    For what it's worth, I still believe all of -c filsrv should be in
    the default subscriptions.
debathena / dotfiles / geofft  23:39
    Apart from the Sunday morning ones, it gets less than a zephyr a
    month, in my experience.
debathena / dotfiles / geofft  23:39
debathena / dotfiles / geofft  23:41
    I think it's also relevant that no automounter can get you subbed to
    zephyr classes.
    (At least without horrifying kernel hacks)
debathena / dotfiles / ghudson  23:43
    I don't see why the machine being a dialup has any bearing on this.
debathena / dotfiles / andersk  23:44
    See, you’re framing the Athena 9 behavior that forces weird zwgc
    popups on unsuspecting frosh by default as “not telling people how to
    use ssh X11 sessions”.  I don’t buy that at all.
debathena / dotfiles / ghudson  23:45
    I thought it was kind of our job to decide default behaviors.
debathena / dotfiles / andersk  23:45
    If we don’t run it by default, you can always run it yourself, or we
    can provde an option to turn it on; nobody forced you to do anything.
debathena / dotfiles / andersk  23:58
    I’m confused now.  Isn’t that what you said you don’t want?
    Either way, it seems to me that the bash and tcsh dotfiles are not
    even the right place to start the graphical zephyr client at all.
debathena / dotfiles / geofft  00:00
    > parsing zephyr.vars
    What's wrong with "zctl show"?
debathena / dotfiles / ghudson  00:36
    XSESSION will never be set for the tty startup dotfiles anyway.

comment:6 Changed 15 years ago by jdreed

I see these as two separate issues, and since not running zwgc for SSH X11-forwarded sessions is a new change which has significant user impact, we should open a new ticket and discuss it over e-mail, as per the collaboration guidelines.

I'd like to close this and open a new ticket as an enhancement, and will do so later tonight unless someone seriously objects.

comment:7 Changed 15 years ago by jdreed

  • Status changed from reopened to closed
  • Resolution set to fixed

Having heard no complaints to my previous comment, I'm closing this, and will open an enhancement ticket

Note: See TracTickets for help on using tickets.