Distrobox:emacs:无法打开文件:/dev/tty

Distrobox:emacs:无法打开文件:/dev/tty

emacs我目前正在尝试在 Distrobox 容器(Docker 容器silex/emacs:29.2-alpine,尽管我也尝试过使用 Debian 映像)上自动运行silex/emacs:29.2,并且收到错误emacs: Could not open file: /dev/tty。这就是我正在做的:

distrobox create --name test --image silex/emacs:29.2-alpine --home /home/dbhome
distrobox enter test -nw -- /nix/store/emacs/bin/emacs-29.2

这会产生上述错误。但是,先运行distrobox enter test -nw,然后运行确实在 distrobox 容器中/nix/store/emacs/bin/emacs-29.2成功启动。emacs问题是,我想自动启动 emacs,因此我需要找到一种方法,允许我通过在容器外部运行的一系列命令从容器启动 emacs。

有人知道我emacs: Could not open file: /dev/tty这样做会造成什么后果吗?我使用 Distrobox 而不仅仅是常规容器的原因是我最终希望使用 Distrobox 的 ootb 支持来连接到主机的 X11 套接字。

编辑:strace确认错误是-1 ENXIO (No such device or address)

docker execEDIT2:如果我们替换运行的命令的一部分,问题就会消失distrobox enter。该命令以;docker exec结尾CONTAINERNAME su USERNAME -c COMMAND当我们直接使用时,问题就得到解决CONTAINERNAME COMMAND

相关内容