LINUX.ORG.RU

Как дела с UTF-8 во FreeBSD

 , , ,


1

3

Добрый день. При установке FreeBSD не нашёл в списке предложенных локалей UTF-8 и задался вопросом: а как с ней дела во FreeBSD? Нашёл информацию о том, что в драйвере vt (newcons) есть поддержка UTF-8, и даже нашёл инструкцию о том, как включить vt, равно как и инструкции насчёт настройки UTF-8 для всего остального, но все они - 10-летней давности и местами содержат упоминания о проблемах вроде неправильного отображения псевдографики, или требования отдельной настройки для $некоторая_программа и т.д. Пожалуйста, просветите - как _сейчас_ обстоят дела с UTF-8 во FreeBSD, можно ли его раз и навсегда быстро и легко настроить и не париться, иметь в этом смысле совместимость по кодировке имен/содержимого файлов и т.д. Ну и может кто в курсе - почему UTF-8 ещё не по умолчанию, и есть ли планы по изменению дефолта? Заранее спасибо.

★★

Последнее исправление: Norong (всего исправлений: 1)

Великолепно обстоят дела. vt (newcons) стоит по умолчанию в 11 версии. Ничего не надо настраивать. Достаточно установить нужную локаль.

Unicode4all ★★★★★
()

Это ты тот человек, что у саахрикту аккаунт угнал?

awesomebuntu
()

Всё очень плохо. Тут вообще всё очень плохо. Вот сейчас набираю этот текст и плачу.

// На самом деле тут работает юникод в консоли и не требует настройки. Достаточно выбрать класс пользователя (при добавлении) russian.

IPR ★★★★★
()

В ee не поддерживается Unicode. И в других программах тоже.

iZEN ★★★★★
()

Во фряхе юникод никому особо не упёрся, но настраивается он довольно легко (ссылку уже дали выше). Так как он никому не упёрся, много базового софта с юникодом будет вести себя странно и непредсказуемо, но так как базового софта во фре не так много, то этого ты и не заметишь.

r3lgar ★★★★★
()
Ответ на: комментарий от utf8nowhere

Во фре вообще софта не так много, tbh.

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

r3lgar ★★★★★
()
Ответ на: комментарий от utf8nowhere

Во фре вообще софта не так много, tbh.

Ну откуда вы простые такие берётесь?

Вообще же, для Фри софта больше, чем для вашего конкретного дистрибутива благодяря портам (29922 портированных программ и библиотек) и бинарной совместимоти с Linux ABI, позволяющему запускать бинарный софт для Linux без перекомпиляции, например, использовать библиотеку NVIDIA CUDA в бинарном виде для численных массивно-параллельных расчётов на современных видеокартах.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Но как гентушник я с тобой соглашусь.

Ещё один...

Що ещё один? Софта под *BSD объективно меньше, чем под Linux. Не всё, что работает под последним, заведётся под первым, не мне тебе объяснять.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Недавно же на Опеннете приводили статистику:

Топ репозиториев по общему количеству пакетов:

    AUR (30938)
    Debian/Ubuntu (26516/27677)
    FreeBSD (25706)
    Gentoo (19162)
    Fedora (19135) 
Т.е. FreeBSD здесь даже обгоняет Gentoo и Федору.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

В Debian не пакеты, а «пакетики». Это тоже надо учитывать. Там OpenJDK, например, состоит из нескольких пакетиков,а во FreeBSD он один.

И по FreeBSD данные, как всегда устарели года на два.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

В Debian не пакеты, а «пакетики». Это тоже надо учитывать.

Этот момент, по ходу, учтён. Так-то в Debian'е больше чем 43000 пакетов.

saahriktu ★★★★★
()

Как дела с UTF-8 во FreeBSD

2017

да откуда вы лезете?

reprimand ★★★★★
()
Ответ на: комментарий от r3lgar

Статистика от repology.org. Что они учитывают, по тому и статистика.

