Use of screen on terminal is blocked by length of user name

3

I am a user of screen on terminal, but i tried to mount a screen on my Macbook and results in this warning:

$ screen
LoginName too long - sorry.

I read on web and the suggestion is change the username of my computer, but I am the only user and the administrator of the computer, and I have a lot of information in my session.

Can I do something?

Cristian Velandia

Posted 2013-03-15T15:14:54.533

Reputation: 163

There's a bug report for this. It also chokes if $HOME is longer than 25 characters.

– Keith Thompson – 2013-03-15T15:20:54.423

@NPE: Since one solution does involve modifying the source code, I suggest that it's topical here. – Keith Thompson – 2013-03-15T15:42:39.133

@NPE: But if it's a better fit for superuser, that's fine with me. – Keith Thompson – 2013-03-15T18:51:31.047

@KeithThompson: To be honest, when I voted, I wasn't expecting the answer to deal with the source code. I now think both sites are equally suited for the question and your answer. I'll let the community decide. – NPE – 2013-03-15T18:54:18.177

Answers

6

This is a known bug, reported here. It also chokes if $HOME is longer than 25 characters.

I was able to work around this by applying a patch (which increases the limit from 20 to 50) and rebuilding from source.

The patch is in this message. It doesn't apply to the screen-4.0.3 sources downloaded from ftp.gnu.org; apparently it depends on some unreleased changes added after that.

(Note: When I downloaded the patch, it named it bin4fE4KxGNNI.bin; I manually renamed it to gnuscreen-21653.patch.)

So I grabbed the latest screen sources from git:

git clone git://git.savannah.gnu.org/screen.git

applied the patch:

patch -p 1 < gnuscreen-21653.patch

then built from source:

./autogen.sh
cd src
./configure --prefix=/where/you/want/to/install
make
make install

This gave me a screen executable that I can run from /home/accountwithaverylongusername on my Linux system. It should work the same way on OSX.

If your user name is longer than 50 characters, you can probably just update the constant after applying the patch.

I hope this patch, or something like it, will appear in the next release of GNU screen.

Keith Thompson

Posted 2013-03-15T15:14:54.533

Reputation: 4 645

Thank you so much, I was kind of uncomfortable with installing from source, but these instructions were great. Just one thing: the file autogen.sh was in src in my checkout. That probably changed after you answered this question, but perhaps you could include it in your answer. – 11684 – 2013-10-03T14:42:20.553

4

I worked around the same bug by using tmux instead of screen.

legoscia

Posted 2013-03-15T15:14:54.533

Reputation: 2 197

1

Screen-4.3.1 has solved this bug. Just do the following:

1-Download Screen-4.3.1

wget http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html

2-Decompress

tar -zxvf screen-4.3.1.tar.gz

3-Go to directory

cd screen-4.3.1

4-Run configure to create Makefile

./configure

5-Make and install

make
make install

6-It will probably ask you to do the following copy manually:

sudo cp etc/etcscreenrc /etc/

kakhkAtion

Posted 2013-03-15T15:14:54.533

Reputation: 111

Installed 4.03.01 via brew install screen and still have the same LoginName too long - sorry. error. – cevaris – 2016-06-24T16:38:00.093