# Shell che inserisce caratteri illeggibili �

## fbcyborg

Salve gente, 

da qualche tempo ho un problema con tutte le shell del mio sistema (quindi non è un problema di Konsole, o Yakuake, o chicchessìa), ovvero quando immetto un comando come il seguente, mi vengono inseriti dei caratteri a cavolo:

```
$ ls -l /

ls: invalid option -- '�'
```

Allora torno su con il cursore per vedere che diavolo "avevo scritto" (ovviamente come potete vedere ho scritto bene) ed ecco:

```
ls -�l /
```

Vorrei capire chi diavolo è (forse un fantasma  :Very Happy: ) che mette quel punto interrogativo in mezzo ai miei comandi.

Posso intuire che sia un problema di charset, ma onestamente anche smanettando (e sono diversi mesi che ci provo) non riesco a trovare dove guardare.

Qualcuno ha un'idea di cosa potrebbe essere?

----------

## MajinJoko

Hai qualcosa di "anomalo" in .bashrc ?

Con un altro utente capita la stessa cosa?

----------

## fbcyborg

Sì, sì, lo fa in qualunque circostanza, con un altro utente, con root.. 

Il fatto è che non capita sempre, quindi non saprei dire nulla in merito.

Ogni tanto, gli prendono i 5 minuti e inserisce sto carattere misterioso.

Mah!

Qualcosa di strano in .bashrc? 

Fra l'altro in /root non ce l'ho nemmeno il file .bashrc.

Non saprei proprio. Non l'ho mai toccato personalmente.

Se serve posto il contenuto, ma non so se ci sia qualcosa di strano.

Ti ringrazio.

----------

## MajinJoko

Il discorso del .bashrc poteva avere un senso (minimo, per la verità) solo se la cosa capitasse solo per un certo utente. Non avevo capito che la cosa era "globalizzata".

A questo punto l'ipotesi più probabile è il fantasma. Prova a guardare qui se puoi risolvere.

 :Razz: 

Mi dispiace, in tutta onesta non mi viene in mente nulla di sensato per aiutarti ora.

----------

## fbcyborg

Haahha!  :Very Happy: 

LOL!  :Smile: 

Guarda, non so se possa esserti utile, ma ecco il contenuto del file .bashrc:

```
if [[ $- != *i* ]] ; then

        return

fi

if [[ -f ~/.dir_colors ]] ; then

        eval $(dircolors -b ~/.dir_colors)

elif [[ -f /etc/DIR_COLORS ]] ; then

        eval $(dircolors -b /etc/DIR_COLORS)

fi

alias grep='grep --colour=auto'

case ${TERM} in

        xterm*|rxvt*|Eterm|aterm|kterm|gnome)

                PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'

        screen)

                PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'

esac

```

Poi magari può anche darsi che mi sia sbagliato con il fatto che succeda da root o da altri utenti, ma credo di no, perché sono incappato in questo problema nelle situazioni più diverse.

----------

## cloc3

 *fbcyborg wrote:*   

> 
> 
> Ogni tanto

 

cosa succede se, subito dopo, digiti al buio un reset?

eventualmente due volte.

è strano che il fenomeno sia innescato da un semplice ls.

probabilmente, hai messo nel filesystem qualche file con un nome improbabile.

----------

## fbcyborg

In realtà non so quanto si possa diagnosticare in questo modo.

