Отображение текущей раскладки (код языка / флаг страны) на индикаторе клавиатуры

11

Просто обновлен с 10.04 до 10.10, и апплет индикатора клавиатуры больше не отображает двухбуквенный код страны для активной раскладки.

Это ужасно . Это поведение по умолчанию? Любой, использующий два макета, не может сказать, на каком языке он.

Кажется, я не могу найти настройки для этого, это было в настройках раскладки клавиатуры.

Обновление 1 : на случай, если это было неочевидно - у меня есть две раскладки клавиатуры - английская и иврит. Я только что обновил форму 10.04, где отображался код страны (USA / IL), наложенный на флаг.

Теперь все, что я получаю, это неопределенный значок клавиатуры, и я не могу найти настройки для этого.

Update 2 : это , кажется, есть ошибка , что люди сообщали , так как Lucid , и теперь вернулся в Maverick

Jono
источник
Спасибо Джоно за последний пост. Я случайно удалил приложение Индикатор. Добавление этого решило отсутствующий трехбуквенный индикатор используемого макета. Приветствия, Гедеон
Кажется, 13.10 обновил индикатор клавиатуры. Решения в этой теме не работают. Есть какие-нибудь подсказки?
Хамид
Я не пользовался Ubuntu с 2011 года. Есть ли проблема с индикатором клавиатуры?
Jono

Ответы:

8

10,10

Да, значок не отражает выбранный язык. Я думаю, что это может иметь какое-то отношение к тому факту, что показ "флагов" часто неуместен. (Примеры: флаг Великобритании в Индии, флаг Германии в Австрии, флаг Франции в Сенегале).

Текущая метафора, т. Е. KEYBOARD → Langauge, в значительной степени соответствует рекомендациям для пользователей.

Поведение, которое вы описываете, было удалено довольно давно. Это было другое приложение (не помню названия), которое занималось раскладкой клавиатуры. (По крайней мере, я помню что-то подобное, я не совсем уверен, теперь подумать об этом)

Чтобы сделать снимок экрана выше, я перешел в раскладку клавиатуры, выберите «Добавить», «Иврит / Израиль» и добавить его в список. Моя система была обновлена ​​с 9.10, поэтому она должна быть одинаковой практически во всех установках Ubuntu.


альтернативный текст

Старое поведение все еще скрывается в системе. Если вы хотите, чтобы индикатор отображал флаги, вы можете открыть gconf-editor, /desktop/peripherals/keyboard/indicatorвключить и включить «showFlags». Однако вам понадобятся соответствующие флаги /home/<username>/.icons/flags(нажмите CTRL+, Hчтобы показать каталоги, начинающиеся с точки). Должен быть назван флаг il.pngИзраиля (который является кодом страны israels ISO 3166-1 alpha-2 ).

Стефано Палаццо
источник
Спасибо, я постараюсь удалить макет на иврите и добавить его снова, посмотреть, работает ли он.
Джоно
1
В любом случае, просто для ясности - это не флаги, которые я ищу.
Йоно
Стефано - похоже, это не помогло. Интересно, если это проблема с Netbook Edition, где он не показывает название языка рядом со значком клавиатуры?
Йоно
5

12,10

По умолчанию индикатор клавиатуры в 12.10 показывает значок клавиатуры и двухбуквенное сокращение раскладки.

Если вы хотите показать флаги страны, вы должны сделать две вещи

  1. Установите опцию конфигурации для dconf:

    dconf write / org / gnome / libgnomekbd / Indicator / show-flags true

  2. Установите значки флагов в ~/.icons(не ~/.icons/flags) папку. Простой способ сделать это - установить famfamfam-flag-pngзначки и связать их с

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

Ник Андрик
источник
3

12,04

Индикатор клавиатуры появляется, когда у вас определено более одной раскладки клавиатуры.

введите описание изображения здесь

Страна отображается с использованием двухбуквенного кода

например - франция:

введите описание изображения здесь

как

Искать в Dash для раскладки клавиатуры

Замечания:

В отличие от 10.10 - хотя для клавиатуры есть запись gconf, подобной клавиши show-flags нет.


