Questions tagged «tmux»

tmux是一个终端多路复用器:它使多个终端(或窗口)能够在单个屏幕上创建,访问和控制,每个终端(或窗口)运行一个单独的程序。tmux可能会与屏幕分离,并继续在后台运行,然后再重新连接。

2
Ctrl-C不适用于pppd非分离会话
我有一个Mini2440 ARM板,并使用放置了一个基本的Debian 6.0系统multistrap。 我曾经tmux在的不同窗口中运行过多个进程/etc/rc.local。我使用其串行端口和getty在该端口上运行的inittab条目连接至开发板。我picocom用作串行通讯器。 当root登录时,~/.bashrc将他附加到已经在运行的tmux服务器上,可以轻松地监视进程。实际的命令是exec tmux attach-session -t "main"。tmux使用默认配置运行。 一切正常,除了其中一个进程(周围的shell脚本pppd)没有Ctrlc从终端接收而其他进程可以接收。也Ctrl\可以。也 kill -INT <pppd_pid>可以,但kill -INT <shellscript_pid>不能。 我真的需要Ctrlc工作 此设置有什么问题? 编辑:这是stty -a外壳程序脚本中的输出,就在之前pppd: speed 38400 baud; rows 23; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; …
12 linux  debian  terminal  tmux  ppp 

1
SSH,tmux和GnuPG代理的最佳做法
我正在尝试将加密软件整合到GnuPG,但遇到了一个令人困惑的问题。 我的主要设备是无头服务器,我专门在tmux中工作。没有X会话,因此我已经将gpg-agent配置为使用pinentry-curses。我已配置gpg-agent使用以下脚本通过ssh-agent仿真在登录时调用: if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then eval `cat $gnupginf` eval `cut -d= -f1 $gnupginf | xargs echo export` else eval `gpg-agent -s --enable-ssh-support --daemon` fi 我已经将ssh密钥添加到了gpg-agent中,但是当我尝试另一个ssh会话时,命令将挂起。 我发现,如果我杀死gpg-agent并创建一个新的登录shell,则该代理将按其应有的方式工作(调用pinentry-curses然后像ssh-agent一样工作)。 但是,如果我创建另一个登录外壳(例如,通过弹出打开另一个tmux窗格)并尝试ssh,该命令将挂起,并且pinentry-curses窗口将打印在最初启动该代理的登录外壳的内容上。 此外,如果我关闭了最初启动该代理程序的外壳,则无论如何都会调用pinentry-curses并导致cpu-crippling无限循环。(已知的错误,请参见http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559936。) 本质上,我想知道要更改我的设置以使GnuPG代理与ssh-agent一样无缝地工作。谢谢你的帮助!
12 ssh  tmux  gpg 

2
别名和tmux
在定义的别名.bash_aliases和.bashrc不工作的tmux。 可以在某些配置中更改此名称,以便别名在下工作tmux吗?

2
将Byobu与tmux一起使用时在Vim中使用Ctrl +箭头键时出现问题
在Vim中,我已将Ctrl + Arrow键设置为跳过单词。在gnome终端中运行Vim时,这工作得很好。 但是,当使用byobu(tmux)时,它表现出奇怪的行为:它将删除光标后的所有内容。 作为参考,以下是我的vim设置: :inoremap <C-Left> <C-\><C-O>b :inoremap <C-Right> <C-\><C-O>w
12 tmux  byobu  vim 

2
tmux:将键重新映射到左/右/上/下窗格
Tmux允许使用Ctrl-b+ 在窗格间移动(→, ←, ↑, ↓)。 我想重新映射到: Ctrl-b+ Ctrl-(l, j, i, k)。 作为参考,按键的布局l,j,i,k与箭头键的布局相似,但无需移动手即可轻松键入。 我一直在上和处进行一些编辑.tmux.conf,但是找不到有关如何重新绑定以上命令的信息。
12 tmux 

1
在tmux.conf文件中使用环境变量
是否可以在tmux.conf文件中使用环境变量?我正在尝试为环境变量设置默认路径。目前我正在尝试的是: set -g default-path $MYVAR 此外,我想检查$ MYVAR是否已设置,所以我可以这样做: if($MYVAR == "") set-environment -g MYVAR /somepath/ 有任何想法吗?

3
Tmux-从脚本获取窗口中每个窗格的窗格号?
有没有办法找出Tmux中特定窗格的窗格索引? 我知道我可以执行以下操作: tmux display-message -p "#{pane_index}" 但这仅适用于活动窗格。我希望它能在运行的任何窗格中正常工作。通常,在非活动窗格的窗格中运行脚本当然很困难,但是如果您使用可以:set-window-option synchronize-panes在所有窗格之间同步输入,则可以。 我将如何使用它? 在我的工作中,我需要同时连接到负载均衡器中的多个相同服务器,这与Tmux窗格相同。我通常会打开“同步窗格”功能,以使我键入的内容可以同时发送到每个窗格。这很好。 我发现的事情是,我想连接到服务器,有时每个窗格都做一些独特的事情,每次都使用相同的“窗格索引”。例如,我将运行如下命令: ssh NODE_$(get_pane_number) 同步并在每个窗格中运行时,它们将在具有4个窗格的窗口中运行以下命令: ssh NODE_0 在窗格0中 ssh NODE_1 在窗格1中 ssh NODE_2 在窗格2中 ssh NODE_3 在窗格3中 我当然可以编写脚本,但是只有在开始同步输入之前,它才能很好地工作。有时候,我也想在开始同步输入后执行此操作。
12 tmux 

