Debian

Разбиране на локалите на Debian GNU / Linux

Разбиране на локалите на Debian GNU / Linux
Всяка компютърна система се предлага със специфична настройка по отношение на системния език и кодиране на символи, което се използва. Въз основа на тази конфигурация съобщенията за грешки, системата за помощ, както и отзивите на програмата се показват на екрана.

В системите UNIX / Linux тази настройка се нарича POSIX [7] локали и е стандартизирана като IEEE Std 1003.1-2017 [3]. Такъв локал може да варира за системата като цяло и акаунтите на един потребител, тъй като всеки един потребител може да индивидуализира своята работна среда. В тази статия ще ви обясним как да разберете текущата локална настройка на Debian GNU / Linux, да разберете нейните единични регулиращи винтове и как да адаптирате системата към вашите нужди.

Имайте предвид, че тази статия е съобразена с Debian GNU / Linux Release 10 “Buster”. Освен ако не е посочено друго, описаните тук техники работят и за неговите производни като Ubuntu или Linux Mint [8].

Какво е локал?

Най-общо казано, локалът е набор от ценности, които отразяват същността и конвенциите на дадена държава или култура. Наред с други тези стойности се съхраняват като променливи на средата, които представят езика, кодирането на символите, форматирането на датата и часа, размера на хартията по подразбиране, валутата на страната, както и първия ден от седмицата.

Както беше споменато по-горе, има обща настройка, известна като „локал по подразбиране“, и дефинирана от потребителя настройка. Локалът по подразбиране работи в цялата система и се съхранява във файла / etc / default / locale. Листинг 1 показва локала по подразбиране на Debian GNU / Linux, използващ немски като основен език, и 8-битов unicode (UTF-8) като набор от символи [11].

Листинг 1: Локал по подразбиране на немски Debian GNU / Linux

$ cat / etc / default / locale # Файл, генериран от update-locale LANG = “de_DE.UTF-8 ”$ --

Моля, обърнете внимание, че за разлика от Debian GNU / Linux, при някои по-ранни версии на Ubuntu настройката за локал в цялата система се съхранява в / etc / locale.конф.

Дефинираните от потребителя настройки се съхраняват като скрит файл във вашата домашна директория и действителните файлове, които се оценяват, зависят от обвивката за вход, която използвате [6]. Традиционната обвивка на Bourne (/ bin / sh) [4] чете двата файла / etc / profile и ~ /.профил, докато черупката Bourne-Again (Bash) (/ bin / bash) [5] чете / etc / profile и ~ /.bash_profile. Ако вашата черупка за вход е Z shell (/ bin / zsh) [9], двата файла ~ /.zprofile и ~ /.zlogin се четат, но не ~ /.профил, освен ако не е извикан в режим на емулация на Bourne shell [10].

Стартирането на черупка в терминал в съществуваща сесия води до интерактивна обвивка без влизане. Това може да доведе до четене на следните файлове - ~ /.bashrc за Bash и / etc / zshrc, както и ~ /.zshrc за Z черупка [6].

Именуване на локал

Както е обяснено тук [12], името на локала следва специфичен модел. Шаблонът се състои от езикови кодове, кодиране на символи и описание на избран вариант.

Името започва с двубуквен код на езика ISO 639-1 с малки букви [13] или трибуквен код на език ISO 639-2 [14], ако езикът няма двубуквен код. Например, това е de за немски, fr за френски и cel за келтски. Кодът е последван за много, но не за всички езици, с подчертаване _ и с ISO 3166 главен двубуквен код на държава [15]. Например, това води до de_CH за швейцарски немски и fr_CA за френскоговоряща система за канадски потребител, който вероятно ще се намира в Квебек.

По желание точка . следва името на кодирането на знаци като UTF-8 или ISO-8859-1, и знакът @, последван от името на вариант. Например името [имейл защитено] описва настройката за английска система за Ирландия с кодиране на символи UTF-8 и еврото като символ на валутата.

Команди и инструменти

Броят на командите, свързани с локали, е относително нисък. Списъкът съдържа локал, който чисто показва текущите настройки на локала. Вторият е localectl, който може да се използва за заявки и промяна на системния локал и настройките на оформлението на клавиатурата. За да активирате локал, влизат в действие инструментите dpkg-reconfigure и locale-gen - вижте примера по-долу.

Покажете използвания локал

Първата стъпка е да разберете текущия локал във вашата система, като използвате командата за локал, както следва:

Листинг 2: Покажете текущия локал

$ locale LANG = de_DE.UTF-8 LANGUAGE = LC_CTYPE = „de_DE.UTF-8 ”LC_NUMERIC =„ de_DE.UTF-8 ”
LC_TIME = „de_DE.UTF-8 ”LC_COLLATE =„ de_DE.UTF-8 ”LC_MONETARY =„ de_DE.UTF-8 ”
LC_MESSAGES = „de_DE.UTF-8 ”LC_PAPER =„ de_DE.UTF-8 ”LC_NAME =„ de_DE.UTF-8 ”
LC_ADDRESS = „de_DE.UTF-8 ”LC_TELEPHONE =„ de_DE.UTF-8 ”LC_MEASUREMENT =„ de_DE.UTF-8 ”
LC_IDENTIFICATION = „de_DE.UTF-8 ”LC_ALL = $ --

