BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пт 01 ноя, 2019 8:47 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн 04 янв, 2016 6:26 pm
Сообщения: 35
Если в /etc/rc.conf
Код:
deluged_enable="YES"
deluged_user="sinaps"

то после загрузки в раздачах с русскими названиями файлов слетают кодировки, но если
Код:
deluged_enable="NO"
deluged_user="sinaps"

и запускать вручную /usr/local/etc/rc.d/deluge onestart то с кодировками файлов всё в порядке. В обоих случаях deluged работает от
Код:
 PID USERNAME       THR PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
 7720 sinaps             7  20    0   159M 83760K select  0 284:54   3.37% python2.7

У пользователя locale
Код:
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=

Как это исправить? Видимо при автозапуске он почему-то берёт locale от root?
Код:
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пт 01 ноя, 2019 9:38 pm 
Не в сети

Зарегистрирован: Вт 18 сен, 2007 10:26 am
Сообщения: 977
Откуда: СССР, Красноярск
Давно пора на ru_RU.UTF-8 перейти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пт 01 ноя, 2019 9:57 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн 04 янв, 2016 6:26 pm
Сообщения: 35
AlexVPetrov писал(а):
Давно пора на ru_RU.UTF-8 перейти.

Да, наверное, но всё равно не в самой же локали дело, если у пользователя задана одна, а у процесса который от него работает почему-то другая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пт 01 ноя, 2019 11:53 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2413
sinaps писал(а):
AlexVPetrov писал(а):
Давно пора на ru_RU.UTF-8 перейти.

Да, наверное, но всё равно не в самой же локали дело, если у пользователя задана одна, а у процесса который от него работает почему-то другая.


"от него"?
Вы используете rc.conf, значит в /usr/local/etc/rc.d у Вас start-stop скрипты,
ну так посмотрите их и все станет понятно, в том числе и что сделать чтобы
бралось нужное locale.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пт 01 ноя, 2019 11:58 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5283
Откуда: Москва
Так у пользователя locale откуда? Наверняка из какого-нибудь .profile или .xsession. К демону ей оттуда никак не попасть.
Можете попробовать deluged_env=LANG=ru_RU.UTF-8 или deluged_login_class=russian (описано в /etc/rc.subr).
А вообще, нормальный демон никак не должен зависеть от локали.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Сб 02 ноя, 2019 12:30 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн 04 янв, 2016 6:26 pm
Сообщения: 35
lavr писал(а):
ну так посмотрите их и все станет понятно, в том числе и что сделать чтобы
бралось нужное locale.

Смотрел уже, в /usr/local/etc/rc.d/deluged про locale ни слова нет. Советуете дописать прямо туда?
AMDmi3 писал(а):
Так у пользователя locale откуда?

