Dmitry Bogatov <kact...@debian.org> Sat, 22 Dec 2018 13:33:18 +0000:

>  $ dgit clone fgetty
>  $ cd fgetty
>  $ git am /path/to/this/message
>  $ dgit build
>  $ sudo debi

I had to specify xx.changes location to last instruction.
; su -c 'debi ../fgetty_0.7-4_multi.changes'

Patch applied, but no changes after it.  Please, let me know if I made
something wrong.

Indeed, I completely purged fgetty and followed instructions again to
make sure that the patched package is used. But, no success.


But, I think that mksh package might give us some light:

; LANG=C apt-cache depends mksh
mksh
  Depends: libc6
  Recommends: ed

; su - -c 'aptitude install mksh'

; su - -c 'adduser --shell /bin/mksh testmksh'

; ls -la /home/testmksh/
total 28
drwxr-xr-x 2 testmksh testmksh 4096 dic 27 18:44 .
drwxr-xr-x 8 root     root     4096 dic 27 18:44 ..
-rw-r--r-- 1 testmksh testmksh  220 dic 27 18:44 .bash_logout
-rw-r--r-- 1 testmksh testmksh 3526 dic 27 18:44 .bashrc
-rw-r--r-- 1 testmksh testmksh 2181 dic 27 18:44 .kshrc
-rw-r--r-- 1 testmksh testmksh 1703 dic 27 18:44 .mkshrc
-rw-r--r-- 1 testmksh testmksh  807 dic 27 18:44 .profile

; cat /home/testmksh/.mkshrc # ... showing interesting part only:

# force sane environment (e.g. for scripting), Debian-specific libc
# patch
#\\builtin export LC_ALL=C.UTF-8
# - or - switch to a slightly user-friendly and more portable locale
#\\builtin unset LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE
#LC_IDENTIFICATION LC_MONETARY \
#    LC_NAME LC_NUMERIC LC_TELEPHONE LC_TIME
#p=en_GB.UTF-8
#\\builtin export LANG=C LC_CTYPE=$p LC_MEASUREMENT=$p LC_MESSAGES=$p
#LC_PAPER=$p

# in either case: sync mksh UTF-8 mode to current locale (expected on
# GNU)
\\builtin set -U; [[ ${LC_ALL:-${LC_CTYPE:-${LANG:-}}} = \
*[Uu][Tt][Ff]?(-)8* ]] || \\builtin set +U

#\\builtin unset p


Let's test it:

; cat /etc/inittab | grep '^[1-3]:'
1:2345:respawn:/sbin/getty --noclear 38400 tty1
2:23:respawn:/sbin/getty --login-program /lib/fgetty/login1 38400 tty2
3:23:respawn:/sbin/fgetty tty3

; su - -c reboot

testmksh@tty1:~ $ echo áéíóú ÁÉÍÓÚ ïü ÏÜ ñÑ > test_tty1.txt
testmksh@tty1:~ $ cat test_tty1.txt
testmksh@tty1:~ $ áéíóú ÁÉÍÓÚ ïü ÏÜ ñÑ

testmksh@tty[2-3]:~ $ echo áéíóú ◈^◈◈^◈◈^◈◈^◈◈^◈ ïü  ◈^◈◈^◈ ñ◈^◈ \
>> test_tty2-3.txt
cat test_tty2-3.txt
áéíóú ÁÉÍÓÚ ïü ÏÜ ñÑ
áéíóú ÁÉÍÓÚ ïü ÏÜ ñÑ

... Made some changes in .mkshrc:
testmksh@et1:~ $ diff .mkshrc.old .mkshrc # garbage cut off

< #\\builtin unset LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE \
< # LC_IDENTIFICATION LC_MONETARY \
< # LC_NAME LC_NUMERIC LC_TELEPHONE LC_TIME
---
> \\builtin unset LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE \
>  LC_IDENTIFICATION LC_MONETARY \
>  LC_NAME LC_NUMERIC LC_TELEPHONE LC_TIME

< #p=en_GB.UTF-8
< #\\builtin export LANG=C LC_CTYPE=$p LC_MEASUREMENT=$p \
< # LC_MESSAGES=$p LC_PAPER=$p
---
> p=es_AR.UTF-8
> \\builtin export LANG=C LC_CTYPE=$p LC_MEASUREMENT=$p \
>  LC_MESSAGES=$p LC_PAPER=$p

< #\\builtin unset p
---
> \\builtin unset p



testmksh@tty[1-3]:~ exit

login tty1, tty2, tty3: testmksh

et voilà!
typing áéíóú ÁÉÍÓÚ ïü ÏÜ ñÑ will show all characters
just as expected.

By the way, if I happen to type 'ñandú' at tty3 login, that is within
fgetty, before applying any environmental variable from any shell
script, the characters will show OK, while tty1,2 login will only show
'and'.

Regards,

Ricardo

Reply via email to