Visualizza il layout corrente (codice lingua / bandiera del paese) nell'indicatore della tastiera


11

Appena aggiornato da 10.04 a 10.10 e l'applet indicatore della tastiera non visualizza più il codice paese di due lettere per il layout attivo.

Questo è terribile . È questo il comportamento predefinito? Chiunque utilizzi due layout non può dire in quale lingua si trova.

Non riesco a trovare l'impostazione per questo, era nelle preferenze per il layout della tastiera.

Aggiornamento 1 : Nel caso non fosse ovvio, ho due layout di tastiera: inglese ed ebraico. Ho appena aggiornato il modulo 10.04, in cui è stato visualizzato il codice paese (USA / IL), sovrapposto alla bandiera.

Ora tutto ciò che ottengo è un'icona della tastiera vaga e non riesco a trovare le impostazioni per questo.

Aggiornamento 2 : questo sembra essere un bug che le persone segnalano da Lucid ed è tornato a Maverick


Grazie Jono per l'ultimo post. Ho rimosso accidentalmente l'app Indicator. L'aggiunta ha risolto l'indicatore mancante di tre lettere del layout utilizzato. Saluti, Gideon

Sembra che 13.10 abbia aggiornato l'indicatore della tastiera. Le soluzioni in questo thread non funzionano. Qualche indizio?
Hamid,

Non uso Ubuntu dal 2011. C'è ancora un problema con l'indicatore della tastiera?
Jono,

Risposte:


8

10.10

Sì, l'icona non riflette la lingua scelta. Penso che potrebbe avere qualcosa a che fare con il fatto che mostrare "bandiere" sarebbe spesso inappropriato. (Esempi: bandiera della Gran Bretagna in India, bandiera della Germania in Austria, bandiera della Francia in Senegal).

L'attuale metafora, ovvero TASTIERA → Langauge è molto conforme alle linee guida sull'esperienza dell'utente.

Il comportamento che stai descrivendo è stato rimosso molto tempo fa. Era un'altra applicazione (non ricordo il nome) che si occupava di layout di tastiera allora. (Almeno ricordo qualcosa del genere, non sono del tutto sicuro ora ci penso)

Quello che ho fatto per ottenere la schermata sopra è stato andare su Keyboard-Layouts, selezionare Aggiungi, Ebraico / Israele e aggiungerlo all'elenco. Il mio sistema è stato aggiornato dalla 9.10, quindi dovrebbe essere lo stesso su quasi tutte le installazioni di Ubuntu.


testo alternativo

Il vecchio comportamento è ancora in agguato nel sistema. Se si desidera che l'indicatore mostri le bandiere, è possibile aprire gconf-editor, /desktop/peripherals/keyboard/indicatoraccedere e abilitare "showFlags". Tuttavia, avrai bisogno delle bandiere rilevanti per essere in /home/<username>/.icons/flags(premi CTRL+ Hper mostrare le directory che iniziano con un punto). La bandiera di Israele dovrebbe essere chiamata il.png(che è il codice ISO 3166-1 alfa-2 del paese in Israele ).


Grazie, proverò a rimuovere il layout ebraico e ad aggiungerlo di nuovo, per vedere se funziona.
Jono,

1
In ogni caso, solo per essere chiari, non sono le bandiere che sto cercando.
Jono,

Stefano - questo non sembra aiutare. Mi chiedo se questo è un problema con la Netbook Edition, dove non mostra il nome della lingua vicino all'icona della tastiera?
Jono,

5

12.10

Per impostazione predefinita, l'indicatore della tastiera in 12.10 mostra un'icona della tastiera e l'abbreviazione di 2 lettere del layout.

