Vagrant ubuntu box内联脚本发出;mesg ttyname失败设备的ioctl不正确;

Vagrant ubuntu box内联脚本发出;mesg ttyname失败设备的ioctl不正确;,ubuntu,vagrant,Ubuntu,Vagrant,我在每个vagrant up的末尾运行了几个内联脚本 Vagrant.configure(2) do |config| config.vm.box = "bento/ubuntu-16.04" ... omitting all the other steps related to networking, folders, etc config.vm.provision "shell", inline: "service nginx restart", run: "always"

我在每个
vagrant up
的末尾运行了几个内联脚本

Vagrant.configure(2) do |config|
  config.vm.box = "bento/ubuntu-16.04"

  ... omitting all the other steps related to networking, folders, etc

  config.vm.provision "shell", inline: "service nginx restart", run: "always"

  config.vm.post_up_message = "Done!"
end
我在我的日志中看到:

==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: mesg:
==> default: ttyname failed
==> default: :
==> default: Inappropriate ioctl for device

==> default: Machine 'default' has a post `vagrant up` message. This is a message
==> default: from the creator of the Vagrantfile, and not from Vagrant itself:
==> default:
==> default: Done!
从我到目前为止发现的情况来看,它应该是Ubuntu配置中的某种东西,而不是Vagrant本身。我找到并尝试了此解决方案,但没有成功:


但是,如果相关的话-我正在运行最新的Vagrant 1.8.7和macOS Sierra。

也许现在回答这个问题已经太迟了,但是因为这可能会帮助其他人,所以最好与大家分享我的尝试:

# Prevent TTY Errors (copied from laravel/homestead: "homestead.rb" file)... By default this is "bash -l".
config.ssh.shell = "bash -c 'BASH_ENV=/etc/profile exec bash'"
因此,正如您在上面的注释行中所看到的,laravel团队已经阻止了“mesg:ttyname failed-unjusted-ioctl-for-device”

大多数开发人员希望在进行开发时避免出现错误/警告,因此这似乎是我们需要的修复


重要提示:我没有对这个解决方案进行过太多的测试,但是该框在启动时没有出现“mesg:ttyname failed-unjusted-ioctl-for-device”错误!您可以自由尝试,如果您遇到任何问题,只需发表评论,以节省其他人的时间

它似乎只适用于Mojave/Catalina的VirtualBox v6.0.2!(+vagrant 2.2.2-不确定这是否重要!)

这发生在vagrant 1.8.7和Ubuntu 16.04的shell provisioner上。它每次都发生在我身上,你可以忽略它,因为命令仍然成功。是的,没错。我知道命令成功了,它是由shell provisioner触发的。但我问的是为什么以及如何修复它:)忽略它,等待Hashicorp或Canonical的修复。不幸的是,这破坏了像
vagrant ssh server-c'command'这样的命令的使用