xfce4-terminal 0.6.3 karakterkódolási anomáliája [megoldva]

 ( bzs | 2019. május 9., csütörtök - 21:56 )

Sziasztok.

Az xfce4-terminal 0.6.3-as verziója mostanában a középeurópai ékezeteket nem akarja kiírni. Helyette nem csinál semmit. Megnéztem, alapból ANSI_X3.4-1968 van beállítva. Itt kérdőjeleket tol, ha éáőúóüöíÍÉÁŐÚÓÜÖ karaktereket akarok kiechozni parancssorban. UTF8-ra is próbáltam állítani, ilyenkor van az, hogy semmit sem ír ki. UTF-7 esetén kiírja az íéáőú stb karaktereket, de csak ha duplán nyomom le a billentyűt, közben persze más karakterre kínai karaktereket dobál ki nekem, hogy tanuljak...
Nem tudom, mi lehet a gond. Amúgy minden más prg az alapként beállított nyelvet használja e szerint:
setxkbmap hu
Szerintetek mi az anomália oka?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nekrofília? :)

rpm -q xfce4-terminal
xfce4-terminal-0.8.7.4-21.fc30.x86_64


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Az valami developer build lehet, mert a legutolsó hivatalos XFCE release a 4.12, amiben 0.6.2-es verziójú terminál van.

Nem tudom, ezt vallja magáról:

xfce4-terminal --version
xfce4-terminal 0.8.7.4 (Xfce 4.12)

Copyright (c) 2003-2018
        The Xfce development team. All rights reserved.

Written by Benedikt Meurer <****@xfce.org>,
Nick Schermer <****@xfce.org>
and Igor Zakharov <****@yandex.ru>.

Please report bugs to <https://bugzilla.xfce.org/>.

(A mailcímeket szándékosan töröltem, ne innen összeszedett címükre spam-eljék őket.)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Itt is a 0.8.7.4-es az utolsó.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

commit a35d8be8b5425199a33edf5d432976974326c197 (tag: xfce4-terminal-0.8.0)
Author: Igor <****@yandex.ru>
Date:   Mon Oct 17 15:09:32 2016 +0300

    Release 0.8.0

vagyis 2 és fél éves.

Nyertél :D Archon elavult verzió van, 0.8.7.4-1-es. Ez 20 builddel régebbi :)

De az ilyen 0.8.x-es verzióhajhász bleeding edge verziók még nem olyan stabilak, mint a 0.1.0.0-1, azoknál stabilan hátba támad egy T-rex, miközben használod, meg belülről pókhálósodik a kijelző és egy pók fogja figyelni a képernyő sarkából minden mozdulatod a képernyőn, nem a xorg-xeyes, Cortana, Alexa, Windows telemetria meg egyéb modern kreténségek.


No keyboard detected... Press F1 to run the SETUP

> mostanában

Régebben működött? Mit változtattál azóta a rendszeren?

> Megnéztem, alapból ANSI_X3.4-1968 van beállítva

Mármint hol micsoda?

> UTF8-ra is próbáltam állítani, ilyenkor van az, hogy semmit sem ír ki.

Ezt hogy tesztelted? Ha lenyomod az ékezetes betűt és nem jól jelenik meg, akkor nem tudhatod, hogy a bevitel vagy a kiírás résszel van a baj, vagy a kettő között amin átmegy az adat (például a shell). cat-olj egy fájlt amiről tudod hogy UTF-8-as, az jól jelenik meg? Vagy írd meg az echo-t tartalmazó shell szkriptet valami UTF-8-as szerkesztőben (például gedit), és a biztonság kedvéért ellenőrizd le a tartalmát hexdumppal.

Lehetőség szerint legyen minden UTF-8 a rendszereden. A terminál beállítása és a locale is ("locale charmap" warningok nélkül annyit mondjon, hogy UTF-8).

> UTF-7

Felejtsd el az UTF-7-et nagy ívben!

> minden más prg az alapként beállított nyelvet használja e szerint: setxkbmap hu

A setxkbmap nem nyelvet állít be, hanem billentyűzetkiosztást.

Mi javasolható helyette KDE nélkül?
xterm túl puritán, nem mindig használom

lxterm, termit

--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!

