[BUG] 在Termux Fish Shell环境中安装x-cmd失败
✅ Checklist
- [x] I am using the latest version
💬 Describe the bug
u0_a475@localhost ~> curl https://get.x-cmd.com | sh -i
$ % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--: 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 1> 0> 0> > > 5> 7> 7> 4> > > 100> > 57> 7> 4 0 > > 0 > > 60> 8> 7 > > 0> -> -:--> :-> - > -> -:-> -> :--> --> :--> :-> - > 60> 8> 4
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [2025-09-20/01:19:29] ------------------ 2025-09-20_01-19-29
[2025-09-20/01:19:29] Download script archieve from https://raw.githubusercontent.com/x-cmd/release/main/dist/latest.tgz
[2025-09-20/01:19:31] Download SUCCESS: /data/data/com.termux/files/home/.x-cmd.root/v/latest.3499.2025-09-20_01-19-29/download_tmp.tgz ( size: 3208.53 KB )
[2025-09-20/01:19:31] Archival SUCCESS: /data/data/com.termux/files/home/.x-cmd.root/v/latest.3499.2025-09-20_01-19-29/download_tmp.tgz
- W|pkg: Given Termux's managing packages without requiring root priviledge, x-cmd directly uses native 'pkg' command to resolve dependency.
- I|boot: Running x boot init
- I|boot: Update the /data/data/com.termux/files/home/.x-cmd.root/X
- I|boot: Update the x-cmd root bin
- I|boot: Creating /data/data/com.termux/files/home/.shinit
- I|boot: Successfully installed in /data/data/com.termux/files/home/.shinit
more:
rccode: [ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X" # boot up x-cmd.
- I|boot: Successfully installed in /data/data/com.termux/files/home/.bashrc
more:
rccode: [ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X" # boot up x-cmd.
- I|boot: Successfully installed in /data/data/com.termux/files/home/.bash_profile
more:
rccode: [ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X" # boot up x-cmd.
- I|boot: Tip to setup x-cmd in fish
more:
cmd: x fish --setup
cmd: ~/.x-cmd.root/bin/x-cmd fish --setup
- I|boot: Updating the resource package indexes ...
more:
cmd: x pkg bootupdate
tips: If it fails, or is interrupted, you can run it manually later.
- I|pkg: Extracting pkg metadata
more:
extmeta_tar: /data/data/com.termux/files/home/.x-cmd.root/v/.c9805c8c/extmeta.tar
metadata_folder: /data/data/com.termux/files/home/.x-cmd.root/local/data/pkg/metadata/v0.1.2
- I|pkg: Extracting x-cmd/advise metadata
more:
extmeta_tar: /data/data/com.termux/files/home/.x-cmd.root/v/.c9805c8c/extmeta.tar
metadata_folder: /data/data/com.termux/files/home/.x-cmd.root/local/data/advise/xcmd/v0.0.3
- I|pkg: Extracting theme metadata
more:
extmeta_tar: /data/data/com.termux/files/home/.x-cmd.root/v/.c9805c8c/extmeta.tar
metadata_folder: /data/data/com.termux/files/home/.x-cmd.root/global/shared/theme/ext/v0.0.3
- I|boot: Updating the shortcut config ...
more:
cmd: x shortcut init
- I|shortcut: Reset to use the default shortcut config file
- I|shortcut: Initialized default shortcut config file
- I|boot: Initialization SUCCESS
- W|pkg: Given Termux's managing packages without requiring root priviledge, x-cmd directly uses native 'pkg' command to resolve dependency.
- I|shortcut: Compile shortcut config file to /data/data/com.termux/files/home/.x-cmd.root/local/cache/shortcut/compile/shortcut.sh
$
sh: 194: Cannot set tty process group (No such process)
📄 System
由于无法使用x命令,用fastfetch代替。
u0_a475@localhost ~> fastfetch
-o o- u0_a475@localhost
+hydNNNNdyh+ -----------------
+mMMMMMMMMMMMMm+ OS: Android REL 16 aarch64
`dMMm:NMMMMMMN:mMMd` Host: Xiaomi 22041216G (22041216C)
hMMMMMMMMMMMMMMMMMMh Kernel: Linux 5.10.240-ESK
.. yyyyyyyyyyyyyyyyyyyy .. Uptime: 20 hours, 36 mins
.mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm. Packages: 275 (dpkg)
:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: Shell: fish 4.0.6
:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: WM: WindowManager (SurfaceFlinger)
:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: Terminal: Termux 0.119.0-beta.3
:MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: Terminal Font: UbuntuMono Nerd Foo
-MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM- CPU: 3 x MT6895Z/TCZA (8) @ 2.85 z
+yy+ MMMMMMMMMMMMMMMMMMMM +yy+ GPU: Mali-G610 MC6 [Integrated]
mMMMMMMMMMMMMMMMMMMm Memory: 7.47 GiB / 11.23 GiB (67%)
`/++MMMMh++hMMMM++/` Swap: 2.69 GiB / 12.00 GiB (22%)
MMMMo oMMMM Disk (/): 973.86 MiB / 1.05 GiB (]
MMMMo oMMMM Disk (/storage/emulated): 86.64 Ge
oNMm- -mMNs Local IP (ccmni3): 10.36.200.158/8
Local IP (tun0): 172.19.0.1/30
Local IP (tun1): 172.19.0.1/30
Locale: en_US.UTF-8
🔎 To Reproduce
- Type command:
curl https://get.x-cmd.com | sh -i - See error
Expected behavior
🗂️ Additional Context
u0_a475@localhost ~ [0|2]> ~/.x-cmd.root/bin/x fish --setup
/data/data/com.termux/files/home/.x-cmd.root/bin/x: command not found
u0_a475@localhost ~ [127]> x
No command x found, did you mean:
Command c in package c-script
Command [ in package coreutils
Command dx in package dx
Command fx in package fx
Command hx in package helix
Command k in package kona
Command lx in package lux-cli
Command ex in package neovim
Command nx in package nxengine from the x11-repo repository
Command o in package orbiton
Command q in package q-dns-client
Command ex in package vim
Command ex in package vim-gtk from the x11-repo repository
Command xh in package xh
Command X in package xorg-server from the x11-repo repository
Command xz in package xz-utils
我们文档有问题:
~/.x-cmd.root/bin/x fish --setup
->
~/.x-cmd.root/bin/x-cmd fish --setup
至于 这个问题 :
sh: 194: Cannot set tty process group (No such process)
我们明天定位一下. 感谢反馈.
我们文档有问题:
~/.x-cmd.root/bin/x fish --setup
->
~/.x-cmd.root/bin/x-cmd fish --setup
我已经注意到了,关于这个问题,使用alias --save x=x-cmd就可以把x映射到x-cmd了,也方便后续使用
我们文档有问题: ~/.x-cmd.root/bin/x fish --setup -> ~/.x-cmd.root/bin/x-cmd fish --setup
我已经注意到了,关于这个问题,使用
alias --save x=x-cmd就可以把x映射到x-cmd了,也方便后续使用
最好不要这样处理.
以前是有 x 这个可执行文件的. 后面我们把可执行 x 改成 可执行 x-cmd, 就是为了区分 作为 shell 函数的 x . x 就是当前的 shell 加载了 x-cmd 库后, 会存在函数. 当你的环境没有加载 x-cmd 库, 要临时调用 x 的功能, 就通过 外部可执行文件 x-cmd 来实现. 外部可执行文件 这种方式有额外的 启动开销.
一句话, x-cmd 是 bin 目录下的可执行文件, 而 x 则是 shell 中函数, 在不同 shell 函数会不一样. 例如 fish :
我们文档有问题: ~/.x-cmd.root/bin/x fish --setup -> ~/.x-cmd.root/bin/x-cmd fish --setup
我已经注意到了,关于这个问题,使用
alias --save x=x-cmd就可以把x映射到x-cmd了,也方便后续使用最好不要这样处理.
以前是有 x 这个可执行文件的. 后面我们把可执行 x 改成 可执行 x-cmd, 就是为了区分 作为 shell 函数的 x . x 就是当前的 shell 加载了 x-cmd 库后, 会存在函数. 当你的环境没有加载 x-cmd 库, 要临时调用 x 的功能, 就通过 外部可执行文件 x-cmd 来实现. 外部可执行文件 这种方式有额外的 启动开销.
原来如此,受教了
我们文档有问题: ~/.x-cmd.root/bin/x fish --setup -> ~/.x-cmd.root/bin/x-cmd fish --setup
我已经注意到了,关于这个问题,使用
alias --save x=x-cmd就可以把x映射到x-cmd了,也方便后续使用最好不要这样处理. 以前是有 x 这个可执行文件的. 后面我们把可执行 x 改成 可执行 x-cmd, 就是为了区分 作为 shell 函数的 x . x 就是当前的 shell 加载了 x-cmd 库后, 会存在函数. 当你的环境没有加载 x-cmd 库, 要临时调用 x 的功能, 就通过 外部可执行文件 x-cmd 来实现. 外部可执行文件 这种方式有额外的 启动开销.
原来如此,受教了
不客气. 我们的 fish 上测试太少了. 如果你有兴趣, 可以先加我们的 微信群. 后面 x-cmd 会进一步社区化和开发社区化.
另外, 如果你有兴趣, 不管是业余开发还是测试还是文档, 都可以考虑一起为 开源 x-cmd 做贡献.
I am closing this issue ~ If problems occured, feel free to reopen.
Thank you. @Mooling0602