标签: gnu-screen

tmux 是否具有 screen 的所有功能?那些屏幕不见了?

我正在考虑从 screen 切换到 tmux,但我已经投入了大量时间开发了一个广泛的 .screenrc,而且我不想在将它移植到 tmux 几个小时后发现 tmux 不能做一些重要的事情对我来说。

我查看了两者的几个在线比较,但没有一个深入或回答许多(对我来说是什么)重要问题,可以归结为两个问题:

  • 有什么重要的事情 screen 可以做而 tmux 不能做吗?
  • tmux 可以做那个屏幕不能做的事情有什么重要的吗?

(客户端-服务器架构很好,但在我看来并没有提供任何新功能。许可证显然更好。更小更精简显然很好,但对我来说不是游戏规则改变者。)

由于这2个问题非常广泛,让我举一些具体的例子:

  • tmux 有完整的命令历史吗?(对于发送到 tmux 本身的命令,而不是 shell 命令。这是 screen 缺少的东西:How can I go back in the (GNU) screen command history?(不是 shell 命令历史!)
  • 我假设我可以将键绑定到 tmux 命令?
  • 我假设我的 tmux 配置文件可以获取其他文件?
  • 我可以将按键绑定到源命令,以便我可以轻松地动态更改我的配置吗?
  • tmux 有 ACL 设置吗?(我实际上从未在屏幕上需要这些,但很高兴知道它们在那里。)
  • tmux 可以打开默认窗口吗?(a la screen -t somename 1 ssh someserver)

我可以自己寻找这些特定问题的答案,但它们只是 2 个更大问题的示例,而且我还想听到那些不一定适合我的任何示例的更大问题的答案。如果 tmux 中缺少某些东西,我完全有可能在花费大量时间切换后不会发现它,这就是我想要避免的。谢谢!

gnu-screen tmux

8
推荐指数
1
解决办法
1165
查看次数

当窗口中的命令终止时如何防止屏幕终止

运行 'screen ls' 时,屏幕停止显示文本[screen is terminating]。我希望 screen 使会话保持活动状态并重新连接到它以查看ls.

当然,真正的事情是我没有运行screen ls,而是 a screen fsck ...,所以我想确保当这个命令完成时屏幕不会终止。

我很想有一个对已经存在的正在运行的屏幕会话有用的答案,所以一些交互式键,如C-a ...C-a :(进入命令行模式)

gnu-screen

8
推荐指数
2
解决办法
1万
查看次数

GNU Screen 和 Tmux:提示和技巧

所以我是GNU ScreenTmux等多路复用器的忠实粉丝,但即使使用 Screen 多年,我仍然认识到那里有很多我不知道的东西(而且我只使用 Tmux 几个月,所以它更糟)。

您在这些软件上使用了哪些配置、提示和技巧(两者或每个软件都无关紧要)?

我使用它作为我的屏幕配置(我想我是从 Ubuntu 的默认设置中改编的screenrc):

shell -$SHELL
startup_message off
defscrollback 1000
hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A'
activity ''
termcapinfo xterm* 'hs:ts=\\E]2;:fs=\\007:ds=\\E]2;screen\\007'
Run Code Online (Sandbox Code Playgroud)

这是一个简单的配置,可以让状态栏显示一些颜色,但我确信我可以用 screen 和 Tmux 做更多的事情,并且很想知道它。

gnu-screen tmux

8
推荐指数
1
解决办法
3362
查看次数

与同一组中的用户共享屏幕会话 (Linux)

我可以使用以下命令创建一个分离的屏幕会话:

[user1@host-pc ~]$ screen -d -m -S sname program
Run Code Online (Sandbox Code Playgroud)

...并使用以下命令恢复它:

[user1@host-pc ~]$ screen -r sname
Run Code Online (Sandbox Code Playgroud)

有没有办法让与user1访问会话在同一组中的用户?

编辑:我已阅读手册页,并且了解多用户模式。我特别询问是否允许按用户组 (/etc/group) 共享屏幕会话。

即组users中的所有用户都可以共享会话sname。无需手动添加每个用户进行筛选。

linux permissions groups gnu-screen

8
推荐指数
2
解决办法
1万
查看次数

启动分离的屏幕会话

我想开始屏幕分离会话,但我想评估一些 bash。似乎 screen 只支持可执行文件和二进制文件。我想做一些魔法,比如:

screen -d -m script.sh 2>&1 | tee logfile.log
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用。引用在这里没有帮助。我唯一的想法是创建一个包装脚本来执行此重定向,然后直接调用它,例如:

screen -d -m wrapper_script.sh
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?谢谢。

linux unix gnu-screen

8
推荐指数
1
解决办法
5238
查看次数

GNU 屏幕显示 + 来自 putty

这里有没有人知道如何+-*/从腻子中让数字键盘上的 GNU 屏幕工作?

数字工作正常,但不是运营商。在/似乎绑定到命名当前壳或可能启动新的外壳。我的主机操作系统是 ubuntu 9.04(我运行屏幕的操作系统)。

linux putty gnu-screen

7
推荐指数
1
解决办法
3512
查看次数

GNU 屏幕锁屏命令的密码?

我已经在我的 .screenrc 中为屏幕会话设置了密码。它工作得很好,每当我需要重新连接到屏幕会话时,我都需要输入密码。还有另一个功能可以锁定当前终端(ctrl+a, x)。这是一个非常棒的功能,可以非常快速地锁定终端,我还让它在 20 分钟空闲时间后自动锁定终端。为此,我在 .screenrc 中添加了“idle 1200 lockscreen”这一行。

然而,我的问题是,一旦终端处于锁屏状态,似乎没有密码可以解锁它。不是屏幕密码,不是我的用户登录密码。我不知道在哪里设置此锁屏状态的密码,联机帮助页或我在网上找到的任何内容似乎都认为提及它很重要。手册页说它使用 /usr/bin/lck 或 /usr/bin/lock 或“内置”,但我没有前两个二进制文件,也不知道这个内置是什么。有什么帮助吗?

security linux gnu-screen

7
推荐指数
1
解决办法
6543
查看次数

在屏幕上使用 vim 时,按键 ctrl + right 和 ctrl + left 不起作用

在过去的日子里,我非常沉迷于使用组合终结器(全屏)+ screen + vim。但是我遇到了 ctrl + right 和 ctrl + left 键映射的问题,它们是擦除文本而不是跳转单词。我已经检查过,它在仅使用终止符和 vim 时按预期工作。

有人知道如何解决这个问题吗?

提前致谢

vim gnu-screen

7
推荐指数
1
解决办法
1183
查看次数

vim、less 等上的 GNU 屏幕清除。出口

我对 screen 很陌生,但已经根据我在互联网上找到的各种建议配置了我的 ~/.screenrc 文件。我有一个问题,但我确信可以很容易地解决它;我认为这是一个termcap设置..?

在独立 bash(在 Mac OSX 10.6 上)中使用 less、vim、top 或其他程序后,退出这些程序时,终端的缓冲区将清除,当前命令行上方的行将是我输入的上一个命令。
但是,对于屏幕,当我退出这些程序中的任何一个时,屏幕缓冲区不会清除/刷新,我仍然会看到我在该程序中看到的内容..有意义吗??

例如在独立的 bash(没有屏幕)中:-

hostname:~ auser$ vim afile 
[do stuff in file, then :q to exit]
Run Code Online (Sandbox Code Playgroud)

退出后我会看到:-

hostname:~ auser$ vim afile 
hostname:~ auser$
Run Code Online (Sandbox Code Playgroud)

但在屏幕上:-

bash-3.2$ vim afile
[do stuff in file, then :q to exit]
Run Code Online (Sandbox Code Playgroud)

退出后,我会看到整个屏幕:-

~  # [Empty lines in vim are represented by these tilda characters. ]
...
~  # [ Every line on the screen is one of these tildas ]
bash-3.2$   # [ This …
Run Code Online (Sandbox Code Playgroud)

bash gnu-screen

7
推荐指数
2
解决办法
7701
查看次数

在byobu / screen中分离时退出复制/回滚模式

我发现如果我在 byobu 屏幕中进入“复制模式”或“回滚模式”,从它分离并保持运行,缓冲区将填满并最终阻塞我在屏幕中运行的进程。(大概是因为该进程被阻止写入 stdout,因为没有人消耗字节。)

这种行为是毁灭性的。是否有可能例如

  1. 从屏幕分离时自动退出复制/回滚模式,

    或者

  2. 一旦缓冲区已满,让处于复制/回滚模式的视图的位置向前移动,以允许进程继续执行

很高兴听到有关这方面的任何建议。

gnu-screen byobu

7
推荐指数
1
解决办法
490
查看次数

标签 统计

gnu-screen ×10

linux ×4

tmux ×2

bash ×1

byobu ×1

groups ×1

permissions ×1

putty ×1

security ×1

unix ×1

vim ×1