saahriktu ★★★★★
()
Ответ на: комментарий от r3lgar

Ну на маке же работает. Значит во Фре по-идее все норм с юникодом. Может какие-нить специфические утилитки только. База одна с маком, так что норм все.

hibou ★★★★★
()

На кой черт тебе хрюникод? Ты же не китаец!

anonymous
()
Ответ на: комментарий от hibou

Причём здесь юникод, если закус произошёл из-за количества софта?

r3lgar ★★★★★
()
Ответ на: комментарий от iZEN

Ещё бы им бинарную совместимость с пингвиньим ядром ради фичастости - и цены бы фряхе не было)

devl547 ★★★★★
()

Давно всё хорошо, лет десять как.

но все они - 10-летней давности и местами содержат упоминания о проблемах вроде неправильного отображения псевдографики, или требования отдельной настройки для $некоторая_программа и т.д.

А что ты делаешь с ядерной консолью (она давно УТФ) и зачем тебе нужны какие-то там псевдографичные программы десятилетней давности?

Ну и может кто в курсе - почему UTF-8 ещё не по умолчанию

Насколько я помню русский в УТФ уже давно по умолчанию.

Ygor ★★★★★
()
Ответ на: комментарий от r3lgar

Во фряхе юникод никому особо не упёрся,

В пингвинах, непосредственно в самой ядренной консоли – вообще-то тоже. Правда, как показывает опыт, большая часть петросянящих ни ухом ни рылом об этих нюансах. Просто слышали что-то там про «неуту ютф из коробки».

anonymous
()
Ответ на: комментарий от iZEN

Там считали сорс-пакеты (ежели посчитать самому, то совпадает). Так что да. Другое дело AUR-о помойка, там похоже половина софта чуть модифицированные хеловорлды или «питонообвязка-нужная-только-автору-и-его-однокласснику».

anonymous
()
Ответ на: комментарий от anonymous

На линуксах в последнее время сидят одни хипсторы, которые если ещё куда не пропихнули юникод, то уже пропихивают.

r3lgar ★★★★★
()
Ответ на: комментарий от anonymous

непосредственно в самой ядренной консоли – вообще-то тоже

Поработай с английскими, японскими, и русскими именами файлов без UTF8.

anonymous
()
Ответ на: комментарий от anonymous

Поработай с английскими, японскими, и русскими именами файлов без UTF8.

1. Не всем нужен японский

2. Имена файлам надо давать латиницей и в 8.3

3. КОИ8 хватит всем

petrosyan ★★★★★
()
Последнее исправление: petrosyan (всего исправлений: 1)
Ответ на: комментарий от IPR

А не подскажешь, как получить русские буковки в консоли? user добавил в класс russian, keymap=«ru», font8x16=«vgarom-8x16», после капс-лока происходит переключение раскладки на вопросительные знаки, да и вывод при русской локали тоже из вопросов.

Norong ★★
() автор топика
Последнее исправление: Norong (всего исправлений: 1)
Ответ на: комментарий от petrosyan

. Не всем
Имена файлам

Даю не я. Я с ними толькоработаю.

КОИ8

Старые программы не поддерживают эту кодировку.

anonymous
()
Ответ на: комментарий от anonymous

не поддерживают

Хотя если честно, то не проверял. Просто нет в списке заявленных.

anonymous
()
Ответ на: комментарий от anonymous

Поработай с английскими, японскими, и русскими именами файлов без UTF8.