lxterm - locale-sensitive wrapper for xterm
lxterminal - a lightweight terminal emulator based on GTK+ for the LXDE desktop

Gondolom a másodikra gondoltál.

Igen, jól gondolod :)

--
A főnököm mindig megtartja amit ígér, ha pénzt ígér azt is!

Összetett a problémám.
A distribemakkora hulladék, hogy ha csak egy kicsivel többet akarok omlik minden,mint annak idején az ArtistX nevű borzalomban.

# apt-get install xterm
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
intltool-debian : Depends: gettext but it is not going to be installed
kernel-package : Depends: gettext but it is not going to be installed
po-debconf : Depends: gettext (>= 0.16) but it is not going to be installed
xterm : Depends: xbitmaps but it is not going to be installed
Depends: libutempter0 (>= 1.1.5) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

se xterm, se lxterminal, de még terminatorom sincs, pedig az trendibb

Szerintem a lilyterm még egy jó cucc, bár Fedorához például már nem fordítják le. Régen, Fedora 27-ig még igen.

https://github.com/Tetralet/LilyTerm


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Miért kellene váltani?

Úgy hiszed, olyan problémáról van szó, amely az xfce4-terminálra specifikus, tehát más terminálokban nem jelentkezik; viszont nem is javítható az xfce4-terminal keretein (beállításain) belül? (Sőt, még a 0.8-ra frissítésével sem?) Ezt roppant valószínűtlennek tartom. Az xfce4-terminal 0.6-os verziója képes helyesen kezelni az UTF-8-at.

Kipróbáltál más terminálokat? Melyeket? Azokban jól működnek az ékezetek?

Ha tényleg váltani akarsz, tucatnyi másik közül választhatsz. Mik a szempontjaid? Azok ismerete nélkül én például jó szívvel ajánlom a gnome-terminalt, aztán majd legfeljebb le leszek hurrogva mert divat szidni a GNOME-ot :)

Egy beteg distribet használok (Marinux).
Kiherélt mocsok, de a hajós navigáció flottul meg van benne alkotva, kisebb hiányossággal.
A legújabb verziójába sem gyógyította bele a fejlesztő az általam javasolt módosításokat, hogy a középeurópai júzer is használhassa. Így szívnom kell vele.

Amúgy annyira nem zavaró, de van, amikor agyfrászt kapok tőle

Mit mondanak a "locale -a", "locale" és "locale charmap" parancsok? Valszeg nincs jól beállítva az UTF-8. De az sem kizárt, hogy nincs is ilyen elérhető locale.

~$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
C.UTF-8
POSIX

$ locale charmap
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
ANSI_X3.4-1968

Nincs sok locale-ed. Talán érdemes elkészítened az en_US.UTF-8 és/vagy hu_HU.UTF-8 nevűeket is, hogy legyen miből válogatnod. Lásd locale-gen és társai. De ha nem megy, jó lesz a C.UTF-8 is.

A lényeg hogy utána az egyik UTF-8-asat válaszd ki rendszer szinten, a LANG, LC_CTYPE és LC_ALL változók (amelyik van közülük) ilyenre hivatkozzanak. Ellenőrzésképp a "locale charmap" azt kellene hogy mondja hogy UTF-8, és warningot egyet se! (Amúgy a sima "locale" kimenetét nem mutattad meg.)

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Lefuttattam a distrib lokalizációs szkriptjét,melyet legelső menetben megszakítottam annak idején.

Most hagytam, hadd fusson le. Arra gondoltam, a végén majd eglocalepurge-t is lefuttatok, törlöm a hulladékokat.Négyórán át futott a script, majd leállt ezzel:

zh_SG.UTF-8
zh_TW.UTF-8
zu_ZA.UTF-8

language: enter -exactly- your locale from list
>hu_HU
Generating locales (this might take a while)...
de_DE.UTF-8... done
en_GB.UTF-8... done
en_US.UTF-8... done
es_ES.UTF-8... done
fr_FR.UTF-8... done
hu_HU.UTF-8...cannot add to locale archive: No such file or directory
done
Generation complete.
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = "hu_HU.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
*** update-locale: Error: invalid locale settings: LC_CTYPE="hu_HU.UTF-8" LC_NUMERIC=POSIX LC_ALL="hu_HU.UTF-8" LANG=hu_HU

