Replies: 2 comments 3 replies
|
I totally understand. The only problem is: It's just risky. A lot of users just ignore the warning. And when some app crashed, they just complain: Junk OS can't run my app. In the gaming ecosystem, countless Wine prefixes, Steam Proton launch scripts, and even internal engines of older Windows-port games are extremely fragile when parsing non-ASCII paths. Once paths become garbled, games may crash immediately or fail to save. In the development ecosystem, a large number of third-party npm, pip, and even C++ Makefile scripts still rely on legacy regular expressions that only recognize ASCII. While I acknowledge that modern software rarely has these issues, one must remain cautious of quirky apps. Overall, this change is something you could do, but it unnecessarily adds risk without providing much benefit. |
|
I think the compatibility concern is reasonable, especially for a desktop distribution where users may run older games, Wine applications, scripts, or development tools that make assumptions about paths. That said, I think it would be useful to distinguish between technical impossibility and application compatibility risk. If Linux and the underlying account-management stack can already represent these usernames, then the remaining question is really how much software in the target user base still breaks because of them. Rather than enabling Unicode usernames everywhere immediately, perhaps AnduinOS could consider a more conservative approach: keep ASCII as the default for the initial user during installation, while allowing Unicode usernames when creating additional accounts through the Settings interface, accompanied by a clear compatibility warning. That would give users who specifically need Unicode names the option without changing the safest default for most installations. It would also be interesting to collect concrete examples of applications or games that actually fail with Unicode usernames/paths on current AnduinOS. That could help determine whether this is still a significant practical limitation or primarily a compatibility concern inherited from older software. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I'd like to start a discussion about the current restriction of usernames to ASCII characters.
Historically, this restriction made sense. It originates from very old POSIX conventions and was intended to maximize compatibility with existing software. However, the question is whether this assumption is still valid in 2026, especially for desktop-oriented Linux distributions.
Linux has evolved significantly over the past 15–20 years. Today, most software is either developed specifically for modern Linux systems or as cross-platform applications where Unicode support is considered standard. At the same time, Unicode has become deeply integrated into nearly every part of the operating system. Filenames, environment variables, terminals, shells, editors, databases, and network services have all handled Unicode reliably for years.
A common argument against Unicode usernames is compatibility with legacy software. But what software are we actually talking about today? Many applications that genuinely only support ASCII are already difficult or impossible to use on modern systems because they depend on outdated libraries or other obsolete components. As a result, the practical risk is likely much smaller than is often assumed.
I can also speak from personal experience. Since 2022, I have been using a username containing non-ASCII characters on Ubuntu (22.04 → 24.04 → 26.04), both on my desktop systems and on a server (Debian12 → Debian13). That server runs Docker containers (Mailcow, OpenMapTiles), Samba, PostgreSQL, and various other services. Over these four years, I have not encountered a single functional or security issue caused by my username. The only problem I experienced was a minor cosmetic issue, which has since been fixed.
Another interesting point is that Linux itself is already technically more capable than many installation wizards suggest. If you create a user from the terminal, Unicode usernames already work without any issues. In many cases, the restriction exists only in graphical installers or setup wizards, not in the operating system itself.
For desktop distributions aimed at end users, relaxing this restriction could improve the overall user experience. Many people are switching to Linux from Windows or macOS, where it is perfectly normal to use names such as "Jörg", "André", "José", "Łukasz", or "Søren" without modification. On Linux, however, users are often forced to alter their names or resort to transliterations like "Joerg" or "Jose". By today's standards, this feels unnecessary and outdated.
I'm not necessarily suggesting that Unicode usernames should be enabled without any safeguards. A reasonable middle ground could be:
This approach would preserve backward compatibility while removing a limitation that, for 99% of desktop users, is likely more theoretical than practical.
Another argument I often hear is that usernames are identifiers and therefore should remain restricted to ASCII.
I don't find this argument particularly convincing. From the operating system's perspective, a username is simply a string associated with a user account. Internally, Linux identifies users by their numeric UID, not by their username. The username primarily serves as a human-readable label mapped to that UID.
From a technical standpoint, it makes little difference to the computer whether a username consists solely of ASCII characters or valid Unicode characters. In both cases, the system ultimately processes a sequence of bytes. Linux has supported Unicode for many years in filenames, paths, environment variables, and numerous other parts of the system, often treating them simply as raw byte sequences. Allowing Unicode in usernames therefore does not introduce a fundamentally new technical challenge.
Moreover, ASCII itself is not free from ambiguity. Usernames such as
rnandm,Iandl, orOand0can already be easily confused by humans. Restricting usernames to ASCII therefore does not eliminate the problem of visually similar identifiers.For these reasons, I don't find the argument that usernames should remain ASCII-only simply because they are identifiers particularly compelling. The more important question is whether there are still concrete technical or security-related reasons on modern Linux systems that genuinely require such a restriction.
I'm curious to hear what others think. Are there still concrete, reproducible cases where Unicode usernames cause serious problems on modern Linux systems? Or are we simply preserving a historical restriction whose practical value has become increasingly limited?
All reactions