Perché questo nome file è troncato in Nautilus?

In Ubuntu “l’estensione” di un nome di file, cioè la parte dopo il punto (.) È normalmente visibile. Perché Nautilus non mostra l’estensione di eclipse.desktop quando il comando ls mostra chiaramente che è il nome completo del file?

Questa è la list view della list view ; non la icon view .

immagine dello schermo

Informazioni sui file .desktop e sulla loro funzione speciale

.desktop file .desktop sono file speciali. Rappresentano le applicazioni nella GUI, sul desktop o in Dash / Unity. Per fare ciò, una GUI -nome dell’applicazione è impostata su una riga all’interno del file nella riga

 Name=Eclipse 

Puoi semplicemente cambiare il nome di come l’applicazione mostra in Dash e Unity, cambiando questa riga all’interno del file .desktop , senza cambiare il nome del file .desktop . In tal caso, è irrilevante se il file è eseguibile o meno.

Se il file .desktop trova sul desktop , tuttavia, se non è eseguibile, non funziona come un lanciatore, per i motivi illustrati nella risposta di souravac e “mostra” sotto il proprio nome (file):

 eclipse.desktop 

Se è eseguibile e sul desktop, funziona come un launcher e quindi rappresenta un’applicazione. Quindi mostra il nome dell’applicazione, come impostato nella riga Name=

Nome specifico della lingua

Se il file .desktop ha la linea:

 X-Ubuntu-Gettext-Domain 

il file mostra anche un nome specifico per la lingua, recuperato da un file di lingua, che verrà quindi mostrato in Dash e Unity.

sotto un esempio complicato: filename = inkskape.desktop, “basic” interface name = Inkskape, nome tradotto = Inkskape Vector Graphics Editor

inserisci la descrizione dell'immagine qui

Il comando ls

Nel comando ls è puramente cli- basato e mostra sempre il nome- file .

Citando dalla politica di sicurezza di Ubuntu :

Execute-Permission Bit Required

  • Le applicazioni, inclusi desktop e shell, non devono eseguire codice eseguibile dai file quando sono entrambi:

    • manca il bit eseguibile
    • situato nella directory home dell’utente o nella directory temporanea.
  • Questo include i file * .desktop, * .jar e * .exe.

Che cos’è un file .desktop valido nella home directory dell’utente?

Secondo la politica di sicurezza di Ubuntu, l’authorization all’esecuzione nello script .desktops e nelle shell è un must per eseguire il codice eseguibile da quei file quando si trovano nella home directory di un utente.

Nautilus non considererà un file .desktop come scorciatoie dell’applicazione valide a meno che non abbia un bit eseguibile quando si trovano nella home directory di un utente.

D’altra parte è difficile codificare nel codice sorgente di nautilus che mostrerà un nome file .desktop valido dal campo Name= o Name[$LANG] all’interno del file .desktop ignorando il nome file e l’estensione. Questo non si applica ai file .sh o .jar in nautilus.

Esempio: su una nuova installazione di Ubuntu ogni utente ottiene examples.desktop nella propria home directory. Il nome del file è examples.desktop . Ma in nautilus lo si può vedere come Examples . Se guardi all’interno del file .desktop puoi vedere di seguito (sto mostrando solo una parte di esso):

  Name = Esempi
 Nome [aa] = Ceelallo
 ..
 Nome [en_AU] = Esempi
 Nome [en_CA] = Esempi
 Nome [it_IT] = Esempi
 ..

È ansible controllare l’authorization (provare ls -la /path/to/filename.extension ) di Eclipse.desktop e smartgit.desktop . Il primo ha un bit eseguibile mentre il secondo no.

Ecco perché nautilus riconosce Eclipse.desktop come scorciatoie dell’applicazione e non mostra la sua estensione.

Se un file .desktop è eseguibile, Nautilus lo riconoscerà come collegamento sul desktop e non visualizzerà il nome del file, ma piuttosto la stringa impostata come valore della proprietà Name= nel file.

A questo link l’ autore “fragos” scrive:

Sfortunatamente, se apri quella cartella in nautilus, i file .desktop vengono visualizzati con l’icona specificata nel file e con il nome del file richiamato all’interno del file.

Quando dice “nome file richiamato all’interno”, significa che il nome del file visualizzato è preso da dentro. Direi “nome file richiamato quando è impostato il bit eseguibile”. Potrebbe avere ragione che questo è sfortunato. Stranamente ne ho alcuni che hanno il bit bit di esecuzione e altri no. Quelli che NON hanno il bit impostato per l’esecuzione non sono una causa di sfortuna, ma non so perché sono stato fortunato. Quando il bit è impostato, forse può essere considerato un bug o bug.