(Sto provando a ridigitare diverse volte ad es. ls -l per riprodurre l'errore, ma non si ripresenta il problema)

Dico questo perché la cosa succede "a random" e imprevedibilmente. Quando succede basta ridigitare la riga di comando (non facendo "freccia su" per lo storico dei comandi) e il problema non si ripresenta.

Quindi anche facendo il reset, non so quanto la sua efficacia possa essere ritenuta responsabile di un'eventuale risoluzione temporanea del problema.

Non so, forse l'unico modo è quello di indagare su qualche file di configurazione.

----------

## fbcyborg

Dunque, mi è risuccesso (da utente) e appena ho avuto questo problema:

```
$ ls .*

ls: cannot access .�*: No such file or directory
```

Ho eseguito un 

```
reset
```

poi ho premuto freccia su per vedere lo storico dei comandi ed è uscito come se avessi inserito il seguente comando:

```
ls .Ã*
```

Successivamente, dopo il reset, il comando è stato preso regolarmente, ma credo che sarebbe stato preso lo stesso anche senza reset.

----------

## riverdragon

Prova a seguire la guida per la localizzazione da zero, magari facendo copia-incolla dei comandi dalla guida.

----------

## fbcyborg

In realtà quella guida ufficiale è un po' vecchiotta, inoltre io non uso localizzazioni.

Comunque almeno una volta l'ho seguita (in inglese). Aggiungo in oltre che uso OpenRC.

Dunque, rileggendola, ecco alcuni dei file che potrebbero essere la causa del problema:

File: /etc/env.d/02locale

LANG="en_US.ISO-8859-1"

File: /etc/locale.gen

en_US ISO-8859-1

en_US.UTF-8 UTF-8

it_IT ISO-8859-1

it_IT@euro ISO-8859-15

it_IT.UTF-8 UTF-8

File: /etc/conf.d/keymaps

keymap="it"

windowkeys="YES"

extended_keymaps=""

dumpkeys_charset=""

fix_euro="NO"

----------

## ago

Se il problema dovesse essere la localizzazione, segui un po qui

----------

## fbcyborg

Intanto ho modificato il file /etc/env.d/02locale, ho messo:

LANG="en_GB.UTF-8"

vediamo che succede...

EDIT: niente da fare. Dopo reboot:

```
$ sudo

bash: sud�o: command not found
```

----------

## pierino_89

Non potrebbe banalmente essere un falso contatto della tastiera? Con alt/ctrl o altri tasti talvolta escono dei caratteri non stampabili che poi a posteriori vedi col punto interrogativo.

----------

## fbcyborg

Non c'avevo pensato, ma a parte che è nuova di qualche mese (e vuol dire poco forse) ma questo succede solo in shell. 

Se fosse un difetto hardware della tastiera, ogni tanto dovrei trovarmi questi � pure qui mentre scrivo ad esempio. Invece non è mai successo.

----------

## pingoo

Non so se possibile, giusto uno spunto: dite che è possibile che sia legato in qualche modo ad X e connessi? Hai provato sempre nei terminali tipo konsole/gnome-terminal? Purtroppo non si riesce a creare in maniera sistematica, altrimenti verificherei nei terminali ai quali solitamente si accede ad es. con CTRL+ALT+F1

----------

## fbcyborg

Eh sì, in linea di massima mi è sempre capitato in Konsole/Yakuake.

----------

## darkmanPPT

leggevo questa discussione....

anche a me capita!

ma capita solo se uso le shell tra alt+F1 <--> alt+F6

in kde (konsole/yakuake) questo non m'è mai accaduto.

son curioso di capire quale possa esser la causa del tuo errore: sia mai che risolva anche il mio!

----------

## fbcyborg

Ooh! Menomale, almeno non sono solo.   :Very Happy: 

Comunque per quanto riguarda le shell ALT-F1:F6, ora non ricordo proprio perché non è che le usi tanto spesso sinceramente.

Ad ogni modo, mi pare di ricordare che sia successo anche lì, almeno una volta.

----------

## darkmanPPT

a me, su quelle shell, capita sempre.

a dirla tutta, la cosa s'è iniziata a manifestare da un bel po' di tempo.....

da circa un annetto.......

non credo sia un problema di charset perchè le lettere accentate strane me le legge

----------

## riverdragon

Il servizio consolefont è avviato?

----------

## fbcyborg

Sì!

Comunque anche a me è già un bel po' di tempo che succede.

Non so se è capitato quando tempo fa, aggiustai la "localizzazione" definitivamente in lingua EN-US. Ma non credo.

----------

## xdarma

Non è che in dmesg vi trovate qualcosa tipo "serial spurious ACK"?

----------

## fbcyborg

Ho greppato il /var/log/messages e non sembra esservi traccia alcuna.

Comunque, un'altra cosa che capita e che magari non c'entra nulla, sempre in Konsole, è che a volte digito qualcosa, poi se la cancello, riesco anche a cancellare il simbolo di $ che sta all'inizio della riga.

Es: 

```
fbcyborg@Gentoo ~ $
```

Se premo Backspace, delle volte mi cancella appunto anche il $.

Magari non è correlato ma può sempre essere un ulteriore indizio.

----------

## xdarma

 *fbcyborg wrote:*   

> Ho greppato il /var/log/messages e non sembra esservi traccia alcuna.

 

Boh, un altra cosa che mi viene in mente è se hai definito un carattere in /etc/conf.d/consolefont

Qualcosa tipo:

```

CONSOLEFONT="default8x16"

```

Ma non penso sia rilevante.

----------

## fbcyborg

Sì ho solo questo!

```
CONSOLEFONT="default8x16"
```

----------