Если вы хотите, чтобы вместо индикатора клавиатуры отображался флаг страны, вы можете использовать небольшой апплет gxneur.

введите описание изображения здесь

gxneur Установить gxneur

Для этого нам нужен белый список gxneur. Используйте dconf-editor:

dconf-инструменты Установите dconf-tools

введите описание изображения здесь

  • Добавьте gxneur как показано.
  • Выйти и войти.
  • Запустите gxNeur из Dash.
  • Это отобразит апплет.
  • Щелкните правой кнопкой мыши отображаемый апплет, выберите « Свойства клавиатуры» и перейдите на вкладку « Свойства ». Убедитесь, что Auto Startupфлажок отмечен.
  • Далее нужно отключить стандартную клавиатуру-индикатор. Следуйте инструкциям в этом Q & A для достижения этой цели.

Как убрать индикатор клавиатуры?

свобода ископаемых
источник
2

10,04

Что ж, получается, что это ошибка, которая была в бета-версии Lucid и теперь снова появляется (см. Здесь: https://bugs.launchpad.net/gnome-settings-daemon/+bug/531173 ).

Вот обходной путь:

  1. Щелкните правой кнопкой мыши область уведомлений и выберите Добавить апплет ...
  2. Добавьте апплет под названием «Индикаторный апплет».

Это должно заменить (заменить) текущую группу индикаторов, но может привести к путанице.

Jono
источник
1

10,10

По умолчанию индикатор клавиатуры в 10.10 показывает значок клавиатуры и трехбуквенное сокращение раскладки.

Он также может отображать значок, когда /desktop/gnome/peripherals/keyboard/indicator/showFlagsключ в GConf установлен, и где-то установлены необходимые значки.

Обратите внимание, что, несмотря на имя ключа GConf, флаги стран здесь не лучшее решение, так как некоторые раскладки клавиатуры не связаны с одной страной, и в некоторых странах может быть несколько совершенно разных раскладок). Таким образом, имена флагов (файлов) - это не коды стран альфа-2, а коды раскладки клавиатуры XKB, которые во многих случаях основаны на кодах стран (но не всегда правильно выражают все места, где используется определенная раскладка клавиатуры), но в других случаях нет ( ara= "арабский", latam= "латинская америка", mao= "маори", brai= "шрифт Брайля", epo= "эсперанто"). Вы можете найти список всех кодов разметки в /usr/share/X11/xkb/rules/base.lstрамках ! layoutсекции.

Насколько я знаю, для Natty планируется использовать значки SVG (или на основе SVG) base.xml, которые отображают раскладку клавиатуры (во IIRC они будут использовать трехбуквенное сокращение, как указано в списке) , которое можно найти в том же каталоге, о котором я упоминал выше), так что нам больше не нужен значок клавиатуры + текст (индикаторы в настоящее время не могут быть только текстовыми ...).

И, как говорит Ричард, он отображается только тогда, когда у вас настроено более 1 макета.

Janc
источник
Я добавил примечание к своему вопросу - я предполагал, что будет очевидно, что я использую несколько макетов, иначе мне не нужно было бы знать, какой макет я использую.
Джоно
Ну, я предположил, что у вас есть несколько макетов, просто добавил, что это будет завершено. Но если я правильно понимаю, вы видите только значок клавиатуры, а не трехбуквенное сокращение? (См. Первый скриншот Стефано, как это должно выглядеть.)
JanC 29.10.10
1

10,10

Отображается только если у вас настроено несколько раскладок клавиатуры.

Зайдите в Система> Настройки> Клавиатура

На вкладке «Макеты» добавьте другую раскладку клавиатуры и обратите внимание на то, как значок отображается в области уведомлений.

Другими словами, вы не получите апплет, если у вас есть только одна раскладка клавиатуры на выбор.

Ричард Холлоуэй
источник
но значок не отражает, какой макет я использую - это моя проблема.
Джоно
0

Я нашел здесь скрипт на python: Ubuntu App Developer: Индикаторы приложений для создания индикаторного приложения, и я немного подправил его и сделал небольшой индикатор флага Ланга.

введите описание изображения здесь

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()