3
在tmux会话中退出最后一个终端时,可以切换到另一个终端吗?
当我退出tmux会话中的最后一个终端时,它将自动关闭tmux并将我返回到父终端。是否可以将tmux切换到另一个已经运行的会话而不是关闭? 我为我处理的每个任务创建了一个新的命名会话,例如TRxxx,电子邮件,暂存器等,当其中一个完成后,我通过在每个终端中运行exit关闭所有终端。当您在会话的最后一个终端中运行exit时,tmux将使您返回到父终端,但是否有可能将其切换到其他打开的会话之一,所以我不必重新连接? 这个问题类似于“ 杀死一个tmux会话并选择另一个tmux会话 ”,但是我想通过退出而不是杀死窗口来关闭终端。
12 tmux 

1
在ash模式下以ASCII模式在YouTube视频中waching
我已经找到了如何在终端中以ASCII模式观看YouTube视频,但是我的目标是在bash会话中观看视频,而无需打开其他窗口。 因此,假设我已经有一个tmux 会议,并且我这样做: $ watch-youtube <video-url> 我想在那个tmux窗口/窗格(拆分)中观看。 我怎样才能做到这一点? 相关输出 $ mpv --vo help Available video outputs: vdpau : VDPAU with X11 opengl : Extended OpenGL Renderer xv : X11/Xv sdl : SDL 2.0 Renderer opengl-old : OpenGL (legacy VO, may work better on older GPUs) vaapi : VA API with …
12 terminal  tmux 

4
杀死一个tmux会话并选择另一个tmux会话
我试图绑定X以执行以下操作: 提示用户是否应终止会话 如果y输入,则终止会话 会话被杀死后,选择另一个会话(上一个,上一个或下一个会话) 一些不太正确的类似命令 终止会话并关闭终端: bind X confirm-before -p "Kill #S (y/n)?" kill-session 提示用户输入要终止的会话的名称,并在终止后选择下一个会话: bind X command-prompt -p "kill:" "switch-client -n \; kill-session -t '%%'" 我还没有找到类似命令的示例。这是一个不起作用的解决方案: bind X confirm-before -p "Kill #S (y/n)?" "SESSION='#S' \; \ switch-client -n \; kill-session -t \"$SESSION\""
11 tmux 


6
tmux导致水蟒使用不同的python源
好的,所以我在anaconda环境中,运行了哪个python。我懂了 /home/comp/anaconda3/envs/env1/bin/python 现在,如果我启动tmux,然后运行source activate env1,那么我会得到哪个python /home/comp/anaconda3/bin/python 即使我确实激活了我的环境。我如何让Anaconda在tmux内部看到相同的路径?
11 python  tmux 

3
tmux不着色PS1提示
我最近决定更改PS1变量,以适应​​一些漂亮的日晒颜色,以使我的终端观看愉悦。当不在tmux会话中时,一切都很好!彩虹,小马,独角兽和明显的提示!凉! 问题出在tmux之内。我已经验证了PS1的值是我期望的值,并且与tmux未运行时的值相同,即\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]。 我的.bash_profile中的所有别名等也都按预期运行。tmux还在显示颜色而不会发生意外,echo -ne "\033[1;33m hi"正如预期的那样gls --color。 我的.bash_profile中当前相关的行是export PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]",尽管最初我是在.bash_prompt文件中寻找一个脚本来处理一些条件的,等等。我试图恢复到较简单的版本。 执行bash将导致提示变色,但是必须在每个窗格中完成。export PS1=[that long string I've already posted]将不会。 我的.tmux.conf如下: set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/bash" set -g default-terminal "xterm-256color" set-window-option -g automatic-rename on bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" .bash_profile的相关部分: …
11 bash  osx  tmux  prompt 

2
“ CTRL + arrow / s”的gnome终端ANSI转义序列是什么?
我正在尝试将bash配置~/.inputrc为这些设置 (注意:←,→指的是左右箭头键) Ctrl+ ←-应该跳回一个字 Ctrl+ →-应该向前跳一个字 目前,我已经拥有了~/.inputrc它,但是它不起作用。Ctrl + arrow什么都不产生。 "\eC-5C":forward-word "\eC-5D":backward-word 我确定我的转义顺序是错误的。组合 的正确转义顺序是Ctrl + arrow什么? 终端:gnome终端内部的tmux

2
在Tmux状态栏Shell命令中使用环境变量
我正在尝试创建一个tmux状态栏,其中显示了三个时区: US Eastern Time :: UTC :: Central European Time。使用TZ环境变量可使date命令显示给定时区中的时间。 我正在尝试使用此tmux.conf设置来这样做: set -g status-right "#[fg=white]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: #(TZ=America/New_York date +%H:%M) :: #(date -u +%H:%M) UTC :: #(TZ=Europe/Belgrade date +%H:%M)" 但是,传递TZ=foo在中不起作用#(…)。(我得到的服务器,date而不是我的预期)。有什么建议?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.