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
Uh oh!
There was an error while loading. Please reload this page.
-
引言
开发者在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