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 package gcc libncurses-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 !=