его можно легко запустить как скрипт Python или скомпилировать с помощью pyinstaller

надеюсь это поможет

aaaaaaaaaaaaaaa
источник
0

14,04

В этом случае больше похоже на user53768 ответ. Все, что вам нужно сделать, это:

1- Чтобы преобразовать нужные изображения в *.svgтип, используя Inskscape.

2- Сделайте резервную копию ваших старых иконок в каталогах /usr/share/icons/ubuntu-mono-dark/status/22/и /usr/share/icons/ubuntu-mono-light/status/22/(в моем примере я использую английский и греческий язык).

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. Сделайте символические ссылки из ваших изображений.

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

Это все !!

ioaniatr
источник
0

В дерзости 13.10:

Язык клавиатуры обозначается двумя буквами на сером фоне (пример: En для английского, Fr для французского и т. Д.). Вы можете редактировать те изображения, которые являются файлами SVG, имея в виду, что изображения SVG - это не более, чем файлы XML. Вы можете сделать это в текстовом редакторе, но сначала вам нужно получить изображение (изображения) флага (ов) в файл (ы) svg. Для этого вам нужно использовать Inskscape.

  1. Откройте изображение вашего флага (png, jpg, что угодно) в Inkscape и сохраните его как файл svg. Предупреждение - изображение вашего флага не должно быть слишком большим, побайтовым, не более нескольких сотен килобайт или меньше.

  2. Сделайте резервную копию изображения, которое вы собираетесь редактировать. Изображения (те, которые показывают двухбуквенный код на сером фоне) находятся в:

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

Они называются: индикатор-клавиатура-En.svg для английского языка индикатор-клавиатура-Fr.svg для французского индикатора-клавиатура-Es.svg для испанского ... вы понимаете.

  1. После того, как вы сделали резервную копию тех, которые хотите изменить, откройте изображение svg в этом каталоге в текстовом редакторе с правами суперпользователя, потому что вы собираетесь его редактировать. В том же текстовом редакторе откройте изображение флага svg, которое вы конвертировали в Inkscape.

  2. Как правило, конечное изображение SVG должно иметь все правильно отформатированные теги XML-файла, но вы можете удалить почти все между тегами и заменить его данными из

    <?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>
    

    Все, что находится между тегом изображения и его закрывающим символом "/>", получено из svg-файла flag-image, созданного Inkscape, включая длинную буквенно-цифровую строку, которая является "мясом" изображения. Все выше и ниже, что из оригинального файла SVG.

В приведенном выше примере я присвоил изображению ширину 30 пикселей и высоту 18 пикселей, оно хорошо сочетается с другими значками / индикаторами на панели.

Более подробная информация на сайте: http://ubuntuforums.org/showthread.php?t=2193789

user53768
источник
Теперь проблема в том, что я установил для значков Oxygen (с помощью Unity Tweak Tool) и, похоже, он использует значок индикатора общего языка, который не включен в соответствующий каталог (как в / usr / share / icons / ubuntu-mono- темный / статус / 22 /). Есть какие-нибудь подсказки, откуда это родовое?
Хамид
0

Универсальное решение для Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS с использованием Unity и GNOME FlashBack (с gnome-panel). Также это работает на экране входа LightDM.
Но он не будет работать на Ubuntu 18.04 LTS с GNOME Shell из-за другого механизма индикации раскладки клавиатуры.

Шаги, чтобы показать флаги для раскладок клавиатуры:

  1. Прежде всего нам нужно скачать флаги стран. В приведенном ниже примере мы используем Russia ( ru) и United States ( us):

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

    Примечание: я использовал ruи us, вы можете выбрать другие из репозитория LinuxMint GitHub .

  2. Затем нам нужно преобразовать эти PNG-флаги в SVG, сохраняя альфа-канал с помощью 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/
    

Если вы хотите отменить изменения - переустановите следующие пакеты.

  • 14.04 LTS:

    sudo apt-get install --reinstall ubuntu-mono
    
  • 16.04 LTS и 18.04 LTS

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

Примечание: для Ubuntu MATE (включая 18.04 LTS) см. Другой ответ . Он не использует indicator-keyboard, так что это другая история.

N0rbert
источник