AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[tmux](unix)

Martin Hope
Hauke Laging
Asked: 2025-03-09 08:04:23 +0800 CST

tmux 在显示菜单中引用问题

  • 5

如果我在命令行中运行该命令,它将按预期工作tmux:

list-panes -a -F "pane ID: #{p3:pane_id}  TTY: #{p11:pane_tty}"

输出:

pane ID: %1   TTY: /dev/pts/35
pane ID: %2   TTY: /dev/pts/36
pane ID: %3   TTY: /dev/pts/37
pane ID: %4   TTY: /dev/pts/38

但我无法让它们在 内工作display-menu。问题似乎很明显(至少从我的 shell 角度来看):需要额外的引号级别,以便list-panes看到格式字符串而不是其解析值。但显然我做错了:

bind-key C-t display-menu -T 'Test' \
    'List panes with tty' '' "list-panes -a -F 'pane ID: \#\{p3:pane_id\}  TTY: \#{p11:pane_tty}"
bind-key C-t display-menu -T 'Test' \
    'List panes with tty' '' {
        list-panes -a -F 'pane ID: #{p3:pane_id}  TTY: #{p11:pane_tty}'
    }

输出:

pane ID: %1   TTY: /dev/pts/35
pane ID: %1   TTY: /dev/pts/35
pane ID: %1   TTY: /dev/pts/35
pane ID: %1   TTY: /dev/pts/35
tmux
  • 1 个回答
  • 18 Views
Martin Hope
AuraWare
Asked: 2025-02-27 09:02:58 +0800 CST

不使用热键切换到 tmux 中的其他会话

  • 5

最近我了解了 Linux 的这个新部分,即 tmux,我的整体想法是:绝对的美妙,随着我对 Linux 的深入了解和更多项目的开展,tmux 给了我越来越多的帮助,但在相当长一段时间内,我开始对制作可以自行移动到不同会话的 bash 脚本感兴趣,而无需用户实际按下热键,但通常当我搜索如何移动到其他会话时,它只会显示要按的热键,而不是实际显示命令。

有人可以告诉我是否有一个命令可以切换到其他会话,这样我就不必不断按热键来切换到其他会话,谢谢。

tmux
  • 1 个回答
  • 18 Views
Martin Hope
Krackout
Asked: 2025-02-25 18:29:42 +0800 CST

当 tmux 窗口中的同步窗格处于打开状态时,在窗格中切换输入的快捷方式

  • 5

有时,当我使用同步窗格同时向多个服务器输入命令时,我需要排除其中的一两个。

因此,我希望在 tmux 窗口中启用 synchronize-panes 时有一个快捷方式来切换窗格中的输入。目前,我手动键入select-pane -d -t {number}以禁用输入,然后select-pane -e -t {number}再次启用输入。

对我来说,要么禁用当前窗格的输入,要么按快捷键然后输入窗格编号。对于第一个选项,我尝试过select-pane -d -t "#{pane_index}","#P"但没有成功;我相信这"#{pane_index}"是当前窗格编号的变量;显然不是。

有什么想法如何实现吗?

tmux
  • 1 个回答
  • 13 Views
Martin Hope
ludog
Asked: 2024-06-25 19:07:09 +0800 CST

在 tmux 复制模式下绑定 Ch

  • 5

我正在尝试绑定C-h以移动到左侧窗口。这是我的 tmux.conf

set -g default-terminal "xterm-256color"
bind -n S-down new-window
bind -n C-l next
bind -n C-h prev
bind q killp
unbind C-b
set-option -g prefix C-space
bind-key C-a send-prefix
bind c new-window -a
set-option -g history-limit 20000
set -g pane-border-style 'fg=colour1'

所有这些绑定在正常模式下都能正常工作。在复制模式下,除了 之外,它们都可以正常工作C-h, 仍然起到退格键的作用,只是将光标向左移动。我正在使用 Vi 全局绑定,所以我猜这就是原因。是否可以覆盖此 Vi 绑定?我unbind-key C-h先尝试添加,没什么区别。

的输出tmux list-keys -T copy-mode-vi | grep cursor-left为:

bind-key -T copy-mode-vi C-h send-keys -X cursor-left
bind-key -T copy-mode-vi h send-keys -X cursor-left
bind-key -T copy-mode-vi BSpace send-keys -X cursor-left
bind-key -T copy-mode-vi Left send-keys -X cursor-left
tmux
  • 1 个回答
  • 21 Views
Martin Hope
Whimusical
Asked: 2024-03-25 05:33:27 +0800 CST

将 sleep 命令传递给 tmux new-session -d 和不传递任何内容有什么区别?

  • 5