Ekkor azt hittem, megőrülök!

> a distrib lokalizációs szkriptjét

Amiről persze fogalmunk sincs, hogy micsoda.

> legelső menetben megszakítottam annak idején

Hát, nem hinném hogy bölcs ötlet volt.

> a végén majd eglocalepurge-t is lefuttatok

Az meg micsoda? Vagy "egy localepurge" akart lenni?

> Négyórán át futott a script

Te jó ég! Mi a rákot csinálhatott? Írogatott közben valamit? Őskövület géped van minimális memóriával és swapolt ezerrel a rendszer?

> language: enter -exactly- your locale from list
> >hu_HU

Volt pontosan ilyen, tehát .UTF-8 utótag nélküli a listában? Ha volt is, tudod hogy ez a régi Latin-2 karakterkészletet használja?

Mindenesetre ezt a locale kócerájt kell valahogyan meggyógyítanod, akkor lesz jó a terminálod is. Én viszont itt kiszálltam ebből a topicból. Sok sikert!

Milyen hajós navigáció?

Ezért nem kéne beteg disztróval szopatnod magad, mint ez a Marinux, amiben rendes terminálok sem elérhetőek vagy múltkor a Slackware-alapú förmedvény, amiben meg modern TeXlive nem volt elérhető, meg a X.org-gal is bajok voltak az elavultsága miatt, nem futottak rajta a pdf nézők. Ezzel csak értelmetlenül rövidíted az életed.

Olyan disztrót érdemes használni, ami
1) nagy, elterjedt
2) sok csomag van a tárolókban (ezzel kilőve, hogy se lxterminal, se termite, se semmi nincs a mostani tárolóidban)
3) gyakrabban frissülnek a csomagok, nem 2-3 éves csomagverziókat használsz
4) jó a csomagkezelője

Lényegében azt kell eldönteted, hogy felszállsz
A) A Debian, Ubuntu, Mint vonatra, vagy a
B) Fedora, CentOS, egyéb rpm ágra, vagy a
C) Arch, Manjaro, ArcoLinux, Antergos vonalára, esetleg
D) elterjedtebb független disztrókat használsz, Gentoo, Solus, stb..

Ha nem akarsz a tömeggel menni, akkor: FreeBSD, OpenBSD, NetBSD.

ANSI-1968 kódolást megint nem érdemes használni, csak a gond lesz vele. Nincs semmi érdemi ellenérv már 2019-ben az UTF-8 ellenében, mind rendszeren, alkalmazásban, a weben is az az alap. Ne akarj széllel szemben hugyozni. Már 10 éve sem volt érv ellene.


No keyboard detected... Press F1 to run the SETUP

> Nincs semmi érdemi ellenérv már 2019-ben az UTF-8 ellenében, mind rendszeren, alkalmazásban, a weben is az az alap. Ne akarj széllel szemben hugyozni. Már 10 éve sem volt érv ellene.

+1000

https://gnunn1.github.io/tilix-web/

----
„Kb. egy hónapja elkezdtem írni egy Coelho-emulátort, ami kattintásra generál random Coelho-kompatibilis tartalmat.”

Debuggolni kellene... sajnos ez nem megy távvezérléssel/tollbamondással, kreativitás kell hozzá.
Pl.: Másik terminál(emulátor)on megy/nem megy? Távoli eléréssel megy/nem megy? Másik shell-t használva megy/nem megy? Hogy áll a /etc/inputrc-ben a 'set input-meta on' meg a 'set output-meta on' rész?
Továbbá ezt meg ezt szó szerint meg kellene tanulni.
Valamint ezeket is ki lehetne próbálni, hátha sugallnak valamit: shkeys.c shchars.c

a dexktop environmentnek francia volt beállítva...

Ezt új szálba írom: kevered a lokalizációs nyelvi és a bill. kiosztásbeli beállításokat. A kettőnek semmi köze nincs egymáshoz. Lehetnek eltérőek. Én pl. en_US.UTF-8 lokalizációt használok hu-kiosztással. Sőt, ha annyira szigorúan vesszük, akkor a karakterkódolás is egy másik dolog, egy harmadik tényező, megint más, hogy a modern disztróknál azért egybefonódik a lokalizációs beállításokkal.

