Tartalom
Bevezető
Ha nincsenek megfelelően beállítva a területi beállításaink (locales), vagy valamilyen program telepítése, frissítése után elállítódnak, akkor a Perl alapú programok hibát jeleznek. Ebben a rövid útmutatóban megnézzük ennek a hibának a megoldását.
A hibajelenség
A Linux rendszerekben nagyon sok program Perl nyelvben készült, így ez a hibajelenség több helyen is előfordulhat. A hibaüzenetet a Perl parancsértelmezője dobja, ami általában az alábbi szokott lenni ilyenkor:
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C").
Nálam például az Ásbrú Connection Manager program jelzett hibát, amikor csatlakoztam egy kiszolgálóhoz. Az említett kapcsolatkezelő program egy része Perl-ben készült, ezért ebben is megjelent ez a hiba, kiegészítve a program többi hibaüzenetével, amik ebből adódtak. A teljes hibaüzenet nálam tehát így nézett ki:
Ebben a példában a laptopomról léptem be az asztali gépemre egy nagyobb csomagfrissítés után, ekkor dobta ezt a hibát. A belépés sikeres volt, de a hibaüzenet megjelent minden alkalommal, akármilyen kiszolgálóhoz kapcsolódtam.
A megoldás #1
Az Ásbrú kliensprogram javarészt Perl-ben készült, ezért dobta a hibát. Természetesen ez a hiba más Perl-alapú programnál is előfordulhat, ezért ez a megoldás máshol is alkalmazható az ilyen hiba esetén.
Ennek elhárításához futtassuk a localedef parancsot root-ként a megfelelő kapcsolókkal:
Először állítsuk angol területi beállításra a rendszert:
localedef -i en_US -f UTF-8 en_US.UTF-8
Majd magyarra:
localedef -i hu_HU -f UTF-8 hu_HU.UTF-8
Ekkor újraállítgatja a karaktertáblákat, stb, amit már a Perl-ben használt C függvénytárak is tudnak használni.
Ezután már hiba nélkül futnak le a Perl programok, így nálam például az SSH belépés egy új fülön az Ásbrú klienssel:
A megoldás #2
Ha az első megoldás nem válik be, vagy esetleg idővel újból előjön a probléma, akkor az alábbi módon is orvosolhatjuk ezt a hibát. Nálam például kb egy év után újra előjött, és most ezt alkalmaztam:
A hiba tehát így nézett ki:
Nézzók meg a locale beállításainkat a locale -a paranccsal:
locale -a
Ha itt nem szerepel az Ásbrú hibaüzenetében lévő locale beállítás (nálam a "en_US.UTF-8
"), akkor állítsuk be root-ként a locale.gen fájlban:
nano /etc/locale.gen
Majd vegyük ki a komment (#) jelet a megfelelő sor elől:
Ezután futtassuk a locale-gen parancsot:
locale-gen
És ezután már hiba nélkül működik az Ásbrú:
Konklúzió
Ezzel a két parancssorral egyből tudjuk javítani a lokalizációs hibákat a Perl alapú programok számára, ha valamelyik program telepítése, vagy csomagfrissítés után előállna ez a hiba.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 61 megtekintés