我创建了一个可以登录和注销的会话,但其他用户甚至看不到它,我尝试更改会话的权限,但没有任何反应
artem@server:/home/stop$ tmux ls
no server running on /tmp/tmux-1003/default
stop@server:~$ tmux ls
nest: 1 windows (created Thu May 30 17:56:44 2024)
Ubuntu 24.04 LTS(GNU/Linux 6.8.0-31-通用 x86_64)
我创建了一个可以登录和注销的会话,但其他用户甚至看不到它,我尝试更改会话的权限,但没有任何反应
artem@server:/home/stop$ tmux ls
no server running on /tmp/tmux-1003/default
stop@server:~$ tmux ls
nest: 1 windows (created Thu May 30 17:56:44 2024)
Ubuntu 24.04 LTS(GNU/Linux 6.8.0-31-通用 x86_64)
我在 ~/.config/tmux/tmux.conf 中有 tmux 配置文件,其中包含许多 UI 和键盘映射自定义。我不知道为什么它不在状态栏上显示窗口名称。所以我运行“tmux Kill-server”。它已重置为默认值并显示窗口名称。但现在配置文件根本不受影响。我不知道为什么,请帮助我。我从这里配置它: https://github.com/craftzdog/dotfiles-public/blob/master/.config/tmux/tmux.conf
我尝试将tmux
前缀快捷方式从 control b 重新映射到 control / by
unbind-key C-b
set-option -g prefix C-/
bind-key C-/ send-prefix
但没有达到预期,正确的方法是如何实现的?
我更新到 3.4,现在当我有两个不同的客户端连接到一个会话时,它曾经是,“最小的”客户端将决定大小。现在,您进行最后一次输入的客户端决定了大小,而其他客户端则进行了“放大”。
开始一个会话,在分辨率较低的终端中附加到该会话。第一个客户端调整大小以适应新的、更小的客户端。它看起来像这样: 大客户端,小会话 如果您切换到这个更大的客户端并键入或与之交互。会话跳到那个更大的客户端的大小。
我明白,这是为了方便起见,但有没有办法让会话始终保持最小客户端的大小?我浏览了手册页,但我发现的只是“忽略大小”选项。但是,当我尝试使用 `prefix :refresh-client -f !ignore-size' 取消设置此设置时,行为没有任何变化。
在下面的屏幕截图时,我的所有进程似乎都停止了约 4 个小时,因为我正在使用 tmux 运行几个机器学习实验,并且我发现自从 4 小时以来就没有输出到标准输出了。我尝试开始一个新的实验,但也没有输出到标准输出,尽管我可以使用 htop 找到新进程。此外,我无法停止使用 control+C 进行的新实验,我只能在 htop 中将其杀死,并且从 stdout 我确认它也已被杀死。
我还发现这似乎是由工具 python 调用引起的,
http://docs.pyinvoke.org/en/stable/
因为如果我不使用调用来开始实验inv debug
,而只是使用
python main.py --debug
可以启动新进程,尽管它也会在两者之间停止。
任何线索发生了什么,有什么方法可以避免或减少这种情况?谢谢!
系统信息:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic
Python
Python 3.7.6 (default, Jan 8 2020, 19:59:22)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import invoke
>>> invoke.__version__
'1.5.0'
我最近从 Ubuntu 18.04 升级到 Ubuntu 20.04,在byobu
, tmux
, Vim 和 ncurses 应用程序中遇到了一个奇怪的问题:Enter不起作用,我需要使用CTRL+M代替。
例如,如果我在 Gnome 终端的 Byobu(或 Tmux)窗口中编辑 Vim 中的文件,键入Enter不会插入换行符,而是插入带有M
字符的新行。要插入新行,我需要输入CTRL+ M。因此,要退出 Vim,我需要输入ESC :q
CTRL+ M。
这也发生在 ncurses 应用程序中,例如ncdu
: 而不是Enter我需要使用CTRL+ M。
更改TERM
环境变量似乎有帮助,但不是 100%。我进入的默认值byobu
是tmux
,TERM=screeen-256color
但如果我将其更改为TERM=xterm-256color
一切似乎在 Vim 中工作正常,但在ncdu
.
除此之外,Enter当我使用更改 Byobu 配置时 key 不起作用F9- 正如我上面所说的,我需要使用CTRL+M来选择配置中的项目。
我还尝试在~/.tmux.conf
and中添加以下行~/.byobu/.tmux.conf
,但它仅对 Vim 有帮助:
set -g default-terminal "xterm-256color"
问题xterm
也发生在。
我该如何解决这个问题?
我再次尝试了一个新用户,并遇到了同样的问题,所以我的猜测是它可能与系统相关。
修补一下,xev
我发现这台笔记本电脑的键盘有些奇怪——即使我在意大利,它也是一个 ANSI 键盘(标准的意大利键盘布局是 ISO),并且 Enter 按钮发送了错误的键码。
当我按下Enter按钮时,它会发送一个 kyecode 104, KP_Enter
,而不是通常的 keycode 36, Return
。所以这是一个硬件问题,可能与 Ubuntu 本身无关。不知道为什么我以前没有意识到。
我是使用 Tmux 的新手。我已经看到在 Tmux 中复制粘贴非常困难。所以我寻找一种更简单的方法。一些网站建议我应该使用 vim 模式,因为我对 vim 非常熟悉。但是,vim 模式复制粘贴不起作用。我不知道我做错了什么。但是默认的复制粘贴键绑定工作得很好。就像 Ctrl-Space 是选择文本,而 Ctrl-w 或 Alt-w 是在 Tmux 中复制选定的文本。这是我的 ~/.tmux.conf 文件。
# Improve colors
set -g default-terminal 'screen-256color'
# Set scrollback buffer to 10000
set -g history-limit 10000
# Customize the status line
set -g status-fg green
set -g status-bg black
set -g mouse on
bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
# remap prefix to Control + a
set -g prefix M-a
# bind 'C-a C-a' to type 'C-a'
bind M-a send-prefix
unbind C-b
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin '[email protected]/user/plugin'
# set -g @plugin '[email protected]/user/plugin'
set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/block/blue'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run -b '~/.tmux/plugins/tpm/tpm'
我正在使用 Tmux 2.5。在此先感谢您的帮助。
就像在标题中一样,我试图tmux
在单独的窗格中获得三个会话,每个会话用于我拥有的每个游戏服务器
Ubuntu 19.04 x86_64 服务器
通常我必须用 + + 创建一个新的水平窗格,然后用+ +调整它Ctrl的b大小_CtrlbJ
如何配置 tmux 以仅使用一个命令执行此操作?