Ух ты! И правда, куда уж мне, с аглицко-немецко-французским (помимо русского) опытом до ЯПОНСКОГО! :(

Я ж и говорю - что-то слышал краем уха, но ценное мнение заимел? Или очередной одмин локалхоста, который для понтов «работает» в ядерной консоли?
Потому что утф в ssh и иксах появился в то же время, что и пингвине.
Да и «нативная консоль» выставлялась при надобности на утф еще лет надцать так назад. Просто на самом деле, кроме локалхостников, это нафиг никому не нужно было - ты или заходишь удаленно через ssh или, на десктопе, пользуешься графическими утилитами, а не строишь из себя кулхацкера.

anonymous
()
Ответ на: комментарий от anonymous

Старые программы не поддерживают эту кодировку.

Старые программы бывают разные. Например, ed 1987-го года KOI8-R поддерживает.

Я с ними толькоработаю.

$ cat 8bitname
#!/bin/bash
NEWFNAME=`echo "$1" | iconv -c -f utf-8 -t koi8-r`
if [ "$1" != "$NEWFNAME" ]; then
mv -i "$1" "$NEWFNAME"
fi

Можно ещё

$ cat renamebynumber
#!/bin/bash
if [ "$#" -lt 1 ]; then
i=0
else
i=`echo "$1"`
fi
for file in `ls *` ; do
mv -i $file `printf "%8x" $i | sed 's/ /0/g'`
i=$((i+1))
done
А потом
$ cat typerename
#!/bin/bash
FILE_TYPE=`file -b $1 | sed 's/,.*$//;s/\ \".*$//;s/\ (.*$//'`
case "$FILE_TYPE" in
	"DjVu multiple page document" )
	perl-rename 's/$/\.djvu/' $1
	;;
	"PDF document" )
	perl-rename 's/$/\.pdf/' $1
	;;
	"MS Windows HtmlHelp Data" )
	perl-rename 's/$/\.chm/' $1
	;;
	"HTML document" )
	perl-rename 's/$/\.html/' $1
	;;
	"gzip compressed data" )
	perl-rename 's/$/\.gz/' $1
	;;
	"bzip2 compressed data" )
	perl-rename 's/$/\.bz2/' $1
	;;
	"Zip archive data" )
	perl-rename 's/$/\.zip/' $1
	;;
	"RAR archive data" )
	perl-rename 's/$/\.rar/' $1
	;;
	"POSIX tar archive (GNU)" )
	perl-rename 's/$/\.tar/' $1
	;;
	"PostScript document text conforming DSC level 2.0" )
	perl-rename 's/$/\.ps/' $1
	;;
	"FORTRAN program" )
	perl-rename 's/$/\.f/' $1
	;;
	"LaTeX 2e document" )
	perl-rename 's/$/\.tex/' $1
	;;
	"ISO-8859 text" )
	perl-rename 's/$/\.txt/' $1
	;;
	"Composite Document File V2 Document" )
	perl-rename 's/$/\.doc/' $1
	;;
	"makefile script" )
	perl-rename 's/$/\.make/' $1
	;;
	"C source" )
	perl-rename 's/$/\.c/' $1
	;;
	"EPUB document" )
	perl-rename 's/$/\.epub/' $1
	;;
	"Mobipocket E-book" )
	perl-rename 's/$/\.mobi/' $1
	;;
	"Microsoft Reader eBook Data" )
	perl-rename 's/$/\.lit/' $1
	;;
	"DjVu image or single page document" )
	perl-rename 's/$/\.djvu/' $1
	;;
	"JPEG image data" )
	perl-rename 's/$/\.jpg/' $1
	;;
	"ASCII text" )
	perl-rename 's/$/\.txt/' $1
	;;
	"MS Windows 3.x help file" )
	perl-rename 's/$/\.hlp/' $1
	;;
	"MS-DOS executable" )
	perl-rename 's/$/\.exe/' $1
	;;
	"Microsoft Word 2007+" )
	perl-rename 's/$/\.docx/' $1
	;;
	HA\ archive\ data\ *\ file*)
	perl-rename 's/$/\.ha/' $1
	;;
	"XML document text" )
	perl-rename 's/$/\.xml/' $1
	;;
	"Rich Text Format data" )
	perl-rename 's/$/\.rtf/' $1
	;;
	"Non-ISO extended-ASCII text" )
	perl-rename 's/$/\.txt/' $1
	;;
	"TeX DVI file" )
	perl-rename 's/$/\.dvi/' $1
	;;
	"PE32 executable" )
	perl-rename 's/$/\.exe/' $1
	;;
	"OpenDocument Text" )
	perl-rename 's/$/\.odt/' $1
	;;
	"MPEG ADTS" )
	perl-rename 's/$/\.mp3/' $1
	;;
	"UTF-8 Unicode" )
	perl-rename 's/$/\.txt/' $1
	;;
	"XML 1.0 document" )
	perl-rename 's/$/\.xml/' $1
	;;
	"GIF image data" )
	perl-rename 's/$/\.gif/' $1
	;;
	"Python script" )
	perl-rename 's/$/\.py/' $1
	;;
	"8086 relocatable" )
	perl-rename 's/$/\.omf/' $1
	;;
	"DOS executable" )
	perl-rename 's/$/\.com/' $1
	;;
	"ARJ archive data" )
	perl-rename 's/$/\.arg/' $1
	;;
	"C++ source" )
	perl-rename 's/$/\.cpp/' $1
	;;
	"TIFF image data" )
	perl-rename 's/$/\.tiff/' $1
	;;
