使用以下方法分配用户的次要组列表时:
# usermod -G <grouplist> <user>
Run Code Online (Sandbox Code Playgroud)
是否可以在不注销所有正在运行的会话的情况下强制此组分配生效?
这在Screen会话存在许多正在运行的 shell的情况下非常有用,因为本质上需要销毁整个会话才能使组分配生效。
我想我可以使用newgrp
命令在正在运行的 shell 中更改用户的主要组- 是否有一些适用于次要组的替代方法?
理想情况下,我想要一些可以在每个 shell 中生效的东西,而无需在每个 shell 中手动运行,但如果失败,可能是某种强制 Screen 在每个 shell 中执行相同命令的方法。
我即将重新开始使用GNU Screen,但我听到人们偶尔会提到tmux作为更好的选择。它是否真的提供了Screen提供的所有功能的替代方案,例如不同窗口中的活动监控等?各自的优缺点是什么?
是否可以更改 GNU 屏幕会话的名称?假设我用“screen -S foo”调用了它,我想将它重命名为 bar。
如何让屏幕执行命令然后分离(即,自动在单个脚本中,除了最初启动脚本之外无需进一步输入)?例如,我运行 myscript.sh,它会自动启动一个屏幕会话,执行一个命令,然后分离。
到目前为止,我已经使用Konsole来管理多个 shell 会话,但我还没有尝试过Byobu、GNU Screen和tmux,它们为多个 shell 提供了更好的支持。它们都共享一个主要功能,即允许分离当前会话并稍后重新附加到该旧会话。
为了帮助我选择学习工具,我想知道:它们在以下方面有何不同?
vim
和emacs -nw
(非窗口模式或文本模式)吗?键盘快捷键会与其他工具的快捷键冲突吗?我刚刚尝试了所有这些,Byobu 看起来像是 GNU Screen 和 tmux 的一种前端。那么为什么有人创建了 Byobu 而不是为 GNU screen 项目做出贡献并添加新功能?为什么 GNU Screen 中的 Byobu 不是某种高级界面模式?如果我使用 Byobu 作为我的日常工具,以 GNU screen 作为后端,如果某台机器只有 GNU Screen,我是否可以将这些知识转移到没有 Byobu 的情况下使用 GNU Screen?
屏幕带有Ctrl+ A。另一方面,在 screen 中开发的 tmux 使用Ctrl+ B。然而,这两种击键也用于编辑器、shell 等。因此,在 tmux 或 screen 中使用时,选择其中任何一种都会降低这些工具的用户体验和功能。
什么前缀与其他程序和 shell 的键绑定冲突最少?
我正在尝试学习如何screen
在 unix 中使用, 这样我就不必因为我想在一台机器上同时做不止一件事情而打开几个 ssh 连接和终端窗口。我发现 split 命令非常有用,但我有一个问题,我似乎无法弄清楚......我如何取消拆分?
我可以使用 split 拆分^A S并在它们之间切换使用^A ^I,但无法弄清楚如何删除拆分...
由于我使用了 tmux,因此在 Vim 中切换插入模式和从插入模式切换不再是即时的。Esc在插入模式下按下后,需要很长时间才能真正退出插入模式。按下Esc和之后的任何其他键后立即切换,并Esc执行之后按下的键的命令。知道什么可能导致这种情况吗?
Vim 配置不是问题,因为当我在 tmux 之外运行 Vim 时不会发生延迟,所以这可能与 tmux 有某种关系。顺便说一句,我使用 gnome-terminal。
同样值得注意的是,似乎我无法在 tmux for 中定义键绑定Esc,我的计划是绑定Esc到:
bind Escape send-keys ^[
Run Code Online (Sandbox Code Playgroud)
唉,似乎Esc为 tmux绑定任何东西都不起作用。同样的问题也出现在屏幕上。
我从命令行(在 Linux EC2 实例上的 Screen 内)整夜运行脚本,并且发生了一些我没有跟踪的错误。我想在 Screen 中“向上滚动”或查看更多历史记录,但我似乎找不到任何可以工作的命令。
我需要比我在当前屏幕上看到的“更远”的屏幕输出。CTRL + a 应该让我进入 Screen 内的滚动模式,但它不起作用。
screen
有Ctrl-a,Ctrl-a在两个最新的窗口之间切换?
怎么做呢tmux
?
gnu-screen ×10
tmux ×5
linux ×4
command-line ×2
shell ×2
byobu ×1
debian ×1
history ×1
hotkeys ×1
permissions ×1
script ×1
unix ×1
vim ×1