microsoft / wslg

Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios
MIT License
9.9k stars 296 forks source link

foot terminal fails to start when shell is /usr/bin/zsh #1230

Open pedrohgmacedo opened 2 months ago

pedrohgmacedo commented 2 months ago

Windows build number:

Microsoft Windows [Version 10.0.22631.3447]

Your Distribution version:

22.04

Your WSL versions:

WSL version: 2.1.5.0 Kernel version: 5.15.146.1-2 WSLg version: 1.0.60 MSRDC version: 1.2.5105 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.22631.3447

Steps to reproduce:

Use chsh to change terminal to /usr/bin/zsh.

pedro@nostromo ~ % which -a zsh
/bin/zsh
/usr/bin/zsh
pedro@nostromo ~ % echo $0
-zsh
pedro@nostromo ~ % /snap/bin/foot-terminal
warn: config.c:3169: no configuration found, using defaults
warn: wayland.c:1506: no primary selection available
warn: wayland.c:1509: no XDG activation support; bell.urgent will fall back to coloring the window margins red
warn: wayland.c:1515: fractional scaling not available
warn: wayland.c:1518: no server-side cursors available, falling back to client-side cursors
 err: slave.c:417: /usr/bin/zsh: failed to execute: No such file or directory
 err: fdm.c:215: no such FD: 6
pedro@nostromo ~ %

WSL logs:

No response

WSL dumps:

No response

Expected behavior:

No response

Actual behavior:

foot-terminal crashes because it cannot find the zsh binary located at /usr/bin/zsh. Use chsh to change terminal to /usr/bin/zsh.

pedro@nostromo ~ % which -a zsh
/bin/zsh
/usr/bin/zsh
pedro@nostromo ~ % echo $0
-zsh
pedro@nostromo ~ % /snap/bin/foot-terminal
warn: config.c:3169: no configuration found, using defaults
warn: wayland.c:1506: no primary selection available
warn: wayland.c:1509: no XDG activation support; bell.urgent will fall back to coloring the window margins red
warn: wayland.c:1515: fractional scaling not available
warn: wayland.c:1518: no server-side cursors available, falling back to client-side cursors
 err: slave.c:417: /usr/bin/zsh: failed to execute: No such file or directory
 err: fdm.c:215: no such FD: 6
pedro@nostromo ~ %
zcobol commented 2 months ago

foot terminal should work okay with zsh. Sample output in non-daemon mode:

eleven# echo $SHELL
/bin/zsh
eleven# zsh --version
zsh 5.9 (x86_64-ubuntu-linux-gnu)
eleven# foot
info: main.c:421: version: 1.13.1 +pgo +ime +graphemes -assertions
info: main.c:428: arch: Linux x86_64/64-bit
info: main.c:440: locale: C.UTF-8
info: config.c:3003: loading configuration from /etc/xdg/foot/foot.ini
info: fcft.c:338: fcft: 3.1.5 +graphemes +runs +svg(nanosvg) -assertions
info: fcft.c:377: fontconfig: 2.14.1, freetype: 2.12.1, harfbuzz: 6.0.0, utf8proc: 2.8.0 (Unicode 15.0.0)
info: fcft.c:838: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: size=8.00pt/8px, dpi=75.00
warn: wayland.c:1320: no primary selection available
warn: wayland.c:1327: no XDG activation support; bell.urgent will fall back to coloring the window margins red
warn: wayland.c:1339: text input interface not implemented by compositor; IME will be disabled
info: wayland.c:1353: rdp-0: 2560x1440+0x0@60Hz rdp 0.00" scale=1 PPI=0x0 (physical) PPI=0x0 (logical), DPI=0.00
warn: wayland.c:1523: no decoration manager available - using CSDs unconditionally
info: fcft.c:838: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: size=8.00pt/11px, dpi=96.00
info: fcft.c:838: /usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: size=8.00pt/11px, dpi=96.00
info: fcft.c:838: /usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: size=8.00pt/11px, dpi=96.00
info: fcft.c:838: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: size=8.00pt/11px, dpi=96.00
info: terminal.c:700: cell width=7, height=14
info: terminal.c:588: using 4 rendering threads
info: fcft.c:838: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: size=12.48pt/13px, dpi=75.00
info: wayland.c:1698: cursor theme: (null), size: 24, scale: 1
warn: render.c:2528: compositor is not releasing buffers immediately; expect lower rendering performance
info: main.c:680: goodbye

Looks like you're using the server mode of foot