emacs - 非交互式docker中的哑终端

标签 emacs docker drone

我有一个在非交互式Docker容器中运行的CI脚本。我使用的一个应用程序(批处理模式中的emacs)期望一个TTY,即使它永远不会从中读取。

在交互模式下,我可以将/dev/tty传递给应用程序,但是在非交互模式下,该设备甚至不存在!

如何在非交互式Docker容器中创建伪终端?

顺便说一句,我无法控制启动脚本的CI运行程序(无人驾驶飞机)...因此我无法添加-i-t
运行ls -R /dev

/dev:
fd
full
fuse
kcore
mqueue
null
ptmx
pts
random
shm
stderr
stdin
stdout
tty
urandom
zero

/dev/mqueue:

/dev/pts:
ptmx

/dev/shm:

最佳答案

尝试将脚本的调用包装在script(字面意义)调用中。与另一个用户联系,然后访问屏幕 session 时,也存在类似的问题。

$ script /dev/null
$ emacs ...
$ exit

另请参阅https://serverfault.com/a/116830

关于emacs - 非交互式docker中的哑终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30674922/

相关文章:

shell - 如何从 shell 运行组织模式命令?

node.js - 使 *.crt *.pem 证书在 Docker 容器上运行的 Azure 应用服务内可用

java - dockerize java 应用程序的方法

docker - 如何在Docker环境中的根目录(/)中创建安装配置

docker - 如何在Drone Docker插件中使用自定义DNS设置

emacs - 在 emacs 中评估 Elisp

emacs - 在组织模式下将脚注插入标题

Emacs:跳回到上一个查询替换位置

c# - 如何在 windows runner 服务器中运行 .drone.yml