Screen is a full-screen window manager that multiplexes a physical terminal
between several processes (typically interactive shells).
Each virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO
2022 standards (e.g. insert/delete line and support for multiple character
sets). There is a scrollback history buffer for each virtual terminal and a
copy-and-paste mechanism that allows moving text regions between windows.
===> The following configuration options are available for screen-devel-5.0.2.20260924:
INFO=on: Build and/or install GNU info pages
MULTIUSER=off: Install setuid-root screen to support multiuser
NETHACK=on: Enable nethack-style messages
NOSOCKETDIR=off: Use ~/.screen instead of socketdir
SYSTEM_SCREENRC=on: Install system screenrc with helpful status line
XTERM_256=on: Enable support for 256 colour xterm
====> Options available for the single IPC: you have to select exactly one of them
SOCKETS=on: Use new (4.2.1+) sockets for IPC (default)
NAMED_PIPES=off: Use legacy (4.0.3) named pipes for IPC (override)
====> Console (text) interface support: you have to select exactly one of them
NCURSES_DEFAULT=on: Depend on ncurses (ports if installed, otherwise base)
NCURSES_BASE=off: Depend on ncurses in base
NCURSES_PORT=off: Depend on devel/ncurses in ports
===> Use 'make config' to modify these settings
As of GNU Screen 4.4.0:
Note that there was fix to screen message structure field
responsible for $TERM handling, making it impossible
to attach to older versions.
Reason:
sysutils/screen no longer sets the MULTUSER option by default anymore.
MUTIUSER installs a setuid root screen binary. This introduces an exploit
vector. Users who need multi-user functionality should either build
screen with the MULTIUSER option or binary package users should add the
setuid bit to the screen binary.
sysutils/screen*: MULTIUSER is now non-default
MULTIUSER requires a setuid root screen binary. Not many people use
this feature anymore so let's disable it by default. If people do want
MULTIUSER screen they should either set the option or manually add the
setuid bit to the screen binary.
Reported by: sjg
sysutils/screen-devel: Switch to my GH repo
Fetching git hashes from savannah no longer works (though fetching
versioned snapshots still does). As such we must proxy through my
github account.
sysutils/screen-devel: Update distfile
When unpacking the tarballs there is no material difference between the
old and the new files. Additionally, there is no difference when
comparing the two tarballs after unzipping the .gz files. One must
conclude the files are compressed differently as the new .gz file is 4K
smaller then the previous file.
MFH: 2026Q2
sysutils/screen-devel: Recompute distinfo
After comparing saved copy of old and the new distifles using diff -qr
no differences were found. Likely caused by a difference in compression.
sysutils/screen*: Work around hardstatus regression
The workaround provided by the submittor works better than the hardstatus
line provided by upstream.
PR: 287045
sysutils/screen*: Use a 5.0.0 sample hardstatus line
The hardstatus parser was rewritten for 5.0 Use the new sample.
The old 4.9 sample no longers works under 5.0.
Note: There is a regression with the new hardstatus in 5.0.
A bug report has been submitted to upstream. This is the reason
5.0 was not made default sooner.
sysutils/screen*: Correct the system screenrc location
The upstream default is /etc. The ports default is ${PREFIX}/etc.
Reported by: Jonathan Chen <jonc@chen.org.nz>
sysutils/screen*: Fix off-by-one buffer overflow
FreeBSD ncurses, as of c8b9c85ee5bb, does a strncpy() of 1024 bytes into
a 1023 byte buffer supplied by screen. This section of code in ncurses
was removed in 61f66a1f4403, and is not a problem since 14.0-RELEASE.
But it is still a problem in 13-STABLE.
Thank you to dim@ for detailed analysis and initial patch to
sysutils/screen. The same patch is also applied to sysutils/screen-devel
this commit.
PR: 280868
MFH: 2024Q3
sysutils/screen-devel: Update to the latest screen upstream git commit
Includes a bugfix for upstream bug #66003, a regression with harstatus
string which fails to display date & time.