esac

saahriktu ★★★★★
()
Ответ на: комментарий от anonymous

для понтов

Иксы не всегда есть и не всегда работают. Вдруг что-то сломалось. Такое бывает.

аглицко-немецко-французским

<Там латиница. Латиница. В японском другие символы. saahriktu: Спасибо.

anonymous
()
Ответ на: комментарий от anonymous

Там латиница. Латиница.

Ну-ну. Там своих закорючек хватает.

Ö ü ß Ä

Иксы не всегда есть и не всегда работают.

Угу. Иксов нет, но моник подключен. И чинить вдруг обчзательно нужно файлы с русскими буковками в имени, по счастливому совпадению в утф-кодировке, а не каком-то СРхххх. Верю.

anonymous
()
Ответ на: комментарий от anonymous

Ö ü ß Ä

Ясно.

моник подключен

Ага. Не выкидывать же его.

файлы с русскими буковками в имени

Чаще с английскими. Но попадаются с японскими или русскими. И никуда от них не деться.

не каком-то СРхххх

Не встречал пока. Попадётся, буду перекодировать.

anonymous
()
Ответ на: комментарий от anonymous

Не встречал пока. Попадётся, буду перекодировать.

Я вообще-то про ситуацию лет 12 назад. Сейчас то ясное дело... Но и во фре, если не брать во внимание сферическо-абстрактный мир унылых вбросчиков, с этим «из коробки» все нормально.

Ясно

Оно хоть и выглядит похоже на латиницу, но на практике не легче работы с закорючками — кодировок, разных и весёлых, с разными позициями этих умляутов и тут достаточно (было).

anonymous
()
Ответ на: комментарий от anonymous

Написано, что во-первых, он и есть дефолтный, во-вторых, он поддерживает кириллицу

Norong ★★
() автор топика
Ответ на: комментарий от IPR

login.conf: ix.io/uEj

ttys: ix.io/uEk

rc.conf: ix.io/uEl

pw usershow user: ix.io/uEn

И ещё такой вопрос: я довольно давно вижу в портах awesome 4.1, в моём локальном срезе портов тоже версия 4.1, но через pkg search видна только 3.5.9. Вопрос: 4.1 тоже подоспеет через некоторое время, или появится только в новом релизе? Как происходит процесс обновления бинарных пакетов? Где можно увидеть их список и т.д. (кроме как через pkg)? Заранее спасибо.

UPD. Нашёл вот что:

http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/awesome-4.1,1.txz

http://pkg.freebsd.org/FreeBSD:11:amd64/quarterly/All/awesome-3.5.9,1.txz

http://pkg.freebsd.org/FreeBSD:11:amd64/release_0/All/awesome-3.5.9,1.txz

