Ticket #137 (closed defect: fixed)
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: |
Description
/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:2 Changed 16 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:4 Changed 16 years ago by broder
- Status changed from accepted to closed
- Resolution set to fixed
Just deployed to production
comment:5 Changed 16 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 instance. 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 Yes. 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 reward. 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 OK 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 16 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.
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.