Se invece vuoi mostrare le bandiere dei paesi, devi fare due cose

  1. Imposta l'opzione di configurazione per dconf:

    dconf write / org / gnome / libgnomekbd / indicatore / show-flags vero

  2. Installa le icone delle bandiere nella cartella ~/.icons(non ~/.icons/flags). Un modo semplice per farlo è installando famfamfam-flag-pnge collegando le icone alla cartella tramite

    ln -s /usr/share/flags/countries/16x11/*.png ~ / .icons /


3

12.04

L'indicatore della tastiera appare quando hai definito più di un layout di tastiera.

inserisci qui la descrizione dell'immagine

Il paese viene visualizzato utilizzando il codice di 2 lettere

per esempio - francia:

inserisci qui la descrizione dell'immagine

come

Cerca in Dash il layout della tastiera

Nota:

A differenza del 10.10 - mentre esiste una voce gconf per la tastiera, non esiste un tasto show-flags simile.


Se si desidera visualizzare la bandiera del paese anziché l'indicatore della tastiera, è possibile utilizzare una piccola applet chiamata gxneur.

inserisci qui la descrizione dell'immagine

gxneur Installa gxneur

Per fare questo, dobbiamo inserire nella whitelist gxneur. Utilizzare dconf-editor:

dconf-tools Installa dconf-tools

inserisci qui la descrizione dell'immagine

  • Aggiungi gxneur come mostrato.
  • Esci e accedi.
  • Avviare gxNeur da Dash.
  • Questo visualizzerà l'applet.
  • Fare clic con il tasto destro del mouse sull'applet visualizzato, selezionare Proprietà tastiera e selezionare la scheda Proprietà . Assicurarsi che la Auto Startupcasella di controllo sia selezionata.
  • Successivamente è necessario disabilitare l'indicatore tastiera standard. Seguire le istruzioni in queste domande e risposte per raggiungere questo obiettivo.

Come rimuovere l'indicatore della tastiera?


2

10.04

Bene, si scopre che questo è un bug che era nella Lucid Beta e ora si presenta di nuovo (Vedi qui: https://bugs.launchpad.net/gnome-settings-daemon/+bug/531173 ).

Ecco una soluzione alternativa:

  1. Fare clic con il tasto destro del mouse sull'area di notifica e selezionare Aggiungi applet ...
  2. Aggiungi l'applet chiamata "Applet indicatore".

Questo dovrebbe sostituire (sostituire) l'attuale gruppo di indicatori, ma potrebbe creare un po 'di confusione.


1

10.10

Per impostazione predefinita, l'indicatore della tastiera in 10.10 mostra un'icona della tastiera e l'abbreviazione di 3 lettere del layout.

Può anche mostrare un'icona quando /desktop/gnome/peripherals/keyboard/indicator/showFlagsè impostata la chiave in GConf e le icone richieste sono installate da qualche parte.

Si noti che, nonostante il nome della chiave GConf, le bandiere di paesi non sono la soluzione migliore qui, poiché alcuni layout di tastiera non sono collegati a un paese e alcuni paesi potrebbero avere più layout totalmente diversi). Così la bandiera (file) i nomi sono non alfa-2 codici paese , ma i codici di layout di tastiera XKB, che in molti casi si basano su codici di paese (ma non sempre esprimono in modo corretto tutti i luoghi in cui viene utilizzato un certo layout di tastiera), ma in altri casi non lo sono ( ara= "arabic", latam= "america latina", mao= "maori", brai= "braille", epo= "esperanto"). È possibile trovare un elenco di tutti i codici di layout nella /usr/share/X11/xkb/rules/base.lstsotto la ! layoutsezione.

Per quanto ne so, per Natty è prevista la presenza di icone SVG (o basate su SVG) che esprimono il layout della tastiera (IIRC, useranno l'abbreviazione di 3 lettere come elencato in base.xml, che può essere trovata nella stessa directory che menziono sopra) in modo che non abbiamo più bisogno dell'icona della tastiera + del testo (gli indicatori non possono essere solo di testo attualmente ...).

E come dice Richard, mostra solo quando hai configurato più di 1 layout.


Ho aggiunto una nota alla mia domanda: ho pensato che sarebbe ovvio che io uso più layout, altrimenti non avrei bisogno di sapere quale layout sto usando.
Jono,

Bene, ho pensato che tu avessi più layout, l'ho appena aggiunto per essere completo. Ma se ho capito bene, vedi solo l'icona della tastiera, ma non l'abbreviazione del layout di 3 lettere? (Vedi il primo screenshot di stefano come dovrebbe essere.)
JanC

1

10.10

Viene visualizzato solo se è configurato più di un layout di tastiera.

Vai su Sistema> Preferenze> Tastiera

Nella scheda Layout, aggiungi un altro layout di tastiera e osserva come appare l'icona nell'area di notifica.

In altre parole, non ottieni l'applet se hai solo un layout di tastiera tra cui scegliere.


ma l'icona non riflette quale layout sto usando - questo è il mio problema.
Jono,

0

Ho trovato un python scrypt qui: Ubuntu App Developer: Indicatori di applicazione per fare un'app Indicator, e lo modifico un po 'e faccio un piccolo indicatore di bandiera Lang.

inserisci qui la descrizione dell'immagine

country-indicator.py

#!/usr/bin/env python
# Copyright 2009 Canonical Ltd.
#
# Authors: Neil Jagdish Patel <neil.patel@canonical.com>
#          Jono Bacon <jono@ubuntu.com>
#
# This program is free software: you can redistribute it and/or modify it 
# under the terms of either or both of the following licenses:
#
# 1) the GNU Lesser General Public License version 3, as published by the 
# Free Software Foundation; and/or
# 2) the GNU Lesser General Public License version 2.1, as published by 
# the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful, but 
# WITHOUT ANY WARRANTY; without even the implied warranties of 
# MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR 
# PURPOSE.  See the applicable version of the GNU Lesser General Public 
# License for more details.
#
# You should have received a copy of both the GNU Lesser General Public 
# License version 3 and version 2.1 along with this program.  If not, see 
# <http://www.gnu.org/licenses/>
#
import gtk
import appindicator
import getpass
import locale

lang = locale.getdefaultlocale()
user = getpass.getuser()

png = '/home/' + user + '/.icons/flags/' + lang[0] + '.png'

def menuitem_response(w):
  gtk.main_quit()

if __name__ == "__main__":
  ind = appindicator.Indicator ("lang-flag-indicator", png, appindicator.CATEGORY_APPLICATION_STATUS)
  ind.set_status (appindicator.STATUS_ACTIVE)

  print "your current language is: %s, so it load the ~/.icons/flags/%s.png" % (lang[0], lang[0])

  # create a menu
  menu = gtk.Menu()
  mnuQuit = gtk.MenuItem("Exit")
  menu.append(mnuQuit)
  mnuQuit.connect("activate", menuitem_response)
  mnuQuit.show()

  ind.set_menu(menu)

  gtk.main()

potrebbe essere facilmente eseguito come Python Scrypt o compilato con il programma di installazione

spero che questo ti aiuti


0

14.04

In questo caso è più simile alla risposta user53768 . Tutto quello che devi fare è:

1- Per convertire le immagini desiderate nel *.svgtipo usando Inskscape.

2- Esegui il backup delle tue vecchie icone nelle directory /usr/share/icons/ubuntu-mono-dark/status/22/e /usr/share/icons/ubuntu-mono-light/status/22/(nel mio esempio uso l'inglese e la lingua greca).

cd usr/share/icons/ubuntu-mono-dark/status/22/
sudo mv indicator-keyboard-En.svg indicator-keyboard-En.svg.bak    
sudo mv indicator-keyboard-Gr.svg indicator-keyboard-Gr.svg.bak
cd /usr/share/icons/ubuntu-mono-light/status/22/
sudo mv indicator-keyboard-En.svg indicator-keyboard-En.svg.bak
sudo mv indicator-keyboard-Gr.svg indicator-keyboard-Gr.svg.bak

3- Crea collegamenti simbolici alle tue immagini.

sudo ln -s /home/myUser/.icons/us.svg /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-En.svg
sudo ln -s /home/myUser/.icons/gr.svg /usr/share/icons/ubuntu-mono-dark/status/22/indicator-keyboard-Gr.svg
sudo ln -s /home/myUser/.icons/us.svg /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-En.svg
sudo ln -s /home/myUser/.icons/gr.svg /usr/share/icons/ubuntu-mono-light/status/22/indicator-keyboard-Gr.svg

È tutto !!


0

In Saucy 13.10:

La lingua della tastiera è indicata da due lettere su uno sfondo grigio (Esempio: En per inglese, francese per francese, ecc.). È possibile modificare quelle immagini, che sono file svg, tenendo presente che le immagini svg non sono altro che file XML. Puoi farlo in un editor di testo, ma prima devi inserire le immagini dei flag nei file svg. Per questo è necessario utilizzare Inskscape.

  1. Apri l'immagine della tua bandiera (png, jpg, qualunque cosa) in Inkscape e salvala come file svg. Attenzione: l'immagine della tua bandiera non dovrebbe essere troppo grande, in termini di byte, non più di qualche centinaio di Kb o meno.

  2. FAI UN BACKUP dell'immagine che stai per modificare. Le immagini (quelle che mostrano un codice di due lettere su uno sfondo grigio) si trovano in:

/ usr / share / icons / ubuntu-mono-dark / status / 22 / AND / usr / share / icons / ubuntu-mono-light / status / 22 /

Si chiamano: Indicatore-tastiera-En.svg per inglese Indicatore-tastiera-Fr.svg per francese Indicatore-tastiera-Es.svg per lo spagnolo ... hai capito.

  1. Dopo aver eseguito il backup di quelli che desideri modificare, apri l'immagine svg in quella directory in un editor di testo, con i privilegi di root, perché la modificherai. Nello stesso editor di testo, apri l'immagine svg della bandiera che hai convertito in Inkscape.

  2. In generale, l'immagine svg finale dovrebbe avere tutti i tag correttamente formattati di un file xml, ma è possibile rimuovere quasi tutto tra i tag e sostituirlo con i dati dal

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <svg width="30" xmlns="http://www.w3.org/2000/svg" version="1.1" height="18">
        <image
            width="30"
            height="18"
            xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCA
            YAAADIWo5HAAAABHNCSVQICAgIfAhkiAAAAKdJREFUaIHt0LEJwmAYBuHvD1joEhYZxD
            qdC7iA+ziDG2SBFBkoYGGKuMQPD8J7AxzHtRpfR/Xks9f8vtd0
            u3bVfpe1tsez2uXc1Tt0tf0hGaADNBmgAzQZoAM0GaADNBmgAzQZoAM0GaADNBmgAzQZ
            oAM0GaADNBmgAzQZoAM0GaADNBmgAzQZoAM0GaADNBmgAzQZoAM0GaADNBlQR9MNlKHq
            pBsoPwoXC6lf4YbfAAAAAElFTkSuQmCC"
            id="image3028"
            x="0"
            y="0"
        />
    </svg>
    

    Tutto tra il tag immagine e il suo "/>" di chiusura proviene dal file svg flag-image prodotto da Inkscape, inclusa quella lunga stringa alfanumerica che è la "carne" dell'immagine. Tutto sopra e sotto che proviene dal file svg originale.

Nell'esempio sopra ho dato all'immagine una larghezza di 30 pixel e un'altezza di 18 pixel, si abbina bene con le altre icone / indicatori sul pannello.

Maggiori dettagli su: http://ubuntuforums.org/showthread.php?t=2193789


Ora il problema è che ho impostato le icone su Oxygen (usando Unity Tweak Tool) e sembra che stia usando un'icona dell'indicatore del linguaggio generico che non è inclusa nella directory corrispondente (come in / usr / share / icons / ubuntu-mono- scuro / stato / 22 /). Qualche indizio dove sta recuperando quello generico?
Hamid,

0

Soluzione universale per Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS usando Unity e GNOME FlashBack (con gnome-panel). Funziona anche sulla schermata di accesso di LightDM.
Ma non funzionerà su Ubuntu 18.04 LTS con GNOME Shell a causa del diverso meccanismo di indicazione del layout della tastiera.

Passaggi per mostrare i flag per i layout di tastiera:

  1. Prima di tutto dobbiamo scaricare le bandiere dei paesi. Nell'esempio seguente usiamo Russia ( ru) e Stati Uniti ( us):

    cd ~/Downloads
    wget https://raw.githubusercontent.com/linuxmint/flags/master/usr/share/iso-flag-png/{ru,us}.png
    

    Nota: ho usato rue us, puoi sceglierne altri dal repository GitHub di LinuxMint .

  2. Quindi dobbiamo convertire questi flag PNG in SVG salvando il canale alfa con ImageMagick:

    sudo apt-get install imagemagick
    
    convert -alpha activate -resize x22 ru.png png:- > indicator-keyboard-Ru.svg
    convert -alpha activate -resize x22 us.png png:- > indicator-keyboard-En.svg
    
    sudo cp indicator-keyboard-*.svg /usr/share/icons/ubuntu-mono-dark/status/22/
    sudo cp indicator-keyboard-*.svg /usr/share/icons/ubuntu-mono-light/status/22/
    sudo cp indicator-keyboard-*.svg /usr/share/icons/Radiant-MATE/status/22/
    sudo cp indicator-keyboard-*.svg /usr/share/icons/Ambiant-MATE/status/22/
    

Se si desidera ripristinare le modifiche, reinstallare i seguenti pacchetti.

  • 14.04 LTS:

    sudo apt-get install --reinstall ubuntu-mono
    
  • Il 16.04 LTS e il 18.04 LTS

    sudo apt-get install --reinstall ubuntu-mono ubuntu-mate-icon-themes
    

Nota: per Ubuntu MATE (incluso 18.04 LTS) vedi altra risposta . Non usa indicator-keyboard, quindi è un'altra storia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.