Моля, обърнете внимание, че други дистрибуции на Linux освен Debian GNU / Linux могат да използват допълнителни променливи на средата, които не са изброени по-горе. Единичните променливи имат следното значение:

Избройте наличните локали

След това можете да изброите наличните локали във вашата система, като използвате командата за локал, придружена от опцията -a. -a е съкратено от -all-locales:

Листинг 3: Показване на наличните локали

$ locale -a C C.UTF-8 de_DE @ euro de_DE.utf8 bg_BG.utf8 POSIX $ --

Листинг 3 съдържа две локални настройки както за немски (Германия), така и за английски (САЩ). Трите записа C, C.UTF-8 и POSIX са синоними и представляват настройките по подразбиране, които са подходящи за данни, които се анализират от компютърна програма. Изходът в Листинг 3 се базира на списъка с поддържани локали, съхранявани в / usr / share / i18n / SUPPORTED.

Освен това добавянето на опцията -v (съкратено от -verbose) към повикването води до много по-обширен изход, който включва метаданните LC_IDENTIFICATION за всеки локал. Фигура 1 показва това за обаждането от Листинг 3.

За да видите кои локали вече съществуват и кои се нуждаят от допълнителна помощ, за да бъдат завършени, можете също да погледнете картата на проекта за локален помощник [20]. Червените маркери ясно показват кои локали са недовършени. Фигура 2 показва локалите за Южна Африка, които изглеждат доста завършени.

Показване на наличните карти с символи

Командата за локал идва с опцията -m, която е съкратена от -charmaps. Резултатът показва наличните карти на символи или файлове с описание на набори символи [16]. Такъв файл е предназначен да „дефинира характеристики за кодирания набор от символи и кодирането за символите, посочени в Portable Character Set, и може да дефинира кодиране за допълнителни символи, поддържани от изпълнението“ [16]. Листинг 4 илюстрира това с извадка от целия списък.

Листинг 4: Файлове с описание на набор от символи

$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS ... $ --

Показване на дефинициите на локални променливи

Всяка променлива, използвана за локал, идва със собствена дефиниция. Използвайки опцията -k (съкратено от -keyword-name), командата за локал показва тази настройка в детайли. Листинг 5 илюстрира това за променливата LC_TELEPHONE, както е дефинирана в немска среда - форматът на телефонния номер, вътрешният телефонен формат, международният код за избор, както и кодът на държавата (международен префикс), и наборът от кодове. Вижте Locale Helper Project [20] за подробно описание на стойностите.

Листинг 5: Подробностите за LC_TELEPHONE

$ locale -k LC_TELEPHONE tel_int_fmt = “+% c% a% l” tel_dom_fmt = “% A% l”
int_select = “00” int_prefix = “49” телефон-код = “UTF-8” $ --

Промяна на текущия локал

Знанията по отношение на локала стават необходими веднага щом стартирате система, която идва с различен локал, отколкото сте свикнали - например на Linux жива система. Промяната на локала може да стане по два начина - преконфигуриране на пакета за локали на Debian [19] и добавяне на необходимия локал с помощта на командата locale-gen. За първа опция, стартирането на следната команда отваря текстов диалог за конфигуриране, показан на Фигура 3:

# dpkg-преконфигурирайте локали

Натиснете интервала, за да изберете желания (ите) локал (и) от списъка, показан в диалоговия прозорец, и изберете „OK“, за да потвърдите избора си. Следващият диалогов прозорец ви предлага списък с локали, които са налични за локала по подразбиране. Изберете желания и изберете „OK“. Сега се генерират съответните локални файлове и предварително избраният локал е зададен за вашата система.

За вариант две генерирането на желания локал се извършва с помощта на командата locale-gen. Листинг 6 илюстрира това за френска настройка:

Листинг 6: Генериране на френски локал

locale-gen fr_FR.UTF-8
Генериране на локали ... fr_FR.UTF-8 ... готово Поколението завършено. # --

За да използвате по-рано генерирания локал като такъв по подразбиране, изпълнете командата в Листинг 7, за да го настроите правилно:

Листинг 7: Ръчно задаване на локал

# update-locale LANG = fr_FR.UTF-8

Веднага след като отворите нова терминална сесия или повторно влезете в системата си, промените се активират.

Компилирайте файл за дефиниция на локал

Командата localectl ви помага ръчно да компилирате файл за дефиниция на локал. За да създадете френска настройка, изпълнете командата, както следва:

Листинг 8: Компилирайте локална дефиниция

# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8

Заключение

Разбирането на локалите може да отнеме известно време, тъй като това е настройка, която се влияе от няколко фактора. Обяснихме как да разберем текущия ви локал и как да го променим правилно. От сега нататък адаптирането на системата Linux към вашите нужди ще ви е много по-лесно.

Връзки и справки
Бутонът на левия бутон на мишката не работи в Windows 10
Ако използвате специална мишка с вашия лаптоп или настолен компютър, но бутонът на левия бутон на мишката не работи на Windows 10/8/7 по някаква причи...
Курсорът скача или се движи произволно, докато пишете в Windows 10
Ако установите, че курсорът на вашата мишка скача или се движи самостоятелно, автоматично, произволно, докато пишете в лаптоп или компютър на Windows,...
Как да обърнете посоката на превъртане на мишката и тъчпада в Windows 10
Мишка и Тъчпадs не само правят изчисленията лесни, но и по-ефективни и отнемат по-малко време. Не можем да си представим живот без тези устройства, но...