我正在玩一个在这个答案之后将文本发送到 tmux stdin 的脚本(https://unix.stackexchange.com/a/773049/189571 by @Kamil Maciorowski),我错误地这样做了

tty=$(tmux new-session -d -s aux -PF "#{pane_tty}")
echo -n foo > $tty && tput cr > $tty && echo bar > $tty
tmux capture-pane -t aux -p -S0 -E3

结果是foo PROMPT %> bar(不确定地排序,并打印 PROMPT)

而按照卡米尔的建议,相同但使用命令tail -f /dev/null作为 tmux new-session 的参数,给出barresult ,这是我所期望的

我想了解为什么没有尾巴一切都会失败。这里不就是tail -f /dev/null一个吗sleep infinity?与不传递任何命令有什么区别?我的意思是,如果您不将任何内容传递给新会话,则该窗格将保持活动状态,直到终止会话为止

tmux
  • 1 个回答
  • 25 Views
Martin Hope
Whimusical
Asked: 2024-03-25 05:01:27 +0800 CST

xterm 和 screen 之间的 TERM ANSI 转义序列兼容性,尽管 infocmp 没有这么说

  • 5

我正在 Mac 上的 zsh 中制作一个使用 tmux 的脚本,在令人惊叹的https://unix.stackexchange.com/users/22565/st%c3%a9phane-chazelas回答之后,我发现当我使用 tmux 时,它使用与我的主机不同的解释器。

因此,当我从脚本 tput 命令向 tty 和 tmux 窗格输出相同的文字时,我想知道我正在生成的 ANSI 转义序列是否存在一些不兼容性。

我发现 $TERM 在我的 mac 中是 xterm-256color,在 tmux 窗格中是 screen-256color,因此我发出

%> infocmp xterm-256color screen-256color

我正在使用使用 tput clear、civis、sgr0、cnorm、rc、sc、home、cd、cr、el、cub1、cud、cuf 的代码。代码正在运行,输出是在 xterm 上下文中使用 tput 生成的,并且在 tee 时在 tty 和 tmux 上都能很好地呈现。

但根据 infocmp 的说法,例如,clear 在这两个术语上都有不同的转义序列:

comparing xterm-256color to screen-256color.
        clear: '\E[H\E[2J', '\E[H\E[J'

那么它如何运作呢?

作为一个附带问题,我的命令的 msot 没有出现在比较中,这是否意味着它们在理论上不受支持,或者它们在这两个术语中都很常见?

tmux
  • 1 个回答
  • 20 Views
Martin Hope
Mihai Danila
Asked: 2024-03-21 08:52:39 +0800 CST

由于前缀匹配,“tmx”(tmux) 错误地连接到现有会话

  • 5

我使用“tmx”创建了一个名为“foos”的 tmux 会话,现在我想创建一个名为“foo”的新会话,其中后者是前者的前缀。但 tmux 将我连接到现有会话。

我想直接创建指定的会话。更好的是,我想在所有上下文中处理会话时将“tmx”从前缀匹配切换为精确匹配。

我的“tmx”脚本中有很多东西,但我认为相关部分是:

  if tmux has-session -t "${name}" &> /dev/null; then
    exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" attach-session -t "${name}"
  else
    exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" new-session -s "${name}"
  fi
tmux
  • 1 个回答
  • 23 Views
Martin Hope
merlin2011
Asked: 2024-03-16 07:41:55 +0800 CST

是否可以在命令模式下更改 tmux 状态栏的颜色?

  • 5

当我开始Prefix-:输入命令时, tmux会将状态栏的颜色更改为深黄色。Prefix-,如果我按下按钮更改窗口名称,也会发生类似的效果。

是否可以控制状态栏的颜色变化?

我已经看到这个问题并在网上搜索,但未能找到解决方案。

tmux
  • 1 个回答
  • 14 Views
Martin Hope
milosgajdos
Asked: 2023-12-27 21:19:04 +0800 CST

重新映射 tmux 键以像在 vim 中一样导航窗格

  • 5

vim我通过点击Ctrl+wrelease +来导航窗格an arrow key (left|right|down|up)。

我想更改我的tmux配置,以便窗格导航与中相同,vim这样我就不必进行上下文切换。

目前,我有以下配置用于导航窗格tmux:

bind-key j select-pane -D
bind-key k select-pane -U
bind-key h select-pane -L
bind-key l select-pane -R

我的全局前缀设置为,C-f以便我可以通过点击在窗格之间导航C-f + arrowkey。

有什么方法可以将其重新映射为C-w + arrowkeylikevim吗?

我尝试过类似的事情,但毫无结果

bind -n C-w-j select-pane -D
bind -n C-w-k select-pane -U
bind -n C-w-h select-pane -L
bind -n C-w-l select-pane -R

我误解了键的组成如何在 中工作tmux,但文档没有多大帮助。

tmux
  • 1 个回答
  • 32 Views
Martin Hope
kyrlon
Asked: 2023-10-27 00:41:47 +0800 CST

如何阻止用户输入并在 tmux 窗口中创建只读模式?

  • 5

我想为会话中的特定窗口创建只读模式tmux。我想阻止该窗口中的任何用户输入或交互,从而有效地使其只读。更改窗口选项以启用/禁用此功能将是完美的。

我已经在 中搜索了选项tmux,但似乎没有专门针对只读模式的内置功能。理想情况下,我正在寻找一种解决方案,允许我将窗口设置为只读,tmux同时仍显示内容并允许其他用户观察会话。

一个例子是,用户可以使用该watch命令轻松监视日志更改,而不会出现任何无意干扰的风险。任何有关如何实现这一目标的建议或指导将不胜感激。

tmux
  • 1 个回答
  • 58 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve