在键盘指示器中显示当前布局(语言代码/国家/地区标志)
刚刚从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/
(按CTRL + H以显示以句点开头的目录)。 以色列的旗帜应命名为il.png
(israels ISO 3166-1 alpha-2国家代码 )。
12.10
默认情况下,12.10中的键盘指示器显示键盘图标和布局的2个字母缩写。
如果你想显示国家标志,你必须做两件事
-
设置
dconf
的配置选项:dconf write / org / gnome / libgnomekbd / indicator / show-flags true
-
在
~/.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
列入白名单。 使用dconf-editor
:
dconf工具
- 如图所示添加gxneur 。
- 注销并登录。
- 从Dash开始gxNeur 。
- 这将显示小程序。
- 右键单击显示的小程序,选择“ 键盘属性”,然后选择“ 属性”选项卡。 确保勾选了“
Auto Startup
复选框。 - 接下来,您需要禁用标准键盘指示器。 按照此问答中的说明实现此目的。
如何删除键盘指示灯?
10.04
好吧,事实certificate这是一个在Lucid Beta中的错误,现在又出现了(参见这里: https : //bugs.launchpad.net/gnome-settings-daemon/+bug/531173 )。
这是一个解决方法:
- 右键单击通知区域,然后选择Add Applet …
- 添加名为“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。
-
在Inkscape中打开您的标志图像(png,jpg,无论如何),并将其另存为svg文件。 警告 – 您的标志图像不应太大,按字节,不要超过几百Kb或更少。
-
制作您要编辑的图像的备份 。 图像(在灰色背景上显示双字母代码的图像)可在以下位置找到:
/ 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 …你明白了。
-
在备份了要修改的文件后,在文本编辑器中以root权限打开该目录中的svg图像,因为您要对其进行编辑。 在同一文本编辑器中,打开您在Inkscape中转换的标志svg图像。
-
通常,最终的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 。
显示键盘布局标志的步骤:
-
首先,我们需要下载国家标志。 在下面的示例中,我们使用俄罗斯(
ru
)和美国(us
):cd ~/Downloads wget https://raw.githubusercontent.com/linuxmint/flags/master/usr/share/iso-flag-png/{ru,us}.png
注意:我使用了
ru
和us
,你可以从LinuxMint GitHub存储库中选择其他人。 -
然后我们需要使用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
,所以它是其他故事。