Изменение определения локали (в отличие от настройки локали)

x11vnc отлично работает с x11vnc -display :0 -auth guess -no6 -forever -nolookup -passwd xxxx -ping 60
Также взгляните на -reopen параметр в случае проблемы, когда Вы выходите из системы.

Я использую KDM, таким образом, я поместил эту строку в /etc/kde/kdm/Xsetup

Каждый необходимая информация там: http://www.karlrunge.com/x11vnc/faq.html

8
19.05.2015, 15:21
1 ответ

В недавнем вопросе я спросил, какова лучшая практика для такого рода изменений. Ответа пока не было. Тем не менее, я могу дать вам рецепт, который я использую, который доказал, что работает хорошо. Все программы правильно подобрали дату.

Моё описание предназначено для Ubuntu, но, скорее всего, оно будет работать в Debian и Mint.

Подготовка

Скопируйте локаль, которую хотите настроить, из /usr/share/i18n/locales в новый файл. Например,

cp /usr/share/i18n/locales/de_DE /usr/share/i18n/locales/de_DE@isodate

Настройте все , за исключением разделов LC_TIME, на:

copy "de_DE"

Настройте раздел LC_TIME, чтобы он соответствовал вашему желаемому результату. Вы можете использовать настройки из моего вышеупомянутого связанного вопроса в качестве шаблона. Похоже, что это именно то, что Вы хотите.

Если Ваша локаль не использует нотацию "AM/PM", установите ее на пустой:

t_fmt_ampm ""
am_pm   "";""

Сделав ее известной системе

Редактируйте файл /var/lib/locales/supported.d/local и добавьте туда информацию об определении Вашей локали. Т.е. добавьте такую строку, если имя Вашего файла выше было isodate, отрегулируйте иначе:

de_DE.UTF-8@isodate UTF-8

Если /var/lib/locales/supported.d/local не существует, создайте файл с таким именем. Не вносите свои изменения в соответствующий файл en или de в этой папке, так как они могут быть перезаписаны, как только языковой пакет -база и пакет -база в Вашей системе получит обновление.

Теперь запустите dpkg-реконфигурируйте локали :

# dpkg-reconfigure locales
Generating locales...
  de_DE.UTF-8@isodate... done
  de_DE.UTF-8... up-to-date
Generation complete.

В вашем случае это будет означать, что сгенерирована локаль de_DE.UTF-8@isodate (предполагая, что у вас нет проблем с синтаксисом).

И последнее, но не менее важное дополнение к /etc/default/locale:

LC_TIME="de_DE.UTF-8@isodate"

Это гарантирует, что только LC_TIME переопределяет локаль по умолчанию, определенную с помощью LANG.

Войдите заново и вы сможете увидеть новую дату/время ISO при использовании даты или других инструментов, использующих соответствующую функцию выполнения libc.


Целью здесь является внесение наименее навязчивых изменений, в то же время не работая против системы (например, против менеджера пакетов и друзей). Конечно, вы также можете просто создать копию вашей локали, установить её таким же образом, как описано выше, а затем настроить LANG. Суть в том, что до тех пор, пока вы не хотите рисковать тем, что ваши изменения будут перезаписаны при обновлении пакета, вы должны использовать индивидуальную копию (какую бы настройку вы ни выполняли; т.е. скопируйте или просто сохраните разделы, как они были в оригинале). И если вы измените LANG, чтобы указать на полное настроенное определение локали - или , если вы добавите LC_TIME, чтобы указать только на соответствующую настроенную секцию одноименного файла определения локали - вы не сможете обойти настройку одной из глобальных настроек.

5
27.01.2020, 20:13

Теги

Похожие вопросы