Windows Git Bash用户挂后台tmux方案 #1380
EricYoung37
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
引言
开发者在README提到了repo版本可挂后台,这里我想为PC的Git Bash用户补充一下使用tmux的具体步骤。当然服务挂后台貌似有其他(更好的?)方案,但本人只捣鼓出tmux的,抛砖引玉,希望能帮到有需要的人。
作为Windows用户,习惯了用Git Bash(我的Node.js也是安在Windows本身而不是WSL)。然而如果用Git Bash运行这个服务,需要保持Git Bash窗口。如果工作时需要在多个窗口之间切换,这个Git Bash窗口就有些烦。
简单说下个人理解的tmux原理:
为Git Bash配置tmux:
MSYS2
窗口(运行msys64\msys2.exe
,MINGW64
默认应该是安到C盘,所以大概率是C:\msys64
),运行安装tmux的指令pacman -S tmux
。如果遇到报错libevent-2.1.12-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature))
,则运行指令pacman -Syu
,之后再尝试pacman -S tmux
(有可能会让你用-Sy
)。msys64\usr\bin
目录下,复制两个文件msys-event-2-1-7.dll
(后缀的版本可能不同)和tmux.exe
,粘贴到Git\usr\bin
(可能是C:\Program Files\Git\usr\bin
)。tmux
。如果报错则再从msys64\usr\bin
把msys-event_core-2-1-7.dll
也拷贝到Git\usr\bin
。clear
指令会出问题。在C:\Users\<你的PC用户名>
中创建.tmux.conf
,将以下内容复制进去,同时把文本的换行符设置为LF
(Windows原生是CRLF
),改这个符号可以借助VS Code
这类软件。用tmux运行UnblockNeteaseMusic:
Git Bash中,创建tmux session并进入
tmux new
或tmux new -s <session-name>
(如果不指定session-name
则默认第一个会话名为0
)注意这个指令输入后你就进入了tmux的窗口。
运行UnblockNeteaseMusic
node app.js
(或者指定一些参数,参考原项目的README)。tmux窗口中,脱离当前会话回到Git Bash
按ctrl-a松开后按d(意为detach)。
tmux原生是先按ctrl-b,但是注意
.tmux.conf
里面写到因此所有的ctrl-b都换成了ctrl-a。
tmux其他指令可自行找教程,只是要注意在我们的情况里所有的ctrl-b都换成了ctrl-a。
Git Bash中,查看所有session
tmux ls
(首个字段是你的session-name)Git Bash中,进入已有的session
tmux a -t <session-name>
(a
意为attach)Git Bash中,关闭某个tmux会话
tmux -kill-session -t <session-name>
Git Bash中,结束整个tmux服务
tmux kill-server
参考:
配置
MSYS2可能出现的Pacman指令问题
Beta Was this translation helpful? Give feedback.
All reactions