Кириллица и bash

Аватара пользователя
ZigZag
Сообщения: 286
Зарегистрирован: 28 окт 2015, 04:43

Сообщение ZigZag » 26 мар 2019, 04:40

хозяин - барин, мой bash работает с кириллицей в любом терминале и на любом ядре.
И в ConnectBot'e и jackpal'e ? 0_o
В термиусе да, не очень удобно переключаться между терминалами, надо нажимать Назад, чтобы выйти в меню, но тем не менее он лучше коннектбота (и тем более jackpal).
Я про другое :) После ввода n-го числа строк в альбомном режиме терминал уползает под клавиатуру.
И я не помню, у этого термиуса свой bash есть - его стянуть можно?
Есть, только проверял на "своём". Лежит тут
/data/data/com.server.auditor.ssh.client/files/bin/bash_bin
или в res/raw/bash.zip внутри apk-ки
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

Аватара пользователя
ZigZag
Сообщения: 286
Зарегистрирован: 28 окт 2015, 04:43

Сообщение ZigZag » 26 мар 2019, 21:01

В альбомном режиме проблема с клавиатурой вылезает на кастомных клавиатурах - блок со спец.клавишами терминала сползает под клавиатуру и текст уходит вплоть до него. С родной AOSP-клавиатурой блок находится над клавиатурой и никуда не уползает. В случае с используемой мной hackers keyboard проблема решилась включением настройки "Landscape Mode Fullscreen Editor".
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 27 мар 2019, 03:10

ZigZag писал(а):Источник цитаты и jackpal'e

да причем на очень старом устройстве Андроид 4.2.2 (ядро 3.0.31) и на очень старом jackpal-е (дефолтный цианогенный), только в настройках надо включить форсированный UTF-8-режим.

ZigZag писал(а):Источник цитаты Лежит тут
И как там этот bash с кириллицей в других терминалах?

Аватара пользователя
ZigZag
Сообщения: 286
Зарегистрирован: 28 окт 2015, 04:43

Сообщение ZigZag » 27 мар 2019, 06:39

да причем на очень старом устройстве Андроид 4.2.2 (ядро 3.0.31) и на очень старом jackpal-е (дефолтный цианогенный), только в настройках надо включить форсированный UTF-8-режим.
Так мб выложите на пробу ?
И как там этот bash с кириллицей в других терминалах?
Та же петрушка. По крайней мере с тем башем, что в версии 3.3.36 (другие не проверял)
Keenetic Omni II [v2.13.C.0.0-1]; Zyxel Keenetic [V1.00(BFW.4.4)D0]

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 27 мар 2019, 11:40

1. У меня не статический bash. Свой линкер в /data/alp/lib и еще две *.so там же. Думаю, не сильно это другим надо. Тем более там полно нестандартных фич, которые другим только помешают: например, у меня LD_LIBRARY_PATH и LD_PRELOAD работают не так, как обычно. Есть переменная ALP_LIBRARY_PATH и ее линкер слушается. Но если переменная ALP_LIBRARY_PATH равна "LD_LIBRARY_PATH", то линкер начинает слушаться LD_LIBRARY_PATH. Это на тот случай, если в какому-нибудь внешнему скрипту потребуется динамический манипулировать LD_LIBRARY_PATH. А мне очень удобно: по дефолту коллизий в библиотеках не может быть.
2. Лучше пользуйтесь Entware, он почти ничем не хуже. Там bash 5.0, как и у меня. Чтобы были русские буквы bash надо вызывать так:

Код: Выделить всё

LANG='en_US.UTF-8' /opt/bin/bash

3. Чем хуже в Entware: в libreadline изпользуется конфиг по пути /etc/inputrc. А он нужен, чтобы клавиши home и end нормально отрабатывали в bash-строке.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 27 мар 2019, 13:45

kaztost писал(а):Источник цитаты Чем хуже в Entware: в libreadline изпользуется конфиг по пути /etc/inputrc. А

/* Do key bindings from a file. If FILENAME is NULL it defaults
to the first non-null filename from this list:
1. the filename used for the previous call
2. the value of the shell variable `INPUTRC'
3. ~/.inputrc
4. /etc/inputrc
If the file existed and could be opened and read, 0 is returned,
otherwise errno is returned. */

У нас есть /opt/etc/root/.inputrc и при альтернативной установке проблем быть не должно.

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 27 мар 2019, 13:48

Zyxmon писал(а):Источник цитаты У нас есть /opt/etc/root/.inputrc и при альтернативной установке проблем быть не должно.

Имелось ввиду /opt/root/.inputrc, наверное. А интересно ~ что из себя здесь представляет. Значение $HOME или значение из [/opt]/etc/passwd?

kaztost
Сообщения: 223
Зарегистрирован: 17 июл 2017, 00:29

Сообщение kaztost » 27 мар 2019, 13:50

В любом случае лучше все-таки пропатчить, поскольку bash можно использовать в других терминалах, в разных окружениях и UID.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 27 мар 2019, 13:51

kaztost писал(а):Источник цитаты А интересно ~ что из себя здесь представляет. Значение $HOME или значение из [/opt]/etc/passwd?

Если используется ssh сервер из Entware, то HOME=значение из passwd и проблемы нет

Код: Выделить всё

~ # env
USER=root
SSH_CLIENT=10.0.0.139 51492 5022
SHLVL=1
HOME=/opt/root
TERMINFO=/opt/share/terminfo
SSH_TTY=/dev/pts/0
LOGNAME=root
TEMP=/opt/tmp
TERM=xterm
PATH=/opt/bin:/opt/sbin:/system/xbin:/system/bin:/sbin
LANG=en_US.UTF-8
TMP=/opt/tmp
SHELL=/opt/bin/sh
PWD=/opt/root
LC_ALL=en_US.UTF-8
SSH_CONNECTION=10.0.0.139 51492 10.0.0.24 5022

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1912
Зарегистрирован: 09 авг 2015, 15:33

Сообщение Zyxmon » 27 мар 2019, 13:52

kaztost писал(а):Источник цитаты В любом случае лучше все-таки пропатчить, поскольку bash можно использовать в других терминалах, в разных окружениях и UID.


https://github.com/Entware/Entware/comm ... 5040a9a682


Вернуться в «Entware на Android»

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

Всего 3 посетителя :: 0 зарегистрированных, 0 скрытых и 3 гостя (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя