screen -dm
有谁知道在“分离”模式( )下启动屏幕时更改默认 80 列宽度的方法吗?
智能诅咒应用程序会htop
在稍后从宽终端连接时处理调整大小之类的应用程序,但对于像这样的愚蠢脚本来说已经太晚了:
#!/bin/bash
echo "Scanning packages:"
COLUMNS=132 dpkg -l | tr '\n' '\r'
echo ""
echo "Done"
直接屏幕会话(从广义上讲)效果很好:
$ screen bash -c './myscript ; exec bash'
Scanning packages:
ii zlib1g-dev:i386 1:1.2.8.dfsg-1ubun i386 compression library - developmentom shell scripts (common f
Done
但在“分离”模式下,80 列宽度搞乱了一切:
$ screen -dm bash -c './myscript ; exec bash'
$ screen -r
2.10.1-1ubuntu1 all X Keyboardii xloadimage 4.1-22 i386 Graphics fii xml-core
0.13+nmu2 all XML infrasii xorg 1:7.7+1ubuntu8 i386 X.Org X Wiii xorg-docs-core
1:1.7-1 all Core documii xorg-sgml-doctools 1:1.11-1 all Common tooii xserver-common
2:1.15.1-0ubuntu2. all common filii xserver-xephyr 2:1.15.1-0ubuntu2. i386 nested X sii xserver-xorg
1:7.7+1ubuntu8 i386 X.Org X seii xserver-xorg-core 2:1.15.1-0ubuntu2. i386 Xorg X serii xserver-xorg-input-all
...
看起来命令或环境变量stty
都不会在这里执行此操作,确实需要一种方法来从更广泛的术语开始......width
COLUMNS
答案1
如果您可以使用tmux
它,它允许您指定宽度:
tmux new-session -d -x 300 bash -c './your-script.sh'