Comments (5)
Hello @strega-nil, thank you for reporting this issue. My LANG is usually set to en_US.UTF-8
and probably explains why I've never seen this before.
It should be straightforward to override the LANG in the macinbox
process to always be UTF8. I'll work on reproducing this issue and then identify a fix.
from macinbox.
Thanks @bacongravy!!!
from macinbox.
I haven't been able to reproduce this issue, so I'm not sure if the change I had in mind fixes it. I was able to create a Terminal profile with the language set to "Western (ASCII)" which resulted in me having LANG=en_US.US-ASCII, but macinbox
didn't fail when I ran it.
from macinbox.
My idea was to put ENV['LANG'] = 'en_US.UTF-8'
in cli.rb
near the top of the start
method.
from macinbox.
I ran into this, and I have a few more details.
-
I ran into this when running this as root. As a user, I had LANG and LC_ALL set already, but as root, I did not. I know I didn't do anything hinky with those because this was pretty soon after a fresh install.
-
I tried the ENV['LANG'] thing in cli.rb, and it didn't work, which led me to investigate. The issue seems to actually be with the encoding that Ruby uses in the io Popen calls in Task. You could override the encoding there, with :encoding.I didn't know how unicode things worked in Ruby, actually, so I looked it up. (mostly at https://docs.ruby-lang.org/en/2.1.0/Encoding.html)
By default Ruby sets the external encoding of an IO object to the default external encoding. The default external encoding is set by locale encoding or the interpreter -E option. ::default_external returns the current value of the external encoding.
The default external encoding may also be set through ::default_external=, but you should not do this as strings created before and after the change will have inconsistent encodings. Instead use ruby -E to invoke ruby with the correct external encoding.
I am not a Ruby expert, and I am not a macinbox expert at all, but my gut feeling would be to detect LC_ALL and LC_LANG being empty, maybe next to where you detect if you were ran with sudo. If this is mainly happening to folks who are running this as root, well... don't do that :)
from macinbox.
Related Issues (20)
- VMware Tools not installed properly in Catalina box HOT 10
- The link to the Catalina installer said that it didn't exist in the App Store. HOT 1
- Virtualbox 6.1.3 fails to boot Catalina 10.15.2 HOT 14
- Box created with Parallels Desktop 15.1.2 fails to boot HOT 2
- ENOENT errors when creating files HOT 9
- Catalina 10.15.4 issue - machine fails to boot with startup error HOT 2
- Software installed with user-script isn't available after boot HOT 5
- /vagrant doesn't exist, read-only? HOT 7
- Allow to specify VRAM amount HOT 2
- Allow to set box version HOT 4
- the vm(format .pvm) created using macinbox boot more slowly than created using parallels HOT 2
- Any way to get sound working in VirtualBox VM? HOT 2
- virtualbox: Mojave box does not boot on 2020 Macbook HOT 6
- Name VHD/VDMK files based on name of box HOT 2
- Compatibility with Big Sur HOT 13
- Catalina installer download: Update not found
- Catalina: /usr/sbin/diskutil failed with non-zero exit code: 1 HOT 3
- Install Xcode HOT 1
- Shrinking the virtual disk
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from macinbox.