Package: screen
Version: 5.0.1-1.1
Severity: normal
X-Debbugs-Cc: [email protected]

Dear Maintainer,

The default socket directory for screen has been changed from
/run/screen/S-$USER/ to $HOME/.screen. After updating screen, I was surprised
to find I could not reattach to existing screen sessions:

$ screen -list
No Sockets found in /home/perelman/.screen.

... unless I explicitly specify $SCREENDIR:

$ SCREENDIR=/run/screen/S-perelman screen -list
There are screens on:
[...]
6 Sockets in /run/screen/S-perelman.


I did a little digging into the version control history and there's no apparent
change to do this and
https://salsa.debian.org/debian/screen/-/blob/master/debian/rules?ref_type=heads
includes the line "SCREEN_CONFIGURE=--with-socket-dir=/run/screen", so I do not
think this change was intentional. I did find a RedHat bug reporting the same
issue https://bugzilla.redhat.com/show_bug.cgi?id=2375347 which reports this
can be fixed by adding "--enable-socket-dir" to the configure flags. It looks
like the issue is possibly that
https://cgit.git.savannah.gnu.org/cgit/screen.git/commit/src/configure.ac?id=6931ba07ca1646df8dee85485f9867b23b34fcf1
fixed a bug that "--enable-socket-dir" was accidentally not required due to a
bashism in the configure script.

Building locally, I have confirmed the following patch fixes the issue for me:

diff --git a/debian/rules b/debian/rules
index 7733fec..9565c8c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -17,6 +17,7 @@ ROOT_UDEB := $(CURDIR)/debian/screen-udeb
 TTYGROUP := 5
 # Common configure options for .deb and .udeb
 SCREEN_CONFIGURE=--with-socket-dir=/run/screen \
+                --enable-socket-dir \
                 --with-pty-mode=0600 \
                 --with-pty-group=${TTYGROUP} \
                 --enable-rxvt_osc \



-- Package-specific info:
File Existence and Permissions
------------------------------

drwxr-xr-x 47 root root   1480 May 10 22:06 /run
lrwxrwxrwx  1 root root      4 Jul  2  2011 /var/run -> /run
-rwxr-xr-x  1 root root 482016 Apr 21 13:53 /usr/bin/screen
-rw-r--r--  1 root root     29 Jun 21  2017 /etc/tmpfiles.d/screen-cleanup.conf
lrwxrwxrwx  1 root root      9 Jul  8  2015 
/lib/systemd/system/screen-cleanup.service -> /dev/null
-rwxr-xr-x  1 root root   1222 Apr  2  2017 /etc/init.d/screen-cleanup
lrwxrwxrwx  1 root root     24 Oct 29  2023 /etc/rcS.d/S15screen-cleanup -> 
../init.d/screen-cleanup

File contents
-------------

### /etc/tmpfiles.d/screen-cleanup.conf
______________________________________________________________________
d /run/screen 1777 root utmp
______________________________________________________________________

-- System Information:
Debian Release: forky/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.18.12+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages screen depends on:
ii  debianutils  5.23.2
ii  libc6        2.42-15
ii  libpam0g     1.7.0-5+b1
ii  libtinfo6    6.6+20251231-1

screen recommends no packages.

Versions of packages screen suggests:
pn  byobu | screenie | iselect  <none>
pn  ncurses-term                <none>

-- debconf-show failed

Reply via email to