当前位置: 首页 > news >正文

tmux 使用

命令行的典型使用方式是打开终端窗口(terminal window,以下简称"窗口")。用户与计算机的这种临时的交互,称为一次"会话" (session)

会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。

会话与窗口可以"解绑":窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话"绑定"其他窗口。

Tmux 就是会话与窗口的"解绑"工具,将它们彻底分离。

它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。

它可以让新窗口"接入"已经存在的会话。

它允许每个会话有多个连接窗口,因此可以多人实时共享会话。

它还支持窗口任意的垂直和水平拆分。

1. 安装

  • Ubuntu 或 Debian
sudo apt install tmux
  • CentOS 或 Fedora
sudo yum install tmux
  • Mac
brew install tmux

2. 使用

2.1. 新建会话

tmux new -s <session-name>

2.2. 分离会话

按下Ctrl+b d或者输入tmux detach命令

2.3. 查看当前所有的会话

tmux ls # or tmux list-session

2.4. 接入会话

# 使用会话编号 tmux attach -t 0 # 使用会话名称 tmux attach -t <session-name>

2.5. 清屏

tmux clear-history

3. 自动启动tmux

echo usage: $0 [session_name] cmd=$(which tmux) # tmux path session="$HOSTNAME" # session name if [ -z $1 ]; then session="ROBOT" echo default session_name = "ROBOT" else session=$1 fi if [ -z $cmd ]; then echo "You need to install tmux." exit 1 fi robot_root="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." >/dev/null 2>&1 && pwd )" echo robot_root=${robot_root} $cmd has -t $session if [ $? != 0 ]; then echo "starting new tmux session" $cmd new -n env -s ${session} -d $cmd selectw -t $session && $cmd send -t $session ENTER "rm -rf ~/.ros/log" ENTER "cd ${robot_root}/script" ENTER "bash setup.sh" $cmd splitw -v -p 50 -t $session && $cmd send -t $session "sudo ntpdate -b 192.168.1.100" ENTER "roscore" ENTER fi $cmd att -t $session exit 0

4. 配置鼠标操作

在Terminal输入vi ~/.tmux.conf创建一个配置文件,并在文件中输入set -g mouse on并保存。

随后在Terminal中输入tmux进入tmux模式,进入后按Ctrl+b+:,此时tmux底部会变颜色。在此输入source ~/.tmux.conf并回车即可。

参考文献

Tmux 使用教程_瞎几波写-CSDN博客_tmux

配置tmux鼠标操作_DY的博客-CSDN博客_tmux 鼠标

Tmux 使用教程_termux怎么切换会话窗口-CSDN博客

http://www.cnnetsun.cn/news/1486729.html

相关文章:

  • 开源大模型落地案例:Pixel Fashion Atelier助力中小服装品牌像素风VI升级
  • 武器仿真进阶:AFSim六自由度制导处理器的5个高阶用法
  • 别再乱找了!Win11/Win10下WSL的wsl.conf和.wslconfig文件路径全解析(附修改教程)
  • 别再用直方图了!用Python+OpenCV手把手教你提取图像纹理特征(GLCM实战)
  • SenseVoice-Small ONNX实战案例:远程面试录音→候选人回答要点自动提取
  • WindowsCleaner:让C盘重获新生的系统清理解决方案
  • SDMatte开源镜像免配置教程:Web界面开箱即用抠图全流程
  • 如何用PCL库将SolidWorks模型(.obj/.stl)高效转为稠密点云?实测pcl_mesh_samplingd.exe最佳
  • 保姆级教程:用Python处理清华大学SSVEP脑电数据集(附完整代码与数据重塑技巧)
  • NumPy:数组复制与视图
  • Youtu-VL-4B-Instruct应用案例:智能客服、教育答题、内容审核,多行业落地解析
  • Fireworks与Icofx3完美搭配:5分钟搞定专业级ICO图标制作(附快捷方式美化技巧)
  • 告别单调!用LeaguePrank打造你的英雄联盟专属秀场
  • 嵌入式开发必看:NFS根文件系统挂载失败的5个常见原因及解决方法
  • # 发散创新:基于Python与OpenCV的手势识别系统实战详解在智能交互日益普
  • Cadence Allegro 17.4新手必看:原理图工程创建与文件管理的5个高效习惯
  • Wan2.2-I2V-A14B企业级部署:支持JWT鉴权与API调用频控的生产环境方案
  • react19和vue3的优缺点 对比
  • Spring Boot导出Excel时遇到Stream is closed?这个隐藏的坑你可能没发现
  • ViGEmBus内核驱动技术指南:从虚拟控制器到定制开发实践
  • SDMatte透明PNG元数据规范:EXIF/IPTC嵌入、版权信息自动写入功能
  • 告别飞书文档迁移困境:feishu-doc-export的自动化解决方案
  • AI辅助开发实战:用Python高效完成毕业设计与开题报告的技术路径
  • Comsol模拟热流固盐四场耦合:探索冻融条件下盐迁移的奇妙之旅
  • Matlab科研绘图实战:瀑布图(Waterfall)的配色优化与多场景应用
  • 手把手教你用LM358P搭建二阶巴特沃斯低通滤波器(附Multisim仿真)
  • 5大维度解锁信息自由:开源内容访问工具全攻略
  • 告别配对烦恼:用Auracast蓝牙广播,让手机、耳机和电视实现一拖多音频共享
  • COMSOL水力压裂中的应力-渗流-损伤模型仿真分析
  • 数学空间的构建艺术:从集合到结构化对象的演变之路