我最近更新了我的 Arch Linux 服务器,在这个过程中 tmux 得到了更新。我tmux在升级过程中使用它,然后使用它,但都是在同一个 SSH 会话中使用的。
但是,现在,每当我尝试发出任何tmux命令时,都会收到此错误:
tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968
Run Code Online (Sandbox Code Playgroud)
这是locale -a服务器上的输出:
$ locale -a
C
POSIX
Run Code Online (Sandbox Code Playgroud)
在我的机器上(Ubuntu 15.10):
$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
Run Code Online (Sandbox Code Playgroud)
这是怎么回事,我该如何解决?
如果我在 macOS 上的 iTerm2 中的 tmux 中使用鼠标选择文本,则会将所选文本复制到剪贴板中。我不必单击任何额外的按钮 - 只需选择所需的文本即可。
我已经在 macOS 上的 terminal.app 中测试了 tmux,但它在那里不起作用 - 我必须点击y将选择复制到我的剪贴板。
我认为有一个鼠标绑定(MouseOnSelection类似于MouseDown1Pane),但我在网络和man tmux.
我想知道是否有办法在 Ubuntu 16.10 上有类似的行为 - 最好是在 Gnome 终端中。
当我在给定环境中进行更改时,我大量使用 screen 的“log”命令将会话的输出记录到文件中。我搜索了 tmux 的手册页,但找不到等效的。有没有人知道 tmux 中的类似功能,或者我是否必须编写自己的包装器脚本才能做到这一点?
编辑:我知道允许我记录会话的“脚本”和其他实用程序。screen 的功能如此有用的原因是能够定义一个日志文件变量,该变量使用字符串转义来唯一标识每个会话。
例如,我有一个 shell 函数,给定一个主机名,它将在新的屏幕窗口中通过 SSH 连接到该主机,并将窗口标题设置为主机名。当我开始记录该会话时,它以窗口标题为前缀。
如果 tmux 中不存在此功能,我将不得不创建一组新的 shell 函数来设置我想要记录的会话的“脚本”。这并不是非常困难,但考虑到屏幕已经完全满足我的需求,这可能不值得付出努力。
我通常从特定的 Windows 服务器 (W1) 连接到远程 linux 服务器。在 Windows 端,我使用putty,在 linux 端,我启动tmux.
有时,我必须使用不同的 Windows 服务器 (W2) 并连接到相同的tmux会话。
问题:如果我putty在 W1 上为窗口设置了一个大小,那么我不能在 W2 上超过这个大小。当我最大化putty窗口时,多余的空间无法使用,充满了~字符。
有没有办法在 W2 上“强制”调整大小,即使这意味着 W1 将只显示部分输出?或者让 W1 与tmux会话断开连接的方法?
我正在尝试开始,tmux但我什至无法运行它。启动后立即退出,类似于这个问题。
它发生在没有.tmux.conf, 和(以下一些示例)的情况下.tmux.conf:
set -g default-shell /usr/bin/zsh
set -g status on
set -g history-limit 10000000
set -g prefix C-t
set -g status-bg green
setw -g window-status-current-bg cyan
setw -g window-status-current-attr bold
set -g status-right '#7H | %F %s'
bind-key C-t last-window
setw -g monitor-activity on
set -g visual-activity on
Run Code Online (Sandbox Code Playgroud)
new-session在 的开头添加.tmux.conf,如建议的那样,有些地方没有帮助,当我tmux new $SHELL也使用时会发生这种情况(再次建议在某处解决此问题)。
我在用:
tmux 1.9azsh 5.0.2我的tmux-server.log文件在以下之后显示tmux -v:
server …Run Code Online (Sandbox Code Playgroud) 我的 .tmux.conf 中有以下内容
set -g prefix M-j
bind-key j send-prefix
Run Code Online (Sandbox Code Playgroud)
我需要按 ( Atl+ J) + ( J) + bound-key 将某些内容发送到嵌套的 tmux 会话。我觉得比较慢。有没有更好的办法?例如,我希望能够执行 ( Alt+ J) + (2x bound-key) 在嵌套会话中执行操作。我经常在顶级 tmux 会话中执行命令,而不是在嵌套会话中执行它们。另外,为什么每个人都绑定prefix到C-a?我发现输入这种组合非常缓慢且令人不快。我错过了什么吗?
当我创建一个新的 tmux 会话时,我的提示从默认的 bash 配置中提取,我必须手动运行source ~/.bashrc我的自定义提示。
我正在使用 RHEL 7 机器。在不久前的一次 bash 更新后,我开始注意到这种行为,但直到现在才开始提出这个问题(我不确定这开始发生在哪个更新)。
例如,我已将提示自定义为如下所示:
[user@hostname ~]$
每当我开始一个新的 tmux 会话时,它使用的似乎是 bash 默认值:
-sh-4.2$
快速运行source ~/.bashrc总是可以解决问题,但每次我想修复一些小问题时都必须这样做,这很烦人。关于如何让 tmux 再次自动执行此操作的任何想法?
如果需要更多信息,我很乐意提供。
作为参考,我在tmux.conf下面有我的文件,尽管它几乎不是您可以称之为自定义的。
setw -g mode-keys vi
# reload tmux.conf
bind r source-file ~/.tmux.conf \; display-message " ? ~/.tmux.conf is reloaded"
Run Code Online (Sandbox Code Playgroud) 是否可以将tmux前缀键盘快捷键Ctrl+更改B为Alt+ B?
我试图重新附加到长时间运行的 tmux 会话以检查 python 网络应用程序。然而tmux attach声称没有正在运行的会话,并ps显示一个tmux进程(第一行),但用问号而不是pts数字。
这是什么意思——这个 tmux 会话是否永久丢失了,可能是什么原因造成的?有没有办法查看 python 进程的当前状态,在 tmux 会话中产生并在pts/19(第二行)中运行?
[mhermans@web314 ~]$ ps -ef | grep mhermans
mhermans 16709 1 0 Mar04 ? 00:26:32 tmux
mhermans 8526 16710 0 Mar04 pts/19 00:20:04 python2.7 webapp.py
root 9985 6671 0 10:18 ? 00:00:00 sshd: mhermans [priv]
mhermans 10028 9985 0 10:18 ? 00:00:00 sshd: mhermans@pts/16
mhermans 10030 10028 0 10:18 pts/16 00:00:00 -bash
mhermans 16247 10030 6 10:28 pts/16 …Run Code Online (Sandbox Code Playgroud) 我一直在尝试不同的 tmux 键绑定设置,我注意到以下几点:
如果我重新加载我的 tmux 配置(从 tmux 中),我曾经加载的键绑定将保持加载状态。清理它的唯一方法(我知道)是退出所有 tmux 会话并重新启动。所以看起来 tmux 会记住所有以前加载的键绑定,并且只会在重新开始时或通过显式解除绑定来删除它们。
要重新创建这个:
PREFIX C-t)PREFIX ?以查看列表中的键绑定~/.tmux.confbind C-t display "Keybinding C-t")PREFIX : source-file ~/.tmux.conf)PREFIX C-t)PREFIX ?以查看列表中的新键绑定~/.tmux.conf再次编辑bind C-t display "Keybinding C-t")PREFIX : source-file ~/.tmux.conf)PREFIX C-t),它仍然显示“键绑定Ct”PREFIX ?以查看新的键绑定仍在列表中tmux ×10
arch-linux ×1
bash ×1
clipboard ×1
gnu-screen ×1
locale ×1
logs ×1
process ×1
session ×1
unicode ×1