A lokalizáció azt dönti el, hogy az alkalmazások, mappanevek milyen nyelven legyenek, meg hogy alakuljanak a dátum, idő, pénzjel, stb. formátumai. A billkiosztást meg nem kell magyaráznom.

Sőt, hogy tovább emeljük a komplexitási szintet, eltérő kiosztást használhatnak a X.org-on futó, Waylanden futó WM/DE-k, és a konzol is, de még akár terminálonként is lehet állítani. Ezért több beállítás közötti is nézelődni kell. Amit írsz a setxkbmap csak X.org-on állítja a felbontást, a többi környezetben nem, pl. előhozol egy konzolt, már arra sem lesz érvényes!

Vannak DE-k, amik különszedik a lokalizációs beállításoktól a területi beállításokat (dátum, idő, pénzjelölés, stb.), pl. a KDE ilyen. Így fordulhat elő, hogy egy rendszeren lehet a nyelv oroszra állítva, amerikai angol területi beállításokkal (tehát a dátum pl. hh/nn/éééé lesz, az idő meg 12 órás am/pm), magyar billentyűzetkiosztással a grafikus felületen és német kiosztással a konzolban, mindez ISO 8859-6 (arab) karakterkódolással fűszerezve.

Ezt csak azért írom, hogy értsd: nem világos nálad mi is lett pontosan francia. Gyanítom a nyelvi beállítások, de mivel a francia lokalizáció is UTF-8-as általában (ritkábban Latin1-es vagy 2-es), így még hu-ra állított setxkbmap mellett még rendesen íródnia kellett volna terminálban a magyar ékezetes karaktereknek. Szóval rejtély, hogy mi csesződhetett el nálad, de valami iszonyatos kavar van, erősen esélyes, hogy szimpla user error miatt.

Azt javaslom, válts Archra. Minimalista disztró, helyenként a Slackware-re fog emlékeztetni, de nagyon jó Wiki-je és telepítési útmutatója van, és a telepítés elsajátítása során el tudod sajátítani, hogy hogyan működik a rendszer a háztető alatt, érteni fogod melyik rendszerkomponens és beállítás milyen célt szolgál, mit lehet rajta állítgatni, az milyen várható hatással lesz a rendszerre. Továbbá az Arch Wiki elég észszerű, modern default beállításokat tud ajánlani. Archon is épp úgy használhatsz Xfce-t meg xfce4-temrinalt, de legalább kellően friss is lesz, meg sokféle csomag lesz a tárolókban.


No keyboard detected... Press F1 to run the SETUP

Köszi a részletes leírást és türelmet.
Igen, nagyjából tudom, hogy a billentyűkiosztás és a programok nyelve,mi több a telepített fontok X-en meg a konzolok karakterei mások.
Hogy minden disztrónál még a beállítások is eltérőek, az volt új, ezt tájszólásnak nevezem.

Jelen gépen distribet nem váltok, mert a létfontosságú dolgok ezen a legstabilabbak.
Egyik gépemen Arch van, de van slackware is egy másikon. Redundáns mindenem, egyik distrib egy feladatot mindig jobban lát el, mint a másik. Olyan, hogy egy gép MINDENT flottul tud, nincs, sosem volt, annyiranem vagyok zsír.

Egyelőre beérem azzal, hogy konzolon ékezetes karaktereket nem kezelek mcedittel sem, echoval, cattal sem, awk-val pláne. Szívás, de ez van. Majd nyugodt percemben taln egy másik terminált sikerül telepítenem, ha rájövök, mivan az apttal, ami szintén hülyét kapott.

> Majd nyugodt percemben taln egy másik terminált sikerül telepítenem

Eléggé write-only minimál módban tolod ezt a fórumozást. A debugolási célból feltett kérdésekre hébe-hóba válaszolsz csak. Olyan „aprócska” körülményt, mint hogy a lokalizáció bekonfigurálását félbeszakítottad, simán csak a sokadik kommentbe tolod be, mi meg persze találjuk ki magunktól és segítsünk abban, hogy miért is nem jók az ékezetek – ja, hogy a kettő talán összefügg?? Most meg még mindig a terminálra kened az egészet, és annak a cseréjében bízol, miközben rohadt egyértelműen le lett már írva, hogy nem ott van a probléma.

