web-dev-qa-db-ja.com

ターミナルでの画面の使用は、ユーザー名の長さによってブロックされます

私はターミナルのscreenのユーザーですが、Macbookに画面をマウントしようとすると、次の警告が表示されます。

$ screen
LoginName too long - sorry.

Webで読んだところ、コンピューターのユーザー名を変更することを提案しましたが、コンピューターのユーザーであり管理者は私だけであり、セッションには多くの情報があります。

何かできますか?

3

これは既知のバグです ここで報告 。また、$HOMEが25文字より長い場合もチョークします。

パッチを適用し(制限を20から50に増やす)、ソースから再構築することで、これを回避することができました。

パッチは このメッセージ にあります。画面には適用されません-ftp.gnu.orgからダウンロードされた4.0.3ソース。どうやらそれはその後に追加されたいくつかの未リリースの変更に依存しているようです。

(注:パッチをダウンロードすると、bin4fE4KxGNNI.binという名前が付けられました。手動でgnuscreen-21653.patchに名前を変更しました。)

そこで、gitから最新のscreenソースを取得しました。

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

これにより、Linuxシステムの/home/accountwithaverylongusernameから実行できるscreen実行可能ファイルが得られました。 OSXでも同じように機能するはずです。

ユーザー名が50文字を超える場合は、パッチを適用した後で定数を更新できます。

このパッチ、またはそのようなものが、次のリリースのGNU画面に表示されることを願っています。

6
Keith Thompson

Screenの代わりに tmux を使用して、同じバグを回避しました。

4
legoscia

画面-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/
1
kakhkAtion