I did an 'emerge -u world' which included updates to screen, when the update had completed I tried to attatch to sessions currently active on other consoles, and found they didnt exist anymore when I used the normal 'screen -r - x blah'.
I just updated screen today and deliberately left one running during the upgrade. :: Here's what I had listed before updating the machine.. rivendell root # screen --version Screen version 3.09.11 (FAU) 14-Feb-02 rivendell root # screen -list There is a screen on: 4170.pts-0.rivendell (Detached) 1 Socket in /tmp/screens/S-root. :: and here, after the upgrade rivendell root # screen --version Screen version 3.09.13 (FAU) 5-Sep-02 rivendell root # screen -list No Sockets found in /var/run/screen/S-root. the socket directory has changed between versions. from /tmp/screens & /tmp/uscreens to /var/run/screen/ - this is not a sparc specific problem. (changed platform to all) the dir can be specified at build time with: --with-socket-dir=path (which the screen ebuild scripts have started setting differently from the default since 3.9.13-r1) there is an einfo " Uses /var/run/screen instead of /tmp/screens as its \"socket directory\"." in /usr/portage/app-misc/screen/screen-3.9.13-r1.ebuild but is omitted in -r2 and -r3 Perhaps Maik can comment since it appears to have changed recently? -- cjr
I'm actually not quite sure why this has changed. screen-3.9.13-r1 (the first to use /var/run/screen) was done by cretin, who in turn used a user-submitted ebuild. Perhaps he has some insight on this? Further, I'd like to express that I like /var/run/screen more than the /tmp/* solution. Also, it's a one-time change, so I think we can close this bug as WONT_FIX, or? Comments welcome. Also Cc'ing Maurizio (j2) on this one.
I think it's OK to leave the way it is now, the only gotcha is for users running live screens during the update from 3.9.13 or earlier to 3.9.13-r1 or greater. A warning or check for running screens before merging would be nice but if we stay with /var/run/screen (I also like this idea) the one-time problem will go away. WONT_FIX makes the most sense.
Well i was done to keep all the sockets in one place where all users can write to, this allows (but is disabled by default) the attachment of other user. This is the recomended configuration by the screen authors (see man screen) The behaiour can only be changed at compile time (for security reasons as screen is sgid wtmp). I vote to leave it is. There is a fix which is to move the open sockets, if possible, to /var/run/screen.
Well, the "issue" is only for those sessions running during the socket dir transition. A quick/simple fix can be used: the $SCREENDIR env variable. example: Xcds root # SCREENDIR="/tmp/screens/S-root/" screen -ls There is a screen on: 9450.pts-2.Xcds (Detached) 1 Socket in /tmp/screens/S-root/. Maybe we should just add some einfo about that in pkg_postinst().
I think it's a bit late to add that info to pkg_postinst(). Also, as Maurizio pointed out, this is a one-time issue (which I think is quite minor, too). I'm closing this as WONTFIX.