终端上的屏幕使用受到用户名长度的限制


3

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

$ screen
LoginName too long - sorry.

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

我可以做点什么吗?


有一个错误报告。如果$HOME长度超过25个字符,也会窒息。
基思·汤普森

@NPE:由于一种解决方案确实涉及修改源代码,因此我建议在这里进行讨论。
基思·汤普森

@NPE:但是,如果它更适合超级用户,那对我很好。
基思·汤普森

@KeithThompson:说实话,当我投票时,我并不期望答案能处理源代码。我现在认为这两个站点都同样适合您的问题和答案。我让社区决定。
NPE

Answers:


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

应用了补丁:

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屏幕中。


非常感谢您,我对从源代码安装感到不满意,但是这些说明很棒。只有一件事:该文件autogen.shsrc在我结账。在您回答了这个问题之后,情况可能会改变,但也许可以将其包括在您的回答中。
2013年


1

屏幕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运行配置以创建Makefile

./configure

5-制作并安装

make
make install

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

sudo cp etc/etcscreenrc /etc/

4.03.01通过安装brew install screen,仍然有相同的LoginName too long - sorry.错误。
cevaris
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.