在键盘指示器中显示当前布局(语言代码/国家/地区标志)

刚刚从10.04升级到10.10,键盘指示器小程序不再显示活动布局的双字母国家/地区代码。

太可怕了 。 这是默认行为吗? 使用两种布局的任何人都无法分辨他们所使用的语言。

我似乎无法找到这个设置,它曾经是键盘布局的首选项。

更新1 :如果这不明显 – 我有两个键盘布局 – 英语和希伯来语。 我刚刚升级了表格10.04,其中显示了国家代码(USA / IL),覆盖在旗帜上。

现在,我得到的是一个模糊的键盘图标,无法找到此设置。

更新2 :这似乎是人们自Lucid以来一直在报道的一个错误,现在又回到了Maverick

10.10

是的,图标不反映所选语言。 我认为这可能与显示“标志”通常不合适的事实有关。 (例如:英国在印度的旗帜,德国在奥地利的旗帜,法国在塞内加尔的旗帜)。

目前的比喻,即KEYBOARD→Langauge,非常符合用户体验指南。

很久以前,您所描述的行为已被删除。 那是处理键盘布局的另一个应用程序(不记得名称)。 (至少我记得那样的东西,我现在不太清楚它会想到它)

我做了上面的屏幕截图是去键盘布局,选择添加,希伯来语/以色列并将其添加到列表中。 我的系统自9.10以来已经升级,因此几乎每个Ubuntu安装都应该是相同的。


替代文字

旧的行为仍然潜伏在系统中。 如果您希望指示器显示Flags,您可以打开gconf-editor ,进入/desktop/peripherals/keyboard/indicator并启用“showFlags”。 但是,您需要将相关标志放在/home//.icons/flags (按CTRL + H以显示以句点开头的目录)。 以色列的旗帜应命名为il.png (israels ISO 3166-1 alpha-2国家代码 )。

12.10

默认情况下,12.10中的键盘指示器显示键盘图标和布局的2个字母缩写。

如果你想显示国家标志,你必须做两件事

  1. 设置dconf的配置选项:

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

  2. ~/.icons (不是~/.icons/flags )文件夹中安装标志图标。 一个简单的方法是安装famfamfam-flag-png并将图标链接到你的文件夹

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

12.04

如果定义了多个键盘布局,则会出现键盘指示符。

在此处输入图像描述

使用双字母代码显示国家/地区

例如 – 法国:

在此处输入图像描述

如何

在Dash中搜索键盘布局

注意:

与10.10不同 – 虽然键盘有gconf条目,但没有类似的show-flags键。


如果您希望显示国家/地区标志而不是键盘指示器,则可以使用名为gxneur的小型小程序。

在此处输入图像描述

gxneur 安装gxneur

要做到这一点,我们需要将gxneur列入白名单。 使用dconf-editor

dconf工具 安装dconf-tools

在此处输入图像描述

  • 如图所示添加gxneur
  • 注销并登录。
  • 从Dash开始gxNeur
  • 这将显示小程序。
  • 右键单击显示的小程序,选择“ 键盘属性”,然后选择“ 属性”选项卡。 确保勾选了“ Auto Startup复选框。
  • 接下来,您需要禁用标准键盘指示器。 按照此问答中的说明实现此目的。

如何删除键盘指示灯?

10.04

好吧,事实certificate这是一个在Lucid Beta中的错误,现在又出现了(参见这里: https : //bugs.launchpad.net/gnome-settings-daemon/+bug/531173 )。

这是一个解决方法:

  1. 右键单击通知区域,然后选择Add Applet …
  2. 添加名为“Indicator Applet”的小程序。

这应该取代(替换)当前的指标组,但可能会有点混乱。

10.10

默认情况下,10.10中的键盘指示器显示键盘图标和布局的3个字母缩写。

当设置了GConf中的/desktop/gnome/peripherals/keyboard/indicator/showFlags键时,它还可以显示一个图标,并且您在某处安装了所需的图标。

请注意,尽管有GConf键名称,但国家/地区标志不是最佳解决方案,因为某些键盘布局未链接到一个国家/地区,而某些国家/地区可能有多个完全不同的布局)。 所以标志(文件)名称不是 alpha-2国家代码,而是XKB键盘布局代码,在许多情况下基于国家代码(但并不总是正确地表达使用某种键盘布局的所有地方),但是在其他情况下不是( ara =“arabic”, latam =“latin america”, mao =“ latam ”, latam =“braille”, epo =“esperanto”)。 您可以在/usr/share/X11/xkb/rules/base.lst下找到所有布局代码的列表! layout ! layout部分。

