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


11

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

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

我似乎找不到此设置,它曾经是键盘布局的首选项。

更新1:如果不太明显-我有两种键盘布局-英文和希伯来语。我刚刚升级了表格10.04,并在国旗上覆盖了显示国家代码(USA / IL)的地方。

现在,我得到的只是一个模糊的键盘图标,并且找不到该设置。

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


感谢Jono的最新帖子。我不小心删除了指标应用程序。添加它解决了所使用的布局缺少的三个字母指示符。干杯,吉迪恩

看来13.10更新了键盘指示器。该线程中的解决方案不起作用。有什么线索吗?
Hamid

自2011年以来我一直没有使用过Ubuntu。仍然存在键盘指示器问题吗?
乔诺,2013年

Answers:


8

10.10

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

当前的隐喻,即KEYBOARD→Langauge很大程度上符合用户体验准则。

您描述的行为已在相当一段时间前删除。那时是另一个处理键盘布局的应用程序(名字不记得了)。(至少我记得类似的事情,现在还不确定我会想到)

我要做的上述屏幕截图是,转到“键盘布局”,选择“添加”,“希伯来语/以色列”并将其添加到列表中。我的系统从9.10开始进行了升级,因此几乎所有Ubuntu安装都应该相同。


替代文字

旧的行为仍然潜伏在系统中。如果你想指示灯,显示标志,你可以打开gconf-editor,得/desktop/peripherals/keyboard/indicator并启用“showFlags”。但是,您需要插入相关标志/home/<username>/.icons/flags(按CTRL+ H显示以句点开头的目录)。以色列国旗应命名il.png(这是以色列ISO 3166-1 alpha-2国家/地区代码)。


谢谢,我将尝试删除希伯来语布局,然后再次添加它,看看是否可行。
乔诺2010年

1
无论如何,只是要清楚-这不是我要寻找的标志。
乔诺2010年

Stefano-这似乎没有帮助。我想知道上网本版本是否有问题,它在键盘图标附近不显示语言名称?
乔诺2010年

5

12.10

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

如果要显示国家标记,则必须做两件事

  1. 设置配置选项dconf

    dconf写入/ 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

当您定义了多个键盘布局时,键盘指示器就会出现。

在此处输入图片说明

使用2个字母的代码显示国家

例如-法国:

在此处输入图片说明

如何

在Dash中搜索键盘布局

注意:

与10.10不同-在键盘上有一个gconf条目,但没有类似的show-flags键。


如果要显示国家标志而不是键盘指示器,则可以使用名为的小程序gxneur

在此处输入图片说明

gxneur 安装gxneur

为此,我们需要将其列入白名单gxneur。用途dconf-editor

dconf工具 安装dconf-tools

在此处输入图片说明

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

如何删除键盘指示灯?


2

10.04

好吧,事实证明这是Lucid Beta中的一个错误,现在又再次出现(请参阅此处:https : //bugs.launchpad.net/gnome-settings-daemon/+bug/531173)。

解决方法:

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

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


1

10.10

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

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

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

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

就像Richard所说的那样,它仅在您配置了多个布局时显示。


我在问题中添加了注释-我认为很明显我使用了多种布局,否则就不需要知道我在使用哪种布局。
乔诺,2010年

好吧,我假设您确实有多种布局,只需补充一下即可。但是,如果我理解正确,您只会看到键盘图标,而看不到3字母布局的缩写吗?(请参阅stefano的第一个屏幕截图,外观如何。)
2010年

1

10.10

仅当您配置了多个键盘布局时才显示。

进入系统>首选项>键盘

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

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


但是图标没有反映布局我使用-这是我的问题。
乔诺,2010年

0

我在这里找到了一个python scrypt:ubuntu App Developer:应用程序指示器可以做一个指示器App,然后我对其进行了一些微调,并做了一个litle Lang标志指示器。

在此处输入图片说明

国家指标

#!/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 scrypt轻松运行,也可以使用pyinstaller进行编译

希望这可以帮助


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

就这样 !!


0

在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 /和/ usr / share / icons / ubuntu-mono-light / status / 22 /

它们的名称为:indicator-keyboard-En.svg(英语)indicator-keyboard-Fr.svg(法语)indicator-keyboard-Es.svg(西班牙语)……您明白了。

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

  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>
    

    图像标签及其结尾的“ />”之间的所有内容均来自Inkscape生成的标志图像svg文件,其中包括长的字母数字字符串,即图像的“肉”。上方和下方的所有内容均来自原始svg文件。

在上面的示例中,我给图像提供了30像素的宽度和18像素的高度,它与面板上的其他图标/指示符非常匹配。

有关更多详细信息,请访问:http : //ubuntuforums.org/showthread.php?t=2193789


现在的问题是,我已经将图标设置为Oxygen(使用Unity Tweak工具),似乎它正在使用的通用语言指示器图标未包含在相应的目录中(如/ usr / share / icons / ubuntu-mono-黑暗/状态/ 22 /)。有什么线索可以在哪里获取通用的?
哈米德2014年

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.