Szétszórtságmnak nyomós oka van.
Amúgy majdnem minden problémámnakpontotraktam a végére és hiába jöttem rá magamtól, a hupra is beírtam. Ennek több előnye van. egyrésztmás is megtalálja, meg amikor nekem kellett ismét, mert elfelejtettem, saját magamnál találtam meg.
A lokalizáció félbeszakításáról IS megfeledkeztem, azért toltam be később. Öregszem. És idegesít.

Dehogynem nincs mindent flottul tudó disztró. Az Arch pl. mitől nem elég stabil neked? Vagy pl. ez a Marinux miben jobb tőle?

Ezzel az írásvédett squashfs-sel sem értem miért kellett bonyolítani az életed.


No keyboard detected... Press F1 to run the SETUP

Nem tudtam rágyógyítani sajnos minden dolgomat. Képzelheted, hogy mennyire besokalltam egy idő után, amikorfogytán volt az időm.
A squashfs meg azért kell hogy 6-7GB-om legyen a 4GB-os eeepc701-emen a 32GB-os SDkrtya mellett. Kicsit bonyolult, de most ellátja minden a feladatát.

Ez a régi eee pc, meg a 4 GB-os tárhely már alkalmatlan in production környezetben bármi értelmeset csinálni. Vegyél egy használt 12 colos ThinkPad-et, vagy Latitude-ot vagy Elitebookot. Azokba rendes SSD-t tudsz tenni, meg normális i5-i7-es procival kapni őket, min. 4 GB RAM-mal, ami könnyen bővítesz nem túl drágán 16 gigáig, és az egész gép nem lesz sokkal nagyobb/nehezbb az eee pc-nél, és cserébe árban nagyon megfizethető, mivel régi genes cuccok ezek. Az említetteken lehet értelmes dolgokat is csinálni, modern disztrót feltenni, normális munkát végezni rajta, nem kell squashfs-sel meg ZRAM tömörítéssel szenvedni, hogy használható legyen. Persze a subnotikon a kijelző épp olyan szar, de minden másban jobbak, mint a netbookok.

Az ilyen eee pc max. csak játékbeli kísérletezésre, hobbi nyomkodásra jó. De ezen normális munkát végezni, meg fő gépnek használni igazi mazohizmus. Azt megpróbálhatod, hogy teszel bele nagyobb SD kártyát (min 64 gigásat), ha kezeli, és arra telepíted a rendszert, kicsit lassabban fog futni, de lesz rendesen tárhelyed. De erre sem látok túl sok esélyt.


No keyboard detected... Press F1 to run the SETUP

meg ZRAM tömörítéssel szenvedni

Annak a két kernel paraméternek a megadása lenne a szenvedés?


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Beállítani nem nehéz, hanem a tapasztalatok szerint (amiket olvastam), a legtöbb embernél fagyásokat okoz.


No keyboard detected... Press F1 to run the SETUP

Kisebbség vagyok. Mindhárom gépemen használom a zram-ot, egyik sem döglékeny.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

MEGOLDÓDOTT!

Gyakorlatilag mindent jól csináltam, de egyvalamit mégis elfelejtettem. Hogy a jre (java) könyvtáram squashfs-sel tömörített, írásvédett helyen van. Emiatt nem ment az apt, a localise-fájlok, semmi.
Már minden jó. Van ékezetes mceditem, mágyár konzolom,még a terminator nevűkonzolt is felraktam, hogy saját terminátorom is legyen. N

-----------------
10-féle lény van:
-- aki ismeri a bináris számrendszert,
-- és amelyik nem.

Szoktak ám olyat csinálni, hogy read-only filerendszer fölé raknak egy overlayfs-t, aztán ami változik a read-only filerendszerhez képest, ez utóbbiban tárolódik. Kifelé így teljes értékű read-write a filerendszer, csak megvan az az előnye, hogy nagyon kevés helyet foglal, ha viszonylag keveset módosítgatják.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

nemrég csináltam valahol overlayfs-t, de most nem merem megkockáztatni. Túl sok múlik rajta, mérmintazon,hogy jelenlegi gépem az eddig megszokott konfigokkal menjen. Eddig kellett volna újítanom...
Majd legközelebb!