Только что обновлен с 10.04 до 10.10, и апплет индикатора клавиатуры больше не отображает двухбуквенный код страны для активной раскладки.
Это ужасно . Это поведение по умолчанию? Любой, использующий два макета, не может сказать, на каком языке он находится.
Кажется, я не могу найти настройки для этого, раньше это было в настройках раскладки клавиатуры.
Обновление 1 : на случай, если это не очевидно - у меня есть две раскладки клавиатуры - английская и иврит. Я только что обновил форму 10.04, где отображался код страны (USA / IL), наложенный на флаг.
Теперь все, что я получаю, это неопределенный значок клавиатуры, и я не могу найти настройки для этого.
Обновление 2 : похоже, что это ошибка , о которой люди сообщали со времен Lucid , и теперь он вернулся в Maverick
Да, значок не отражает выбранный язык. Я думаю, что это может иметь какое-то отношение к тому, что показ "флагов" часто был бы неуместным (Примеры: флаг Великобритании в Индии, флаг Германии в Австрии, флаг Франции в Сенегале).
Текущая метафора, т. Е. КЛАВИАТУРА → Langauge, в значительной степени соответствует руководящим принципам взаимодействия с пользователем.
Поведение, которое вы описываете, было удалено довольно давно. Это было другое приложение (не помню названия), которое занималось раскладкой клавиатуры. (По крайней мере, я помню что-то подобное, я не совсем уверен, что теперь подумать об этом)
То, что я сделал, чтобы сделать снимок экрана выше, было перейти к раскладкам клавиатуры, выберите добавить, иврит / Израиль и добавьте его в список. Моя система была обновлена с 9.10, поэтому она должна быть одинаковой почти на каждой установке Ubuntu.
Старое поведение все еще скрывается в системе. Если вы хотите, чтобы индикатор отображал флаги, вы можете открыть gconf-editor
, перейти к /desktop/peripherals/keyboard/indicator
и включить «showFlags». Однако вам нужно, чтобы соответствующие флаги были в /home/<username>/.icons/flags
(нажмите CTRL kbd> + H kbd>, чтобы показать каталоги, начинающиеся с точки). Флаг Израиля должен быть назван il.png
(это israels ISO 3166-1 альфа-2 код страны ).
Индикатор клавиатуры появляется, когда у Вас есть больше чем одна определенная раскладка клавиатуры.
Страна отображена с помощью 2 алфавитных кодов
например - Франция:
Поиск в Тире для раскладки клавиатуры
В отличие от этого, в 10,10 - пока существует gconf запись для клавиатуры, нет подобного ключа выставочных флагов.
Если Вы хотите, чтобы флаг страны был отображен вместо индикатора клавиатуры, можно использовать маленький названный апплет gxneur
.
Чтобы сделать это, мы должны добавить в белый список gxneur
. Использовать dconf-editor
:
Auto Startup
флажок отмечается.Что ж, получается, что это ошибка, которая была в Lucid Beta и теперь снова появляется (см. Здесь: https://bugs.launchpad.net/gnome -Settings-демон / + ошибка / +531173 ).
Вот обходной путь:
Это должно заменить (заменить) текущую группу индикаторов, но может привести к путанице.
По умолчанию индикатор клавиатуры в 12.10 показывает значок клавиатуры и двухбуквенное сокращение раскладки.
Если вы хотите вместо этого показать флаги страны, вам нужно сделать две вещи
Установить опцию конфигурации для dconf
:
dconf write / org / gnome / libgnomekbd / Indicator / show-flags true
blockquote>
Установите значки флагов в папку ~/.icons
(не ~/.icons/flags
). Самый простой способ сделать это - установить famfamfam-flag-png
и связать значки с вашей папкой с помощью
ln -s /usr/share/flags/countries/16x11/*.png ~ / .icons /
blockquote>
Отображается, только если настроено несколько раскладок клавиатуры.
Перейдите в «Система»> «Установки»> «Клавиатура»
. На вкладке «Макеты» добавьте еще одну раскладку клавиатуры и обратите внимание на то, как значок отображается в области уведомлений.
Другими словами, вы не получите апплет, если у вас есть только одна раскладка клавиатуры на выбор.
По умолчанию индикатор клавиатуры в 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), которые выражают раскладку клавиатуры (во IIRC они будут использовать трехбуквенное сокращение, как указано в base.xml
, которое можно найти в тот же каталог, о котором я упоминал выше), так что нам больше не нужен значок клавиатуры + текст (индикаторы в настоящее время не могут быть только текстовыми ...).
И, как говорит Ричард, он отображается только тогда, когда у вас настроено более 1 макета.
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
Вот и все !!
Универсальное решение для Ubuntu 14.04 LTS, 16.04 LTS, 18.04 LTS с использованием Unity и GNOME FlashBack (с gnome-panel
). Также это работает на экране входа LightDM.
Но он не будет работать на Ubuntu 18.04 LTS с GNOME Shell из-за другого механизма индикации раскладки клавиатуры.
Шаги для отображения флагов для раскладок клавиатуры:
Прежде всего нам необходимо скачать флаги стран. В приведенном ниже примере мы используем Россию (ru
) и Соединенные Штаты (us
):
cd ~/Downloads
wget https://raw.githubusercontent.com/linuxmint/flags/master/usr/share/iso-flag-png/{ru,us}.png
Примечание: я использовал ru
и us
, вы можете выбрать другие из LinuxMint GitHub хранилище .
Затем нам нужно преобразовать эти 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
indicator-keyboard
, так что это другая история.
Я нашел здесь скрипт на 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
hope это помогает
В дерзких 13.10:
Язык клавиатуры обозначается двумя буквами на сером фоне (Пример: En для английского языка, франк для французского языка, и т.д.). Можно отредактировать те изображения, которые являются svg файлами, принимая во внимание, что изображения SVG являются не больше, чем XML-файлами. Можно сделать это в текстовом редакторе, но сначала необходимо получить изображение (изображения) флага (флагов) в svg файл (файлы). Для этого необходимо использовать Inskscape.
Откройте свое изображение флага (png, jpg, безотносительно) в Inkscape, и сохраните его как svg файл. При предупреждении - изображение флага не должно быть слишком большим, мудрым байтом, не больше, чем несколько сотен Кбит или меньше.
СДЕЛАЙТЕ РЕЗЕРВНОЕ КОПИРОВАНИЕ изображения, которое Вы собираетесь отредактировать. Изображения (те показывающие двухбуквенный код серого фона) найдены в:
/usr/share/icons/ubuntu-mono-dark/status/22/И/usr/share/icons/ubuntu-mono-light/status/22/
Их называют: indicator-keyboard-En.svg для английского indicator-keyboard-Fr.svg для французского indicator-keyboard-Es.svg для испанского языка... Вы получаете идею.
После резервного копирования тех, Вы хотите изменить, открыть изображение SVG в том каталоге в текстовом редакторе, с полномочиями пользователя root, потому что Вы собираетесь отредактировать его. В том же текстовом редакторе откройте изображение SVG флага, которое Вы преобразовали в Inkscape.
Обычно заключительное изображение 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 файл, произведенный Inkscape, включая ту длинную алфавитно-цифровую строку, которая является "сутью" изображения. Все выше и ниже этого из исходного svg файла.
В примере выше я дал изображению ширину 30 пикселей и высоту 18 пикселей, это соответствует приятно другим значкам/индикаторам на панели.
Больше деталей в: http://ubuntuforums.org/showthread.php?t=2193789