- Locale (Русский)
- Contents
- Генерирование локалей
- Установка локали
- Установка системной локали
- Переопределение системной локали в пользовательском сеансе
- Немедленное применение изменений локали
- Дополнительно
- Переменные окружения
- LANG: локаль по умолчанию
- LANGUAGE: запасные локали
- LC_TIME: формат даты и времени
- LC_COLLATE: порядок сортировки
- LC_ALL: решение проблем
- Советы и рекомендации
- Запуск приложения с другой локалью в терминале
- Запуск приложения с другой локалью из меню
- Решение проблем
- Эмулятор терминала не поддерживает UTF-8
- gnome-terminal или rxvt-unicode не поддерживают UTF-8
- Моя система использует неверный язык
- Locale
- Contents
- Generating locales
- Setting the locale
- Setting the system locale
- Overriding system locale per user session
- Make locale changes immediate
- Other uses
- Variables
- LANG: default locale
- LANGUAGE: fallback locales
- LC_TIME: date and time format
- LC_COLLATE: collation
- LC_ALL: troubleshooting
- Troubleshooting
- My terminal does not support UTF-8
- Gnome-terminal or rxvt-unicode
- My system is still using wrong language
- Как установить Arch с минимальной болью?
- Предисловие
- Итак, начнём с простого.
- Установка
- Начинаем с запуска
- Проверим соединение с интернетом:
- Разделы диска
- Установка
- Создадим fstab файл
- Настраиваем установленную систему
- Chroot
- Настройка файла локали
- Настраиваем временную зону
- Задаём время
- Имя хоста и адрес
- Сетевой менеджер
- Установка GRUB
- Перезагрузка
- Добавим пользователя и окружение
Locale (Русский)
Локали определяют язык, который использует система, а также региональные особенности, такие как денежные знаки, формат чисел, даты и времени и наборы символов. Они используются glibc и некоторыми другими программами или библиотеками для рендеринга текста.
Contents
Генерирование локалей
Имена локалей обычно имеют вид [язык][_ТЕРРИТОРИЯ][.НАБОР_СИМВОЛОВ][@модификатор] , где язык это код языка ISO 639, ТЕРРИТОРИЯ это код страны ISO 3166 и НАБОР_СИМВОЛОВ это кодировка вроде ISO-8859-1 или UTF-8. Смотрите setlocale(3) .
Чтобы вывести список всех доступных и сгенерированных локалей, выполните:
Перед тем, как локаль сможет быть использована в системе, она должна быть сгенерирована. Локали, которые вы можете сгенерировать перечислены в файле /etc/locale.gen . Чтобы сгенерировать локаль, первым делом раскомментируйте соответствующую строку в файле (а для удаления наоборот, закомментируйте); вы можете раскомментировать несколько локалей, в зависимости от ваших потребностей.
Например, для русской локали раскомментируйте ru_RU.UTF-8 UTF-8 :
После сохранения файла сгенерируйте выбранные локали командой:
Установка локали
Чтобы отобразить текущую локаль и связанные с ней переменные окружения, наберите:
Используемая локаль, выбранная среди сгенерированных в системе, устанавливается в файлах locale.conf , каждый из которых должен содержать список переменных окружения в том же формате, в каком их выводит команда locale.
Чтобы посмотреть список доступных ранее сгенерированных локалей, выполните:
Также можно использовать localectl(1) :
Установка системной локали
- Системная локаль устанавливается с помощью переменной LANG в файле /etc/locale.conf . Значением должен быть первый столбец из раскомментированной записи в /etc/locale.gen :
Вы можете установить ее также при помощи localectl:
Переопределение системной локали в пользовательском сеансе
- Системная локаль может переопределяться в каждом пользовательском сеансе с помощью файла
/.config/locale.conf (или, в общем случае, $XDG_CONFIG_HOME/locale.conf либо $HOME/.config/locale.conf ).
Немедленное применение изменений локали
После внесения изменений в файлы locale.conf , они вступят в силу после перезагрузки системы, и для отдельных сеансов пользователей — при входе. Чтобы принудительно обновить локаль в текущем окружении без перезагрузки, выполните:
Дополнительно
Переменные окружения настроек локали могут также быть установлены обычным способом, как указано на странице переменные окружения.
Например, чтобы проверить, как работает конкретное приложение с какой-нибудь локалью, вы можете запустить его следующим образом:
Аналогично, для установки локали всем процессам, запускаемом из текущей командной оболочки (например, в процессе установки системы):
Переменные окружения
Файлы locale.conf могут содержать следующие переменные окружения:
Полное объяснение этих переменных можно узнать в locale(7) , детали описаны в locale(5) .
LANG: локаль по умолчанию
Локаль, установленная в этой переменной используется в качестве значения для всех остальных LC_* -переменных, которые не установлены явно.
LANGUAGE: запасные локали
Программы, использующие gettext для перевода, учитывают также переменную LANGUAGE в дополнение к стандартным переменным. Это позволяет пользователям установить список локалей, которые будут использоваться в указанном порядке для поиска перевода. Если перевод для более предпочтительной локали (которая идет первее в списке) недоступен, будет произведена попытка получить перевод для следующей, и так далее. Например, пользователь из Австралии может предпочесть британский вариант перевода американскому:
LC_TIME: формат даты и времени
Например, если переменная LC_TIME имеет значение en_US.UTF-8 , будет использован формат даты ММ/ДД/ГГГГ . Если вы хотите использовать формат ISO 8601 ( ГГГГ-ММ-ДД ), установите:
LC_COLLATE: порядок сортировки
Эта переменная отвечает за правила определения сравнения наборов символов, которые используются для сортировки и регулярных выражений.
Установка значения LC_COLLATE=C , например, приведет к тому, что команда ls будет располагать файлы, имена которых начинаются с точки, первыми, за ними последуют имена, начинающиеся с цифры, затем с заглавной и, наконец, со строчной буквы:
Чтобы избежать возможных проблем, в Arch переменная установлена как LC_COLLATE=C в /etc/profile , однако этот метод сейчас устарел.
LC_ALL: решение проблем
Переменная LC_ALL переопределяет своим значением все LC_* -переменные, включая LANG , независимо от того, установлены они или нет.
Переменная LC_ALL — единственная из всех LC_ -переменных, которую нельзя установить в /etc/locale.conf : она предназначена только в целях проверки при решении проблем.
Советы и рекомендации
Запуск приложения с другой локалью в терминале
Например, чтобы запустить программу abiword на иврите:
Запуск приложения с другой локалью из меню
Скопируйте файл .desktop в домашний каталог пользователя:
И отредактируйте команду в опции Exec :
Решение проблем
Эмулятор терминала не поддерживает UTF-8
Небольшой список терминалов с поддержкой UTF-8:
- gnustep-terminal
- konsole
- mlterm
- rxvt-unicode (Русский)
- st
- эмуляторы на основе VTE
- xterm — необходимо запускать с опцией -u8 или с настройкой xterm*utf8: 2 . Также вы можете запускать uxterm, который предоставляется пакетом xterm .
gnome-terminal или rxvt-unicode не поддерживают UTF-8
Чтобы заработала поддержка UTF-8 в этих приложениях, необходимо запускать их с локалью, в которой установлена кодировка UTF-8, например ru_RU.UTF-8 . Включите эту локаль в системе, установите ее как системную локаль по умолчанию в соответствиями с инструкциями в предыдущих разделах и перезагрузите компьютер.
Моя система использует неверный язык
Возможно, некоторые переменные окружения из locale.conf были переопределены каким-то другим файлом, например
/.pam_environment , который используется в GNOME. Подробнее смотрите на странице Переменные окружения#Установка переменных.
Если вы используете окружение рабочего стола, такое как GNOME, его настройки могут перекрывать locale.conf .
KDE Plasma также позволяет изменить язык интерфейса через свои настройки. Если он всё равно использует язык по умолчанию после изменения, удаление файла
/.config/plasma-locale-settings.sh ) должно помочь.
Если вы используете экранный менеджер вместе с accountsservice , смотрите Display manager (Русский)#Установка языка.
LightDM автоматически использует accountsservice для выбора локали, если он установлен. В противном случае LightDM читает настройки сеанса из
/.dmrc . Возможно, что нежелательные настройки локали прочитались оттуда.
Источник
Locale
Locales are used by glibc and other locale-aware programs or libraries for rendering text, correctly displaying regional monetary values, time and date formats, alphabetic idiosyncrasies, and other locale-specific standards.
Contents
Generating locales
Locale names are typically of the form language[_territory][.codeset][@modifier] , where language is an ISO 639 language code, territory is an ISO 3166 country code, and codeset is a character set or encoding identifier like ISO-8859-1 or UTF-8. See setlocale(3) .
For a list of enabled locales, run:
Before a locale can be enabled on the system, it must be generated. This can be achieved by uncommenting applicable entries in /etc/locale.gen , and running locale-gen. Equivalently, commenting entries disables their respective locales. While making changes, consider any localisations required by other users on the system, as well as specific #Variables.
For example, uncomment en_US.UTF-8 UTF-8 for American-English:
Save the file, and generate the locale:
Setting the locale
To display the currently set locale and its related environmental settings, type:
The locale to be used, chosen among the previously generated ones, is set in locale.conf files. Each of these files must contain a new-line separated list of environment variable assignments, having the same format as output by locale.
To list available locales which have been previously generated, run:
Setting the system locale
To set the system locale, write the LANG variable to /etc/locale.conf , where en_US.UTF-8 belongs to the first column of an uncommented entry in /etc/locale.gen :
Overriding system locale per user session
The system-wide locale can be overridden in each user session by creating or editing $XDG_CONFIG_HOME/locale.conf (usually
The precedence of these locale.conf files is defined in /etc/profile.d/locale.sh .
/.config/locale.conf automatically generated.
Make locale changes immediate
Once system and user locale.conf files have been created or edited, their new values will take effect for new sessions at login. To have the current environment use the new settings unset LANG and source /etc/profile.d/locale.sh :
Other uses
Locale variables can also be defined with the standard methods as explained in Environment variables.
For example, in order to test or debug a particular application during development, it could be launched with something like:
Similarly, to set the locale for all processes run from the current shell (for example, during system installation):
Variables
locale.conf files support the following environment variables.
Full meaning of the above LC_* variables can be found on manpage locale(7) , whereas details of their definition are described on locale(5) .
LANG: default locale
The locale set for this variable will be used for all the LC_* variables that are not explicitly set.
LANGUAGE: fallback locales
Programs which use gettext for translations respect the LANGUAGE option in addition to the usual variables. This allows users to specify a list of locales that will be used in that order. If a translation for the preferred locale is unavailable, another from a similar locale will be used instead of the default. For example, an Australian user might want to fall back to British rather than US spelling:
LC_TIME: date and time format
If LC_TIME is set to en_US.UTF-8 , for example, the date format will be «MM/DD/YYYY». If wanting to use the the ISO 8601 date format of «YYYY-MM-DD» use:
glibc 2.29 fixed a bug, en_US.UTF-8 started showing in 12-hour format, as was intended. If wanting to use 24-hour format, use LC_TIME=en_GB.UTF-8 .
LC_COLLATE: collation
This variable governs the collation rules used for sorting and regular expressions.
Setting the value to C can for example make the ls command sort dotfiles first, followed by uppercase and lowercase filenames:
To get around potential issues, Arch used to set LC_COLLATE=C in /etc/profile , but this method is now deprecated.
LC_ALL: troubleshooting
The locale set for this variable will always override LANG and all the other LC_* variables, whether they are set or not.
LC_ALL is the only LC_* variable which cannot be set in locale.conf files: it is meant to be used only for testing or troubleshooting purposes, for example in /etc/profile .
Troubleshooting
My terminal does not support UTF-8
The following lists some (not all) terminals that support UTF-8:
Gnome-terminal or rxvt-unicode
You need to launch these applications from a UTF-8 locale or they will drop UTF-8 support. Enable the en_US.UTF-8 locale (or your local UTF-8 alternative) per the instructions above and set it as the default locale, then reboot.
My system is still using wrong language
It is possible that the environment variables are redefined in other files than locale.conf , for example
If you are using a desktop environment, such as GNOME, its language settings may be overriding the settings in locale.conf .
KDE Plasma also allows to change the UI’s language through the system settings. If the desktop environment is still using the default language after the modification, deleting the file at
/.config/plasma-locale-settings.sh ) should resolve the issue.
If you are using a display manager in combination with accountsservice , follow the instructions in Display manager#Set language for user session.
LightDM will automatically use accountsservice to set a user’s locale if it is installed. Otherwise, LightDM stores the user session configuration in
/.dmrc . It is possible that an unwanted locale setting is retrieved from there as well.
Источник
Как установить Arch с минимальной болью?
Предисловие
Слышал, что некоторые считают Arch сложным в установке. Отчасти они правы, но для любого человека, который способен разобраться в установке и настройке linux, установка Arch довольно проста. Также это самый гибкий дистрибутив, поэтому настроить под себя его получится лучше других дистрибутивов.
Данный гайд является сборной солянкой из всех гайдов, что я прочитал (как русскоязычные, так и иноязычные). Его цель просто и без лишней технической информации показать пошаговую установку Arch и сделать это на русском языке. Главное, что статья написана от непонимающего для непонимающих. Заранее скажу, что некоторые скрины будут уже с установленного Arch, но это никак не меняет работу команд и то, что вы увидите при их использование.
Итак, начнём с простого.
Идём на сайт и качаём ISO-файл:
Там ищем зеркало(скорее всего русское) и скачиваем образ:
Для упрощения дальнейшей жизни лучше скачать Etcher, прямо на сайте есть довольно понятная инструкция в картинках, так что справятся все.
Установка
// начну с настройки VirtualBox, если вы используете её, то выполните следующие действия
1.Идём в настройки машины:
2.Во вкладке система ставим галочку около пункта »Включить EFI»:
3.Далее идём во вкладку носители, там добавляем контроллер IDE и выбираем наш дистрибутив
Далее установка будет для всех одинакова.
Начинаем с запуска
Выбираем первую строку и жмём Enter
Проверим соединение с интернетом:
Это нужно, потому что Arch требует интернет для своей установки.
Такой командой можно проверить своё соединение и увидеть время ответа сайта.
Если вы используете wifi на своём ПК, то используйте утилиту :
Вы увидите примерно это:
Разделы диска
Для того, чтоб разбить наш диск на разделы, можно сначала узнать какие диски подключены. Скорее всего у вас будет USB флешка и HDD\SSD вашего ПК.
Команда для просмотра разделов (понадобится нам ещё много раз):
Если у вас несколько дисков, а вы хотите установить на какой-то конкретный, то можно посмотреть диски по размерам.
Время размечать наш диск. Используем команду cfdisk для этого и выбираем gpt формат :
Bажно! если во время использования команды lsblk и fdisk вы увидели что sda является не тем диском, что нужен вам, то вы дописываете в конец название другого диска, например sdb.
Используя стрелочки создаём 3 раздела на диске:
- /dev/sda1 # размером 1G места под UEFI
- /dev/sda2 # размером примерно 10-15 GB под root
- /dev/sda3 # всё оставшееся место под директорию home
PS: Если вы решили переделать разметку диска, то через эту утилиту можно и удалять разделы
Для проверки используем lsblk снова. Если всё норм, что /dev/sda будет содежать в себе 3 раздела.
Далее форматируем наши разделы.
Форматируем тот раздел, который мы выделили под UEFi
Монтируем root и создаём папку home:
И снова lsblk для проверки
Установка
Начинается самая долгая часть, потому что нужно будет много скачать. Устанавливаем все основные пакеты, а также nano, чтоб редачить файлы системы. Если вдруг вы знакомы с vim можете скачать и его (дописать в конец).
Вам предложат что установить выбирайте all и далее yes. Встречался с проблемой, что можно было скачать первый или второй вариант, можно просто выполнить команду дважды выбирая вначале один пакет, а затем второй.
Создадим fstab файл
Настраиваем установленную систему
Chroot
Chroot (change root) нужен нам, чтобы мы могли сменить root пользователя (как и сказано в названии команды).
Настройка файла локали
Для начала идём в файл локали, чтоб настроить язык
Находим там #en_US.UTF-8 и стираем #, с русским языком так же. PS: можно использовать Ctrl + W для поиска языка в файле.
Чтобы всё сохранить Ctrl + O, затем Enter и Ctrl + X, затем Enter
Далее пишем команды, которые сгенерируют локаль и создаём locale.conf с нужными настройками языка.
Настраиваем временную зону
Далее жмём 2 раза на Tab и видим список регионов, после городов.
В моём случае было так:
Задаём время
Тут 2 команды. Одна ставит время для системы, а другая его показывает.
Имя хоста и адрес
Я решил назвать ПК ArchMe, поэтому используем следующую команду:
Далее идём в файл localhosts и записываем ip. Если у вас ip статический, используйте свой.
Сетевой менеджер
Качаем и включаем.
Установка GRUB
Для начала сменим пароль root пользователя :
GRUB — это загрузчик, который нужен, чтоб запускать нашу установленную систему (в режиме EFI). Далее будет куча команд, которые нужно выполнить.
Перезагрузка
Чтобы без потерь перезагрузить нашу систему используем эти команды:
После перезагрузки вы увидите следующее. Если это так, то наш GRUB установился правильно
Входим в root аккаунт и создаём swapfile (что-то вроде доп оперативки) и задаём ему размер как у вашей ОЗУ
Далее выполняем следующие команды:
И проверяем, работает ли swap:
Добавим пользователя и окружение
username замените на то имя, что хотите вы)
Также нужно дать ему права суперюзера:
там ищем и убираем #, а дальше Ctrl + O, затем Enter и Ctrl + X, затем Enter
Дрова
Вам будет предложен выбор, выбирайте исходя из своей графики.
Окружение
Вначале покажу как поставить довольно простое — XFCE
И моё любимое i3, там выбираем пакеты 2 4 5. Возможно вы увидите квадраты вместо символов, но это нормально, вам просто нужно будет скачать шрифт dejavu ( pacman -S ttf-dejavu ). Cписок горячих клавиш можно посмотреть тут
Если вы решите поменять своё окружение, то нужно будет менять запись в файле xinitrc.
Источник