От chpass sinaps
Код:
#Changing user information for sinaps.
Login: sinaps
Password: PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
Uid [#]: 1001
Gid [# or name]: 1001
Change [month day year]:
Expire [month day year]:
Class: russian
Home directory: /home/sinaps
Shell: /usr/local/bin/zsh
Full Name: sinaps
Office Location:
Office Phone:
Home Phone:
Other information:

class: russian в /etc/login.conf
Код:
russian|Russian Users Accounts:\
        :charset=KOI8-R:\
        :lang=ru_RU.KOI8-R:\
        :tc=default:

AMDmi3 писал(а):
нормальный демон никак не должен зависеть от локали.

С остальными всё нормально. ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Сб 02 ноя, 2019 1:58 am 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2413
мельком в daemon.py:
Код:
...
import gettext
import locale
...
       # Initialize gettext
        try:
            locale.setlocale(locale.LC_ALL, '')


locale.setlocale(locale.LC_ALL, '') - установить все категории locale
в user defined, обычно это переменная среды LANG.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Сб 02 ноя, 2019 5:34 am 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5283
Откуда: Москва
sinaps писал(а):
От chpass sinaps

Значит deluged_login_class

sinaps писал(а):
Код:
russian|Russian Users Accounts:\
        :charset=KOI8-R:\
        :lang=ru_RU.KOI8-R:\
        :tc=default:

Какая у вас версия системы? Там должно быть utf-8 со времён 11.0.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Вс 03 ноя, 2019 7:05 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн 04 янв, 2016 6:26 pm
Сообщения: 35
lavr писал(а):
locale.setlocale(locale.LC_ALL, '') - установить все категории locale в user defined

В /usr/local/lib/python2.7/site-packages/deluge/core/daemon.py такое действительно есть, вот только при автозапуске user этот почему-то root! Не смотря на то что в /etc/rc.conf
Код:
deluged_user="sinaps"

и он реально
sockstat | grep python2.7
Код:
sinaps     python2.7  7720  10 tcp4   10.0.0.7:40000        *:*
sinaps     python2.7  7720  12 udp4   10.0.0.7:40000        *:*
sinaps     python2.7  7720  13 tcp4   192.168.0.1:62344     192.168.0.1:1080
sinaps     python2.7  7720  14 tcp4   *:58846               *:*
sinaps     python2.7  7720  20 tcp4   192.168.0.1:33804     192.168.0.1:1080
sinaps     python2.7  7720  21 udp4   *:32707               *:*
sinaps     python2.7  7720  24 tcp4   192.168.0.1:33820     192.168.0.1:1080
sinaps     python2.7  7720  31 tcp4   192.168.0.1:33826     192.168.0.1:1080
sinaps     python2.7  7720  42 tcp4   192.168.0.1:33816     192.168.0.1:1080

AMDmi3 писал(а):
Значит deluged_login_class

Это где-то дополнительно написать? Критично ли переименовывать пользователя «sinaps» (у него и так class: russian) от которого сейчас работает deluged именно в «deluged»?
AMDmi3 писал(а):
Какая у вас версия системы?

uname -a
Код:
FreeBSD FreeBSD 11.3-STABLE FreeBSD 11.3-STABLE #0 r352568: Sun Sep 22 00:46:52 MSK 2019     sinaps@FreeBSD:/mnt/download/system/obj/mnt/download/system/src_11/sys/MY_KERNEL_11  i386

AMDmi3 писал(а):
Там должно быть utf-8 со времён 11.0.

Да без разницы что там, KOI8-R или utf-8 и то и другое работает, но почему-то только в том случае если эта локаль задана у root. Если не задана, то работает только при ручном запуске. Не поимею ли я каких-то других проблем в дальнейшем если у root оставить class: russian?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пн 04 ноя, 2019 1:41 am 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2413
sinaps писал(а):
lavr писал(а):
locale.setlocale(locale.LC_ALL, '') - установить все категории locale в user defined

В /usr/local/lib/python2.7/site-packages/deluge/core/daemon.py такое действительно есть, вот только при автозапуске user этот почему-то root! Не смотря на то что в /etc/rc.conf
Код:
deluged_user="sinaps"

и он реально
sockstat | grep python2.7
Код:
sinaps     python2.7  7720  10 tcp4   10.0.0.7:40000        *:*
sinaps     python2.7  7720  12 udp4   10.0.0.7:40000        *:*
sinaps     python2.7  7720  13 tcp4   192.168.0.1:62344     192.168.0.1:1080
sinaps     python2.7  7720  14 tcp4   *:58846               *:*
sinaps     python2.7  7720  20 tcp4   192.168.0.1:33804     192.168.0.1:1080
sinaps     python2.7  7720  21 udp4   *:32707               *:*
sinaps     python2.7  7720  24 tcp4   192.168.0.1:33820     192.168.0.1:1080
sinaps     python2.7  7720  31 tcp4   192.168.0.1:33826     192.168.0.1:1080
sinaps     python2.7  7720  42 tcp4   192.168.0.1:33816     192.168.0.1:1080


ниче не понял, по sockstat видно что пользователь sinaps, в чем проблемы?
Цитата:
Да без разницы что там, KOI8-R или utf-8 и то и другое работает, но почему-то только в том случае если эта локаль задана у root. Если не задана, то работает только при ручном запуске. Не поимею ли я каких-то других проблем в дальнейшем если у root оставить class: russian?

совсем не без разницы, в /etc/login.conf можно задать нужные классы
и использовать для разных целей, для locale, для ограничения ресурсов: limits.
Если Вы производили изменения в /etc/login.conf но не выполнили cap_mkdb,
то ССЗБ.

А про deluged_env Вам точно написали, это решение Вашей проблемы, в /etc/rc.conf:

deluged_enable="YES"
deluged_user="sinaps"
deluged_env="LANG=ru_RU.KOI8-R"

выглядеть это будет при запуске /usr/local/etc/rc.d/deluged start,
примерно так:
Код:
limits -C daemon su -m sinaps -c 'sh -c "env LANG=ru_RU.KOI8-R /usr/local/bin/deluged  -c /home/sinaps/.config/deluge -L error -l /var/tmp/deluged.log -P /var/run/deluged/pid"'


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: deluged & LANG=ru_RU.KOI8-R
СообщениеДобавлено: Пн 04 ноя, 2019 2:31 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн 04 янв, 2016 6:26 pm
Сообщения: 35
lavr писал(а):
совсем не без разницы

Я понимаю что вообще «не без разницы», без разницы только в контексте данной проблемы.
lavr писал(а):
deluged_env="LANG=ru_RU.KOI8-R"

Огромное спасибо, именно вот этого не хватало. Теперь после перезагрузки deluged понимает русские названия файлов и папок, что и требовалось. А внедрять туда UTF-8 я не вижу ни какого смысла, с KOI8-R из Windows на samba-шарах папки и файлы отображаются правильно, а ничего другого, на что бы могла повлиять KOI8-R-локаль, от этой системы не требуется.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика