Skip to main content

Posts

Showing posts from August 3, 2014

Fix cygwin's GNU screen /tmp/uscreens permission errors

Note: The latest Cygwin release of screen works fine now.

The current (e.g., 4.3.1) GNU screen command generally fails to work correctly on cygwin due to directory permission checks - for example, on /tmp/uscreens. To remedy this problem, you can run mkpasswd / mkgroup for every Windows user that runs cygwin. But this isn't foolproof because /tmp can easily become unusable by screen. Or you can modify screen and avoid the checks entirely. Here's how.

1. Run cygwin's setup program and install:
Source for the screen packagegcclibncurses-devel 2. After installing, run the cygwin prompt
3. cd /usr/src
4. tar -xzf screen*.gz
5. cd screen-*
6. ./configure
7. Edit Makefile

change the line ETCSCREENRC = to ETCSCREENRC = /etc/screenrc
8. Edit screen.c. See [1] for more details. Remove the statements that start with:
if (((int)st.st_mode & 0777) != n) ...if ((st.st_mode & 0777) != 0700) ...if ((int)st.st_uid != real_uid) if ((int)st.st_uid != multi_uid) 9. make 10. cp screen /bi…