Apakah karakter 'ä' di nama pengguna menyebabkan bug di sistem linux?


11

Saya ingin menggunakan nama depan saya sebagai nama pengguna tetapi berisi karakter 'ä'. Saya menemukan utas ini .

Sekarang saya mengerti, mengapa beberapa karakter dinonaktifkan, tetapi bagaimana dengan 'ä'? Bisakah karakter ini menyebabkan masalah?

Mengapa beberapa karakter unicode (ü, õ, ö, ä) dinonaktifkan, ketika mereka digunakan dalam nama lengkap?

Jawaban:


10

Pada sistem modern (dengan dukungan Unicode sepenuhnya), ini seharusnya tidak menjadi masalah - dengan penekanan pada "tidak boleh". Seperti dikutip dalam jawaban itu,

Standarnya adalah NAME_REGEX="^[a-z][-a-z0-9]*\$"

Meskipun ini mungkin terlalu ketat untuk sistem saat ini, itu membuat administrasi lebih mudah - seperti dalam, "satu hal yang kurang perlu dikhawatirkan". Perhatikan bahwa nama pengguna akan digunakan di banyak tempat - mis. Direktori home Anda mungkin berbentuk /home/username; kebanyakan filesystem waras memiliki dukungan Unicode penuh, tetapi seperti halnya komputer, kewarasan dalam semua keadaan tidak dijamin.

Perhatikan bahwa ada nama login aktual yang digunakan oleh sistem (yang berada di bawah aturan ini), dipetakan ke UID /etc/passwd, dan ada "Nama Lengkap", yang merupakan string (dan sebagian besar karakter yang valid dapat dimasukkan, meskipun ada peringatan "non-ASCII").

Apa yang harus dilakukan: Di mana berlaku, saya menggunakan nama tanpa diakritik (atau diromanisasi, dalam kasus skrip non-Latin) untuk nama pengguna, dan bentuk asli untuk Nama Lengkap. Entri di / etc / passwd Anda mungkin terlihat mirip dengan ini:

martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash

2
Saya berpikir bahwa OS desktop modern harus memungkinkan karakter unicode, dari bagian server, semuanya dapat dimengerti.
Märt Rang

2
@ MärtRang Thing adalah, saat ini semuanya benar-benar berbicara ASCII dasar (TERIMA KASIH - lihat EBCDIC jika Anda menginginkan mimpi buruk), tetapi di luar itu ada sekitar satu trilyun kodepage berbeda yang berurusan dengan karakter yang tidak standar, dan jika kedua sisi percakapan tidak t tahu untuk menggunakan salah satu yang sama persis, Anda bisa mendapatkan clusterfucks cukup spektakuler yang mengambil selamanya untuk membedah karena masing-masing pihak bersikeras yang lain sisi berbicara omong kosong. Seperti yang dikatakan Piskvor, "satu hal yang tidak perlu dikhawatirkan". Hampir setiap frontend grafis akan menggunakan nama asli Anda saat ini.
Shadur

Saya mendapat kesan bahwa mungkin ada sejumlah sistem (manajer tampilan tertentu) di mana pengetikan karakter unicode mungkin bermasalah (atau tidak mungkin) selain hanya memiliki perangkat lunak penanganan pengguna menafsirkannya dengan benar. : crying_cat_face:
ThorSummoner

3

Menggunakan nama masuk non-ASCII umumnya tidak didukung dan terdengar seperti resep untuk masalah. Sementara UTF-8 menjadi pengkodean standar de facto, masih ada banyak orang yang menggunakan pengkodean lain (terutama di luar dunia berbahasa Inggris, di mana orang telah menggunakan pengkodean lain, 8-bit atau 16-bit yang tidak kompatibel untuk waktu yang lama). ). Misalnya, Anda cenderung menjumpai aplikasi yang mencoba menafsirkan nama pengguna Anda sesuai dengan pengkodean lokal saat ini, alih-alih (berupaya) menerjemahkannya ke pengkodean lokal saat ini. Nama login Anda juga merupakan bagian kiri dari alamat email Anda, dan itu bahkan lebih cenderung menyebabkan masalah karena Anda bergantung pada penyandian yang Anda pilih yang didukung dan dihormati oleh semua sistem yang dilalui email Anda.

Nama login dimaksudkan untuk komputer. Gunakan ASCII dalam nama login Anda. Nama lengkap ini ditujukan untuk manusia. Gunakan UTF-8 dengan nama lengkap Anda.


2

Pertanyaan terakhir adalah yang paling mudah dijawab: Tradisi, kepraktisan, kesederhanaan (untuk pengembang) dan portabilitas, jika Anda ingin menjadi dermawan, atau sebaliknya keterbelakangan, ketidakpraktisan (untuk pengguna), ketidaktahuan dan tidak mudah dibawa, jika Anda tidak mau t. US-ASCII hanyalah set karakter yang telah digunakan sejak awal waktu (pra-web untuk anak-anak) di mana-mana.

Dalam banyak, banyak aplikasi tidak ada dukungan bawaan untuk karakter di luar apa yang dapat Anda lihat pada keyboard bahasa Inggris (dan kadang-kadang bahkan tidak). Dengan kata lain, perangkat lunak mungkin atau mungkin tidak mendukungnya, dan Anda hanya dapat mengharapkan yang tidak terduga.


2
Saya setuju dengan itu ketika saya perlu membuat pengguna ke server. Mengapa tidak mengaktifkan karakter unicode ketika Anda menggunakan linux sebagai OS desktop?
Märt Rang

1
dan bagaimana jika nama pengguna digunakan untuk mengakses proxy, samba, nfs, atau layanan lainnya? Atau folder beranda melalui jalur bersama?
Sirex
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.