据我所知,对于Natty,计划使用SVG(或基于SVG)图标来表示键盘布局(IIRC,他们将使用base.xml列出的3个字母缩写,可以在同一目录中找到我上面提到过)这样我们就不再需要键盘图标+文本了(指标目前不能只是文字……)。

就像理查德所说,它只显示你配置了多于一个布局的时间。

10.10

仅在配置了多个键盘布局时才会显示。

进入系统>首选项>键盘

在“布局”选项卡上,添加另一个键盘布局,然后注意图标在通知区域中的显示方式。

换句话说,如果您只有一个键盘布局可供选择,则不会获得小程序。

我在这里找到了一个python scrypt: ubuntu App Developer:应用程序指标做一个指标App,我调整了一下,做了一个litle Lang旗指示。

在此处输入图像描述

country-indicator.py

 #!/usr/bin/env python # Copyright 2009 Canonical Ltd. # # Authors: Neil Jagdish Patel  # Jono Bacon  # # 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 #  # 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 scrypt一样轻松运行,也可以用pyinstaller编译

希望这可以帮助

14.04

在这种情况下更像是user53768的答案。 您需要做的就是:

1-使用Inskscape将所需图像转换为*.svg类型。

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 

就这样 !!

在Saucy 13.10中:

键盘语言由灰色背景上的两个字母表示(例如:En代表英语,Fr代表法语等)。 您可以编辑这些 svg文件的图像,记住svg图像不超过xml文件。 您可以在文本编辑器中执行此操作,但首先需要将标志的图像放入svg文件中。 为此,您需要使用Inskscape。

  1. 在Inkscape中打开您的标志图像(png,jpg,无论如何),并将其另存为svg文件。 警告 – 您的标志图像不应太大,按字节,不要超过几百Kb或更少。

  2. 制作您要编辑的图像的备份 。 图像(在灰色背景上显示双字母代码的图像)可在以下位置找到:

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

它们被命名为:indicator-keyboard-En.svg for English indicator-keyboard-Fr.svg for French indicator-keyboard-Es.svg for Spanish …你明白了。

  1. 在备份了要修改的文件后,在文本编辑器中以root权限打开该目录中的svg图像,因为您要对其进行编辑。 在同一文本编辑器中,打开您在Inkscape中转换的标志svg图像。

  2. 通常,最终的svg图像应该包含xml文件的所有格式正确的标记,但是您可以删除标记之间的几乎任何内容,并将其替换为来自

         

    图像标记与其关闭“/>”之间的所有内容都来自Inkscape生成的flag-image svg文件,包括图像“肉”的长字母数字字符串。 上面和下面的所有内容都来自原始的svg文件。

在上面的例子中,我给图像的宽度为30像素,高度为18像素,它与面板上的其他图标/指示器很好地匹配。

更多详情请访问: http : //ubuntuforums.org/showthread.php?t = 2193789

使用Unity和GNOME FlashBack(带有gnome-panel )的Ubuntu 14.04 LTS,16.04 LTS,18.04 LTS的通用解决方案。 它也适用于LightDM登录屏幕。
但由于键盘布局指示机制不同,它不适用于GNOME Shell的Ubuntu 18.04 LTS

显示键盘布局标志的步骤:

  1. 首先,我们需要下载国家标志。 在下面的示例中,我们使用俄罗斯( ru )和美国( us ):

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

    注意:我使用了ruus ,你可以从LinuxMint GitHub存储库中选择其他人。

  2. 然后我们需要使用ImageMagick将此PNG标志转换为SVG保存alpha通道:

     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 ,所以它是其他故事。