GitSquared / edex-ui

A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.
GNU General Public License v3.0
40.5k stars 2.55k forks source link

How to make tmux works with cygwin on Windows envirnment? #575

Closed JackTheMico closed 5 years ago

JackTheMico commented 5 years ago

Hi, thank you for created such a great project. I'm using it on Windows10 and with cygwin, so my shell config value is "D:\cygwin64\bin\bash.exe". When I try to use tmux, it shows error like this: image It seems like edex-ui doesn't support full tty emulation like here says. Is there anything I can do to make it work or will edex-ui support it in the future plans?

JackTheMico commented 5 years ago

By the way, tmux will work fine on cygwin's mintty, it just cannot work on edex-ui. image

GitSquared commented 5 years ago

eDEX does support full tty emulation, and tmux works fine on *nix systems: Screenshot_20190903_094224

I do not know how the cygwin bash emulation works on Windows, but it could be that you're missing an environment var. Could you give me the output of running env in eDEX?

JackTheMico commented 5 years ago

Here it is.

USERDOMAIN=LAPTOP-RB357H0H
OS=Windows_NT
COMMONPROGRAMFILES=C:\Program Files\Common Files
PROCESSOR_LEVEL=23
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
CommonProgramW6432=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
PUBLIC=C:\Users\Public
$home=D:\home
COLORTERM=truecolor
USERNAME=Jack Deng
ChocolateyInstall=C:\ProgramData\chocolatey
JAVA_HOME=D:\Program Files\AdoptOpenJDK\jdk-11.0.4.11-hotspot\
LOGONSERVER=\\LAPTOP-RB357H0H
PROCESSOR_ARCHITECTURE=AMD64
LOCALAPPDATA=C:\Users\Jack Deng\AppData\Local
COMPUTERNAME=LAPTOP-RB357H0H
SYSTEMDRIVE=C:
BETTER_EXCEPTIONS=1
USERPROFILE=C:\Users\Jack Deng
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
SYSTEMROOT=C:\WINDOWS
USERDOMAIN_ROAMINGPROFILE=LAPTOP-RB357H0H
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 24 Stepping 1, AuthenticAMD
OneDriveConsumer=D:\Jack Deng\OneDrive
PWD=/cygdrive/d/home
HOME=/cygdrive/d/home
TMP=/cygdrive/d/Jack Deng/Temp
TERM_PROGRAM=eDEX-UI
TERM_PROGRAM_VERSION=2.2.2
OneDrive=D:\Jack Deng\OneDrive
PROCESSOR_REVISION=1801
NUMBER_OF_PROCESSORS=8
ProgramW6432=C:\Program Files
COMSPEC=C:\WINDOWS\system32\cmd.exe
APPDATA=C:\Users\Jack Deng\AppData\Roaming
TERM=xterm-256color
$FZF_DEFAULT_COMMAND=ag --ignore .pyc --ignore .git --ignore .vscode --ignore __pycache__ -g ""
WINDIR=C:\WINDOWS
ProgramData=C:\ProgramData
SHLVL=1
PROGRAMFILES=C:\Program Files
ALLUSERSPROFILE=C:\ProgramData
TEMP=/cygdrive/d/Jack Deng/Temp
DriverData=C:\Windows\System32\Drivers\DriverData
ProgramFiles(x86)=C:\Program Files (x86)
PATH=/cygdrive/d/home/bin:/usr/local/bin:/cygdrive/d/Program Files/AdoptOpenJDK/jdk-11.0.4.11-hotspot/bin:/cygdrive/c/WINDOWS/system32:/c
ygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/Open
SSH:/cygdrive/c/Program Files/Intel/WiFi/bin:/cygdrive/c/Program Files/Common Files/Intel/WirelessCommon:/cygdrive/d/Program Files/nodejs
:/cygdrive/d/Program Files/Git/cmd:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/d/Program Files/TortoiseSVN/bin:/cygdrive/c/Program F
iles (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/d/Jack Deng/salt:/cygdrive/c/Program Files/OpenSSH-Win64:/cygdrive/d/Pr
ogram Files/Process Lasso:/cygdrive/d/python36:/cygdrive/d/python36/Scripts:/cygdrive/d/python36/Library/bin:/cygdrive/d/Program FIles/To
rtoiseSVN/bin:/cygdrive/d/Microsoft VS Code/bin:/cygdrive/c/Users/Jack Deng/AppData/Local/Microsoft/WindowsApps:/cygdrive/d/Jack Deng/bin
:/cygdrive/d/Jack Deng/bin/scrcpy-win64-v1.10:/usr/bin:/cygdrive/d/home/.fzf/bin
HOMEDRIVE=C:
ChocolateyLastPathUpdate=132115181354656129
HOMEPATH=\Users\Jack Deng
EXECIGNORE=*.dll
VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
LOGNAME=Jack Deng
OLDPWD=/cygdrive/c/Users/Jack Deng/AppData/Roaming/eDEX-UI
ZSH=/cygdrive/d/home/.oh-my-zsh
FZF_DEFAULT_COMMAND=ag --ignore .pyc --ignore .git --ignore .vscode --ignore __pycache__ -g ""
PAGER=less
LESS=-R
LSCOLORS=Gxfxcxdxbxegedabagacad
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw
=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=
01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=
01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:
*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=
01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=0
1;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;
35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*
.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01
;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:
*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
ZSH_TMUX_TERM=screen-256color
_ZSH_TMUX_FIXED_CONFIG=/cygdrive/d/home/.oh-my-zsh/plugins/tmux/tmux.extra.conf
_=/usr/bin/env
GitSquared commented 5 years ago

@JackTheMico Could you run the same on mintty?

The TERM var seems correctly set, so I'm not really sure what's preventing tmux from accessing the TTY. From what I've looked up, cygwin's tty handling might be non-standard. Perhaps using wsl's bash.exe will work?

JackTheMico commented 5 years ago

Here's what I got for run the same on mintty

OS=Windows_NT
COMMONPROGRAMFILES=C:\Program Files\Common Files
PROCESSOR_LEVEL=23
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
CommonProgramW6432=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
LANG=zh_CN.UTF-8
TZ=Asia/Shanghai
HOSTNAME=LAPTOP-RB357H0H
PUBLIC=C:\Users\Public
OLDPWD=/cygdrive/d/Jack Deng/Desktop
$home=D:\home
USERNAME=Jack Deng
ChocolateyInstall=C:\ProgramData\chocolatey
JAVA_HOME=D:\Program Files\AdoptOpenJDK\jdk-11.0.4.11-hotspot\
LOGONSERVER=\\LAPTOP-RB357H0H
PROCESSOR_ARCHITECTURE=AMD64
LOCALAPPDATA=C:\Users\Jack Deng\AppData\Local
COMPUTERNAME=LAPTOP-RB357H0H
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
USER=Jack Deng
!::=::\
SYSTEMDRIVE=C:
BETTER_EXCEPTIONS=1
USERPROFILE=C:\Users\Jack Deng
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
SYSTEMROOT=C:\WINDOWS
USERDOMAIN_ROAMINGPROFILE=LAPTOP-RB357H0H
PROCESSOR_IDENTIFIER=AMD64 Family 23 Model 24 Stepping 1, AuthenticAMD
OneDriveConsumer=D:\Jack Deng\OneDrive
PWD=/cygdrive/d/home
HOME=/cygdrive/d/home
TMP=/tmp
OneDrive=D:\Jack Deng\OneDrive
PROCESSOR_REVISION=1801
FPS_BROWSER_USER_PROFILE_STRING=Default
PROFILEREAD=true
NUMBER_OF_PROCESSORS=8
ProgramW6432=C:\Program Files
COMSPEC=C:\WINDOWS\system32\cmd.exe
APPDATA=C:\Users\Jack Deng\AppData\Roaming
SHELL=/bin/bash
TERM=xterm
$FZF_DEFAULT_COMMAND=ag --ignore .pyc --ignore .git --ignore .vscode --ignore __pycache__ -g ""
CLINK_DIR=D:\Program Files (x86)\clink\0.4.9
WINDIR=C:\WINDOWS
ProgramData=C:\ProgramData
SHLVL=1
MINTTY_SHORTCUT=/cygdrive/c/Users/Public/Desktop/Cygwin64 Terminal.lnk
PRINTER=OneNote
PROGRAMFILES=C:\Program Files
ALLUSERSPROFILE=C:\ProgramData
TEMP=/tmp
DriverData=C:\Windows\System32\Drivers\DriverData
SESSIONNAME=Console
ProgramFiles(x86)=C:\Program Files (x86)
PATH=/usr/local/bin:/usr/bin:/cygdrive/d/Program Files/AdoptOpenJDK/jdk-11.0.4.11-hotspot/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/Intel/WiFi/bin:/cygdrive/c/Program Files/Common Files/Intel/WirelessCommon:/cygdrive/d/Program Files/nodejs:/cygdrive/d/Program Files/Git/cmd:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/d/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/d/Jack Deng/salt:/cygdrive/c/Program Files/OpenSSH-Win64:/cygdrive/d/Program Files/Process Lasso:/cygdrive/d/python36:/cygdrive/d/python36/Scripts:/cygdrive/d/python36/Library/bin:/cygdrive/d/Program FIles/TortoiseSVN/bin:/cygdrive/d/Microsoft VS Code/bin:/cygdrive/c/Users/Jack Deng/AppData/Local/Microsoft/WindowsApps:/cygdrive/d/Jack Deng/bin:/cygdrive/d/Jack Deng/bin/scrcpy-win64-v1.10:/usr/bin
PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$
HOMEDRIVE=C:
ChocolateyLastPathUpdate=132115181354656129
INFOPATH=/usr/local/info:/usr/share/info:/usr/info
HOMEPATH=\Users\Jack Deng
ORIGINAL_PATH=/cygdrive/d/Program Files/AdoptOpenJDK/jdk-11.0.4.11-hotspot/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/Intel/WiFi/bin:/cygdrive/c/Program Files/Common Files/Intel/WirelessCommon:/cygdrive/d/Program Files/nodejs:/cygdrive/d/Program Files/Git/cmd:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/d/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/d/Jack Deng/salt:/cygdrive/c/Program Files/OpenSSH-Win64:/cygdrive/d/Program Files/Process Lasso:/cygdrive/d/python36:/cygdrive/d/python36/Scripts:/cygdrive/d/python36/Library/bin:/cygdrive/d/Program FIles/TortoiseSVN/bin:/cygdrive/d/Microsoft VS Code/bin:/cygdrive/c/Users/Jack Deng/AppData/Local/Microsoft/WindowsApps:/cygdrive/d/Jack Deng/bin:/cygdrive/d/Jack Deng/bin/scrcpy-win64-v1.10:/usr/bin
EXECIGNORE=*.dll
VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
_=/usr/bin/env

I tried tmux on wsl's bash and it works normally.

GitSquared commented 5 years ago

Can you try to run this in edex: export TERM=xterm tmux

JackTheMico commented 5 years ago

image Still not working.

GitSquared commented 5 years ago

Hmm. I don't really know what to tell you, tbh. Using wsl's version of bash as a shell in eDEX might make tmux work..?

JackTheMico commented 5 years ago

It's ok. Thank you for your help. I will use tmux with wsl's bash, it works well!