А в /etc/pkg/FreeBSD.conf запись об использовании «quarterly». Это, получается, «каналы» с различной частотой обновлений, и можно с одного на другой спокойно переключаться? Насколько такое принято? Где можно об этом прочитать..?

Norong ★★
() автор топика
Последнее исправление: Norong (всего исправлений: 1)
Ответ на: комментарий от Norong

Это, получается, «каналы» с различной частотой обновлений, и можно с одного на другой спокойно переключаться? Насколько такое принято? Где можно об этом прочитать..?

Один «канал» - для получения пакетов, относящихся к релизу. Другой «канал» - для получения ежеквартальных пакетов. Третий «канал» - для получения свежих пакетов, относящихся к -CURRENT и -STABLE веткам разработчиков.

iZEN ★★★★★
()
Ответ на: комментарий от Norong

ogin.conf: ix.io/uEj

что-то ты намудрил. Только что взял и затестил «на чистую», без всяких «russian» в логинкласcах:

% export LC_ALL=ru_RU.UTF-8
% su
% kbdcontrol -l /usr/share/vt/keymaps/ru.kbd
^D
% hello <CAPS_LOCK> мир
% pw user show me
:1001:1001:default:0:0:anon:/home/anon:/usr/local/bin/zsh

Вопрос: 4.1 тоже подоспеет через некоторое время, или появится только в новом релизе?

Для танкистов - разница между портами и пакетами уже пару лет как составляет не более 2-3 дней. Смачный прикол: частенько апдейты для лиса с исправлениями уязвимостей в бзде появляются даже в бинарном виде раньше бубунты. А уж в портах ... Тем более, лису пересобрать дело получаса на стареньком ноуте. Но, (в смысле последнего софта, а не обновлений безопасности) для этого нужно использовать latest-репы.

Как происходит процесс обновления бинарных пакетов?

Берется срез репы, берется poudriere ...
В общем, https://www.freebsd.org/portmgr/policies.html

Где можно увидеть их список и т.д. (кроме как через pkg)?

Зависит от конкретной репы, можно открыть в браузере: http://pkg.freebsd.org/FreeBSD:11:amd64/quarterly/All/ или запустить ls

ls /usr/ports/packages/All
благо, своя, локальная репа делается тривиальнейшим образом:
% make package # из портов. Или pkg сreate уже_установленный_пакет
% pkg repo dir_with_packages
% ee /usr/local/etc/pkg/repos/myown.conf
  local-repo: { 
    url             : "file:///dir_with_packages",
    enabled         : yes,
    priority        : 2
  }

% pkg update

и можно с одного на другой спокойно переключаться?

Ну, вообще-то ... хотя ладно, так и быть, разрешаю!

Насколько такое принято?

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

Где можно об этом прочитать..?

Это такой жирный намек на отсутсвие в хэндбуке? Ну, не все сразу. https://www.freebsd.org/doc/en/articles/committers-guide/ports.html#ports-qa-...
https://wiki.freebsd.org/Quarterly_Branch

After a quarterly branch is created, it receives only the following Merge From Head (MFH)
commits, including, but not limited to:
Security fixes (that may be version updates, or backports of commits)
Build, run, packaging, or bug fixes

это квартерли. Что такое лейтест, думаю и так понятно. Кстати, лично я бы порты использовал из той же ветки, что и репу.

anonymous
()
Ответ на: комментарий от anonymous

В дефолтной установке после этих команд:

% export LC_ALL=ru_RU.UTF-8
% kbdcontrol -l /usr/share/vt/keymaps/ru.kbd
у меня вместо русских букв появляются записи вида \262\321 и т.д.

Norong ★★
() автор топика
Ответ на: комментарий от Norong

Короч, у меня все конфиги идентичны, кроме rc.conf. Убери строку с определением шрифта, видимо в ней дело. У меня юникод по-дефолту работает.

IPR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.