用户名长度阻止在终端上使用屏幕

Cri*_*dia 3 terminal gnu-screen username macos

我是终端屏幕的用户,但我尝试在我的 Macbook 上安装屏幕并导致此警告:

$ screen
LoginName too long - sorry.
Run Code Online (Sandbox Code Playgroud)

我在网上阅读,建议更改我的计算机的用户名,但我是计算机的唯一用户和管理员,并且我的会话中有很多信息。

我可以做点什么吗?

Kei*_*son 6

这是一个已知错误,在此处报告。如果$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
Run Code Online (Sandbox Code Playgroud)

应用补丁:

patch -p 1 < gnuscreen-21653.patch
Run Code Online (Sandbox Code Playgroud)

然后从源代码构建:

./autogen.sh
cd src
./configure --prefix=/where/you/want/to/install
make
make install
Run Code Online (Sandbox Code Playgroud)

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

如果您的用户名超过 50 个字符,您可以在应用补丁后更新常量。

我希望这个补丁或类似的东西会出现在 GNU 屏幕的下一个版本中。