用户名长度限制阻止终端使用屏幕

用户名长度限制阻止终端使用屏幕

我是终端屏幕的用户,但我尝试在我的 Macbook 上安装屏幕并出现以下警告:

$ screen
LoginName too long - sorry.

我在网上看到建议更改我的电脑的用户名,但我是该电脑的唯一用户和管理员,并且我的会话中有很多信息。

我能做点什么吗?

答案1

这是一个已知的错误,报告于此处$HOME。如果长度超过 25 个字符,它也会阻塞。

我可以通过应用补丁(将限制从 20 增加到 50)并从源代码重建来解决这个问题。

补丁位于这条信息。它不适用于从 ftp.gnu.org 下载的 screen-4.0.3 源代码;显然它依赖于此后添加的一些未发布的更改。

(注意:当我下载补丁时,它将其命名为bin4fE4KxGNNI.bin;我手动将其重命名为gnuscreen-21653.patch。)

screen因此我从 git获取了最新的源代码:

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

应用补丁:

patch -p 1 < gnuscreen-21653.patch

然后从源代码构建:

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

这给了我一个screen可执行文件,可以在/home/accountwithaverylongusername我的 Linux 系统上运行。它在 OSX 上应该以同样的方式运行。

如果您的用户名长度超过 50 个字符,您可能只需在应用补丁后更新常量即可。

我希望这个补丁或者类似的补丁能够出现在 GNU screen 的下一个版本中。

答案2

我通过使用解决了同样的错误tmux而不是屏幕。

答案3

Screen-4.3.1 已经解决了这个错误。只需执行以下操作:

1-下载屏幕-4.3.1

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

2-解压

tar -zxvf screen-4.3.1.tar.gz

3-进入目录

cd screen-4.3.1

4-运行 configure 创建 Makefile

./configure

5-制作并安装

make
make install

6-它可能会要求您手动执行以下复制:

sudo cp etc/etcscreenrc /etc/

相关内容